Inspiration

When considering the prompt, the first thing that came to our mind was fitness, as oftentimes, it is the one thing stopping people from living a healthy, and active lifestyle. With that in mind, we considered the reasons why people are hesitant in practicing fitness. We determined that the main reasons why people are hesitant are discipline, the steep learning curve, and intimidation. Thus, we decided to combat both of these issues, with Workount.

What it does

WorKount allows the user to input whatever exercise they are planning to perform, the number of reps, the number of sets, and the time between sets. With these parameters in mind, WorKount structures the workout. WorKount allows the user to start recording their set, and with python's image recognition library, cv2, and a convolutional neural network it counts the number of reps completed by the user, and alerts the user when the inputted amount of reps have been completed. This helps with discipline, as the user is prompted to complete the inputted amount of reps, even if they do not want to at the moment. Additionally, since WorKount accomplishes the tasks usually completed by a gym partner or a spotter, it allows people who may be intimidated by the idea of going to the gym to reap the same benefits at home. Though our demo uses pullups, WorKount works with any exercise with a clear beginning and end point. These include, but are not limited to: pushups, curls, deadlifts, and squats.

How we built it

In making this project, we used Python's CV2 image recognition library and TensorFlow to create the convolutional neural network. We also used Flask and Heroku to host the project as a web application. Our model works by receiving image data from the user's video input and recognizing clear start and endpoints. Our neural network then predicts a path of motion and verifies how close the current frame is to the endpoint. If the frame matches the already established endpoint, our program adds one to the rep counter. We added the counter and video input to a Flask application, which was then hosted on Heroku.

Challenges we ran into

The main challenge we faced was the lag between frames. This made it difficult for our model to predict the path of motion.

Accomplishments that we're proud of

We are proud of being able to actually recognize when a rep is completed, and being able to host our software on a Flask web application.

What we learned

In the making of this project, we learned how to use python's image recognition library, as well as how to use image data to create convolutional neural networks. We also learned how to host such an application on a Flask web application.

What's next for WorKount

As of now, there is lots of room to grow for WorKount. One feature we hope to implement is form correction. By mapping the different points of movement, we can detect inconsistencies in the user's form, and offer them advice in correcting it. Additionally, we hope to develop our app into an entire workout planner, by allowing users to add a variety of exercises rather than just one. We can then track the user's growth, and tell them how much they improved over a set period in various areas (weight, reps, time).

Built With

Share this project:

Updates