Skip to content

mithuGit/Thai-Boxing-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Logo

Thai-Boxing-Assistant

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.

Project Logo

Key Findings

  • 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

Installation (Windows/macOS)

Python 3.12 is required due to Mediapipe

  1. Clone the repository
git clone https://github.com/mithuGit/Thai-Boxing-Trainer.git

Notice: If you’re not already in the ‘Thai-Boxing-Assistant’ folder, navigate there using cd

cd Thai-Boxing-Assistant/
  1. Create virtual environment
python3.12 -m venv .venv
  1. Activate environment
# Windows:
.venv\Scripts\activate
# macOS:
source .venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Run program (please refer to the specific README for DTW or Random Forest for usage guidelines)

  2. If this error occurs:

from mediapipe.python._framework_bindings import model_ckpt_util
ImportError: DLL load failed while importing _framework_bindings: Eine DLL-Initialisierungsroutine ist

Please install this dependency:

pip install msvc-runtime

Note: Test videos for experimenting with the programs can be found in the DTW/test_videos/ directory.



Project Logo

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.

About

A motion recognition tool using MediaPipe to classify kicks and strikes via Dynamic Time Warping (DTW) and Random Forest (RF). RF showed better generalization, with angle velocities and limb speeds as key features.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages