Inspiration
Due to the COVID-19 pandemic, most of us are stuck at home and are unable to receive enough physical exercise. We used youtube videos of yoga and short at-home workouts but found that if we made a mistake, there was no one to correct us. We found that these mistakes severely reduce the effectiveness of the workout and could lead to serious injury as well.
What it does
It monitors the posture of the user as they attempt the poses and corrects them in real-time. It also has a guided mode which allows users to be guided through a yoga session with new poses automatically played one after another.
How we built it
We decided that an Android app that gives real-time feedback would be the best way to solve this problem. Most people have easy access to a smartphone and would be able to prop it up to record it.
We used Android Studio and the Kotlin programming language for designing the UI and building the fundamentals of the app. We used tensorflow to train the AI models (the human wireframe and calibration AI) and used tensorflow lite to run it at high speeds on a phone.
Challenges we ran into
The AI models we used were extremely bulky and were taking minutes to run on a phone initially. Thus, we had to make the model more lightweight in order to get it running in real time. This was surprisingly difficult.
Most instructors know body angles by intuition, so we didn't have access to data on the body angles. We had to develop a systematic approach to identify all of the correct body angles ourselves. We managed to develop an extremely generalizable approach which works quickly for any new pose.
Accomplishments that we're proud of
- Develop a full end-to-end prototype within 24 hours. The UI, transitions and all features are fully completed (without bugs).
- The accuracy of the wireframe model for monitoring the person's posture
- Getting 3 yoga poses working with feedback (This and point 1 is extremely hard to finish in just a 24 hour time limit).
- Implementation of Multiple Languages to allow for localization of the App, along with voice feedback for an enhanced user experience.
What we learned
Our team was more familiar with Java for Android Studio but in an attempt to reduce the launch time of the app, we had to switch to the newer programming language Kotlin. It reduces the runtime drastically, but we had to learn this completely new language within 24 hours, which was a fun crash course as well.
What's next for CorrectAsana.ai
We would like to begin by creating a much more user-friendly UI. Another priority would be to add more poses in the app, and also popular sequences of poses (such as Surya Namaskar). We would also like to have more language options so as to allow all users to easily understand and use the app. Given more time, we could also enhance the posture and calibration AI model. Other features which we would like to incorporate include: Performance tracking over time, video guidance when necessary, a basic to advanced yoga guidance system.
Built With
- android-studio
- kotlin
- tensorflow
Log in or sign up for Devpost to join the conversation.