Git Product home page Git Product logo

norep-app's Introduction

NoRep App

Fitness Web App focused on weightlifting that tracks your workout using Computer Vision and gives you feedback on your posture.


The idea

After training via Zoom for months, I noticed that fitness coaches had limited visibility through the webcam (especially during group classes). This app is meant to be a tool for fitness professionals that, during online classes, will allow them to spot bad practices in real time and improve the performance of their coachees.

This project is powered by the amazing technology of Mediapipe.

Check the presentation here.


Features

  • Pose recognition:
    • Deadlift: Repetition counter and posture assistant.
    • Air squat: Repetition counter.

  • Time-out!:
    • The recognition model only initializes when there are people in front of the camera, to prevent false repetitions to appear.

  • Metrics report:
    • Once your workout is done, you'll find a report with your repetitions in each movement and the accuracy of your posture.

Tech Stack

  • Python
  • Machine Learning
  • Flask
  • OpenCV
  • Mediapipe
  • Main libraries: cv2, Flask, mediapipe, numpy.

Data gathering

The data was taken from videos of my own workouts, assisted by a certified Crossfit coach, and online videos to train the model with more diverse body shapes and environments. To identify each position, I made manual labelling. The output dataset is composed of the coordinates of 33 points, each one of them a different body part.


The model

Because the data is composed of coordinate points, I used a K-Nearest Neighbors (KNN) algorithm for the model, tuning the hyperparameters to give more priority to the points that are closest to each other. To improve the model, I did signal boosting on the model by reaching out to fitness professionals.


Future steps

  • Increment the number of movements available.
  • Deployment in Azure.
  • Database and login implementation.
  • Potential deployment in video conferencing platforms (i.e. Zoom, Skype)

Preview

Preview


Acknowledgments

This project was developed during my time at the Ironhack Data Analytics Bootcamp in Lisbon during the summer of '22. I would like to thank Ironhack Lisbon for the opportunity, José and Gladys for being the best teacher and teacher assistant I could ask for, for their patience and huge commitment, and my Data class for being a group of amazing people and exceptional professionals, and for the bitoques we enjoyed each Friday.

Last but not least, thanks to The Bakery Crossfit for the support and for giving me the inspiration for this project, especially to Edu and Sara for sharing your knowledge and advice with me. In your own way, each one of you has helped me to grow as a person in many different ways, challenged me to improve, and inspired me to become a better person. THANK YOU. 💙

norep-app's People

Contributors

andersgom avatar

Stargazers

 avatar

Watchers

 avatar

norep-app's Issues

What is the content of pickle file?

You have used a csv file and trained using KNN. What is the content of it? Didn't find any csv files in the project files. Can you you provide the details?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.