Inspiration

We were primarily inspired by various TikTok dances, where people often perform them with friends and family and then post them online to gain traction. We wanted to make this process more easily accessible for a wider audience, which entails in helping people replicate these dance moves and subsequently teaching them how to dance.

What it does

OnlyDance is a real-time dance training app that helps users learn choreography through guided prompts and interactive feedback. Using pose detection and motion similarity algorithms, it tracks users' movements and scores their performance. This makes learning to dance more engaging, accessible, and personalized.

How we built it

We built OnlyDance using a combination of real-time computer vision, motion analysis, and interactive frontend design.

For pose detection, we used MediaPipe and OpenCV to track key body landmarks through the user's webcam. These keypoints were then fed into a custom similarity scoring algorithm using cosine similarity to compare the user’s movements to predefined choreography templates.

During a dance session, the app continuously compares the user’s live poses to the expected poses and provides scores following a dance measure.

Refer to scoring.ipynb in the github repo to find documentation and a walkthrough for the feature engineering, scoring model, and timestamp interpolation.

Challenges we ran into

Our challenges primarily lied in the similarity score algorithm, where we had difficulty handling each of the joints (represented as vectors) and assigning weights to each of them to ensure that each joint is being weighted correctly based on how often they are used.

Accomplishments that we're proud of

We are proud of building a working prototype of our project within just over 24 hours of working. We are also proud of implementing our similarity score algorithm, which utilizes the comparison of relative vectors and a sliding window algorithm to capture when the user starts dancing.

What we learned

We were able to gain hands-on experience with computer vision and motion detection and explore how different scoring algorithms are able to compare deviations of human poses and provide feedback from them.

What's next for OnlyDance

Our future plans with OnlyDance include adding more songs and dances for the users, which will likely involve utilizing APIs that can fetch various dances or songs from the TikTok or Spotify API. We will also plan to incorporate more personalized feedback for the user so the user will know how to specifically improve.

Built With

Share this project:

Updates