Motion action correction method, device, storage medium, and computer program product
By constructing personalized user models, obtaining body shape and flexibility parameters, calculating tolerance values and target posture information, the problem of adapting to individual user differences in fitness movement assistance technology is solved, personalized training feedback and adaptive adjustment are realized, and training effectiveness and safety are improved.
Patent Information
- Application Number
- CN202611079823.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-20
- Publication Date
- 2026-11-03
AI Technical Summary
Existing fitness movement assistance technologies lack dynamic adaptation mechanisms for individual user differences, leading to misjudgments in movement correction and an inability to personalize growth.
By acquiring users' body shape and flexibility parameters, a personalized user model is constructed, and the tolerance value and target posture information for each user are calculated. The movement standards are then dynamically adjusted to adapt to user differences.
It enables action correction based on individual user differences, reduces the misjudgment rate, provides personalized training feedback and adaptive adjustments, and improves training efficiency and safety.
Smart Images

Figure CN123033274A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence technology, and in particular to a method, device, storage medium, and computer program product for correcting motion. Background Technology
[0002] Currently, a common method in fitness movement assistance technology is to use a camera to capture images or videos of the user during exercise, then use computer vision technology to identify the user's posture information, and compare the identified posture information with preset standard fitness movements to determine whether the user's movements are correct. However, using this fixed standard template to correct the user's movements is difficult to apply to individual differences among users. Summary of the Invention
[0003] In view of this, embodiments of this application provide a motion correction method, device, storage medium, and computer program product, which can be applied to different target objects when correcting the motion of a target object.
[0004] The technical solution of this application is implemented as follows: In a first aspect, this application provides a method for correcting movement, the method comprising: Obtain the body shape parameters and flexibility parameters of each joint of the target object; The body proportion factor of the target object is determined based on the body shape parameters, and the flexibility evaluation parameters of each joint of the target object are determined based on the flexibility parameters. Based on the body proportion factor, the flexibility evaluation parameter, and the flexibility parameter, determine the tolerance value corresponding to each joint of the target object; Based on the tolerance value and the preset posture information of each joint of the target object, the target posture information of each joint is determined, so as to correct the movement of the target object based on the target posture information.
[0005] Secondly, this application provides a motion correction device, the motion correction device comprising: The acquisition unit is used to acquire the body shape parameters and flexibility parameters of each joint of the target object; The determining unit is used to determine the body proportion factor of the target object based on the body shape parameters, and to determine the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters. The determining unit is also used to determine the tolerance value corresponding to each joint of the target object based on the body proportion factor, the flexibility evaluation parameter and the flexibility parameter; The determining unit is further configured to determine the target posture information of each joint based on the tolerance value and the preset posture information of each joint of the target object, so as to correct the motion of the target object based on the target posture information.
[0006] Thirdly, this application provides a motion correction device, which includes a processor and a memory; the processor executes the running program stored in the memory to implement the above-mentioned motion correction method.
[0007] Fourthly, this application provides a storage medium storing a computer program thereon, which, when executed by a processor, implements the above-described motion correction method.
[0008] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the above-described motion correction method.
[0009] This application provides a method, device, storage medium, and computer program product for correcting movement. The method includes: acquiring the body shape parameters and flexibility parameters of each joint of a target object; determining the body proportion factor of the target object based on the body shape parameters, and determining the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters; determining the tolerance value corresponding to each joint of the target object based on the body proportion factor, flexibility evaluation parameters, and flexibility parameters; and determining the target posture information of each joint based on the tolerance value and preset posture information of each joint of the target object, so as to correct the movement of the target object based on the target posture information. Using the above implementation scheme, the body shape parameters and flexibility parameters of each joint of the target object are acquired, and then the tolerance value of each joint of the target object is further determined based on the body shape parameters and flexibility parameters. Since the tolerance value is calculated based on the relevant parameters of each target object, the calculated tolerance value of each joint will also differ for different target objects. By combining the tolerance value of each target object with the preset posture information, the obtained target posture information corresponds one-to-one with the target object. Therefore, using this target posture information to correct the motion of the target object can be applied to target objects with different characteristics. Attached Figure Description
[0010] Figure 1 This is a schematic flowchart of a motion correction method provided in an embodiment of this application; Figure 2 A schematic diagram of a hardware architecture system provided in an embodiment of this application; Figure 3 A schematic diagram of the positions of key joints provided in an embodiment of this application; Figure 4A schematic diagram of the overall process framework of an adaptive adjustment rule and backtracking mechanism provided in the embodiments of this application; Figure 5 This is a schematic diagram of the overall process framework of a motion correction method provided in an embodiment of this application; Figure 6 A schematic diagram of the composition structure of a motion correction device provided in this application embodiment. Figure 1 ; Figure 7 A schematic diagram of the composition structure of a motion correction device provided in this application embodiment. Figure 2 . Detailed Implementation
[0011] To gain a more detailed understanding of the features and technical content of the embodiments of this application, the technical solution of this application will be further described in detail below with reference to the accompanying drawings and specific embodiments. The accompanying drawings are for reference only and are not intended to limit the embodiments of this application.
[0012] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.
[0013] In the following description, references to "some embodiments" refer to a subset of all possible embodiments. It is understood that "some embodiments" may be the same or different subsets of all possible embodiments and may be combined with each other without conflict. It should also be noted that the terms "first / second / third" used in the embodiments of this application are merely for distinguishing similar objects and do not represent a specific ordering of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein.
[0014] In current fitness movement assistance technologies, common methods include: using cameras to capture images or videos of users exercising, using computer vision technology to identify user postures, and comparing the identified postures with preset standard fitness movements to determine if the user's movements are correct. This type of technology typically employs human posture estimation algorithms, such as keypoint recognition models based on OpenPose, BlazePose, and PoseNet, to extract the skeletal coordinates or joint angles of the human body.
[0015] In addition, some systems combine voice prompts and video tutorials to provide users with guidance and enhance the interactive experience. These methods lay the foundation for "AI fitness coach" products and are common applications of computer vision in the fitness field.
[0016] In one implementation, a camera can capture images of the user exercising, a deep learning model can be used to identify the user's key body points, the user's current posture information can be constructed, and the posture template of standard fitness movements can be compared with the information to automatically generate correction suggestions and provide voice feedback.
[0017] Although this implementation method has a certain degree of completeness in terms of user posture recognition and action feedback, it still has the following shortcomings: The standard template used in this implementation is fixed and lacks a dynamic adaptation mechanism for individual user differences (such as differences in body shape and flexibility limitations), which can easily lead to situations where "the action is correct but is misjudged". The action comparison rules are based on a uniform static threshold, which cannot adjust the error tolerance according to the user's training stage or ability level, and lacks personalized growth space. Without training data accumulation and model self-evolution mechanism, it cannot achieve "adaptive feedback after long-term use by users", and there is still a gap between it and a truly personalized training path.
[0018] Therefore, this application addresses the problem that fitness movement assistance technologies typically use standard templates to judge whether movements are standard, lacking a dynamic adaptation mechanism for individual user differences. It provides a fitness movement correction method and system that supports personalized posture tolerance modeling. Based on user body shape parameters, flexibility limit angles (flexibility parameters), and other data, it constructs an individual user ability model to judge whether the user's movements are correct during fitness, achieving the effect of judging whether movements are standard based on individual user differences.
[0019] The detailed technical solutions of this application embodiment are as follows: This application provides a method for correcting movement, such as... Figure 1 As shown, the method may include: S101. Obtain the body shape parameters and flexibility parameters of each joint of the target object.
[0020] In this embodiment of the application, the target object can be a user (or exerciser) performing fitness movements.
[0021] In the embodiments of this application, the body shape parameter can be the skeleton length ratio (also known as body proportion), such as the ratio of arm length to height, and the ratio of leg length to torso (upper body) length.
[0022] In this embodiment of the application, the joints may be multiple key joints of the selected user's body.
[0023] In the embodiments of this application, the flexibility parameter can be the maximum range of motion (or maximum reachable angle) and minimum range of motion of each joint of the user.
[0024] In this embodiment, a system hardware architecture is first prepared, which includes a mobile phone with a front-facing camera and a phone holder. When the user moves, such as... Figure 2 As shown, the phone's camera is positioned directly in front of the athlete to collect motion-related data and the athlete's basic data in real time during the exercise.
[0025] It should be noted that, in this embodiment, the mobile phone with a front-facing camera can also be replaced with other devices with image or video capture capabilities. Specifically, the choice can be made according to the actual situation, and no specific limitation is made in this embodiment.
[0026] It should be noted that in the embodiments of this application, the mobile phone holder can also be replaced with other devices capable of supporting the data collection equipment. Specifically, the choice can be made according to the actual situation, and no specific limitation is made in the embodiments of this application.
[0027] In this embodiment, after the hardware architecture system is prepared, a user-individual modeling process is performed. The purpose of this step is to establish a user-individual parameter model related to the user's physiological structure and flexibility, serving as the basis for generating personalized movement tolerance values and risk warnings. In other words, based on the collected body shape parameters and flexibility parameters of each joint, a unique user model is created for each user. Different users will have different user models.
[0028] In this embodiment, the user model includes the user's body shape parameters and the flexibility parameters of each joint. Optionally, in some cases, the calculated flexibility evaluation parameters of the user can also be included in the user model. The user model can be specifically represented as follows:
[0029] in, :[ , ] represents the range of motion angle values formed by the maximum and minimum motion angle values of joint i.
[0030] arm / height represents the ratio of arm length to height; leg / torso represents the ratio of leg length to torso length.
[0031] The flexibility evaluation parameters of joint i can be calculated from the obtained flexibility parameters of joint i.
[0032] In this embodiment of the application, when establishing the user model, the method for collecting user body shape parameters (i.e., body proportions) can be as follows: measuring the skeleton length proportions (e.g., the ratio of arm length to height, the ratio of leg length to torso length, etc.) using the 3D human keypoint detection algorithm OpenPose. Specifically, when measuring the skeleton length proportions using the 3D human keypoint detection algorithm OpenPose, the process involves extracting the two-dimensional coordinates of human keypoints using OpenPose, calculating the lengths of specific body segments (such as arms, thighs, torsos, etc.) based on geometric distance formulas (such as Euclidean distance formulas), and finally calculating the skeleton length proportions by finding the ratios between the lengths of the body segments.
[0033] In this embodiment of the application, if the user's height, arm length, leg length, shoulder width, and other indicators are directly measured, the ratio of the measured body segment lengths is directly used to calculate the skeleton length ratio.
[0034] In the embodiments of this application, the calculated body shape parameters (i.e., body proportions or skeletal length proportions) are as follows: arm / height: the ratio of arm length to height; leg / torso: the ratio of leg length to torso (upper body) length.
[0035] In this embodiment, the flexibility parameters of each joint of the user in the user model can be obtained by conducting a flexibility test on the user. The user is guided to complete assessment movements via a mobile phone. These assessment movements include squats, forward bends, arm raises, and forward flexion stretches. The maximum range of motion of each key joint corresponding to each assessment movement is recorded. (For example, the maximum range of motion of joint a is 0 to 90 degrees), thus the maximum achievable angle value (or maximum range of motion value, such as 90 degrees) and minimum range of motion value (such as 0 degrees) of each key joint can be obtained.
[0036] In this application embodiment, the key joints of the user in the above embodiments are specifically as follows: Figure 3 As shown, Figure 3 The descriptions of the key joints (showing only numbers) are as follows: Elbow joints: J19, J18.
[0037] Arm joints: J17, J16.
[0038] Wrist joints: J21, J20.
[0039] Neck joint: J12.
[0040] Lumbar joint: J0.
[0041] Knee joint: J5, J4.
[0042] Hip joints: J2, J1.
[0043] Ankle joints: J8, J7.
[0044] In this embodiment of the application, when testing the range of motion of the angle values of each key joint, different movements can be used to test the maximum range of motion of each key joint, such as using a squatting movement to test the range of motion of the hip joint and knee joint. For example, the angle value range tested for J5 is... ,in The angle is for the upright position, and This represents the maximum bending angle of the joint.
[0045] In this embodiment of the application, an individual database is constructed based on the data collected above. In addition to recording the range of motion of each key joint (i.e., the maximum and minimum range of motion) and body ratio (Body_ratio), the individual database can also record basic factors such as the user's height, weight, gender, leg length, and arm length, as well as the flexibility score obtained after subsequent calculation.
[0046] In this embodiment of the application, after obtaining the user's body proportion and the maximum and minimum range of motion values of each joint, the tolerance value of each joint of the user is further calculated, that is, a corresponding personalized tolerance value is generated for each user.
[0047] It should be noted that the purpose of calculating the tolerance value is to dynamically generate a "user-specific" action tolerance template based on the standard posture template and the user's individual model, thus avoiding the use of a uniform standard.
[0048] In this embodiment, each movement has a standard movement template, such as squat, forward bend, arm raise, forward bend stretch, etc. The unified standard movement template for each movement can be shown in the following formula (1): (1) The meanings of each parameter in the above formula (1) are shown in Table 1 below: Table 1
[0049] It should be noted that in formula (1) The meanings of each parameter are the same as in Table 1.
[0050] In this embodiment of the application, a single point (joint) is used as an example, such as the knee joint in a squatting motion. For example, using `knee_joint`, as shown in Table 2: Table 2
[0051] When a user performs a squat, the system will determine whether the knee flexion angle falls within the knee joint requirements of the standard squat template. Right now Within this permissible range, the user's squatting motion is used to determine whether it is "correct" or meets the standard.
[0052] When judging each user's squatting performance based on this standard template, each user's actual situation may differ. Using a uniform standard template may easily lead to misjudgments about whether some users' squatting performance meets the standard.
[0053] Therefore, in the next step of this application embodiment, it is necessary to calculate the tolerance value of each joint for different users, which is equivalent to calculating the tolerance value of the standard template. The parameters are calculated to reflect the differences between individual users; that is, it can be understood that the action templates of different users differ. The values differ.
[0054] In this embodiment, the movement templates for different users can be further calculated based on the body shape parameters and flexibility parameters obtained above. value.
[0055] S102. Determine the body proportion factor of the target object based on the body shape parameters, and determine the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters.
[0056] In this embodiment, each motion template contains 23 points (i.e., 23 key joints). For a complete motion, it is necessary to determine whether each point is within the allowable range. Therefore, the main purpose of the following steps is to calculate the joint... The tolerance value, also known as the tolerance value, is the absolute value of the tolerance range. The positive and negative intervals of the tolerance value represent the tolerance range. For example, if the tolerance value is 15, the tolerance range is ±15. A larger value means that the target users can achieve the standard within a relatively lenient range, i.e., it is aimed at users with less flexibility; while When the range is smaller, it means that the movements must be very standard to meet the standard, which is for users with good flexibility.
[0057] In this embodiment of the application, the tolerance value is calculated. First, it is necessary to calculate the body proportion factor and flexibility score. The specific calculation methods for the body proportion factor and flexibility score are as follows: Based on the body shape parameters and preset body shape parameters, determine the body proportion factor of the target object; and based on the flexibility parameters and preset flexibility parameters of each joint, determine the flexibility evaluation parameters of each joint of the target object.
[0058] In this embodiment of the application, the body proportion factor may be adopted. The specific calculation method is shown in the following formula (2): (2) Here, measured_ratio refers to the proportional values of specific joint-related body segments of the user measured using the OpenPose tool (e.g., the ratio of arm length to height, the ratio of leg length to torso, etc.). This is the user's actual body characteristic data, that is, the actual body proportions of the user measured in the aforementioned embodiments.
[0059] reference_ratio is the industry standard body type reference value for this joint movement (from the standard database WHO / NHANES data).
[0060] This refers to joint i.
[0061] It should be noted that the meaning of the above formula (2) can be understood as follows: This factor represents the relative relationship between the user's actual body proportion and the industry standard body proportion, and is used to quantify the deviation between the user's body shape and the standard body shape. The body proportion factor intuitively reflects the degree of deviation between the user's body shape and the standard, which is convenient for analysis and evaluation.
[0062] In this embodiment of the application, the flexibility evaluation parameter is the flexibility score, which can be adopted. The specific calculation method is shown in the following formula (3): (3) in, , These represent the maximum and minimum range of motion of joint i as measured by the user during the testing phase, respectively.
[0063] , These represent the standard physiological range of motion of joint i within the industry (reference values, such as those from sports medicine datasets).
[0064] For example, assuming the normal range of motion of the knee joint is the reference value of [0°, 140°], that is... It is 140 degrees. It is 0 degrees.
[0065] User A: The measured maximum range of motion angles is [10°, 120°], that is... It is 120 degrees. It is 10 degrees.
[0066] Then flexibility_score=(120) 10) / (140 0) = 110 / 140 ≈ 0.79.
[0067] User B: The measured maximum range of motion angles is [30°, 90°], that is... It is 90 degrees. It is 30 degrees Celsius.
[0068] Then flexibility_score=60 / 140≈0.43.
[0069] This indicates that user A's knee joint flexibility is significantly better than user B's.
[0070] S103. Based on the body proportion factor, flexibility evaluation parameters, and flexibility parameters, determine the tolerance values corresponding to each joint of the target object.
[0071] In this embodiment of the application, when determining the tolerance value corresponding to each joint of the target object based on the body proportion factor, flexibility evaluation parameter and flexibility parameter, the tolerance value can be calculated based on the measured maximum active angle value of the user, the body proportion factor, the flexibility score value and the standard angle value (industry standard). The specific calculation formula is shown in the following formula (4): (4) Where a, b, and c represent adjustable parameters, the meanings of which are shown in Table 3 below: Table 3
[0072] This represents the standard angle value of joint i. The maximum reachable angle value of the measured user joint i is represented by body_ratio_factor, which is derived from body proportion and is related to information such as height, weight, arm length, and foot length; flexibility_score is the flexibility score, which estimates flexibility through the speed and range of motion.
[0073] S104. Based on the tolerance value and the preset posture information of each joint of the target object, determine the target posture information of each joint, so as to correct the motion of the target object based on the target posture information.
[0074] In this embodiment of the application, the tolerance value corresponding to each joint during the execution of each action of the user can be calculated according to the above formula (4). Then you can use this Replace the standard action template Value. Thus, as the user moves, the tolerance value for each joint is used. By determining the standard posture angle value corresponding to the joint in the standard motion template for the executed action, the target posture angle value corresponding to each joint is determined, thus obtaining the angular range of motion corresponding to that joint.
[0075] In this embodiment, the standardization of a user's current action can be corrected using target posture angle values. For example, if a user needs to perform a squatting action, the target posture angle value for each joint is determined based on the tolerance value and the standard posture angle value of each joint during the squatting action. This can be achieved by adding or subtracting tolerance values from the standard posture angle values, resulting in an angle range, i.e., the target posture angle value. After the user squats, it is determined whether the posture angle value of each joint falls within the target posture angle value range corresponding to that joint, thereby judging whether the user's squatting action meets the standard.
[0076] For example, both user A and user B perform a squatting motion. The standard motion template requires a knee flexion angle of 90 degrees for the squatting motion. The corresponding value for user A is calculated using the above calculation formula (4). If the value is 20 degrees, then the target posture angle value for user A is within the range of 70 to 110 degrees. When user A performs a squatting action, it is only necessary to determine whether the bending angle of user A's knee joint falls within the range of 70 to 110 degrees. If it is not within this range, then user A's squatting action is considered substandard; otherwise, it is considered standard. And if the value for user B is calculated using the above formula (4), then the target posture angle value for user A is... If the value is 10 degrees, then the target posture angle value for user B is in the range of 80 to 100 degrees. When user B performs a squatting action, it is only necessary to determine whether the bending angle of user B's knee joint falls within the range of 80 to 100 degrees. If it is not within this range, then user B's squatting action is judged to be substandard; otherwise, it is considered to be standard.
[0077] It is understood that the motion correction method provided in this application obtains the body shape parameters and flexibility parameters of each joint of the target object. Then, based on the body shape parameters and flexibility parameters of the target object, the tolerance values of each joint of the target object are further determined. Since these tolerance values are calculated based on the relevant parameters of each target object, the calculated tolerance values of each joint will differ for different target objects. By combining the tolerance values of each target object with preset posture information, the obtained target posture information corresponds one-to-one with the target object. Therefore, using this target posture information to correct the motion of the target object is applicable to target objects with different characteristics.
[0078] In one embodiment of this application, after determining the target posture information of each joint based on the tolerance value and the preset posture information of each joint of the target object, the method further includes: Obtain the current posture information of multiple joints corresponding to the current movement of the target object; based on the current posture information of multiple joints and the target posture information of each joint, determine whether the current movement of the target object meets the standard; if the current movement of the target object does not meet the standard, generate an abnormal reminder message to remind the target object to correct the current movement.
[0079] In this embodiment of the application, during each training session, the user's mobile phone collects data on the key joints of each movement as the user performs the current movement. The actual attitude angle value achieved.
[0080] In this embodiment, the actual posture angle values of each key joint and the target posture angle values of each key joint can be used to determine whether the user's movement meets the standard. Specifically, the method for determining whether the movement meets the standard is to issue an abnormality reminder when it is detected that the actual posture angle values of more than 8 of the user's 23 key joints are greater than the target posture angle values for a duration of more than 3 seconds, thereby prompting the user to correct the current movement.
[0081] In one embodiment of this application, after generating the abnormality alert information, the method further includes: The system retrieves the number of alerts issued when the target object's current motion does not meet the required standards; it determines the posture deviation value of each joint based on the current posture information of multiple joints corresponding to the target object's current motion and the preset posture information of each joint; and it adjusts the tolerance value based on the posture deviation value and the number of alerts.
[0082] In this embodiment of the application, after generating a reminder message to remind the user that the action is not up to standard, if the user corrects the action to the standard state within 3 seconds after the reminder, no error count is performed; otherwise, the reminder is added to the error count.
[0083] In this embodiment, the actual posture angle values of each key joint are obtained when the user performs the current movement. The difference between the actual posture angle values and the standard posture angle values of each joint in the movement (i.e., the angle values in the standard template) is calculated to obtain the posture deviation value of each joint. .
[0084] In this embodiment, the tolerance value can be adaptively adjusted based on the attitude deviation value and the number of reminders.
[0085] In this embodiment, the tolerance value is adjusted based on the attitude deviation value and the number of abnormal alerts. Specifically, this can be achieved in the following way: For multiple time periods within a preset time range, if the number of alerts for each time period decreases sequentially, and the calculation result of all attitude deviation values within the preset time range is less than the tolerance value, then the tolerance value is reduced; or, if the number of alerts for each time period increases sequentially, and the calculation result of all attitude deviation values within the preset time range is greater than or equal to the tolerance value, then the tolerance value is increased.
[0086] In this embodiment of the application, the preset time range can be set to 5 days, and each time period can be one day out of the 5 days.
[0087] It should be noted that the specific time range and time period can be selected according to the actual situation, and no specific limitation is made in this embodiment.
[0088] In this embodiment, a "trend assessment" can be performed every 5 days during training, and the following logic is used to determine whether to adjust. (i.e., the tolerance value for each joint): If the number of error counts decreases daily over these 5 days, and if the average deviation of the posture deviation values of each joint over the past five days is consistently less than a threshold (i.e., the tolerance value of that joint), then... Then reduce This means reducing the tolerance value, thereby decreasing the tolerance range and increasing the difficulty of the exercise.
[0089] The specific method for reducing the tolerance value is shown in the following formula (5): (5) If the number of error counts increases gradually over these 5 days, and if the average deviation of the posture deviation values of each joint over the past five days is consistently greater than or equal to a threshold (i.e., the tolerance value of that joint), then... Then increase This means increasing the tolerance value to expand the tolerance range and reduce the difficulty of the movement.
[0090] The specific method for increasing the tolerance value is shown in the following formula (6): (6) In one embodiment of this application, if a change in the flexibility parameter or body shape parameter is detected, or if abnormal information is reported by the target object, the flexibility parameter and body shape parameter are reacquired; based on the reacquired flexibility parameter and body shape parameter, the tolerance value is updated.
[0091] In this embodiment of the application, if the backtracking mechanism is triggered, the user's flexibility parameters and body shape parameters need to be acquired again and the tolerance value needs to be recalculated.
[0092] In this embodiment of the application, the triggering condition for the backtracking mechanism is: The system periodically acquires the user's body shape and flexibility parameters, calculates the user's flexibility score based on the flexibility parameters, and triggers a backtracking mechanism if the user's flexibility has significantly improved or decreased based on the relationship between the flexibility score and the user's original flexibility score, or if the user reports pain / discomfort, or if the system detects abnormal fluctuations in the training curve (such as changes in any parameter of the user's body shape, weight, etc.).
[0093] In this embodiment of the application, if the backtracking mechanism is triggered, the personalized tolerance value calculation needs to be re-executed to generate a new posture template to replace the original posture template.
[0094] It should be noted that the method for re-acquiring the flexibility and body shape parameters, and recalculating the tolerance value based on the re-acquired flexibility and body shape parameters, is the same as the method for calculating the tolerance value in the aforementioned embodiments. The method is the same, that is, to repeat steps S101 to S103. The specifics will not be repeated here.
[0095] In this embodiment, the aforementioned long-term adaptive rule adjustment (including reminders for substandard movements and adaptive adjustment of tolerance values, such as increasing or decreasing tolerance values) and backtracking correction mechanism are designed to dynamically adjust the tolerance values based on the user's performance during training. Furthermore, if there are significant changes in physical condition, the personalized template, i.e., the tolerance values in the movement template, can be backtracked and reassessed. .
[0096] In this embodiment of the application, when the above-mentioned long-term adaptive rule adjustment process is executed, data recording can be performed first. That is, in each training session, the above-mentioned data corresponding to each action can be recorded as a set of data, and the specific contents of this set of data are shown in Table 4 below: Table 4
[0097] In this embodiment of the application, the adaptive rule adjustment process is performed with reference to the data recorded in Table 4.
[0098] Based on the foregoing embodiments, the overall process framework of the adaptive adjustment rules and backtracking mechanism in this application is as follows: Figure 4 As shown, it specifically includes a data recording module, an adaptive rule adjustment module, and a backtracking mechanism module. The specific implementation methods of each module can be referred to the aforementioned embodiments, and will not be repeated here.
[0099] In this embodiment, a safety protection mechanism is also provided, which applies throughout the entire movement correction process. The purpose of this mechanism is to detect the risk of injury in real time throughout the training process and avoid dangerous movements such as hyperextension and overrotation.
[0100] In one embodiment of this application, the specific implementation process of the security protection mechanism is as follows: Obtain the current posture information of each joint of the target object when it is moving; if the current posture information exceeds the preset target posture information range, trigger a safety alarm to the target object.
[0101] In this embodiment, a safety threshold is first set: for each joint Corresponding to a safe angle range: .
[0102] in, To protect the boundary (e.g., a 10° buffer angle); this range can be determined based on data from the individual user model in S101.
[0103] Then, real-time judgment is performed on the action of each frame: the current real-time attitude angle value is obtained from the attitude data of each frame. ,like If this is detected, security protection will be triggered. When security protection is triggered, the user will be alerted via speakerphone and screen flash.
[0104] Based on the above embodiments, this application also provides a schematic diagram of the overall process framework of a motion correction method, as shown below. Figure 5 As shown, the specific process includes the following steps: S1. User model establishment.
[0105] S2, Generation of user-specific tolerance values.
[0106] S3, long-term adaptive adjustment and retrospective correction of tolerance value.
[0107] S4. Security protection mechanism.
[0108] It should be noted that the specific implementation methods of each part can be found in the aforementioned embodiments, and will not be repeated here.
[0109] In this embodiment, the system acquires the user's body shape parameters and the flexibility parameters (maximum reachable angle and minimum range of motion) of each key joint during each movement. Based on the body shape parameters and flexibility parameters, it calculates the user's body proportion factor and flexibility score. For each key joint, a tolerance value is calculated based on the user's maximum reachable angle, standard angle, body proportion factor, and flexibility score. The positive and negative ranges of the tolerance value represent the tolerance range, indicating the acceptable range of vertical fluctuation for that joint's movement. When the user performs a movement, it is determined whether the angle of the relevant key joint is within the allowable range, which is determined based on the standard angle and the tolerance range. If it is not within the allowable range, a movement correction reminder is issued. Therefore, the system can judge the correctness of movements based on differences in body proportion and flexibility among different users, reducing the false judgment rate.
[0110] Simultaneously, it can acquire the actual angle values of key joints when the user performs an action, and calculate the deviation between the actual angle value and the standard angle value. After prompting the user to correct, if the user fails to correct the action within a preset time, an error count is added. If the number of error counts decreases daily and the average deviation value over several consecutive days is less than the tolerance value, the tolerance range is narrowed, and the exercise difficulty is increased; otherwise, the tolerance range is increased, and the exercise difficulty is reduced. Therefore, the judgment criteria can be adjusted according to changes in the user's ability, improving training efficiency.
[0111] The proposed personalized posture tolerance modeling method introduces a "user-specific model" for the first time in fitness movement recognition. This model includes body shape parameters, flexibility parameters, and may also include training stages. It dynamically adjusts the standard movement template to a "user-specific tolerance template," addressing the issue of "different users having different starting points." It provides a "movement standard suitable for the user" from the user's first use and dynamically adjusts the tolerance range during long-term use, achieving truly "personalized movement correction feedback" and addressing the issue of "user abilities changing." It automatically "advances to higher training standards" after a period of training. Throughout the training process, it also adds injury protection to prevent over-movement and user injury, providing alerts when thresholds are exceeded. Compared to related technologies, this method not only significantly improves the accuracy of movement recognition but also greatly enhances the intelligence and adaptability of user interaction, representing a technological breakthrough. This solution addresses the common problem that "standard posture templates are not suitable for all users" and is applicable to fitness apps, AI fitness mirrors, remote rehabilitation systems, and educational movement training platforms.
[0112] Based on the above embodiments, another embodiment of this application provides a motion correction device 1, such as... Figure 6 As shown, the motion correction device 1 includes: The acquisition unit 10 is used to acquire the body shape parameters and flexibility parameters of each joint of the target object.
[0113] The determining unit 11 is used to determine the body proportion factor of the target object based on the body shape parameters, and to determine the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters.
[0114] The determining unit 11 is also used to determine the tolerance value corresponding to each joint of the target object based on the body proportion factor, the flexibility evaluation parameter and the flexibility parameter.
[0115] The determining unit 11 is further configured to determine the target posture information of each joint based on the tolerance value and the preset posture information of each joint of the target object, so as to correct the motion of the target object based on the target posture information.
[0116] In one embodiment, the determining unit 11 is further configured to determine the body proportion factor of the target object based on the body shape parameters and preset body shape parameters; and to determine the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters and preset flexibility parameters of each joint.
[0117] In one embodiment, the motion correction device 1 may further include a reminder unit.
[0118] The acquisition unit 10 is also used to acquire the current posture information of multiple joints corresponding to the current motion of the target object.
[0119] The determining unit 11 is also used to determine whether the current motion of the target object meets the standard based on the current posture information of the plurality of joints and the target posture information of each joint.
[0120] The reminder unit is used to generate an abnormal reminder message when the current movement of the target object does not meet the standard, so as to remind the target object to correct the current movement.
[0121] In one embodiment, the motion correction device 1 may further include an adjustment unit.
[0122] The acquisition unit 10 is also used to acquire the number of times an abnormal reminder is issued when the current motion of the target object does not meet the standard.
[0123] The determining unit 11 is further configured to determine the posture deviation value of each joint based on the current posture information of multiple joints corresponding to the current motion of the target object and the preset posture information of each joint.
[0124] An adjustment unit is used to adjust the tolerance value based on the attitude deviation value and the number of reminders.
[0125] In one embodiment, the adjustment unit is further configured to, for multiple time periods within a preset time range, reduce the tolerance value if the number of reminders corresponding to each time period decreases sequentially and the calculation result of all attitude deviation values within the preset time range is less than the tolerance value; or, increase the tolerance value if the number of reminders corresponding to each time period increases sequentially and the calculation result of all attitude deviation values within the preset time range is greater than or equal to the tolerance value.
[0126] In one embodiment, the motion correction device 1 may further include an updating unit.
[0127] The acquisition unit 10 is also used to reacquire the flexibility parameter and the body shape parameter when a change is detected in the flexibility parameter or the body shape parameter, or when abnormal information is fed back by the target object.
[0128] An update unit is used to update the tolerance value based on the reacquired flexibility and body shape parameters.
[0129] In one embodiment, the acquisition unit 10 is further configured to acquire the current posture information of each joint when the target object is moving.
[0130] The alerting unit is used to trigger a safety alarm to the target object when the current posture information exceeds the preset target posture information range.
[0131] This application provides a motion correction device that acquires the body shape parameters and flexibility parameters of each joint of a target object; determines the body proportion factor of the target object based on the body shape parameters, and determines the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters; determines the tolerance value corresponding to each joint of the target object based on the body proportion factor, flexibility evaluation parameters, and flexibility parameters; and determines the target posture information of each joint based on the tolerance value and the preset posture information of each joint of the target object, so as to correct the motion of the target object based on the target posture information. Therefore, the motion correction device proposed in this application acquires the body shape parameters and flexibility parameters of each joint of the target object, and then further determines the tolerance value of each joint of the target object based on the body shape parameters and flexibility parameters. Since the tolerance value is calculated based on the relevant parameters of each target object, the calculated tolerance value of each joint will also differ for different target objects. However, by combining the tolerance value of each target object with the preset posture information, the obtained target posture information corresponds one-to-one with the target object. Therefore, using this target posture information to correct the motion of the target object can be applied to target objects with differences.
[0132] Figure 7This is a schematic diagram of the composition of a motion correction device 1 provided in an embodiment of this application. In practical applications, based on the same disclosed concept of the above embodiments, such as... Figure 7 As shown, the motion correction device 1 of this application embodiment includes a processor 12, a memory 13 and a communication bus 14.
[0133] In specific embodiments, the aforementioned acquisition unit 10, determination unit 11, reminder unit, adjustment unit, and update unit can be implemented by a processor 12 located on the motion correction device 1. The processor 12 can be at least one of the following: Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), CPU, controller, microcontroller, and microprocessor. It is understood that for different devices, the electronic device used to implement the above processor functions can also be other types; this application does not impose specific limitations.
[0134] In this embodiment, the communication bus 14 is used to establish a connection between the processor 12 and the memory 13; when the processor 12 executes the running program stored in the memory 13, it implements the following motion correction method: The system acquires the body shape parameters and flexibility parameters of each joint of the target object; determines the body proportion factor of the target object based on the body shape parameters, and determines the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters; determines the tolerance value corresponding to each joint of the target object based on the body proportion factor, flexibility evaluation parameters, and flexibility parameters; and determines the target posture information of each joint based on the tolerance value and the preset posture information of each joint of the target object, so as to correct the movement of the target object based on the target posture information.
[0135] In one embodiment, the processor 12 is further configured to determine the body proportion factor of the target object based on the body shape parameters and preset body shape parameters; and to determine the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters and preset flexibility parameters of each joint.
[0136] In one embodiment, the processor 12 is further configured to acquire the current posture information of multiple joints corresponding to the current movement of the target object; determine whether the current movement of the target object meets the standard based on the current posture information of the multiple joints and the target posture information of each joint; and generate an abnormal reminder message to remind the target object to correct the current movement if the current movement of the target object does not meet the standard.
[0137] In one embodiment, the processor 12 is further configured to acquire the number of times an abnormal reminder is issued when the current motion of the target object does not meet the standard; determine the posture deviation value of each joint based on the acquired current posture information of multiple joints corresponding to the current motion of the target object and the preset posture information of each joint; and adjust the tolerance value based on the posture deviation value and the number of reminders.
[0138] In one embodiment, the processor 12 is further configured to, for multiple time periods within a preset time range, reduce the tolerance value if the number of reminders corresponding to each time period decreases sequentially and the calculation result of all attitude deviation values within the preset time range is less than the tolerance value; or, increase the tolerance value if the number of reminders corresponding to each time period increases sequentially and the calculation result of all attitude deviation values within the preset time range is greater than or equal to the tolerance value.
[0139] In one embodiment, the processor 12 is further configured to reacquire the flexibility parameter and the body shape parameter when a change is detected in the flexibility parameter or the body shape parameter, or when abnormal information is fed back by the target object; and to update the tolerance value based on the reacquired flexibility parameter and body shape parameter.
[0140] In one embodiment, the processor 12 is further configured to acquire the current posture information of each joint when the target object is moving; if the current posture information exceeds the preset target posture information range, a safety alarm is triggered to the target object.
[0141] Based on the above embodiments, this application provides a storage medium storing a computer program thereon. The computer-readable storage medium stores one or more programs, which can be executed by one or more processors and applied in a motion correction device. The computer program implements the motion correction method as described above.
[0142] Based on the above embodiments, this application provides a computer program product, including a computer program that can be executed by one or more processors and applied in a motion correction device. The computer program implements the motion correction method as described above.
[0143] It should be noted that, in the embodiments of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0144] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the related technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory (ROM) / random access memory (RAM), magnetic disk, optical disk), and includes several instructions to cause an image display device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the embodiments of this application.
[0145] The above description is merely a specific implementation of the embodiments of this application, but the protection scope of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the protection scope of this application.
Claims
1. A method for correcting movement, characterized in that, The method includes: Obtain the body shape parameters and flexibility parameters of each joint of the target object; The body proportion factor of the target object is determined based on the body shape parameters, and the flexibility evaluation parameters of each joint of the target object are determined based on the flexibility parameters. Based on the body proportion factor, the flexibility evaluation parameter, and the flexibility parameter, determine the tolerance value corresponding to each joint of the target object; Based on the tolerance value and the preset posture information of each joint of the target object, the target posture information of each joint is determined, so as to correct the movement of the target object based on the target posture information.
2. The method according to claim 1, characterized in that, The process of determining the body proportion factor of the target object based on the body shape parameters and determining the flexibility evaluation parameters of each joint of the target object based on the flexibility parameters includes: Based on the body shape parameters and preset body shape parameters, the body shape proportion factor of the target object is determined; and based on the flexibility parameters and preset flexibility parameters of each joint, the flexibility evaluation parameters of each joint of the target object are determined.
3. The method according to claim 1, characterized in that, After determining the target posture information of each joint based on the tolerance value and the preset posture information of each joint of the target object, the method further includes: Obtain the current posture information of multiple joints corresponding to the current motion of the target object; Based on the current posture information of the multiple joints and the target posture information of each joint, determine whether the current motion of the target object meets the standard; If the target object's current movement does not meet the standard, an abnormal reminder message is generated to remind the target object to correct the current movement.
4. The method according to claim 3, characterized in that, After generating the abnormality alert information, the method further includes: The number of times an abnormal alert is issued when the current movement of the target object does not meet the standard is obtained; Based on the current posture information of multiple joints corresponding to the current movement of the target object and the preset posture information of each joint, the posture deviation value of each joint is determined. The tolerance value is adjusted based on the posture deviation value and the number of reminders.
5. The method according to claim 4, characterized in that, The adjustment of the tolerance value based on the attitude deviation value and the number of abnormal alerts includes: For multiple time periods within a preset time range, if the number of reminders for each time period decreases sequentially, and the calculation result of all attitude deviation values within the preset time range is less than the tolerance value, then the tolerance value is reduced. Alternatively, if the number of reminders for each time period increases sequentially, and the result of the calculation of all attitude deviation values within the preset time range is greater than or equal to the tolerance value, then the tolerance value is increased.
6. The method according to claim 1, characterized in that, The method further includes: If a change in the flexibility parameter or the body shape parameter is detected, or if abnormal information is reported by the target object, the flexibility parameter and body shape parameter shall be reacquired. The tolerance value is updated based on the reacquired flexibility and body shape parameters.
7. The method according to claim 1, characterized in that, The method further includes: Obtain the current posture information of each joint of the target object when it moves; If the current posture information exceeds the preset target posture information range, a safety alarm is triggered to the target object.
8. A motion correction device, characterized in that, The motion correction device includes a processor and a memory; the processor executes the running program stored in the memory to implement the method as described in any one of claims 1 to 7.
9. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 7.
10. A computer program product, comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the method as described in any one of claims 1 to 7.
