We're all fitness enthusiasts and we understand the big hurdle one must go through to begin going to a public gym. If we didn't have that one "gym buddy" who taught us the ropes, then it would be difficult to stay committed.
What it does
A virtual gym buddy who will correct your form for specific exercises and keep track of your reps/sets.
How we built it
We used StreamLit for our front-end and combined it with a Python backend. We utilized OpenCV in conjunction with MediaPipe Holistic to provide full-body tracking through pre-trained machine-learning models. As a general description with what was mentioned before, MyGymBuddy is a python web application (hosted using streamlit) that uses computer vision (through openCV and mediapipe).
Challenges we ran into
Some of the biggest issues that we faced were having one camera connected at a time, which prevented us from being able to have as many exercises as we wanted to. Furthermore, getting accurate tracking of our motions was very difficult and required a clear open environment to be used in.
Accomplishments that we're proud of
One of the biggest accomplishments we managed to fulfill was learning Git and Github to manage sections of our program. Being able to successfully push and pull portions of our program and split sections specifically for front-end and back-end. Another one of our biggest accomplishments was being able to learn new libraries for our front-end and back-end. We learned how to use streamlit for a python-based front-end and we used AI-driven libraries such as OpenCV and mediapipe to bolster a back-end based on motion detection.
What we learned
This was a great learning experience for all members of the team, as we learned how to use the OpenCV library, as well as how to use streamlit library that Python offered. This was also a great experience where we all worked together and collaborated and how to split up tasks to ensure that no one was left out and to make sure that our project was completed in the right amount of time.
What's next for MyGymBuddy
In the future, we want to incorporate both more exercises that can be done and harder level exercises into our web app. Another improvement we could make would be to have users be able to put in their own workout so that they are not limited to the workouts that we have made for them.