About Yoga Guru
Yoga Guru is your personalized yoga trainer app based on Flutter. It uses poseNet, a pre-trained deep learning model, to estimate body poses in real-time and predict yoga asanas.
Link to Code
How I built it (The Story)
The idea came to me when I first saw the PoseNet framework which is a computer vision model that estimates the pose of a person in an image or a video by estimating where key body joints are.
I started by wireframing the app and designed different app screens.
I then built different components in Flutter and then used the Flutter Tflite package to run a pre-trained PoseNet model on the image stream (video frame).
Then I trained a custom model on the output of the above PoseNet model to classify Yoga Poses. It certainly took some time to find images on google to create a dataset and fit a classifier on it.
The challenge now was to run the 2 model (PoseNet and the custom Yoga Classifier) in a pipeline in the app. For this, I had to understand how to write platform-specific code in Flutter and run custom Tflite models in Android!
It was a challenging task but in the end, all the hard work paid off and the app was up and running!
The art of practising yoga helps in controlling an individual's mind, body and soul. It brings together physical and mental disciplines to achieve a peaceful body and mind. Thus, by building this app, I wish that everyone can access and learn Yoga and keep their body, soul and mind in tune.
Any contributions to the app are most welcome!