Skip to content

rec0334/Msc_Dissertation

Repository files navigation

Barbell Exercise Recognition & Repetition Counting with Sensor Data

This project aims to build a machine learning model that recognizes different barbell exercises (like squats, deadlifts, bench presses, etc.), accurately counts repetitions, and provides real-time form feedback using sensor data from wearable devices.

📌 Project Overview

In the growing intersection of fitness and technology, this research utilizes accelerometer and gyroscope data from wrist-mounted wearables to create an intelligent system that functions as a digital personal trainer.

  • Exercise Recognition: Identify and classify barbell movements
  • Repetition Counting: Track exercise reps in real time
  • Form Evaluation: Provide alerts on incorrect posture/form

🎯 Objectives

  1. Build supervised ML models for classifying strength exercises using sensor data
  2. Count exercise repetitions using signal processing techniques
  3. Evaluate multiple models and feature sets to determine optimal performance
  4. Create a dataset capturing a variety of barbell workouts
  5. Address limitations of existing fitness trackers in strength training

📂 Dataset

  • Source: GitHub Repository
  • Device: MbientLab wristband (Accelerometer @ 12.5Hz, Gyroscope @ 25Hz)
  • Includes: Bench Press, Deadlift, Squat, Overhead Press, Row
  • Format: CSV with timestamped sensor readings (x, y, z axes)

🛠️ Technologies Used

  • Language: Python 3
  • IDE: Visual Studio Code
  • Key Libraries:
    • pandas, numpy — data manipulation
    • matplotlib, seaborn — visualization
    • scikit-learn — ML models & evaluation
    • scipy — signal processing
    • pickle — dataset storage

📊 Methodology

1. Data Preprocessing

  • Outlier detection: IQR, Chauvenet's Criterion, LOF
  • Data cleaning and filtering using Butterworth low-pass filter
  • Resampling to unify accelerometer and gyroscope frequencies

2. Feature Engineering

  • Scalar magnitude calculation
  • PCA for dimensionality reduction
  • Temporal & frequency-domain features
  • Clustering (K-Means)

3. Model Building

  • Algorithms used: Decision Tree, Random Forest, KNN, Neural Networks, Naive Bayes
  • Forward feature selection
  • Grid search for hyperparameter tuning

4. Repetition Counting

  • Peaks/minima identified in filtered acceleration data
  • Reps counted using domain-specific thresholds

📈 Results

  • Achieved high accuracy in classifying exercises and counting repetitions
  • Feature set 4 (basic + engineered features) yielded the best model performance
  • Random Forest classifier produced strong generalization on test data

🔮 Future Work

  • Add more exercises and sensor modalities (e.g., EMG)
  • Extend to dumbbell and machine-based workouts
  • Include posture correction with computer vision or IMU fusion
  • Deploy mobile app for real-time user feedback

⚖️ Ethical Considerations

  • Data privacy and consent from participants
  • Avoid bias in models based on participant demographics
  • Ensure safety in real-time fitness applications

👨‍💻 Author

Revanth Reddy Chitti
MSc Artificial Intelligence
London Metropolitan University

📚 License

This project is part of an academic submission and is intended for educational and research purposes only.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages