You are currently viewing a new version of our website. To view the old version click .
Information
  • Article
  • Open Access

9 December 2024

A Yoga Pose Difficulty Level Estimation Method Using OpenPose for Self-Practice System to Yoga Beginners

,
,
,
,
and
1
Department of Electrical Engineering, National Chung Hsing University, Taichung 40227, Taiwan
2
Department of Electrical and Communication Engineering, Okayama University, Okayama 700-8530, Japan
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Blending Artificial Intelligence and Machine Learning with the Internet of Things: Emerging Trends, Issues and Challenges

Abstract

Yoga is an exercise preferable for various users at different ages to enhance physical and mental health. To help beginner yoga self-practitioners avoid getting injured by selecting difficult yoga poses, the information of the difficulty level of yoga poses is very important to provide an objective metric to assist yoga self-practitioners in selecting appropriate exercises on the basis of their skill level by using the yoga self-practice system. To enhance the developed yoga self-practice system, the yoga difficulty level estimation function will enable users to clearly understand whether the selected yoga poses are suitable for them. In this paper, the newest difficulty level estimation method of yoga poses is proposed by using and analyzing OpenPose two-dimensional (2D) human body keypoints. The proposed method effectively uses the selected six keypoints areas of the upper and lower body, body support types, center of gravity calculations, and body tilt angles and slopes to produce estimations. Firstly, the method calculates the weighted centers of the upper and lower human body for each pose by using keypoints. Secondly, it refers the slope of the centroid line between the two centers and infers the body’s balance state. Lastly, the system estimates the difficulty level by additionally considering the keypoints of the body to contact the ground. For evaluations of the proposal, more than one hundred yoga poses are collected from the Internet and applied to classify them into five difficulty levels. Through comparisons with subjective levels from one instructor and 10 users, the validity of the estimation results is confirmed, a comparison is performed with existing designs, and it is implemented in embedded systems.

1. Introduction

In recent years, demand for personalized self-practice systems for physical exercise has grown considerably. Yoga, with its diverse range of poses, stands out for its accessibility and benefits for physical, mental, and spiritual health. However, yoga practitioners often struggle to gauge the difficulty of various poses, leading to incorrect practice and injury. Thus, an objective method for estimating the difficulty of yoga poses is essential. Previously, we developed a yoga self-practice system based on OpenPose [1,2] to guide users through poses by comparing their movements with those of an instructor. Although this system provides real-time feedback, it lacks a reliable method for estimating the difficulty of poses—a feature crucial for tailoring practice to an individual’s skill level.
As we know, yoga has many challenging poses, and the level of difficulty varies depending on an individual’s flexibility, strength, and experience. At the training School of Yoga [3,4], the yoga teachers help you perform these challenging yoga poses [5,6]. For example, Figure 1 shows two challenging yoga poses that require advanced strength, flexibility, and balance. Figure 1 depicts the “Handstand” yoga pose. This yoga pose is an inversion pose that requires strong strength, balance, and focus in the upper body, core, and shoulders. Before yoga self-practitioners practice this challenging pose, to avoid injuring by directly selecting this difficult pose, yoga practitioners must be informed of the yoga pose’s difficulty level, and the yoga self-practice system will suggest for them to practice the forearm plank, dolphin pose, and handstand against a wall in advance to build body strength and confidence [3]. Similarly, Figure 1 depicts the “Scorpion” yoga pose. This is also a challenging backbend pose that poses a high difficulty level regarding flexibility in the spine, shoulders, and hips. To train for this very difficult pose, yoga self-practitioners can be suggested to practice the camel pose, wheel pose, and forearm stand beforehand to raise their flexibility and force in the spine and shoulders [3]. To prevent self-practice users from getting injured by attempting difficult poses that are not suitable for them, the objective-based yoga pose difficulty level estimation is very important to provide information for at-home yoga self-practitioners.
Figure 1. Left: “Handstand” pose. Right: “Scorpion” pose.
In this paper, we propose a difficulty level estimation method for yoga poses that integrates body area, body tilt, and body support considerations to deliver accurate estimations. Our method incorporates the OpenPose two-dimensional (2D) BODY25 model, which provides comprehensive keypoint detection for the human body. By calculating the weighted centers of the upper and lower body, analyzing the slope of the centroid line between these centers, and considering ground contact points, the proposed system can estimate the difficulty level of each pose. This method aims to provide an objective metric to assist yoga self-practitioners in selecting appropriate exercises on the basis of their skill level. By considering numerous yoga pose combinations, our goal is to improve the user-friendliness of the yoga self-practice system, and the proposed approach aims for a win–win scenario, promoting both health and technological advancement. Evaluation of the method is conducted by using the method to classify more than 100 yoga poses into five difficulty levels, and the results are validated through comparisons with subjective difficulty ratings provided by a professional instructor and 10 users. By comparing the yoga pose difficulty levels between the proposed objective-based design and the subjective opinions of users and professional yoga instructors, the results prove the reliability of this study.
For the proposed yoga pose difficulty level estimation, only the human body keypoints of yoga instructors and yoga teachers are selected for reference and evaluation. The proposed method does not refer to or use any human body keypoint of the yoga beginner and yoga self-practitioner. Therefore, the proposed method does not require to compare the body keypoints between the yoga teacher and student, as they may have different body proportions.
On the other hand, for the proposed yoga self-practice guide system, the yoga student must follow the correct yoga poses from the guidance videos of yoga teachers. To guide yoga students and beginners, the proposed image-based yoga self-practice system will compare in real-time the angles of yoga poses from the detected keypoints between the yoga teacher and student. Since the pose comparison is angle based, the proposed image-based yoga self-practice system can overcome the problem of having different body proportions.
The contributions of this study are listed as follows: (1) Based on the authors’ best knowledge and understanding in this research field, the proposed method is the newest state-of-the-art study to use the information of human body keypoints to research the objective-based yoga pose difficulty level estimation. (2) By using the 2D OpenPose model, the newest proposed method effectively uses the six selected keypoints areas of the upper and lower body, body support types, center of gravity calculations, and body tilt angles and slopes to produce estimations. To evaluate the yoga difficulty level, the three parameters, i.e., “base difficulty”, “angle difficulty”, and “area difficulty”, are combined for the utilization. (3) To avoid getting injured by selecting difficult yoga poses, the proposed method provides an objective metric to assist yoga self-practitioners in selecting appropriate exercises on the basis of their skill level by using the yoga self-practice system.
The remainder of this paper is organized as follows. Section 2 reviews the relevant literature. Section 3 describes the yoga self-practice system proposed in this paper. Section 4 presents the difficulty level estimation method. Section 5 reports the experimental results of the proposed method for evaluations. Finally, Section 6 concludes the paper and provides suggestions for future works.

3. Review of Yoga Self-Practice System

In this section, the previous studies of the yoga self-practice system are reviewed in several parts. The first part provides an overview of yoga self-practice, including the overall system design concept, software and hardware architecture, and system presentation. The second part introduces the human skeleton estimation model used in this research area and the selection of keypoints. The third part discusses the main algorithms, including the angle calculations and vectors obtained using keypoints. The fourth part compares the poses of users and instructors, discussing the definitions of dynamic and static regions. The fifth part describes the scoring system designed using fuzzy theory. The final part covers image output and web interactions, which are designed using Flask.

3.1. The System Hardware Architecture

The hardware architecture of the system in our prior work [21] uses NVIDIA Jetson Nano to implement yoga training for users. Figure 2 depicts the hardware computation flow of the system, and Figure 3 presents the hardware devices used.
Figure 2. System implementation on NVIDIA Jetson Nano.
Figure 3. Yoga self-practice system hardware environment in our prior work [20].

3.2. Software Algorithm Architecture

OpenPose is used as a detection model. OpenPose extracts human keypoint coordinates to perform angle difference calculations. The main algorithms are implemented in Python, including preprocessing and system processing (Figure 4). Finally, Flask is used to build a web interface for user demonstrations.
Figure 4. Architecture of yoga self-practice system in our prior work [21].

3.3. Human Body Keypoints Extraction

For human keypoint extractions, we use the 2D BODY25 model proposed by Cao et al. [1,2] as the prediction model. We input images of the instructor or user and extract joint keypoint information. Subsequent calculations are performed using coordinate positions. Figure 5 displays the keypoints extracted from the instructor’s image by using OpenPose.
Figure 5. Architecture of yoga self-practice system, where the “Red”, “Green”, “Yellow”, “Dark blue”, and “Cyan” colors indicate the detected parts of the torso, left arm, right arm, left leg, and right leg, respectively.
Figure 6 depicts the BODY25 model, which enables feature extraction for 25 keypoints of the whole body. Compared with other models, this model provides richer and more accurate joint keypoints. Overall, this advantage is the main reason for selecting OpenPose. However, not all keypoints are included in the yoga self-practice system calculations to reduce the computational load, allowing the method to run in real-time on Jetson Nano. Table 1 presents the keypoint information used in the yoga self-practice system to ensure both system performance and full operability.
Figure 6. Illustration of the MPII, COCO, and BODY25 models model in OpenPose.
Table 1. Five yoga pose difficulty levels.
In Figure 6, the different colors indicate the different body parts in the three model. By the MPII model, “Red”, “Dark blue”, “Green”, “Yellow”, “Cyan”, and “Teal” colors indicate the detected parts of the head, torso, left arm, right arm, left leg, and right leg, respectively. By the COCO model, “Red”, “Green”, “Yellow”, “Dark blue”, and “Cyan” colors indicate the detected parts of the neck, left arm, right arm, left leg, and right leg, respectively. By the BODY25 model, “Red”, “Green”, “Yellow”, “Dark blue”, and “Cyan” colors indicate the detected parts of the torso, left arm, right arm, left leg, and right leg, respectively.

3.4. Process of System Calculation

After extracting the keypoints, we then calculate the angle differences and input the results into a fuzzy system, assigning weights to each keypoint to obtain the overall Shape Score of a pose. Figure 7 depicts how this process enhances the yoga self-practice system, further refining it.
Figure 7. Human body Shape Score calculation on Jetson Nano.

3.5. Previous Difficulty Estimation

Regarding the yoga self-practice system, our prior work [19] proposed a method that uses angle differences and total distance to define the difficulty parameters for the upper and lower body (Figure 8). This method calculates the difficulty values based on the keypoints of the upper and lower body, and then compares these values with user feedback. However, this method has several limitations. For example, calculations for the entire body are performed only for the Warrior Pose, whereas only the upper body is analyzed for all other poses.
Figure 8. Estimation of pose difficulty in related design, where the red boxes define the upper and lower body areas for difficulty estimation.
Data normalization is required for this method because the upper and lower body parameters are calculated differently. Figure 9 depicts how the normalized values are used to determine the difficulty level of a pose.
Figure 9. Estimating difficulty values normalization in our prior work [19].
The proposed method identifies the Warrior Pose as the most difficult yoga posture (Figure 10). However, given the vast number of yoga poses, other more challenging poses must exist.
Figure 10. Estimating difficulty values normalization in our prior work [19].

4. Proposal of Difficulty Level Estimation Method

This section discusses the proposed method, which is an innovative computational model specifically designed for the yoga self-practice system. Yoga poses require maintaining balance and holding positions for specific durations, which are fundamental aspects of a training regimen. Traditionally, the assessment of the difficulty of yoga poses is typically based on subjective opinions or difficulty indicators suggested by professional yoga instructors. The primary motivation of this study is to objectively estimate the difficulty of yoga poses, enabling users to accurately select suitable poses before training, thereby benefiting all users and enhancing the usability of the yoga self-practice system. To estimate the yoga pose difficulty level by preprocessing the yoga pose images from yoga experts, only the body keypoints of yoga teachers can be selected to be used for the applications, and the proposed design does not use the body keypoints of students to perform the yoga pose difficulty level estimation.

4.1. Overview of Pose Difficulty Estimation

Maintaining yoga poses will be difficult, especially for difficult yoga poses. This section presents an overview of the estimation method applied in the present study. This method uses estimation parameters such as body support points, areas of the upper and lower body, and the body tilt angle. By summing these parameters and inputting them into the difficulty level calculation system, we can determine the objective difficulty level of a yoga pose. Figure 11 presents an overview of the system. This estimation method is designed to optimize the initial pose selection for users of the yoga self-practice system, providing them with enhanced safety and suitability.
Figure 11. Processing flow of yoga self-practice system.

4.2. Extraction of Yoga Pose Keypoints by Using OpenPose

To select a detection model, the OpenPose 2D human body keypoints BODY25 model is employed. The detected human keypoint information of this model is presented in Figure 12. The BODY25 model is selected over other models (e.g., MPII or COCO18) because it can provide more detailed human keypoint information. The BODY25 model provides advantages in terms of accuracy and keypoint information, making it highly suitable for analyzing and estimating the difficulty of yoga poses.
Figure 12. OpenPose BODY25 model, where “Red”, “Green”, “ Yellow”, “Dark blue”, “Cyan” colors indicate the parts of torso, left arm, right arm, left leg, right leg, respectively.
After extracting body keypoints, we apply a calculation method that uses six keypoints from both the upper and lower body to estimate overall body balance without increasing the computational load. Given that yoga movements predominantly involve the hands and feet, this method allows us to effectively assess balance outcomes. By focusing on these keypoints, we avoid unnecessary computations that could otherwise strain the system’s capacity. Table 2 lists the selected body keypoints used in the present study.
Table 2. Selected human body keypoints.
Because this system is designed for beginners to practice and learn yoga poses, the selected yoga pose dataset comprises the following five poses in our prior work [21]: Mountain, Warrior, Side Bend, Seat 1, and Seat 2. To increase the credibility of our research, we also extracted nearly 100 yoga poses [22] and included yoga poses that we recorded for application. Figure 13 depicts the 5 yoga poses used in the previous system and the nearly 100 yoga poses used in the current design for difficulty estimation.
Figure 13. Datasets for evaluation.

4.3. Estimation of Difficulty Parameters

The present study proposes an objective method to estimate the difficulty of yoga poses by calculating the area of six keypoints on both the upper and lower body. This method also incorporates other parameters, such as body weighted centers, the slope of the body tilt curve, angle differences, and various types of body support points. In this section, we comprehensively discuss the design principles, validation, and implementation of the estimation method. This method differs considerably from previous methods for estimating yoga pose difficulty. In contrast to the method for estimating pose difficulty proposed by our prior work [19], the present study’s proposed method incorporates a consistent evaluation model that is applicable to a wide range of poses, thereby greatly enhancing the credibility of the present study.
The present study also compares the proposed design with previous related designs (Table 3). Compared with our prior work [19], the proposed method uses more body keypoints, providing more joint information. A previous design used angle differences to calculate upper body estimations and the total distance to calculate lower body estimations. By contrast, the proposed design uses the area of the upper and lower body and other parameters to ensure consistency for full-body estimations. Additionally, a previous design did not perform full-body calculations for all five yoga poses, sometimes evaluating only the upper body. In contrast to previous designs, the proposed method is applicable to all yoga poses and allows for comprehensive full-body yoga pose analysis and estimation.
Table 3. Comparisons of yoga pose difficulty analysis between two different designs.

4.3.1. Calculation of Upper and Lower Body Areas and Weighted Centers

The position of the center of mass is crucial because yoga requires body balance. The estimation method in the present study involves the selection of six keypoints from the upper and lower body (extracted by OpenPose) to calculate the body area and the position of the center of mass (Figure 14). The goal is to analyze parameters related to these regions.
Figure 14. Proposed estimation scheme for upper and lower body areas [20].
The areas of the upper and lower body are calculated separately using the shoelace formula. Equations (1) and (2) represent the calculations for the upper and lower body, respectively:
A upper = 1 2 i = 0 5 ( x i y i + 1 x i + 1 y i )
A lower = 1 2 i = 6 11 ( x i y i + 1 x i + 1 y i )
where “Aupper” and “Alower” represent the areas of the upper and lower body, respectively; x and y represent the x-axis and y-axis coordinates of the selected body keypoint; and “i” represents the total number of joint keypoints for both the upper and lower body, summing up to 12 keypoints. The weighted center for the upper and lower body is calculated by using the areas obtained through the centroid formula. Equations (3) and (4) represent the calculation for the upper body:
X centroid upper = 1 A upper i = 0 5 ( x i + x i + 1 ) ( x i y i + 1 x i + 1 y i )
Y centroid upper = 1 A upper i = 0 5 ( y i + y i + 1 ) ( x i y i + 1 x i + 1 y i )
For the lower body, the same centroid formula is used as expressed in Equations (5) and (6). These equations are also employed to calculate the body areas and parameters on the basis of the six body keypoints:
X centroid lower = 1 A lower i = 6 11 ( x i + x i + 1 ) ( x i y i + 1 x i + 1 y i )
Y centroid lower = 1 A lower i = 6 11 ( y i + y i + 1 ) ( x i y i + 1 x i + 1 y i )
Equations (3)–(6) are used to compute the x and y coordinates of the weighted center for the lower body by using the centroid equation. In Figure 15, the computed body areas of the six body keypoints and the weighted center are represented visually alongside the yoga image [22].
Figure 15. Yoga pose area and weighted centers result by the proposed method.

4.3.2. Calculation of Area Difficulty

Area difficulty estimation is performed by considering the difference between the upper and lower body areas. First, the average area for each pose is calculated using Equation (7):
Average Area Difference ( AAD ) = = 1 n i = 1 n U p p e r b o d y a r e a i L o w e r b o d y a r e a i
Subsequently, the set estimation method is used to determine whether the upper or lower body area is larger. If the upper body area is larger than the lower body area, it indicates that more effort is required to balance the body for upper body poses, making them more difficult. Conversely, if the lower body area is larger, it indicates a reliance on the legs for balance, which generally implies a simpler pose. The decision criteria are expressed in Equation (8):
Area Difficulty = 0 i f Area Difference AAD 50 i f Area Difference > AAD and Lower < Upper 100 i f Area Difference > AAD and Upper < Lower

4.3.3. Calculation of Angle Difficulty

After the weighted centers of the upper and lower body are calculated, we compute the body balance line by using the coordinates of these two points. By connecting these two points and calculating the slope as demonstrated in Equation (9), we can determine the center of gravity balance for the body in a given yoga pose:
Slope = y lower centroid y upper centroid x lower centroid x upper centroid
Subsequently, we apply the slope-to-angle conversion formula to convert units into angles and design the angle difficulty estimation formula as expressed as Equation (10). This formula indicates that if the body is in a more vertical position during a yoga pose, indicating a stable posture, the difficulty level is lower. Conversely, if the body is more horizontal, more effort is required to maintain balance, thereby indicating a higher difficulty level:
Angle Difficulty = Angle degree 90 .

4.3.4. Calculation of Body Support Point Difficulty

To perform yoga difficulty estimations, we set thresholds to detect keypoints in contact with the ground. Because pose difficulty is based on which body parts are used to support the entire body, we introduce a parameter called “base difficulty”. This parameter reflects the pattern of the body support points in contact with the ground. For instance, supporting the body solely with the hands is regarded as the most difficult because the hands are bearing the entire weight of the body in this pose. By contrast, supporting the body with the feet represents the lowest difficulty. The definition of base difficulty is provided in Equation (11):
Base Difficulty = 10 if pose contact type is two _ hand and two _ leg 25 if pose contact type is two _ leg 35 if pose contact type is single _ hand and two _ leg 50 if pose contact type is single _ leg and single _ hand 75 if pose contact type is single _ leg 100 if pose contact type is two _ hand 0 otherwise

4.4. Evaluation of Yoga Difficulty Level

With the parameters calculated from the body area, the definition of pose difficulty is established. To construct the difficulty evaluation formula, parameters such as base difficulty, angle difficulty, and area difficulty are combined in Equation (12) as follows:
Difficulty = Base Difficulty + Angle Difficulty + Area Difficulty
Subsequently, we define the five difficulty levels as follows: beginner, novice, intermediate, advanced, and master. These levels are assigned on the basis of the numerical values within their respective ranges. Table 4 lists the five yoga pose difficulty levels as determined in accordance with the proposed method for reference. Table 5 provides examples of yoga pose difficulty assessments conducted using the method outlined in Table 4.
Table 4. Five yoga pose difficulty levels.
Table 5. Examples of yoga pose difficulty levels in Table 4.

5. Evaluation Results

During the evaluation phase, the collection and analysis results for yoga poses are obtained first. Next, by compared the difficulty estimations with those from the reference data, this section highlights and discusses the cases involving substantial discrepancies. Upon obtaining the objective yoga pose difficulty estimations, the assigned difficulty classifications are implemented in the user interface of the yoga self-practice system, marking the start of the realization phase of the present study.

5.1. Collection and Analysis of Yoga Pose Images

In the experiment, we first analyze five yoga poses in the yoga self-practice system (Figure 16). Each yoga posture is evaluated for multiple difficulty parameters.
Figure 16. Calculation results of five yoga pose images in [20], where the “Red”, “Green”, “Yellow”, “Dark blue”, and “Cyan” colors indicate the detected parts of the torso, left arm, right arm, left leg, and right leg, respectively.
The images from [22] are used to present the results of yoga pose difficulty estimations (Figure 17). In each yoga pose, 12 body keypoints are used to calculate the areas, centroids, and the body balance lines for the upper and lower body. On the basis of these analyses, active assessments of the poses are conducted. Yoga pose images in the dataset [22] where body keypoints cannot be detected are excluded to avoid estimation errors.
Figure 17. Calculation results of 16 yoga pose images in [22], where the “Red”, “Green”, “Yellow”, “Dark blue”, and “Cyan” colors indicate the detected parts of the torso, left arm, right arm, left leg, and right leg, respectively.

5.2. Results of Difficulty Level Estimations and Comparisons

After the various pose parameters are obtained, the proposed system assigns difficulty levels to the yoga poses. In the present study, the objective experimental results obtained through the proposed system are compared with the reference for yoga pose difficulty levels [22]. As revealed in Figure 18, the reference categorizes yoga poses by difficulty [22] into three levels, whereas the proposed system uses a five-point scale with endpoints ranging from 1 (beginner) to 5 (master). However, significant differences in the difficulty ratings for specific poses are identified. These are discussed in subsequent subsections using several examples.
Figure 18. Comparison of difficulty levels for yoga poses in [22].
Figure 19 compares the evaluation results from our prior work [19] with those obtained using the proposed design (Figure 19), revealing that the proposed method produces more objective results. These results also indicate that the five yoga poses evaluated in our prior work [19] are not difficult to perform and are therefore highly suitable for self-practice training by yoga beginners.
Figure 19. Comparison of difficulty levels for five yoga poses in our prior work [19].
The validation steps for this method also involve input from 10 users and a professional yoga instructor, who provide subjective opinions on these poses. The significant discrepancies in the results (Figure 20) are likely due to specific keypoints being obscured, leading to large estimation errors. However, the results closely align with the opinions of the professional yoga instructor (Figure 21), demonstrating the method’s reliability based on objective criteria.
Figure 20. Comparison of difficulty levels with 10 users.
Figure 21. Comparison of difficulty levels with professional instructor.
Figure 22 reveals the comparisons of difficulty estimation by the evaluations from reference [22], professional yoga instructors, users, and the proposed method. In this study, the error calculation is included to demonstrate the accuracy of the proposed method as shown in Equation (13). In (13), the calculation is performed by using the average subjective difficulty of the professional yoga instructors as the ground truth (GT), and the other three ones, including the reference subjective difficulty in [22], the average subjective difficulty of 10 users, and the proposed method, are used as the inputs of the “comparative difficulty”:
Percentage Error = | Comparative Difficulty Ground Truth ( GT ) Ground Truth ( GT ) |
Figure 22. Comparisons of difficulty estimation by the evaluations from reference [22], yoga instructors, users, and the proposed method.
By using the average subjective difficulty of the professional yoga instructors as the ground truth, the mean percentage error (MPE) is calculated using Equation (13), and the MPE values by the reference subjective difficulty in [22], the average subjective difficulty of 10 users, and the proposed method are 0.373, 0.307, and 0.438, respectively.
By analyzing the corresponding MPE results, although the MPE values between the proposed method and the subjective ground truth from professional yoga instructors are slightly higher than other reference benchmarks, the estimated difficulty levels by the proposed design are still within the acceptable range, and there is no significant deviation. The result reveals that the proposed method has stability and reference value, and this analysis further supports the performance consistency of the proposed model under different benchmarks and verifies the rationality and practicality of its design.

5.3. Implementation in User Interface of Yoga Self-Practice System

The present study implements the difficulty level estimation function for yoga poses in the yoga self-practice system. The corresponding difficulty levels are displayed in the user interface of the system (Figure 23). From left to right, the difficulty levels for the yoga poses Mountain, Side Bend, Warrior, Seat 1, and Seat 2 are categorized as beginner, beginner, novice, beginner, and beginner, respectively.
Figure 23. UI diagram of yoga self-practice system.

5.4. Significant Differences in Estimations

In the experimental results, several yoga poses (i.e., Cobra, Dolphin, Lord of Dance, Half Frog, and Warrior III) with significant differences in difficulty level ratings are identified (Figure 24). Because the evaluation of yoga pose difficulty in the present study considers additional factors, such as body angles and keypoints in contact with the ground, safety during yoga self-practice training is also a crucial indicator. To prevent yoga beginners from injuring themselves by executing incorrect or difficult poses during yoga exercises, specific yoga poses originally classified as suitable for beginners [22] are reclassified into higher difficulty levels (Figure 25).
Figure 24. Yoga poses for significant grade differences in [22].
Figure 25. Yoga poses for beginner levels in [22].
In Figure 25, the “Red” color indicates torso, the “Green” color indicates left arm, the “Yellow” color indicates right arm, the “Dark blue” color indicates left leg, and the “Cyan” color indicates right leg. The green boxes highlight the poses that, due to the requirements for support points or flexibility, have been reclassified into higher difficulty levels compared to their original categorization as simple poses. Compared with existing difficulty estimation techniques, the experimental results indicate that the proposed method provides more objective and consistent difficulty level estimations. In contrast to our prior work [19], which employed different approaches for the upper and lower body, the proposed method achieves a comprehensive and consistent evaluation by considering the entire body. To enhance the yoga self-practice system, the proposed yoga difficulty level estimation function enables users to clearly understand whether the selected yoga poses are suitable for them.
In this study, the proposed difficulty level estimation method of yoga poses can evaluate proper results by using the front body view of yoga poses from yoga teachers. If the OpenPose model detects the important selected body keypoints accurately by the side views of yoga poses, the proposed method can also evaluate the yoga pose difficulty level. However, when the yoga teacher turns his/her body to the side, there is a greater possibility that the selected body keypoints will not be detected due to the overlap of the limbs. Therefore, there are some possible solutions to solve this issue.
For the proposed yoga pose difficulty level estimation, only the human body keypoints of yoga instructors and yoga teachers are selected for the evaluation. When the videos or images of yoga poses from yoga teachers are collected, according to the posture changes of yoga teacher, the yoga teacher is automatically reminded to turn or adjust his/her yoga pose so that all important selected keypoints can be captured to detect by OpenPose correctly. For example, when the pose difficulty level estimation function detects that the yoga teacher turns their body to the side, the system can prompt the yoga teachers to adjust their body views, or the system can also change the capture angle and view of the camera. It means if the OpenPose model cannot detect the body keypoints of the side view accurately, the yoga poses of the front view or other angle side views from yoga teacher will be selected to be used for the yoga difficulty level evaluation.
When the yoga pose is just the crossing limbs but all selected keypoints can be detected by OpenPose, the proposed method can evaluate the yoga difficulty level properly. For example, in Figure 26, although the yoga pose has the condition of crossing limbs, the required keypoints are detected correctly, and the difficulty level of the yoga pose can be calculated. If some of the selected body keypoints are missing when the yoga teacher has the crossing limbs, it may be possible to infer the missing parts based on the existing visible body keypoints and the previous yoga actions, but this will involve a more complex inference estimation methodology. In addition, the OpenPose model can be considered to be re-trained by the image datasets of the failure-detected pose conditions, especially the yoga poses with crossing limbs.
Figure 26. Yoga pose with the crossing limbs, where the “Red”, “Green”, “Yellow”, “Dark blue”, and “Cyan” colors indicate the detected parts of the torso, left arm, right arm, left leg, and right leg, respectively.

6. Conclusions and Future Works

In the present study, a novel yoga pose difficulty level estimation method based on OpenPose is presented to define five difficulty levels for yoga poses. The proposed method effectively uses six keypoint areas of the upper and lower body, body support types, center of gravity calculations, and body tilt angles and slopes to produce estimations, thereby contributing considerably to the yoga self-practice system in aspects such as computation, data collection, method validation, comparison with existing designs, and implementation in embedded systems.
Given the benefits of the yoga pose difficulty level estimation method for the yoga self-practice system, future studies should enhance the formula definitions by incorporating body flexibility as a parameter, which is crucial for yoga poses and varies among individuals and age groups. The present study used nearly 100 datasets for evaluation and comparison. However, increasing the dataset size in future research could enhance the reliability of the assessment. By considering numerous yoga pose combinations, our goal is to improve the user-friendliness of the yoga self-practice system. The integration of artificial intelligence in daily life ensures that all age groups can easily perform and practice yoga poses. The proposed approach aims for a win–win scenario, promoting both health and technological advancement.

Author Contributions

C.-L.S. conducted the research and wrote the paper. J.-Y.L. analyzed the data. I.T.A. and Y.X. provided the dataset and suggestions. This study was advised by N.F. and C.-P.F. All authors have approved the final version. All authors have read and agreed to the published version of the manuscript.

Funding

This work was partial financially supported by the National Science and Technology Council under Grant No. NSTC 111-2218-E-A49-028.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

No new data were created or analyzed in this study. Data sharing is not applicable to this article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Zhe, C.; Gines, H.; Tomas, S.; Shih-En, W.; Yaser, S. OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields. IEEE Trans. Pattern Anal. Mach. Intell. 2018, 43, 172–186. [Google Scholar]
  2. OpenPose: Real-Time Multi-Person Keypoint Detection Library for Body, Face, Hands, and Foot Estimation. Available online: https://github.com/CMU-Perceptual-Computing-Lab/openpose/ (accessed on 3 December 2024).
  3. The Top 5 Hardest Yoga Poses and How to Train for Them. Available online: https://srisrischoolofyoga.org/na/blog/the-top-5-hardest-yoga-poses-and-how-to-train-for-them/ (accessed on 3 December 2024).
  4. Yoga Levels Defined: Beginner to Advanced. Available online: https://evolvefitwear.com/blogs/posts/yoga-levels-defined-beginner-to-advanced?srsltid=AfmBOoqTAFrO_4cl4OlsUHCFoAorzVTxVusKaMf43zYQjmgZ7_kQ00CK/ (accessed on 3 December 2024).
  5. Poses by Level. Available online: https://www.yogajournal.com/poses/poses-by-level/ (accessed on 3 December 2024).
  6. Poses by Difficulty. Available online: https://yogapose.com/poses-by-difficulty/ (accessed on 3 December 2024).
  7. Saluja, J.; Singh, K.K. Empirical Study of Deep Learning based Yoga Asana Identification and its Alternatives. In Proceedings of the 2023 International Conference on Sustainable Computing and Data Communication Systems (ICSCDS), Erode, India, 23–25 March 2023; pp. 40–46. [Google Scholar] [CrossRef]
  8. Gupta, A.; Jangid, A. Yoga Pose Detection and Validation. In Proceedings of the 2021 International Symposium of Asian Control Association on Intelligent Robotics and Industrial Automation (IRIA), Goa, India, 20–22 September 2021; pp. 319–324. [Google Scholar] [CrossRef]
  9. Reyes, A.P.; Gabutan, M.J.; Villacarlos, A.P.; Romana, C.L.S.; Bacallan, N. A Yoga Pose Evaluation System for Enhanced Yoga Education. In Proceedings of the 2023 International Conference on Computer Applications Technology (CCAT), Guiyang, China, 15–17 September 2023; pp. 80–85. [Google Scholar] [CrossRef]
  10. Singh, R.; Kumar, P.; Ansari, M.H.; Dwivedi, M. Yoga Pose Detection Using Artificial Intelligence and Machine Learning. In Proceedings of the 2024 2nd International Conference on Disruptive Technologies (ICDT), Greater Noida, India, 15–16 March 2024; pp. 887–892. [Google Scholar] [CrossRef]
  11. Talaat, A.S. Novel deep learning models for yoga pose estimator. SN Appl. Sci. 2023, 5, 341. [Google Scholar] [CrossRef]
  12. Patil, V.M.A.S.; Paraddi, N.N.P. Yoga Pose Detection and Guidance Through an AI-Enhanced Chatbot. Int. J. Adv. Res. Innov. Ideas Educ. 2024, 10, 23579. [Google Scholar]
  13. Kishore, D.M.; Bindu, S.; Manjunath, N.K. Estimation of Yoga Postures Using Machine Learning Technique. Int. J. Yoga 2022, 15, 137–143. [Google Scholar] [CrossRef] [PubMed]
  14. Verma, P.; Sharma, R.; Rajput, N.S. Enhancing Yoga Practice through Real-time Posture Detection and Correction using Artificial Intelligence: A comprehensive Review. NeuroQuantology 2023, 21, 1053–1059. [Google Scholar]
  15. Chandrashekar, A.B.B.S.; Harikanjali, D.G.R. Survey on Yogic Posture Recognition using Deep Learning. Int. J. Adv. Res. Sci. Commun. Technol. (IJARSCT) 2024, 4, 11183–11223. [Google Scholar]
  16. Rajendran, A.K.; Sethuraman, S.C. A Survey on Yogic Posture Recognition. IEEE Access 2023, 11, 11183–11223. [Google Scholar] [CrossRef]
  17. MediaPipe. Available online: https://github.com/google-ai-edge/mediapipe/ (accessed on 3 December 2024).
  18. NVIDIA Jetson Nano. Available online: https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/product-development/ (accessed on 3 December 2024).
  19. Huang, W.-C.; Shih, C.-L.; Anggraini, I.T.; Xiao, Y.; Funabiki, N.; Fan, C.-P. OpenPose Based Yoga Poses Difficulty Estimation for Dynamic and Static Yoga Exercises. In Proceedings of the 2023 Asia Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC), Taipei, Taiwan, 31 October–3 November 2023; pp. 1636–1640. [Google Scholar] [CrossRef]
  20. Shih, C.-L.; Liu, J.-Y.; Anggraini, I.T.; Xiao, Y.; Funabiki, N.; Fan, a.C.-P. Difficulty Evaluation of Yoga Poses by Angular Velocity and Body Area Calculation for GPU-Based Yoga Self-Practice System. In Proceedings of the 2024 IEEE Gaming, Entertainment and Media Conference (GEM), Turin, Italy, 5–7 June 2024. [Google Scholar] [CrossRef]
  21. Lin, C.-H.; Shen, S.-W.; Anggraini, I.T.; Funabiki, N.; Fan, C.-P. An OpenPose-Based Exercise and Performance Learning Assistant Design for Self-Practice Yoga. In Proceedings of the 2021 IEEE 10th Global Conference on Consumer Electronics (GCCE), Kyoto, Japan, 12–15 October 2021; pp. 456–457. [Google Scholar] [CrossRef]
  22. YogaBaron. 101 Popular Yoga Poses for Beginners, Intermediate and Advanced Yogis. 101-Popular-Yoga-Poses-for-Beginners-Intermediate-and-Advanced-Yogis-YogaBaron. Available online: https://www.yogabaron.com/yoga-poses (accessed on 3 December 2024).
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.