Project Final
Project Final
• Yoga has known to be beneficial since ages, and not just for physical
fitness, but also to keep the mind calm.
• Great form of exercise as the stretching poses help to reduce tension
in muscles and joints, and this can, in turn, help relax the sympathetic
system.
• There are many yoga poses which are excellent for managing blood
pressure thereby reducing anxiety symptoms.
• June 21 – International Yoga Day
• The Common Yoga Protocol proposed by the Indian government
includes all the aspects of Yoga practice, for instance postures
(Asanas), breathing techniques (Pranayama) and meditation (Dhyana).
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 3
Yoga effects on COVID-19
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 4
Yoga to the Rescue!
• Yoga lowers stress hormones, strengthens the nervous system while
also stimulating the lymphatic system, which removes toxins from the
body.
• Yoga calms the mind and can contribute to deeper, regulated sleep,
which is crucial for wellness; sleep is one of the most important factors
in healing and maintaining a healthy immune system.
• COVID-19 is often more severe in people who are older than 60 years or
who have health conditions like lung or heart disease, diabetes or
conditions that affect their immune system.
• These groups can practice yoga regularly at home, but under
supervision to avoid injuries.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 5
Yoga in the Pandemic
Increase in search trends for ‘Yoga’ during COVID 19.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 6
• The pandemic closed gyms around the world, and many people started
doing yoga at home, mentioning that they feel physically fit and fresh.
• A survey by Gympik reveals that the extended lockdown drove an 87%
surge in the demand for virtual classes for yoga.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 7
Risks associated with Incorrect Yoga Poses
• Doing incorrect asanas can be detrimental to health.
• Incorrect postures could lead to acute pain and long-standing chronic
problems, say doctors.
• Most yoga injuries develop gradually because of poor yoga forms.
• The safest approach to yoga is to learn how to practice poses correctly.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 8
Self-Learning Systems
• Nowadays, a lot of people are practicing Yoga at home by watching
TV/videos.
• However, without the instruction of a coach, a practitioner may perform
the poses incorrectly.
• It is not easy for novice people to find the incorrect parts of their yoga
poses by themselves.
• Hence, the development of computer assisted self-training systems for
sports exercise is a recently emerging research topic.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 9
Proposal of Yoga Pose Assessment Method
• The proposed method is for Yoga Pose Assessment using pose detection
for self-learners.
• The method first detects a pose using a PC camera and BlazePose.
• Then, it calculates the difference of the specified body angles between
the pose of an instructor and that of a user. If it is larger than the given
threshold, the method suggests the correction of the part.
• With this proposal, it is expected that people can practice Yoga anywhere
including home.
• Thus, everyone can practice Yoga, no matter age or health.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 10
System flow of Yoga pose Assessment System
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 11
Pose Tracking
• It is the task of estimating multi-person human poses in videos and
assigning unique instance IDs for each keypoint across frames.
• Accurate estimation of human keypoint-trajectories is useful for human
action recognition, human interaction understanding, motion capture
and animation.
• This method can also be applied to self-learning systems to assess and
guide yoga practitioners.
• In this project, we use MediaPipe BlazePose which is an on-device body
pose tracking approach.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 12
BlazePose: An ML Pipeline for Pose Tracking
• BlazePose is a lightweight convolutional neural network architecture
for human pose estimation, released by Google in August 2020.
• The network infers 33, 2D landmarks of a body from a single frame and
runs at over 30 frames per second.
• Previous approaches could infer 17 landmarks, and relied primarily on
powerful desktop environments for inference; BlazePose achieves real-
time performance on mobile phones with CPU inference.
• By leveraging GPU inference, BlazePose achieves super-real-time
performance.
• This approach uses both heatmaps and regression to keypoint
coordinates.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 13
Joints of Human Skeleton
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 14
• For pose estimation, BlazePose utilizes
a two-step detector-tracker ML pipeline.
• Using a detector, this pipeline first
locates the pose region-of-interest (ROI)
within the frame.
• The tracker subsequently predicts all 33
pose keypoints from this ROI.
• For video use cases, the detector is run
only on the first frame.
• For subsequent frames it derives the ROI
from the previous frame’s pose
keypoints.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 15
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 16
Pose Similarity
• Human pose estimation is the identification of
a human’s pose through joint and limb
recognition on an image or in a video.
• If your goal, when using human pose
estimation, is to compare one pose to
another you need to apply a similarity
algorithm.
• A similarity algorithm allows you to take
different poses and calculate whether the
poses are the same.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 17
Angle Calculation
• The proposed system uses the angles on each joint of the whole body
in order to calculate the position values of each Yoga pose. The angle
of the two body parts at each joint is calculated by the following
equation:
angle = |arc tan m|
where,
• arc tan = trigonometry inverse tan function.
• | | = absolute function.
• m = slope 𝑚 = 𝑦2−𝑦1/ 𝑥2−x1
where,
• x1, y1, x2, y2 = coordinate pairs of two points.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 18
• The slope is defined by two coordinated pairs of a line. The proposed
system uses the angle that is calculated on three mutual joints.
𝑎𝑛𝑔𝑙𝑒 = 𝑎1 − 𝑎2
where,
• 𝑎1 = |𝑎𝑟𝑐 tan𝑚1|, 𝑚1 = 𝑦f−𝑦1/𝑥f−𝑥1
• 𝑎2 = |𝑎𝑟𝑐 tan𝑚2|, 𝑚2 = 𝑦f−𝑦2/𝑥f−𝑥2
• The angle value is calculated on each joint of the whole body and saved
as an array of each self-learner.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 19
Angle Difference
• After the angle of each specified joint is calculated for both the images
of the instructor and the learner, the difference of them is calculated
by:
𝐷𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒 = |𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑜𝑟 𝑎𝑛𝑔𝑙𝑒 − 𝑙𝑒𝑎𝑟𝑛𝑒𝑟 𝑎𝑛𝑔𝑙𝑒|
• These angle difference values are saved into a data frame which is in
turn saved into .csv extension file according to the sequences of joints
and number frames from the video in order to show the self-learner
how much it deviates from the correct one.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 20
To dynamically compare poses
• Dynamic Time Wrapping (DTW) is an algorithm for measuring similarity
between two temporal sequences which may vary in speed. For instance,
similarities in walking could be detected using DTW, even if one person
was walking faster than the other, or if there were accelerations and
decelerations during the course of an observation
• In general, DTW is a method that calculates an optimal match between
two given sequences with certain restrictions.
• Time series of each yoga iteration is created as follows :
• Standardize the length of each video
• Determine the person’s “pose” using 32 key body points, for each frame
• Create a timeseries data structure representing change in pose over time
• Filter out noise in the data
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 21
• Putting it together: Now everything is
in place to construct a timeseries
from a video. To put it together, we
simply concatenate pose data for
each video frame. The resulting
timeseries has 4 dimensions:
• Time: indexed by the video frame
• Body part: 14 body parts in total
• x-position: x-coordinate of a body
part, normalized from [0, 1]
• y-position: y-coordinate of a body
part, normalized from [0, 1]
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 22
Smoothing Noisy Data
• At this point, we have a
timeseries, but the noise
it contains may lead to
inaccurate predictions
when we try to classify
and assign a class label.
• To smooth noisy data, a
filter called LOESS (Locally
Weighted Scatterplot
Smoothing) is used.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 23
Comparing
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 24
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 25
• But what about the distance between two waves? Or the distance
between two timeseries?
Not so easy…
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 26
Result of Assessment System
Wrong Angle
Wrong Angle
(>50)
Average Angle
(<50 & >25)
Correct Angle
(<=25)
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 27
Frames from
User Feed
Frames from
Output
Skeleton
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 28
Conclusion
• This presentation proposed Performance Evaluation System as Yoga Pose
Assessment System to help the self-learning of Yoga.
• The system assesses a Yoga pose of a learner by:
1. detecting the pose or skeleton,
2. calculating the difference of the body angles between the pose of
an instructor and that of a user, and
3. indicating the incorrect part between learner and instructor.
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 29
Thank You
Approved by AICTE |Affiliated to VTU | Recognized by UGC with 2(f) & 12(B) status |Accredited by NBA and NAAC 30