Inspiration
Our team wanted to build something with OpenCV and MediaPipe, and we landed on a shared interest: working out. A similar project analyzed squat form from a YouTube video, so we decided to expand on that idea by using a live camera feed.
What it does
S.P.O.T tracks your body through a live camera feed, counts your reps, and checks whether your form is correct. Form is judged by the angles between key landmarks, which vary by exercise. For a squat, the three that matter are the hip, knee, and ankle.
How we built it
The backend is built in Python with OpenCV and MediaPipe, with NumPy handling the angle calculations. We added a voice component using ElevenLabs that reads prompts aloud to the user, and we used GitHub so the whole team could collaborate on the same codebase.
Challenges we ran into
Most of the libraries were new to us, which made for a fun challenge. Our ambitions were also bigger than our time allowed. We wanted to build a web page where users could input data for testing, but since this was a live presentation, we chose to focus on the backend instead.
Accomplishments that we're proud of
At minimum, we're glad to have a finished project, since it wasn't clear at the start that this was possible. We're most proud of supporting multiple exercises. Getting the first one working was harder than expected, so we built the code to make adding new exercises easy, though we couldn't be sure that would pay off until it did.
What we learned
We learned a lot about computer vision, and the project taught me the value of iterative design. A different approach could have left us with much less polished results.
What's next for S.P.O.T
Next, we want to make the tool more accessible. We knew going in that computer vision needs ideal conditions to give useful output. Supporting phone cameras would make S.P.O.T more portable and easier to use, and would extend its reach to more people.
Log in or sign up for Devpost to join the conversation.