This project utilizes Google's MediaPipe model to perform pose estimation on videos and classify exercise movements. The pose coordinates for various exercise movements are stored in CSV format, which are then used to train a classification model.
![app_screenshot](https://private-user-images.githubusercontent.com/10723547/274646999-67a2e62d-f40a-40ff-bbe5-5e2da834f3c1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODM2MzgsIm5iZiI6MTcyNTY4MzMzOCwicGF0aCI6Ii8xMDcyMzU0Ny8yNzQ2NDY5OTktNjdhMmU2MmQtZjQwYS00MGZmLWJiZTUtNWUyZGE4MzRmM2MxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA3VDA0Mjg1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ1ZDgyMWNmNzQyYTQ3NTljYzhkMjA0NjgzNTY5OGZiZjQxNTZhNmYwODliNDMwZGM0ZWNhNWQyOTcwNDZhZjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.jQEkvGJ-e7bLra_jj0zdxfl8su4QUw8ZWI2Ymh-0BOs)
capture_video.py
: Captures video feed from the camera.combine-csv.py
: Utility script to combine multiple CSVs into a single file.combined_exercise_data.csv
: Aggregated dataset of pose coordinates for various exercises.exercise_classifier.ipynb
: Jupyter notebook that contains the code for training the exercise classification model.plot.ipynb
: Jupyter notebook for visualizing pose estimation results.pose_estimation_from_video.py
: Extracts pose coordinates from a video file using MediaPipe.real_time.py
: Performs real-time pose estimation and exercise classification from a live video feed.models/
: Directory containing the pre-trained MediaPipe model.pose-coordinates/
: Directory containing CSV files for individual exercise movements.
- Ensure you have all the necessary dependencies installed.
- Clone the repository to your local machine.
- Use
capture_video.py
to capture video or use pre-recorded videos. - Use
pose_estimation_from_video.py
to extract pose coordinates from the video. - Run the
exercise_classifier.ipynb
notebook to train the exercise classification model. - Once the model is trained, you can use
real_time.py
to perform real-time exercise classification.
This project utilizes Google's MediaPipe for pose estimation.