Skip to content

userHP200104/Navi_AI

Repository files navigation

Navi

AI Exercise Assistant

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.


GitHub repo size GitHub watchers GitHub language count GitHub code size in bytes LinkedIn Behance

Hansin Prema
200104
Interactive Development 300

Logo

Navi_AI

AI Yoga Assistant
Explore the docs »

Report Bug · Request Feature

Table of Contents

About the Project

image8

Project Description

This is an app that uses AI to detect whether you are doing a chosen yoga pose correctly or not.

Built With

Getting Started

The following instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Ensure that you have the latest version of Android Studio installed on your machine.

How to install

Installation

Here are a couple of ways to clone this repo:

  1. Clone Repository
    Run the following in the command-line to clone the project:

    git clone https://github.com/userHP200104/Navi_AI.git

    Open Software and select File | Open... from the menu. Select cloned directory and press Open button.

  2. Run the following in the command-line to check if you have everything installed to run flutter:

    flutter doctor
  3. Run the following in the command-line to get all the required dependancies:

    flutter pub get
  4. Run the following in the command-line to run the app:

    flutter run

Features and Functionality

Home

On the home scree you will find the number of poses completed weekly, your overall accuracy of all your poses, a them changer and a dark mode toggle.

image1

Dark Mode

The dark mode toggle will switch the theme between dark mode and light mode.

image2

Theme Change

The theme change allows you to set the theme of the app by utilising dynamic colour palette.

image3

Yoga

This screen allows you to add and delete yoga poses you want to do. It is also an access point for the pose checker.

image4

Add a Pose

This is a bottom sheet that comes up which allows you to select a pose that you want to add.

image5

Pose Checker

This uses Ml and AI to track your bodies position to see if you are doing the pose you chose correctly.

image6

Concept Process

Everything Google

image10 image11 image12 image13 image14 image15

Database Structure

image9

Development Process

The Development Process is the technical implementations and functionality done in the frontend and backend of the application.

Implementation Process

  • Project created and Frontend implemented.
  • Firebase set up and linked to project.
  • Components made compatible with Material 3.
  • Body Detetion added to live camera
  • Poses fetched from database.
  • Yoga Pose Model Trained
  • Yoga Pose Model added to live camera.
  • Functionality added to display if the pose is correct or not.

Highlights

  • I really enjoyed how simple Flutter is too use considering this was my first time using it. Even though the structure of the code was different everything works together realy seemlessly.

Challenges

  • The biggest challenge that I faced was implenting the Machine Learning Model to the app since I first had to train my own model of over 1000 image but the real problem came when I needed to get the camera to recognise the yoga poses. So after a lot of research I figured out how to get the model to work through TensorFlow Lite.

Future Implementation

  • Having tutorials to teaach you how to do the poses.
  • Training a model of 82 yoga poses.
  • Customising the look of the app.

Final Outcome

Video Demonstration

To see a run through of the application, click below:

View Demonstration

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Authors

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Acknowledgements

About

Flutter AI Yoga Assistant

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages