Project logo

EXERCISE FITNESS ML TRACKER

Status GitHub Issues GitHub Pull Requests License


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.

📝 Table of Contents

🧐 About

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

Data

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.

gyrocsope data:

  • 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

accelerometer data:

  • 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

Project structure

  • 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
  • venv
  • .gitignore
  • app
  • Dockerfile
  • dvc.lock
  • dvc.yaml
  • model_metrics.json
  • params.yaml
  • requirements
  • setup
  • utils

🏁 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Installing

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

🎈 Usage

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

⛏️ Built Using