This fitness tracker is designed to classify different exercises performed during a workout session using machine learning techniques. The tracker can identify the following exercises: bench press, deadlift, row, squat, overhead press,and also detect rest periods when the user is not performing any exercise.
The fitness tracker leverage the power of machine learning techniques to classify various excercises the users is performing at various point in time.The core functionality of our model lies in its ability to recognize and categorize various exercises, including bench press, deadlift, row, squat, overhead press. This comprehensive exercise repertoire ensures that users can track their entire workout routine effortlessly.
video link of the project : https://x.com/oboro_gideon/status/1685775882269368320?t=ZV1XoVVWB0S8t33UANW5KQ&s=19
The model was trained with both accelerometer and gyroscope data collected over a period of time with five different participants performing all the various excercises both medium and heavy sets using the sensors in a fitness watch.
- epoch (ms) : unix time
- time (01:00) : datetime
- elapsed (s) : duration
- x-axis (deg/s) : horizontal axis
- y-axis (deg/s) : vertical axis
- z-axis (deg/s) : depth
- epoch (ms) : unix time
- time (01:00) : datetime
- elapsed (s) : duration
- x-axis (g) : horizontal axis
- y-axis (g) : vertical axis
- z-axis (g) :depth
- Artifacts
- .github/workflows
- log
- report
- src
- components
- Data ingestion
- Data transformation
- outlier removal
- build features
- data modeling
- pipeline
- training pipeline
- predict pipeline
- visualization/experiments
- visualize
- detect outliers
- build features
- model train
- exception
- logger
- components
- venv
- .gitignore
- app
- Dockerfile
- dvc.lock
- dvc.yaml
- model_metrics.json
- params.yaml
- requirements
- setup
- utils
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
A step by step series of examples that tell you how to get a development env running.
- Clone the repository: Run this in your terminal
git clone git@github.com:GIDDY269/fitness_tracker_ml.git
- create a vitrual environment:
conda create -p venv python==3.9 -y
- install the dependencies:
pip install -r requirements.txt
To use this service , open your terminal and run
uvicorn app:app --reload
Then copy the url and paste in your web browser, add /docs
at the end to open a fastapi swagger ui
- Pandas - Data manipulation
- Scikit learn - machine learning
- Docker - building container
- DVC - data versioning