0% found this document useful (0 votes)
45 views22 pages

Oosd Final Report

The document describes a proposed AI-based yoga training application called YogAI. The application aims to teach users different yoga poses and check if poses are performed correctly by analyzing live video input. Key objectives are to develop an AI model to identify correct posture percentages and create an intuitive interface to guide users. The purpose is to enable affordable, convenient yoga practice from home. An iterative development process is proposed to refine the AI model and application over time. Functional requirements include encrypted passwords and legitimate email verification. Non-functional requirements specify page load times under 500ms.

Uploaded by

kamaal ant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views22 pages

Oosd Final Report

The document describes a proposed AI-based yoga training application called YogAI. The application aims to teach users different yoga poses and check if poses are performed correctly by analyzing live video input. Key objectives are to develop an AI model to identify correct posture percentages and create an intuitive interface to guide users. The purpose is to enable affordable, convenient yoga practice from home. An iterative development process is proposed to refine the AI model and application over time. Functional requirements include encrypted passwords and legitimate email verification. Non-functional requirements specify page load times under 500ms.

Uploaded by

kamaal ant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

YogAI - An AI based Yoga Trainer

Jyotir Aditya 19BCE046


Jay Agarwal 19BCE0848
Akshat Shukla 19BCE0872

Submitted to : Prof. Akhila Victor

Subject : Object Oriented Software Programing

Slot : L27-L28
Table of Contents
1. Introduction 3
1.1 Abstract………………………………………………………………………………………….... 3
1.2 Aim……………………………………………………………………………………………….. 3
1.3 Objective………………………………………………………………………………………….. 3
1.4 Purpose...…………………………………………………………………………………………. 4
1.5 Scope…………………………………………………………………………………………….... 4
2. Past work………………………………………………………………………………………... 4
3. Problem statement…………………………………………………………………………….... 4
4. Process models…………………………………………………………………………………... 5
4.1 Project Description for choosing the Model…………………………………………………….... 5
4.2 Choosing the Model ……………………….……………………………………………………... 5
4.3 Why not other models…………………………………………………………………………….. 5
5. Project plan…………………………………………………………………………………….... 6
5.1 Gantt chart………………………………………………………………………………………... 6
5.2 WBS…………………………………………………………………………………………….... 8
6. Requirements (Functional and non-functional)........................................................................... 9
6.1 Non-Functional Requirements…………………………………………………………………… 9
6.2 Functional Requirements………………………………………………………………………… 9
7. User Interface Design………………………………………………………………………….. 9
7.1 Application Controls…………………………………………………………………………… 10
7.2 Screen 1… N…………………………………………………………………………………….. 11
8. Design…………………………………………………………………………………………... 13
8.1 System overview………………………………………………………………………………… 13
8.2 Database Tables………………………………………………………………………………….. 14
8.3 Collaboration Diagram…………………………………………………………………………... 14
8.4 Use Case Diagram……………………………………………………………………………….. 15
8.5 Activity Diagram……………………………………………………………………………….... 16
8.6 Deployment Diagram……………………………………………………………………………. 16
8.7 Class diagram……………………………………………………………………………………. 17
9. CODE…………………………………………………………………………………………... 17
10. Testing…………………………………………………………………………………………. 18
10.1 Test cases……………………………………………………………………………………….... 18
10.2 Testing….………………………………………………………………………………………... 19
11. Modules………………………………………………………………………………………... 20
12. Maintenance…………………………………………………………………………………... 20
13. Conclusion…………………………………………………………………………………….. 21
14. References……………………………………………………………………………………... 21
15. Appendix………………………………………………………………………………………. 22

2
1.Introduction
1.1 Abstract
The importance of yoga is renowned worldwide and its health benefits, which were
preached by ancient sages, have stood the test of time. Even though yoga is
becoming preeminent, there are important challenges faced while doing yoga such
as performing it with incorrect form, the classes being expensive and the shortage of
time in our busy lives and it provides many users to practice users in a zero
judgement environment which can make a huge difference for many to help gain
their confidence as well. Artificial intelligence and Machine learning techniques
exhibit promising solutions for human pose estimation.
Our reagent will be trained with help of expert yoga gurus and images of
correct postures for every Asan there is and integrated into the app. This reagent will
check the users technique to perform the asan through live feed and in case the user
is unable to perform or wrongly performing the Asan the reagent will detect it and
intimate the user with the right technique to correct the pose with an image of it. As
of now there are not many applications of using the technology to work as a tutor
specifically in the case of yoga. We surveyed the various technologies that can be
used for pose estimation and concluded the best method based on the usability for
the web application. We have made the application as user friendly as possible.

1.2 Aim
We aim to make an AI based platform which will teach the customers the different
yoga asanas and will check if the asana is performed with correct postures or not ,
taking a live video as input. The platform will provide a complete guide for a full body
yoga session with do’s and don'ts.

1.3 Objective
● AI Model to identify if the posture of the aasan performed is perfect or not
(output will most probably be in percentage format).
● Make it into an API which will be used in the later software.
● Create an intuitive platform which will train the user ,the yoga asanas and will
eventually check if the asana selected is performed to perfection or not(taking
live video as an input)

3
1.4 Purpose
People all over the world have been quarantined this past year or so ,which gave us
the idea to implement something which could help us be fit in the comfort of our
homes. What better than yoga for staying fit.

Yoga, in all of its forms, creates positive energy. As a result of practice, our
mindset becomes positive. In an atmosphere of positive energy one becomes
successful, and lives a life where powerful visions become reality.Yoga training has
so many good health aspects from which a person can benefit. Considering the
above scenario and the booming online fitness world ,this platform could be a great
success if executed perfectly.

1.5 Scope
Yoga, being there for 1000’s of years in our society, can be performed by anyone,of
any age and condition.Being a very feasible option which can be done anywhere
with limited resources, is a great exercise for mind and body. Gymming on the other
hand requires equipment and proper guidance which when performed without ;
results in major injuries.

2. Past work
Youtube has become a great platform for acquiring new skills on our own. But the
content there is huge to identify if it’s useful or not.
● Apps like Cult.fit provide live fitness sessions on yoga but lack one to one
communication and scope to find if asanas performed are correct or not.
● Trainers on ZOOM and other video calling platforms charge too much for their
time.

3. Problem Statement
Yoga is one of the most sought after activities in the world and with the pandemic
coming lockdowns being imposed the number of people wanting to to practice yoga
at home has only gone up exponentially for numerous reasons such as Raja yoga
helps increase positivity, ability to focus on the task given at hand, be more self
aware, etc. Power yoga helps boost one’s immunity, posture, flexibility, lung capacity,
etc . Yoga is not only limited to above but is a very vast practice and we are
motivated to combine it with current technology to deliver it to each of us at our home

4
requiring very limited resources and cost can be very beneficial.Yoga can be
dangerous if the steps are not performed as they should be. So beginners need to
have some guidance while starting out to avoid any major injuries or side effects .
Considering the below scenario and the booming online fitness world , our platform
could be a great success if executed perfectly.

4.Process Model
4.1 Project Description for choosing the Model
Our project has too many modules to work with and since the AI world is constantly
developing new resources , our requirement isn’t clear at the start of the project. To
make the AI model more and more efficient ,improvements have to be made with
time. Flutter which we will use to make our app and web-app is comparatively a new
technology with a lot of potential and scope. It is difficult to master in one go.

4.2 Choosing the Model


So considering the above points , we plan to go with Iterative Model in which we’ll
develop the app in iterations ,starting with the AI part .With the completion of the AI
model ,we’ll have a clear idea about what our app can do at the backend and can
start working on the Flutter part after that.

4.3 Why not other Models


The major concern is the unclear project requirement .With limited knowledge in AI,
making the backend at one go is very difficult, thus rejecting the idea of Waterfall

5
model and V-Model. Incremental Model was a good option but since our project
doesn't have any stand-alone modules that can be released and used, we rejected
the idea. As we identified all the risks at the start of the project, we dont require
access to it at every iteration. Hence rejecting the Spiral model.

5.Project plan

5.1Gantt Chart
August

September

6
October

November

7
December

WBS

8
6.Requirements (Functional and non-functional)
6.1 Functional Requirements
● User’s password should be in encrypted form.
● Should display invalid email/password combinations for unauthorized access.
● Should not allow multiple accounts with the same email id.
● Email id should be legitimate.

6.2 Non-Functional Requirements


● We have the following inexcusable performance requirements:.
● Average page load (from a user perspective) must be less than 500
milliseconds.
● Slowest page load cannot take more than 4 seconds.
● The app must be available almost 24*7.

7. User Interface Design

7.1 Wireframe Design


● Sign Up Page

9
● Login Page

● Opening video Camera

10
● Yoga Aasan predictor and checker

7.2 GUI
● Sign Up Page

11
● Login Page

● Opening video Camera

12
● Yoga Aasan predictor and checker

8. Design
8.1 System overview

13
8.2 Database Tables

8.3 Collaboration Diagram

14
8.4 Use Case Diagram

15
8.5 Activity Diagram

8.6 Deployment Diagram

16
8.7 Class diagram

9. Code
LINK : https://github.com/JyotirAdi/yoga-project

The above link contains 3 files namely:


● MLP.py - This file is the ML model
● Get_keypints_data.py - This file converts image datasets into .txt data
points
● Grid_search.py - It is to find Best hyperparameters for our MLP based ML
model

17
10. Testing
10.1 Test Cases
● Registration

Inp Outp
ut ut

Empty field’s Fill in all field message

Length of password < 6 Password must be 6 characters


message

Existing email Email already registered message

User is redirected to login page with


Correct credentials successfully registered confirmation
message

● Logging in

Inp Outp
ut ut

Random email ID and password Email not Registered message

Incorrect Password Password incorrect message

Empty field/s Missing credentials message

Correct email and password User is redirected to home page

● Starting The video

Inp Outp
ut ut

User clicks “START” button User is redirected to “Yoga predictor”


page

18
User can now share their video
Allow video permissions

10.2 Testing
● Test cases for Web App

Test Details Test Data Expected Results State Reached


Case

1 Run App GUI App should open App Opened

2 Fill Signup Page Email: Validate all fields Details Entered


adityajyotir05@gmail.com if specifications
Password: test don't meet, error is
thrown

● Test Cases for ML Prediction and Notification

Test Details Test Data Expected Results State Reached


Case

1 Redirect live Live Video Feed Camera output Human body


camera to Ml must be shown joints and face
model detected

2 Recognition of - HRnet must start Pose is


pose with pose Recommended
estimation

19
11. Modules

12. Maintenance
Corrective maintenance

The application would go under regular testing so bugs would be discovered and
solved and updated.

Adaptive maintenance:

Currently our application is only available on the web but we will expand it to android
, ios , windows , etc .

20
Perfective maintenance:

We will be updating the reagent with several new asanas and also develop a
meditation tutor which will help users optimize their meditation duration .

13. Conclusion
We were able to develop a yoga tutor which will help users to effectively practice
various yoga asanas with reformed pose and techniques at there convinnient timing ,
place , affordable supervised enviorment and zero judgement enviorment ( many
users feel they might be judged at a class setting in a studio due to there body type,
colour, race, sex, etc ). Also ensuring that users can follow an optimized set of
asanas to make most use of their time.

14. References
● HRNet/HigherHRNet-Human-Pose-Estimation: This is an official implementation of
our CVPR 2020 paper "HigherHRNet: Scale-Aware Representation Learning for
Bottom-Up Human Pose Estimation" (https://arxiv.org/abs/1908.10357)

● CMU-Perceptual-Computing-Lab/openpose: OpenPose: Real-time multi-person


keypoint detection library for body, face, hands, and foot estimation

● PoseNet for pose estimation

● An Overview of Human Pose Estimation with Deep Learning By Bharat


Raj,BeyondMinds An Overview of Human Pose Estimation with Deep Learning.pdf

● Mobile Data Science and Intelligent Apps: Concepts, AI-Based Modeling and
Research Directions Iqbal H. Sarker1,2 & Mohammed Moshiul Hoque2 & Md. Kafil
Uddin1 & Tawfeeq Alsanoosy3 Applications of AI in classical software.pdf

● Deep Learning-Based Human Pose Estimation: A Survey Ce Zheng∗ , Wenhan Wu∗


, Taojiannan Yang, Sijie Zhu, Chen Chen, Member, IEEE, Ruixu Liu, Ju Shen, Senior
Member, IEEE, Nasser Kehtarnavaz Fellow, IEEE and Mubarak Shah, Fellow, IEEE
Deep Learning Based Human Pose Estimation.pdf

● DeepPose: Human Pose Estimation via Deep Neural Networks Alexander Toshev
toshev@google.com Google Christian Szegedy szegedy@google.com Google
DeepPose Human Pose Estimation via Deep Neural Networks.pdf

21
● Human Body Posture Recognition Using Artificial Neural Networks Manu Bali,
Devendran V Human Body Posture Recognition Using.pdf

● Pose Trainer: Correcting Exercise Posture using Pose Estimation Steven Chen *
Richard R. Yang ∗ Department of Computer Science, Stanford University pose
trainer.pdf

● Sitting Posture Recognition Based on OpenPose Sitting Posture Recognition Based


on OpenPose.pdf

15. Appendix A

● CNN: CNN is a type of neural network model which allows us to extract


higher representations for the image content. Unlike the classical image
recognition where you define the image features yourself, CNN takes the
image's raw pixel data, trains the model, then extracts the features
automatically for better classification.

● LSTM: The LSTM model will learn a function that maps a sequence of past
observations as input to an output observation. As such, the sequence of
observations must be transformed into multiple examples from which the
LSTM can learn.

● Flutter: Flutter is an open-source UI software development kit created by


Google. It is used to develop cross platform applications for Android, iOS,
Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase.

22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy