Yoga Pose Estimation and Feedback Generation Using Deep Learning
Algorithm 1
Yoga Pose Classification
(i)
Require: represents a video clip of dataset videos; represents the function used for the extraction of frames; represents a particular keypoint frame; and is the number of total key points in the particular frame .
(ii)
Require: represents the function of the pose estimation technique, which extracts horizontal and vertical coordinates of eighteen human joints for each frame .
(iii)
Require: represents coordinates of the key point for a particular frame , and is a collection of key point frames for a particular video .
(iv)
Require: represents the number of body key points; represents the number of the vector connecting origin and body point; and represents the adjacent vector; represents the vector between the adjacent joints, and represents the number of joints.
(v)
Require: represents the angle made by a vector with the x-axis, and represents the angle made by joints with the x-axis.
(1):
for each do
(2):
(3):
for each do
(4):
\(⊳\)
(5):
end for
(6):
end for
(7):
for each do
(8):
if 0.3 then
(9):
remove
(10):
else ifthen
(11):
remove
(12):
else
(13):
(14):
end if
(15):
end for
(16):
for each do
(17):
(18):
\(⊳\)
(19):
(20):
(21):
(22):
(23):
\(⊳\)
(24):
Since, origin in frame is present at the top left corner, multiply (−1) with
(25):
(26):
\(⊳\)
(27):
end for
(28):
Trainable Features:
(29):
For the purpose of yoga pose classification, multilayer perceptron or neural network (MLP) models trained on trainable features for the multiclass classification of 6 yoga poses.
(30):
Output multiclass classification (Cobra (Bhuj), Tree (Vriksh), Mountain (Tada), Lotus (Padam), Triangle (Trik), and Corpse(Shav))