Inspiration
Many people lack access to reliable sports coaches, which hinders their ability to excel at a sport they love. It can be difficult and sometimes impossible at times, which is why we wanted to create an image recognition program to help in solving this issue so that passionate people could realize their full potential more easily.
What it does
The program either takes in a video or records a live demo of themselves running through a golf posture. Then a machine learning model is used that focuses on certain body parts of the user, which will record angles and detail what needs to be improved in the user's posture to match traditional sports posture in society.
How we built it
We built it by breaking down the project into three tasks. Gathering relevant data from pros who have good posture. This involved finding an online database of videos of golf swings by professionals. The main challenge was determining key frames from the captured user demo and the database videos. Lastly, we had to design a way for the user to interact with our program and provide their swinging posture.
Challenges we ran into
In order to accurately compare the posture throughout the entire swinging process, we needed to define key movement frames that we can compare across the user and the professional. This proved difficult since we did not know of an accurate way of doing this. We had to go through many iterations and different solutions for this problem. To identify the key frames of a golf swing, we treat the sequence of joint angles extracted from a video as a multi-dimensional time series and apply k-means clustering to group frames with similar poses. By setting k=3, we can cluster the swing into three representative phases.
Accomplishments that we're proud of
We successfully integrated machine learning model for giving accuracy of angles in a posture.
What we learned
We learned how to integrate a image recognition machine learning model and also run the python script on a website.
What's next for Go-lfPro
Fully deploy on a website and completing the feature of the user being able to upload a video.
Log in or sign up for Devpost to join the conversation.