Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yakupzengin/fitness-trainer-pose-estimation
An AI-powered fitness tracker that uses real-time pose estimation to count reps, monitor form, and provide instant feedback for exercises like squats, push-ups, and bicep curls. Designed for accuracy, motivation, and adaptability
https://github.com/yakupzengin/fitness-trainer-pose-estimation
artificial-intelligence computer-vision computer-vision-opencv computer-vision-tools fitness-app fitness-tracker fitness-trainer image-processing opencv pose-detection pose-estimation
Last synced: 17 days ago
JSON representation
An AI-powered fitness tracker that uses real-time pose estimation to count reps, monitor form, and provide instant feedback for exercises like squats, push-ups, and bicep curls. Designed for accuracy, motivation, and adaptability
- Host: GitHub
- URL: https://github.com/yakupzengin/fitness-trainer-pose-estimation
- Owner: yakupzengin
- Created: 2024-08-28T11:46:57.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-09-08T00:14:56.000Z (2 months ago)
- Last Synced: 2024-10-10T17:42:18.919Z (about 1 month ago)
- Topics: artificial-intelligence, computer-vision, computer-vision-opencv, computer-vision-tools, fitness-app, fitness-tracker, fitness-trainer, image-processing, opencv, pose-detection, pose-estimation
- Language: Python
- Homepage:
- Size: 17.1 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AI-Powered Fitness Trainer Pose Estimation
This project brings an AI-powered workout tracking system that leverages pose estimation technology to count and monitor exercises in real-time. It provides instant feedback on your form, tracks repetitions, and motivates you to push through each set. Whether you're doing bicep curls, squats, or push-ups, this system ensures that every rep is counted and your technique is refined.
## Key Features
- **Real-Time Exercise Counting**: Uses advanced pose estimation to track and count your reps with high precision.
- **Stage Monitoring**: Tracks the "up" and "down" phases of each exercise and keeps you updated on your progress.
- **Progress Bar**: Visual progress bar tracks your sets and reps, motivating you to finish your workout strong.
- **Gauge Meter**: Provides feedback on limb angles, displayed on a gauge meter for real-time form analysis.
- **Customizable**: Supports adding new exercise types and metrics to suit your workout needs.## Installation
To install and run the **AI-Powered Fitness Trainer Pose Estimation** project, follow these steps:
### Step 1: Clone the Repository
Clone the repository from GitHub to your local machine using the following command:```bash
git clone https://github.com/yakupzengin/fitness-trainer-pose-estimation.gitcd fitness-trainer-pose-estimation
```
### Step 2: Install Dependencies
Ensure you have Python installed. Then, install the necessary dependencies using the following command:```bash
pip install -r requirements.txt
```### Step 3: Run the Application
Once all dependencies are installed, run the main script to start tracking exercises:```bash
python main.py
```## Project Structure
Here’s an overview of the folders and files in this project, along with their purposes:* **assets/** : This folder contains sounds assets used for the user interface and feedback displays.
* **data/**: Holds any datasets or configuration files needed for the pose estimation or workout tracking.
* **exercises/**: Contains individual scripts for tracking different exercises.
* `hammer_curl.py`: Handles tracking and counting of hammer curl exercises.
* `push_up.py`: Monitors push-up repetitions and form.
* `squat.py`: Tracks squats, including form and repetition counting.
* **feedback/**:Handles the visual and informational feedback provided to the user during exercises.
* `indicators.py`: Displays real-time feedback indicators, such as rep counts and form status.
* `information.py`: Provides detailed feedback and stats about exercise performance.
* `layout.py`: Manages how feedback is laid out on the screen, including progress bars and indicators.
* **output/**: Stores output data or video files that capture your workout sessions and provide detailed analysis.
* **pose_estimation/**: This folder contains the core logic for the pose estimation process.
* `angle_calculation.py`: Responsible for calculating the angles of joints during exercises, providing real-time feedback on form.
* `estimation.py`: Handles the pose estimation process using machine learning models to track your movements.
* **utils/**: Ekranda geri bildirim çizmek ve görüntülemek için yardımcı fonksiyonlar bulunur.
* `draw_text_with_background.py`: Utility functions for drawing and displaying feedback on the screen.
* `drawing_utils.py`: Helper functions for drawing elements on the video frame, such as progress bars and limb angles.
* **main.py**: The main script that initializes the entire system. It starts video capture, loads the pose estimation model, and processes your workout, providing real-time feedback and performance tracking.## Future Improvements
As this project evolves, the following features are planned for future releases:
- **Advanced Exercise Recognition**: Expanding the system to support a wider range of exercises, including compound movements and stretches.
- **Performance Analytics**: Adding detailed post-workout analytics to help users track progress over time and improve their form.
- **Voice Feedback**: Implementing voice feedback for form corrections and motivational cues during exercises.
- **Mobile Support**: Developing a mobile version of the application for more convenience during workouts.## Contributing
Contributions to improve this project are welcome! If you would like to contribute, please fork the repository and submit a pull request. You can also report any issues or suggest new features by opening an issue on GitHub.
1. Fork the repository.
2. Create a new branch.
3. Make your changes.
4. Submit a pull request.