The-Data-Alchemists-Manipal / MindWave

MindWave is an open-source project designed for beginners to learn about data science, machine learning, deep learning, and reinforcement learning algorithms using Python. The project offers a platform for implementing relevant algorithms, with open-source tools and libraries.
MIT License
97 stars 144 forks source link

Add DeepFit project #786

Open lakshmishreea122003 opened 1 year ago

lakshmishreea122003 commented 1 year ago

Is your feature request related to a problem? Please describe.

Deepfit tracks your body movements throughout a workout. It will help correct for posture, keep track of your reps and make sure you get fit the right way.

Describe the solution you'd like

Keypoint Detection The pre-trained MediaPipe landmark model in use is a Convolutional Neural Network and is trained with an input layer of size [1,256,256,3], which is accepted as incoming video feed from the webcam (256 x 256 pixels’ RGB values). The result received from the output layer is of shape [33, 5]. It translates to the 33 keypoints being detected by the model. The 5 additional parameters in the output map to the X, Y, and Z coordinates in the image (or video frame) and two factors for visibility and presence.

  1. Pose Classification 18 of the 33 detected keypoints are used to train a pose classifier. The model tells us what workout is being performed, which leads us to task 3.

  2. Pose Correction Once the workout has been identified by our Classifier model, we use these keypoints to calculate the angles between limbs and compare it against benchmarks to identify if the person has an appropritate posture for an exercise. Apart from posture correction, these keypoints are also used to count the number of reps correctly performed for the workout.

Describe alternatives you've considered

It uses: tensorflow mediapipe numpy matplotlib

Additional context

No response

Code of Conduct

lakshmishreea122003 commented 1 year ago

Project inspired by https://github.com/akshaybahadur21/DeepFit/tree/main . Do assign me.