Even before the pandemic, it was almost second nature for people to make excuses not to go to the gym. Suddenly, due to physical distancing measures, all those people's dreams came true and all gyms came to a temporary close. However, a few weeks passed and everyone soon realized how important exercising and staying active truly is, especially now that we are all quarantined to the small extents of our homes. Unfortunately, aside from not having access to nearly as many machines or weights as in a gym, at-home workouts often lack the eye of a professional that can help determine whether or not you are completing your exercise correctly. This is an extremely important part of a workout, as improper positions could lead to serious injury, especially if carried out for a prolonged time. That is what inspired us to create Squat Squad, your personal trainer that will go with you wherever you choose to workout.
What it does
Squat Squad is here to double check your form during squats to avoid long-term incorrect positioning consequences. It does this by taking in visual data from your webcam and using a deep learning algorithm to attest whether or not you are correctly positioning yourself to complete a basic squat. As soon as your knee incorrectly goes over your toes, it will tell you to correct yourself by following the instructions for a proper squat.
How we built it
Using our very own personalized dataset, we trained a deep learning algorithm using transfer learning to detect incorrect and correct squat positions through a live webcam feed. This data was then integrated with MySQL to be able to communicate with our web portal for easy front-end access. The web portal was created using HTML to provide instructions to the user on how to do a correct squat and guidelines on where to stand for the program to capture the best and most accurate leg angle.
Challenges we ran into
After hours of research, we could not find any existing dataset to fit our deep learning needs. After considering modifying the entire project or possibly going with backup plans, we decided to create our very own dataset from home. Thankfully, it worked out in the end and it was sufficient to train the algorithm to the necessary accuracy. At the same time, the other half of the group was attempting to use IBM, however due to issues with authenticating the API key, we had to make a last-minute switch to MATLAB, which not all members were accustomed to. This also lead to delays in getting MATLAB to run on everyone's platform with the necessary toolboxes and specific features. Additionally, it was our first time bringing such different platforms together, all to function under the same web app, so the web development process was very time-consuming with many consultations with the mentors.
Accomplishments that we're proud of
We are very proud to have created our own dataset containing over 1000 images necessary to train and test the deep learning toolbox. We were also incredibly excited (and relieved) for the many ups and downs that we were able to get through as a team, eventually achieving our final result. Many of the challenges stated above were crucial points to the project development, which meant we couldn't move on to next stages without guaranteeing success during those earlier steps. Although some moments may have looked bleak, we managed to rough it out and make it to the other side.
What we learned
Our biggest lesson was that not everything you need is easily found online. The dataset took hours for us to research and only then we realized that we had to create it ourselves. Aside from this, we learned how to successfully create a dataset that fit our needs. We also learned a lot from one another since we all had expertise on different parts of the project.
What's next for Squat Squad
For now, Squat Squad focuses on only one type of squat, the basic squat, however, we would like to further develop into other exercises. Our next goal would be to help teach its users of the multitude of different squat possibilities by allowing them to choose which lower-body muscle they would like to focus on for their workout. Additionally, we understand the difficulties that small business and specific industries are facing during this pandemic, that is why we would make an incentive program that would create competitions between users of the software and gaining points for correctly-executed squats would result in donations to the user's local gyms.