Advanced analytics for badminton games, using computer vision and gen AI. 1st place entertainment track at SBHacks 11.
There are over 300 million badminton players looking to improve their game. There’s no way coaches can give personalized insights to so many people!
Our teammate Ishan is a top 20 ranked player in the nation and as a private coach to many, he knows how tedious it is to scrub through game footage to collect stats. The goal of Baddy Buddy is to automate this process so coaches and players like Ishan can focus on their game, not go insane!
We use a Flask backend to handle video upload and HTTP requests. Once the client uploads their game footage, we use pretrained models based on Keypoint RCNN for detecting both the players position and the court boundaries. Furthermore, we use a pretrained TrackNetV3 model (published by Kaohswing University) to get pixel coordinates of the birdie on each video frame.
In order to make useful insights on the game, we must map pixel coordinates of the birdie and player to real world coordinates. This is done using projective transformation based on the court boundaries that we previously detected. All of this data is then sent to the client as a json file.
We use Next.js and TailwindCSS to build the frontend, along with heatmap.js for the graphs. We then integrated Anthropic’s Claude 3.5 Sonnet to be our “Birdie Baddie” coach, accessing all of the player’s game data and answering any related questions.