We explored two approaches to recognize diverse strikes/kicks:
- Dynamic Time Warping (DTW): Aligns motion sequences temporally using single reference samples
- Random Forest (RF): Leverages feature engineering and multi-sample training for classification
Using MediaPipe, we extracted 33 body keypoints (x,y,z,visibility) to model movements through both temporal alignment and statistical learning.
- RF outperformed DTW
- Both models faced challenges generalizing to new users due to technique variations
- DTW's "one reference sample" approach showed limited adaptability compared to RF's learned patterns
- Angle velocities and limb speeds emerged as critical features for RF
For annotated example videos, you can visit this link to HesseBox to view and download them: https://next.hessenbox.de/index.php/s/QYmKeE8tKrjPASq
For experiments with object detection, an annotated dataset is available on Roboflow: https://universe.roboflow.com/ai-lab-homm5/thai-boxing-object-detection
Python 3.12 is required due to Mediapipe
- Clone the repository
git clone https://github.com/mithuGit/Thai-Boxing-Trainer.gitNotice: If you’re not already in the ‘Thai-Boxing-Assistant’ folder, navigate there using cd
cd Thai-Boxing-Assistant/- Create virtual environment
python3.12 -m venv .venv- Activate environment
# Windows:
.venv\Scripts\activate
# macOS:
source .venv/bin/activate- Install dependencies
pip install -r requirements.txt-
Run program (please refer to the specific README for DTW or Random Forest for usage guidelines)
-
If this error occurs:
from mediapipe.python._framework_bindings import model_ckpt_util
ImportError: DLL load failed while importing _framework_bindings: Eine DLL-Initialisierungsroutine istPlease install this dependency:
pip install msvc-runtimeNote: Test videos for experimenting with the programs can be found in the DTW/test_videos/ directory.
Developed by: Mithusan Naguleswaran, Nils Kovacic, Ebenhaezer Aubrey Sopacua, Tim Duc Minh, Maximilian Laue
Special Thanks to our supervisor Quentin Delfosse and our external expert Vincent Scharf for their valuable insights and support in developing our ideas.
Also thanks to the members of the Kickboxing Club at TU Darmstadt, who volunteered to be filmed for our dataset.


