Intelligent matching gait assessment method, computer device and storage medium

Through computer vision technology, the intelligent matching gait evaluation method solves the problem that traditional running teaching methods are difficult to carefully observe and evaluate students' gait, realizes personalized gait analysis and feedback, and improves the pertinence and safety of training.

CN118942164BActive Publication Date: 2025-01-07ZHUHAI XINWEI TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411428219.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-14
Publication Date
2025-01-07
Estimated Expiration
2044-10-14

AI Technical Summary

Technical Problem

Traditional running teaching methods are difficult to carefully observe and evaluate students' running gaits, and the lack of personalized guidance and quantitative assessment leads to an increased risk of sports injury and is difficult to provide a scientific long-term training plan.

Method used

Using intelligent matching gait evaluation method based on computer vision, students' running process is recorded through high-speed cameras, data is digitally converted and processed, and key gait indicators are extracted, such as step size, step frequency, support time ratio and joint motion angle, and time Sequence and time-frequency domain analysis to generate personalized gait evaluation feedback.

Benefits of technology

It realizes refined analysis of students' running process, automatically captures gait data, detects and diagnoses running problems, provides each student with personalized quantitative feedback, and improves the pertinence and safety of training.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118942164B_ABST
    Figure CN118942164B_ABST
Patent Text Reader

Abstract

The present application relates to an intelligent matching gait assessment method, computer equipment and storage medium. The method includes: obtaining a subset of gait data corresponding to an assessment area; identifying the boundary points of the gait cycle in the gait data subset, and obtaining virtual sampling points according to the boundary points of the gait cycle; optimizing the gait data subset based on the correction amount to obtain an optimized gait data subset; extracting key gait indicators corresponding to the assessment area from the optimized gait data subset; performing time series analysis on the key gait indicators to obtain time series data; extracting the dynamic characteristic spectrum of the student's gait; performing matching analysis according to the key frequency components, time-varying patterns and gait assessment standards corresponding to the assessment area, and generating gait assessment feedback. The present application uses advanced computer vision technology to perform a refined analysis of the student's running process; automatically captures the continuous motion data of the student when running, extracts key gait indicators and performs data processing and analysis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer vision technology, and in particular to an intelligent matching gait assessment method, a computer device and a storage medium. Background Art

[0002] Running is a common item in school physical education courses and extracurricular exercises, and is essential for students' physical health and athletic ability development. However, many students have not yet mastered the correct running gait. Maintaining the wrong running posture for a long time may lead to sports injuries, affecting their sports performance and physical health. The traditional running teaching method mainly relies on the experience and subjective judgment of physical education teachers. This method has several obvious limitations:

[0003] First, it is difficult for teachers to observe and guide each student's running gait in detail. In a physical education class or a training session, teachers need to pay attention to multiple students at the same time, and it is impossible to observe each student's running posture continuously and in depth. Even experienced teachers find it difficult to capture all the details of students' running at the same time, such as key indicators such as step length, step frequency, support time ratio, vertical displacement, and movement angle of each joint.

[0004] Secondly, students themselves lack the means to objectively evaluate their running gait. Without the support of professional equipment and analysis tools, it is difficult for students to accurately perceive and evaluate their running posture, let alone discover and correct potential problems in a timely manner. In this case, students may maintain bad running habits for a long time without knowing it, increasing the risk of sports injuries.

[0005] Furthermore, traditional running teaching methods are difficult to provide personalized guidance. Each student has different physical characteristics, athletic ability and running habits, and needs targeted guidance based on individual characteristics. However, under the traditional teaching model, it is difficult for teachers to develop detailed personalized training plans and improvement suggestions for each student.

[0006] In addition, traditional methods lack quantitative evaluation and long-term tracking of students' running performance. Teachers can usually only give general evaluations based on subjective impressions and find it difficult to provide accurate data support. This makes it difficult for students to objectively understand their progress and for teachers to develop scientific long-term training plans. Summary of the invention

[0007] Based on this, it is necessary to provide an intelligent matching gait evaluation method, computer equipment and storage medium that can finely analyze the running process in response to the above technical problems.

[0008] An intelligent matching gait evaluation method based on computer vision comprises the following steps:

[0009] Based on the evaluation area, the discretized gait data sequence is matched and classified to obtain the gait data subset corresponding to the evaluation area; the evaluation area is the result of dividing the running process into regions based on the student's physical characteristics; the gait data sequence is obtained by digitally converting the continuous motion data of the student's running process recorded by a high-speed camera;

[0010] Dynamically adjust the gait data subset, identify the boundary points of the gait cycle in the gait data subset, and obtain virtual sampling points according to the boundary points of the gait cycle; the boundary points include actual end position sampling points;

[0011] Compare the actual end position sampling point and the virtual sampling point to obtain a correction amount, and optimize the gait data subset based on the correction amount to obtain an optimized gait data subset;

[0012] Extracting key gait indicators corresponding to the evaluation area from the optimized subset of gait data, the key gait indicators include step length, step frequency, support time ratio, vertical displacement and joint motion angle;

[0013] Perform time series analysis on key gait indicators to obtain time series data; the time series data includes key gait indicators and the change rate, fluctuation range and long-term trend characteristics of the students' gait corresponding to the assessment area;

[0014] Perform a joint analysis of the time series data in the time and frequency domains to extract the dynamic characteristic spectrum of the students' gait; the dynamic characteristic spectrum includes key frequency components and time-varying patterns;

[0015] According to the gait assessment criteria corresponding to the key frequency components, time-varying patterns and assessment areas, a matching analysis is performed to generate gait assessment feedback.

[0016] In one embodiment, based on the evaluation area, the discretized gait data sequence is matched and classified, and the step of obtaining a gait data subset corresponding to the evaluation area includes the steps of:

[0017] Map the three-dimensional spatial data of the joint points in the gait data sequence onto the two-dimensional runway plane to obtain two-dimensional motion trajectory data;

[0018] Smoothing the two-dimensional motion trajectory data to obtain two-dimensional motion trajectory smoothed data;

[0019] Calculate the student's cumulative distance based on the smoothed data corresponding to the student's first reference point in the two-dimensional motion trajectory smoothed data; the first reference point is the hip center;

[0020] According to the accumulated distance and the end position corresponding to the evaluation area, determine the area to which the gait data corresponding to each time point in the gait data sequence belongs;

[0021] Based on the above judgment results, the gait data sequence is divided into gait data subsets.

[0022] In one embodiment, the steps of dynamically adjusting the gait data subset, identifying the boundary points of the gait cycle in the gait data subset, and obtaining virtual sampling points according to the boundary points of the gait cycle include the steps of:

[0023] Processing the gait data subset to obtain two-dimensional motion trajectory smoothing data corresponding to the gait data subset;

[0024] According to the smooth data corresponding to the second reference point of the student in the two-dimensional motion trajectory smooth data, the vertical distance and horizontal speed of the second reference point are calculated, and the time point corresponding to the minimum vertical distance and the decrease in horizontal speed is taken as the potential landing moment;

[0025] Calculate the time interval between adjacent potential landing moments, and take one of the potential landing moments corresponding to a preset period whose time interval is less than that as a boundary point of the gait cycle;

[0026] Based on the boundary points of the gait cycle, the interpolation method is used to calculate and add virtual sampling points between the last actual sampling point of the current cycle and the starting point of the next cycle in the gait cycle.

[0027] In one embodiment, the actual end position sampling point and the virtual sampling point are compared to obtain a correction value, and the gait data subset is optimized based on the correction value. The step of obtaining the optimized gait data subset includes the steps of:

[0028] Calculate the vertical difference between the joint point in the actual end position sampling point and the joint point in the virtual sampling point in the vertical direction, as well as the horizontal difference in the horizontal direction;

[0029] Based on the vertical difference, the horizontal difference and the weight function, the gait data subset is optimized to obtain the optimized gait data subset; the weight function is obtained according to the actual starting position sampling point and the actual ending position sampling point of the boundary point.

[0030] In one embodiment, the step of performing a joint time-frequency domain analysis on the time series data to extract the dynamic characteristic spectrum of the student's gait includes the steps of:

[0031] Perform short-time Fourier transform on the time series data to obtain the time-varying power spectral density;

[0032] Modulating the time-varying power spectral density using the rate of change;

[0033] The time-varying power spectrum density after modulation is normalized using the fluctuation range;

[0034] The time-varying baseline was constructed using linear regression coefficients and second-order polynomial regression coefficients;

[0035] Based on the time-varying baseline, the normalized time-varying power spectrum density is peak-detected in the frequency dimension to construct the frequency trajectory.

[0036] The density peak clustering algorithm is used to perform time-frequency clustering analysis on the frequency trajectory to obtain the key frequency components.

[0037] In one embodiment, the step of performing time-frequency clustering analysis on the frequency trajectory using a density peak clustering algorithm to obtain key frequency components includes the following steps:

[0038] Calculate the local density of the data point in the frequency trajectory and the distance to other data points whose local density is greater than the local density of the data point;

[0039] Determine whether the local density of the data point is the maximum value. If it is the maximum value, obtain the maximum distance in the distance as the distance parameter. Otherwise, obtain the minimum distance in the distance corresponding to the data point as the distance parameter.

[0040] Clustering is performed based on local density and distance parameters to obtain key frequency components.

[0041] In one embodiment, the step of performing a joint time-frequency domain analysis on the time series data to extract the dynamic characteristic spectrum of the student's gait includes the steps of:

[0042] Calculate the deviation of time series data from the time-varying baseline, and perform continuous wavelet transform on the deviation to obtain the wavelet coefficient matrix;

[0043] Perform singular value decomposition on the wavelet coefficient matrix to obtain the time pattern and scale pattern corresponding to the first M singular values ​​from large to small, and combine the time pattern and scale pattern into a time-varying pattern.

[0044] In one embodiment, the step of performing matching analysis according to the key frequency components, the time-varying patterns and the gait assessment criteria corresponding to the assessment area to generate gait assessment feedback includes the steps of:

[0045] Calculate the average step length and average step frequency corresponding to the evaluation area;

[0046] Calculate the first deviation percentage between the average step length and the ideal step length in the gait evaluation standard, and the second deviation percentage between the average step frequency and the ideal step frequency in the gait evaluation standard;

[0047] Linear regression was used to calculate the slope of the time-varying pattern and obtain the changing trend of stride length and stride frequency in the evaluation area;

[0048] Based on the time-varying pattern, the standard deviation of step length and step frequency is calculated, and the gait stability is judged according to the standard deviation and the preset fluctuation range;

[0049] The average speed is calculated based on the average step length and the average step frequency, the ideal speed is calculated based on the ideal step length and the ideal step frequency, the difference percentage between the average speed and the ideal speed is obtained, and the gait coordination is determined based on the difference percentage;

[0050] Identify abnormal situations where the average step length and average step frequency exceed abnormal thresholds;

[0051] Analyzing a first matching degree of the time-varying mode and a second matching degree of the scale mode, and obtaining an overall matching score according to the first matching degree and the second matching degree;

[0052] The gait assessment feedback is generated based on the first deviation percentage, the second deviation percentage, the change trend, the gait stability, the gait coordination, the abnormal situation and the overall matching score.

[0053] A computer device comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above method when executing the computer program.

[0054] A computer-readable storage medium stores a computer program, which implements the steps of the above method when executed by a processor.

[0055] One of the above technical solutions has the following advantages and beneficial effects:

[0056] The present application comprises the following steps: based on the evaluation area, matching and classifying the discretized gait data sequence to obtain a gait data subset corresponding to the evaluation area; dynamically adjusting the gait data subset, identifying the boundary points of the gait cycle in the gait data subset, and obtaining virtual sampling points based on the boundary points of the gait cycle; comparing the actual end position sampling point and the virtual sampling point to obtain the correction amount, and optimizing the gait data subset based on the correction amount to obtain the optimized gait data subset; extracting the key gait indicators corresponding to the evaluation area from the optimized gait data subset; performing time series analysis on the key gait indicators to obtain time series data; performing a joint analysis of the time series data in the time and frequency domains to extract the dynamic characteristic spectrum of the student's gait; the dynamic characteristic spectrum includes key frequency components and time-varying patterns; performing matching analysis based on the key frequency components, the time-varying patterns and the gait evaluation criteria corresponding to the evaluation area to generate gait evaluation feedback. This application uses advanced computer vision technology to conduct a detailed analysis of students' running process; it can automatically capture students' continuous motion data while running, extract key gait indicators, and process and analyze data through complex algorithms; it can automatically detect and diagnose problems in running gait, and provide each student with personalized, intuitive and quantitative feedback. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1Schematic diagram of the process of the intelligent matching gait assessment method based on computer vision in the embodiment of the present application.

[0058] Figure 2 Schematic diagram of the internal structure of a computer device in an embodiment of the present application. DETAILED DESCRIPTION

[0059] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0060] In order to achieve the above object, in one embodiment, Figure 1 As shown, a computer vision-based intelligent matching gait evaluation method is provided, comprising the following steps:

[0061] Step S110 , based on the evaluation area, matching and classifying the discretized gait data sequence to obtain a gait data subset corresponding to the evaluation area.

[0062] The gait data sequence is obtained by digitally converting the continuous motion data of the student's running process recorded by a high-speed camera.

[0063] First, continuous motion data is obtained. Specifically, a high-speed camera system is used to capture the continuous motion data of students while they are running. This system is usually equipped with multiple synchronized high-resolution cameras that shoot at a rate of at least 240 frames per second to ensure that subtle changes in motion during running can be captured. The camera generally shoots from the front, side, and back to obtain a full range of motion data. In order to accurately capture joint movement, reflective markers are attached to the key joints of the students (such as shoulders, elbows, wrists, hips, knees, ankles, etc.). These markers play a key role in subsequent image processing and help to accurately track the motion trajectory of each joint.

[0064] Data collection is usually carried out on the school's outdoor track. Before starting the formal collection, the camera needs to be calibrated to ensure that the spatial relationship between multiple cameras corresponds accurately. During the data collection process, students are required to run with a natural and stable gait. Usually at least 30 seconds of continuous running data is recorded to ensure that multiple complete gait cycles are captured. In order to obtain more comprehensive data, students may be asked to run multiple times, including different speeds (such as slow running, medium speed running, and fast running) to observe the impact of speed changes on gait.

[0065] After the continuous motion data is recorded, the next step is to convert it into digital form. This process mainly includes two stages: image preprocessing and motion trajectory extraction.

[0066] In the image preprocessing stage, the original video is denoised and enhanced. Common methods include Gaussian filtering to reduce image noise and histogram equalization to improve image contrast. These processes help improve the accuracy of subsequent joint point recognition.

[0067] The motion trajectory extraction stage uses computer vision algorithms to identify and track reflective markers in each frame. Common methods include color and shape-based object detection algorithms, and optical flow methods to track the movement of markers between consecutive frames. For each frame, a set of three-dimensional coordinates can be obtained, indicating the position of each joint point in space.

[0068] After the above processing, a series of discretized three-dimensional coordinate data, namely the gait data sequence, is obtained. Each time point corresponds to a set of coordinates that describe the spatial position of each joint of the human body at that moment. For example, for a sampling rate of 240 frames per second, a 30-second running process will generate data for 7,200 time points. Each time point contains the three-dimensional coordinates of multiple joints, forming a high-dimensional data matrix.

[0069] These discretized gait data sequences D = {(x_i(t), y_i(t), z_i(t)) | t = 1, 2, ..., T; i = 1, 2, ..., N}

[0070] Where: T is the total number of time points. N is the number of joints to be tracked. (x_i(t), y_i(t), z_i(t)) represents the three-dimensional coordinates of the i-th joint at time t.

[0071] The evaluation area is the result of dividing the running process into regions based on the students' physical characteristic information.

[0072] First, collect students' basic physical characteristics, including height (H, in meters), weight (W, in kilograms), and age (A, in years). These data are the basis for personalized regional division and setting evaluation standards. Using height and weight data, calculate the body mass index (BMI): BMI=W / H². As an important parameter, BMI reflects the overall body shape of students and has a significant impact on running performance.

[0073] The system uses a dynamic area division method to subdivide the running process, dividing the running distance (D, in meters) into four evaluation areas: starting area, acceleration area, mid-distance area and sprint area. The length of each area R is calculated using the following formula:

[0074] Length of starting area (L1, meters) = D*(0.1+0.005*(A-14)+0.001*(BMI-20))

[0075] Acceleration zone length (L2, meters) = D*(0.15-0.003*(A-14)-0.001*(BMI-20))

[0076] Sprint zone length (L4, meters) = D*(0.1+0.002*(A-14)-0.0005*(BMI-20))

[0077] Length of mid-range area (L3, meters) = D-(L1+L2+L4)

[0078] These formulas take into account the effects of age and BMI on different phases of running. Age factors mainly affect the length of the starting and sprint zones, reflecting the differences in explosive power and terminal sprint ability among students of different ages. For example, older students may need a longer starting zone to fully utilize their strength advantage. BMI factors mainly affect the length of the acceleration and sprint zones, reflecting the impact of body size on acceleration ability and the final sprint. A higher BMI may result in a slightly shorter acceleration zone, reflecting the impact of body weight on the acceleration process.

[0079] In the formula, 14 years old was chosen as the base age because it is generally considered to be the average age when teenagers begin systematic running training. The basic coefficients in the formula (such as 0.1, 0.15, etc.) represent the basic proportions of each region in the total distance, which are based on a large number of statistical data and the performance of professional athletes. The adjustment coefficients for age and BMI (such as 0.005, 0.003, etc.) are obtained through the analysis and model fitting of a large amount of student data, which ensure that the regional division can adapt to students with different characteristics.

[0080] Next, the system sets gait evaluation criteria for each region R, focusing on two key indicators: stride length and stride frequency. The stride length (in cm) evaluation criteria uses the following formula:

[0081] Ideal step length SL_ideal(R)=H*100*(0.5+0.01*(A-14)-0.005*(BMI-20))

[0082] This formula takes into account the combined effects of height, age, and BMI on stride length. Height is the main determinant of stride length, so the formula uses half of height as a benchmark. The age term reflects the possible increase in stride length due to improved muscle strength and coordination with age. The BMI term takes into account the potential negative impact of weight on stride length, and a higher BMI may lead to a slightly reduced stride length.

[0083] The cadence (in steps per second) evaluation criteria uses the following formula:

[0084] Ideal cadence SF_ideal (R) = 4 + 0.1 * (14-A) + 0.05 * (20-BMI)

[0085] This formula uses 4 steps / second as the baseline cadence, an average value based on a large amount of research data. The age term reflects that young students are usually able to maintain a higher cadence, and the cadence may decrease slightly with age. The BMI term takes into account the effect of weight on cadence, and a lower BMI may be conducive to maintaining a higher cadence.

[0086] The goal of step S110 is to accurately map the discretized gait data sequence in the three-dimensional space onto the two-dimensional runway plane and classify it according to the evaluation area division. This process involves coordinate conversion, data smoothing, cumulative distance calculation and area allocation.

[0087] In one example, based on the evaluation area, the discretized gait data sequence is matched and classified, and the step of obtaining a gait data subset corresponding to the evaluation area includes the steps of: mapping the three-dimensional spatial data of the joint points in the gait data sequence to the two-dimensional runway plane to obtain two-dimensional motion trajectory data; smoothing the two-dimensional motion trajectory data to obtain two-dimensional motion trajectory smoothed data; calculating the student's cumulative distance based on the smoothed data corresponding to the first reference point of the student in the two-dimensional motion trajectory smoothed data; the first reference point is the hip center; judging the area to which the gait data corresponding to each time point in the gait data sequence belongs based on the cumulative distance and the end position corresponding to the evaluation area; and dividing the gait data sequence into gait data subsets based on the above judgment results.

[0088] First, the discretized gait data sequence is three-dimensional spatial data, which needs to be matched with the two-dimensional runway to obtain two-dimensional motion trajectory data. For each joint point i and each time point t, perform the following coordinate transformation:

[0089] u_i(t)=x_i(t)*cos(θ)+y_i(t)*sin(θ)

[0090] v_i(t)=-x_i(t)*sin(θ)+y_i(t)*cos(θ)

[0091] Here, u_i(t) represents the horizontal coordinate on the runway plane, v_i(t) represents the vertical coordinate, and θ represents the rotation angle of the runway plane relative to the camera coordinate system. This angle is obtained through the pre-calibration process of the camera to ensure the accuracy of the coordinate conversion. Through this conversion, the three-dimensional motion trajectory of each joint point is accurately mapped to the two-dimensional runway plane.

[0092] The coordinate transformation process takes into account the actual layout of the track and the placement of the camera. For example, if the track is a standard 400-meter track and field stadium, θ may vary depending on the different parts of the track. On the straight section, θ may be close to 0° or 180°, while on the curved section, the value of θ will vary with the curvature of the track. This precise coordinate transformation ensures that the actual position and movement trajectory of the athlete on the track can be accurately reflected in subsequent analysis.

[0093] Next, in order to reduce the noise and small measurement errors in the data, the converted data is smoothed to obtain the smoothed data of the two-dimensional motion trajectory. Here, a 5-point moving average filter is used:

[0094] u_i_smooth(t)=(u_i(t-2)+u_i(t-1)+u_i(t)+u_i(t+1)+u_i(t+2)) / 5

[0095] v_i_smooth(t)=(v_i(t-2)+v_i(t-1)+v_i(t)+v_i(t+1)+v_i(t+2)) / 5

[0096] This smoothing process can not only effectively reduce random fluctuations in the data, but also maintain the main characteristics of the original data. By using the data of two time points before and after, the impact of instantaneous noise can be significantly reduced while maintaining the data trend.

[0097] The window size for smoothing (5 points in this case) is chosen after a trade-off. A larger window will provide smoother results but may lose some fast-changing details; a smaller window will preserve more details but may not remove noise as effectively. Choosing 5 points as the window size strikes a good balance between preserving important details and removing noise.

[0098] In order to assign data points to the corresponding evaluation areas, the cumulative distance of the runner needs to be calculated. Here, a representative joint point (usually the hip center) is selected as a reference, assuming its number is rep. The cumulative distance d(t) is calculated as follows:

[0099] d(0)=0

[0100]

[0101] This method of calculating the cumulative distance takes into account the curved characteristics of the running track and is more accurate than directly using the straight-line distance from the start to the end point.

[0102] The selection of the hip center as a reference point is based on considerations of human biomechanics. The hip center is generally considered to be the center of mass of the human body, and its movement trajectory can best represent the movement of the entire body. Compared with other joint points (such as the ankle or knee), the movement of the hip center is smoother and less affected by a single step, so it can provide more stable and continuous distance calculation results.

[0103] According to the boundary point information of the divided evaluation areas, define the end position of each area:

[0104] S(0) = 0 (starting point)

[0105] S(1) = L1 (end point of the starting area)

[0106] S(2) = L1 + L2 (end point of the acceleration area)

[0107] S(3) = L1 + L2 + L3 (end point of the middle distance area)

[0108] S(4) = D_total (end point)

[0109] Where L1, L2, L3, and L4 are the lengths of the four areas respectively, and D_total is the total running distance. This definition method ensures the continuity and integrity of the area division, covering the entire running process.

[0110] Using the calculated cumulative distance d(t) and the predefined area boundary S(j), determine the area to which the data at each time point t belongs:

[0111] - If 0 ≤ d(t) < S(1), it belongs to the starting area

[0112] - If S(1) ≤ d(t) < S(2), it belongs to the acceleration area

[0113] - If S(2) ≤ d(t) < S(3), it belongs to the middle distance area

[0114] - If S(3) ≤ d(t) ≤ S(4), it belongs to the sprint area

[0115] This classification method is simple and intuitive, but in practical applications, it may face a challenge: how to handle data points that exactly fall on the area boundary or are very close to the boundary. To solve this problem, a small tolerance range ε (such as 0.5% of the total distance) is introduced. If a data point falls within the ε range of the boundary, its classification result is determined by checking the classification results of its adjacent data points before and after to ensure the continuity of classification.

[0116] The tolerance range ε ​​is introduced to handle the continuity of data and the smoothness of actual movement. In actual running, athletes will not suddenly change their running style at precise boundary points. The introduction of ε allows a smooth transition when transitioning between zones, which is more in line with the characteristics of actual movement. The choice of 0.5% of the total distance as the ε value is based on experience and actual test results. This value is small enough not to significantly affect the overall zone division, but large enough to effectively handle data points near the boundary.

[0117] Finally, based on the results of regional determination, the gait data sequence is divided into four gait data subsets: D_1 (starting area), D_2 (acceleration area), D_3 (mid-range area) and D_4 (sprint area). The form of each subset is:

[0118] D_k={(t,(u_i_smooth(t),v_i_smooth(t)),d(t))|t∈T_k;i=1,2,...,N}

[0119] Where T_k is the set of time points belonging to the kth region.

[0120] Step S120, dynamically adjust the gait data subset, identify the boundary points of the gait cycle in the gait data subset, and obtain virtual sampling points according to the boundary points of the gait cycle, wherein the boundary points include the actual end position sampling points.

[0121] The gait cycle is defined as the process from the heel strike to the same foot landing again. This process includes the single-leg support period, double-leg support period and swing period. For running, due to the high speed, there may be no obvious double-leg support period, but the basic cycle definition still applies.

[0122] In one example, the steps of dynamically adjusting a gait data subset, identifying the boundary points of the gait cycle in the gait data subset, and obtaining virtual sampling points according to the boundary points of the gait cycle include the following steps: processing the gait data subset to obtain two-dimensional motion trajectory smoothing data corresponding to the gait data subset; calculating the vertical distance and horizontal speed of the second reference point according to the smoothing data corresponding to the second reference point in the two-dimensional motion trajectory smoothing data, and taking the time point corresponding to the minimum vertical distance and the decrease in horizontal speed as the potential landing moment; calculating the time interval between adjacent potential landing moments, and taking one of the potential landing moments corresponding to a time interval less than a preset cycle as the boundary point of the gait cycle; based on the boundary points of the gait cycle, using the interpolation method to calculate and add virtual sampling points between the last actual sampling point of the current cycle and the starting point of the next cycle in the gait cycle.

[0123] Identifying the boundary points of the gait cycle utilizes the two-dimensional motion trajectory smoothing data (u_i_smooth(t), v_i_smooth(t)) obtained previously. Usually, the trajectories of the ankle or the toe tip are selected as the judgment basis because the changes of these points are the most obvious during the gait cycle. Assume that the right ankle is selected as the reference point, and its number is r_ankle.

[0124] By analyzing the local minimum of v_r_ankle_smooth(t), the possible touchdown moments can be identified. When v_r_ankle_smooth(t) reaches the local minimum, it usually means that the ankle is at the lowest point, that is, the possible touchdown moment. The conditions for judging the local minimum are as follows:

[0125] If v_r_ankle_smooth(t - 1) > v_r_ankle_smooth(t) < v_r_ankle_smooth(t + 1), then the moment t may be a touchdown moment.

[0126] However, relying only on the height information may not be accurate enough because there may be multiple local minima during running. To improve the accuracy, the horizontal velocity information also needs to be combined. At the touchdown moment, the horizontal velocity usually shows a brief decrease. Therefore, calculate the horizontal velocity:

[0127] v_h(t) = (u_r_ankle_smooth(t) - u_r_ankle_smooth(t - 1)) / Δt

[0128] where Δt is the time interval between two adjacent frames.

[0129] Taking into account both the vertical position and the horizontal velocity, a more accurate judgment condition for the touchdown moment can be obtained:

[0130] If v_r_ankle_smooth(t - 1) > v_r_ankle_smooth(t) < v_r_ankle_smooth(t + 1) and v_h(t) < v_h(t - 1), then the moment t is a potential touchdown moment.

[0131] After identifying all possible touchdown moments, further screening is required because there may be misjudgments or redundant judgment results. An effective method is to calculate the time interval between two adjacent candidate touchdown moments and compare it with the expected gait cycle time. The expected gait cycle time can be estimated according to the general relationship between running speed and stride frequency. For example, if the running speed is about 4 m / s and the stride frequency is about 3 Hz, then the expected gait cycle time should be around 0.33 seconds.

[0132] Set a reasonable range, such as ±20% of the expected cycle time, to screen valid landing moments. If the time interval between two adjacent candidate points falls within this range, both points are considered to be valid landing moments. If the time interval is too short, one of the points may need to be deleted; if the time interval is too long, it may mean that a landing moment has been missed and the data during this period needs to be rechecked. After completing the identification of the landing moment, a series of boundary points of the gait cycle are obtained. These boundary points define the beginning and end of each gait cycle. However, due to the limitations of actual sampling, different gait cycles may contain different numbers of sampling points.

[0133] Therefore, it is necessary to add virtual sampling points between the last actual sampling point of the current cycle and the start point of the next cycle. Imagine that we use a camera that takes 10 photos per second to record a person running. A complete gait cycle (from the right foot landing to the next right foot landing) should contain a fixed number of photos, such as 10. But in actual recording, some cycles may only have 9 photos, because the last action happened to happen between two shots and was not fully captured. Adding virtual sampling points is like "imagining" and "creating" the 10th photo for these cycles with only 9 photos. Based on the interpolation calculation between the last actual sampling point of the current cycle and the start point of the next cycle, we infer what this 10th photo might look like, ensuring that each cycle has a full 10 "photos". In this way, all cycles have the same "length", which facilitates the system to accurately compare and analyze. In this way, the characteristics of each cycle can be calculated more accurately, and it is easier to detect subtle changes in the running process, such as gait adjustments caused by fatigue.

[0134] To determine the location and value of the virtual sampling points, an interpolation method can be used. Linear interpolation is a simple and effective method, but for more accurate results, you can consider using cubic spline interpolation. Assuming linear interpolation is used, the coordinates of the virtual sampling points can be calculated as follows:

[0135] 1 Virtual sampling point time point

[0136] t_virtual=t_end+(t_next_start-t_end)*0.99

[0137] 2 Horizontal coordinates of the virtual sampling point on the runway plane

[0138] u_i_virtual=u_i_smooth(t_end)+(u_i_smooth(t_next_start)-u_i_smooth(t_end))*0.99

[0139] 3 Vertical coordinates of virtual sampling points on the runway plane

[0140] v_i_virtual=v_i_smooth(t_end)+(v_i_smooth(t_next_start)-v_i_smooth(t_end))*0.99

[0141] Where t_end is the time point of the last actual sampling point of the current cycle, and t_next_start is the time point of the start of the next cycle. The coefficient of 0.99 is to ensure that the virtual sampling point is between two actual cycles, but very close to the end of the current cycle.

[0142] After adding the virtual sampling points, the data structure of the gait data subset needs to be updated. For each evaluation area gait data subset D_k, it can now be expressed as:

[0143]

[0144] Here, T_virtual_k is the time set of the added virtual sampling points, cycle_id indicates the gait cycle number to which the point belongs, and is_virtual is a Boolean value indicating whether the point is a virtual sampling point.

[0145] This adjusted data structure not only retains the original time, coordinates and cumulative distance information, but also adds the identification of gait cycles and the marking of virtual sampling points, which allows the gait characteristics of different individuals at different times to be compared within a unified framework. For example, the duration, step length, and step frequency of each cycle can be calculated, and the changing trends of these parameters in different evaluation areas can be analyzed, or the impact of fatigue on gait cycle characteristics can be studied.

[0146] Step S130 , comparing the actual end position sampling point with the virtual sampling point to obtain a correction amount, and optimizing the gait data subset based on the correction amount to obtain an optimized gait data subset.

[0147] In one example, the actual end position sampling point and the virtual sampling point are compared to obtain a correction amount, and the gait data subset is optimized based on the correction amount. The step of obtaining the optimized gait data subset includes the steps of: respectively calculating the vertical difference in the vertical direction between the joint point in the actual end position sampling point and the joint point in the virtual sampling point, and the horizontal difference in the horizontal direction; based on the vertical difference, the horizontal difference and the weight function, the gait data subset is optimized to obtain the optimized gait data subset; the weight function is obtained according to the actual starting position sampling point and the actual end position sampling point of the boundary point.

[0148] First, for each gait cycle c, define the time of its last actual sampling point as t_end(c), and the timestamp of the corresponding virtual sampling point as t_virtual(c). Calculate the difference of each joint point in the u (horizontal direction) and v (vertical direction):

[0149] Δu_i(c)=u_i_virtual(c)-u_i_smooth(t_end(c))

[0150] Δv_i(c)=v_i_virtual(c)-v_i_smooth(t_end(c))

[0151] Where i is the joint point number, ranging from 1 to N. These differences represent the deviation between the actual cycle end point and the ideal end point.

[0152] In order to make the correction process smoother and more gradual, a weight function is introduced:

[0153] w(t)=(t-t_start(c)) / (t_end(c)-t_start(c))

[0154] Where t_start(c) is the start time of cycle c (the actual start position sampling point), and t_end(c) represents the end time of cycle c (the actual end position sampling point). This weight function plays a key role in the entire correction process. It ensures that the correction is applied gradually rather than suddenly. At the beginning of the cycle, the weight is close to zero, which means that almost no correction is made; as time goes by, the weight gradually increases and reaches a maximum value of 1 at the end of the cycle.

[0155] The role of the weight function can be illustrated by a specific example: suppose a student's running gait cycle shows that the raw data shows that the y coordinate of the right foot is 0 cm when it touches the ground, while the ideal landing position should be 2 cm. If all data points are simply moved up 2 cm, the entire movement may look unnatural. In contrast, by using a weight function, a smooth transition can be achieved from almost no movement at the beginning of the cycle to a full 2 ​​cm at the end of the cycle. Specifically, at 20% of the cycle, the correction is only 0.4 cm (2 cm * 0.2), to 60% of the cycle, the correction is 1.2 cm (2 cm * 0.6), and finally to a full 2 ​​cm correction at the end of the cycle. This gradual correction ensures the naturalness and consistency of the student's running movement and avoids sudden jumps in the data.

[0156] Based on the weight function, for each time point t within the period c, the correction is calculated and applied to the original gait data subset:

[0157] u_i_corrected(t)=u_i_smooth(t)+Δu_i(c)*w(t)

[0158] v_i_corrected(t)=v_i_smooth(t)+Δv_i(c)*w(t)

[0159] In order to further improve the accuracy and adaptability of the correction, a generative adversarial network (GAN) is introduced to improve the calculation and application of the correction amount. GAN consists of a generator G and a discriminator D. The generator is responsible for generating optimized gait data, and the discriminator is responsible for distinguishing the generated data from the real ideal gait data. The system uses a large amount of high-quality gait data to pre-train the GAN model. During the pre-training process, the generator G learns to map the input gait data to the ideal gait pattern, while the discriminator D learns to distinguish the real ideal gait data from the data generated by the generator.

[0160] In the pre-training stage, a large-scale gait dataset D_train = {D_1, D_2, ..., D_M} is used, where each D_i represents a complete gait sequence. For each D_i, there are:

[0161] D_i = {(t, (u_j(t), v_j(t)), d(t), cycle_id, is_virtual) | t ∈ T_i;j = 1, 2, ..., N}

[0162] Where N is the number of joint points and Ti is the set of time points of sequence Di.

[0163] The structure of the generator G adopts the U-Net architecture, which includes an encoder and a decoder, and uses jump connections to retain detailed information:

[0164] G(D_i) = Decoder(Encoder(D_i)) + D_i

[0165] The discriminator D uses a fully convolutional network structure and outputs the authenticity score at each time point:

[0166] D(D_i) = {s_t | t ∈ T_i, s_t ∈ [0, 1]}

[0167] In the application phase, the system inputs the original gait data subset D_k obtained in step S120 into the generator. The generator G processes this data and outputs the optimized gait data G(D_k). For each data point in D_k, G generates the corresponding optimized coordinates:

[0168]

[0169] Among them, G_u and G_v represent the optimization functions in the horizontal and vertical directions respectively.

[0170] The discriminator D then evaluates how realistic and ideal G(D_k) is, outputting a sequence of scores between 0 and 1:

[0171] D(G(D_k)) = {s_t | t ∈ T_k ∪ T_virtual_k, s_t ∈ [0, 1]}

[0172] A higher score indicates that the generated data is closer to the ideal gait.

[0173] Through multiple iterations of training, the generator G continuously adjusts its internal parameters to generate data that can better "fool" the discriminator D, thereby gradually generating data that is closer to the ideal gait. This process can be expressed as minimizing the following loss function:

[0174] L_G=E[log(1-D(G(D_k)))]+λ_1*L_content+λ_2*L_smooth

[0175] L_D= E[log(D(D_k_real)) + log(1 - D(G(D_k)))]

[0176] Among them, D_k_real represents the real ideal gait data subset, and E represents the expected value. L_content is the content loss, which ensures that the generated data retains the key features of the original data; L_smooth is the smoothness loss, which encourages the generation of smooth motion trajectories. λ_1 and λ_2 are hyperparameters that weigh different loss terms.

[0177] Based on the trained GAN model, define the correction amount generated by the new GAN:

[0178] Δu_i_GAN(t) = G_u(u_i_smooth(t), v_i_smooth(t))-u_i_smooth(t)

[0179] Δv_i_GAN(t) = G_v(u_i_smooth(t), v_i_smooth(t)) - v_i_smooth(t)

[0180] Among them, G_u(u_i_smooth(t), v_i_smooth(t)) and G_v(u_i_smooth(t), v_i_smooth(t)) represent the optimized coordinates in the horizontal and vertical directions after processing by generator G, respectively.

[0181] Next, combine the GAN-generated correction with the original correction:

[0182] u_i_corrected(t) = u_i_smooth(t) + (α(t)Δu_i(t) + β(t)Δu_i_GAN(t))* w(t)

[0183] v_i_corrected(t) = v_i_smooth(t) + (α(t)Δv_i(t) + β(t)Δv_i_GAN(t))* w(t)

[0184] Among them, α(t) and β(t) are time-varying weight coefficients used to balance the contributions of the original correction and the GAN correction. These coefficients can be dynamically adjusted in the following way:

[0185] α(t) = sigmoid(a * D(G(D_k))_t + b) β(t) = 1 - α(t)

[0186] Among them, a and b are learnable parameters, and D(G(D_k))_t is the output score of the discriminator at time point t. This dynamic adjustment mechanism allows the system to adaptively adjust the weights of the original data and the GAN-generated data according to the quality of the generated data. w(t) is still the weight function defined before, ensuring that the application of the correction amount is gradual.

[0187] The advantage of this correction method is that it can make the end point of each cycle closer to the ideal state while maintaining the main characteristics of the original data. This is crucial for subsequent analysis of the consistency and changes in students' running form because it reduces the cycle-to-cycle differences caused by sampling or measurement errors.

[0188] After the correction is completed, the cumulative distance needs to be recalculated. Select a representative joint point (usually the hip center) and calculate the corrected cumulative distance:

[0189] d_corrected(0)=0

[0190]

[0191] Finally, the optimized subset of gait data contains the corrected coordinates, cumulative distance, and cycle identification information, which can be expressed as:

[0192] D_optimized={(t,{(u_i_corrected(t),v_i_corrected(t))|i∈J},d_corrected(t),cycle_id)|t∈T}

[0193] Where t represents the time point, u_i_corrected(t) and v_i_corrected(t) represent the corrected x and y coordinates of the i-th joint at time t, respectively, i can be the index of key joints such as foot, ankle, knee, hip, etc.; J represents the set of joints, including {foot, ankle, knee, hip}; d_corrected(t) represents the corrected cumulative distance; cycle_id represents the identifier of the gait cycle.

[0194] Through this optimization process, combining traditional methods and GAN technology, more standardized and consistent student running gait data was obtained, which teachers can use to analyze the gait changes of students at different stages in the 400-meter running test. By comparing the gait data of the start, middle and sprint stages, teachers can identify at which stage students may have technical problems, such as reduced step length or unstable posture.

[0195] Step S140, extracting key gait indicators corresponding to the evaluation area from the gait data optimization subset, wherein the key gait indicators include step length, step frequency, support time ratio, vertical displacement and joint motion angle.

[0196] 1. Step length (SL) extraction: The step length is defined as the distance between two consecutive ipsilateral heel landings. To calculate the step length, first determine the start and end time of each gait cycle. This can be achieved by traversing the data in D_optimized and finding the time point when the cycle_id changes. For each cycle c, record its start time t_start(c) and end time t_end(c). Then, the step length is calculated using the optimized cumulative distance d_corrected(t): SL(c)=d_corrected(t_end(c))-d_corrected(t_start(c))For each evaluation region R, calculate the average step length of all cycles in the region: SL(R)=average(SL(c))forallcinR.

[0197] 2. Step frequency (SF) extraction: Step frequency reflects the number of steps per unit time and is an important indicator for evaluating running rhythm. For each cycle c, first calculate its duration: cycle_duration(c)=t_end(c)-t_start(c)

[0198] Then, calculate the cadence and convert it to steps per minute: SF(c)=60 / cycle_duration(c)

[0199] For each evaluation region R, calculate the average cadence for all cycles within that region: SF(R)=average(SF(c))forallcinR A higher cadence is generally associated with a more efficient running form, but too high a cadence may lead to accelerated fatigue.

[0200] 3 Support time ratio extraction: The support time ratio reflects the proportion of the time the foot is in contact with the ground in the entire gait cycle, and is an important parameter for evaluating running efficiency. For each cycle c, analyze the changes in v_foot_corrected(t). In this process, find the local minimum point of v_foot_corrected(t) as the landing moment t_contact, and the first local maximum point after that as the departure moment t_off. After determining these two moments, the support time can be calculated: support_time=t_off-t_contact. Finally, calculate the support time ratio: support_ratio(c)=support_time / cycle_duration(c). This process needs to be repeated for each cycle to obtain the support time ratio data for all cycles. The support time ratio data can reflect the student's running efficiency and skills. Shorter support time is usually associated with more efficient running form, but too short support time may increase the risk of injury.

[0201] 4 Calculation of vertical displacement: The calculation of vertical displacement reflects the range of movement of the body's center of gravity in the vertical direction, which is another important indicator for evaluating running efficiency. The hip center is usually regarded as the approximate location of the human body's center of gravity. For each cycle c, find the maximum and minimum values ​​of v_hip_corrected(t) within the cycle. The vertical displacement can be obtained by calculating the difference between these two values:

[0202] vertical_displacement(c)=max(v_hip_corrected(t))-min(v_hip_corrected(t)),

[0203] The range of t is [t_start(c), t_end(c)]. This calculation process needs to be repeated for each cycle to obtain the vertical displacement data of all cycles. The vertical displacement data can reflect the student's running efficiency. Smaller vertical displacement usually means a more efficient running form, because too much up and down will increase energy consumption.

[0204] 5 Joint motion angle extraction: The extraction of joint motion angle is the most complicated part, which involves the coordinate data of multiple joint points. Taking the knee joint angle as an example, the coordinates of the three points of the hip, knee and ankle joint need to be considered. For each time point t, the thigh vector and the shank vector are calculated. The thigh vector can be calculated by the coordinate difference between the knee joint and the hip joint: thigh_vector(t)=(u_knee_corrected(t)-u_hip_corrected(t),v_knee_corrected(t)-v_hip_corrected(t)). Similarly, the shank vector can be calculated by the coordinate difference between the ankle joint and the knee joint: shank_vector(t)=(u_ankle_corrected(t)-u_knee_corrected(t),v_ankle_corrected(t)-v_knee_corrected(t)). Next, calculate the modulus of these two vectors and their dot product. The modulus of a vector can be obtained by the square root of the sum of the squares of the x and y components of the vector. The dot product can be obtained by the product of the corresponding components of the two vectors. Finally, the knee angle can be calculated by the arccosine function: knee_angle(t)=arccos(dot_product(t) / (|thigh_vector(t)|*|shank_vector(t)|)). This process needs to be performed for each time point t to obtain the change in knee angle during the entire cycle. For each cycle c, key angle values ​​can be further extracted, such as the maximum flexion angle (the maximum value of knee_angle(t) during the cycle), the maximum extension angle (the minimum value of knee_angle(t) during the cycle), and the angle range (the difference between the maximum flexion angle and the maximum extension angle). Joint motion angle data can reflect students' running posture and skills. Appropriate joint motion range helps improve running efficiency and reduce the risk of injury.

[0205] Through these indicators, students' running efficiency, stability and potential injury risks can be comprehensively evaluated. The combination of stride length and stride frequency reflects the student's running speed and rhythm control ability. Larger stride lengths are generally associated with higher speeds, but may also increase energy consumption; higher stride frequencies are generally associated with more efficient running forms, but too high stride frequencies may lead to faster fatigue. The support time ratio reflects the student's running efficiency. A shorter support time generally means a more efficient running form, but too short a support time may increase the risk of injury. The vertical displacement reflects the student's movement efficiency in the vertical direction. A smaller vertical displacement generally means a more efficient running form, because excessive ups and downs increase energy consumption. The joint motion angle provides detailed information about the student's running posture. The appropriate range of joint motion helps improve running efficiency and reduce the risk of injury.

[0206] Step S150, performing time series analysis on key gait indicators to obtain time series data, wherein the time series data includes key gait indicators and the change rate, fluctuation range and long-term trend characteristics of the student's gait corresponding to the evaluation area.

[0207] The rate of change of each indicator in each evaluation area is calculated. The rate of change reflects the speed of change of the indicator over time, which can reveal the adaptability and technical adjustments of students in different running stages. For each indicator I (representing any one of stride length, stride frequency, support time ratio, vertical displacement or joint motion angle) in the evaluation area R, its rate of change is calculated as follows: rate_I(R)=(I_end(R)-I_start(R)) / I_start(R)*100%, where I_start(R) and I_end(R) are the values ​​of indicator I at the beginning and end of area R, respectively. This rate of change provides an overall perspective, reflecting the overall change trend of the indicator in the entire area. For example, if the rate of change of stride frequency is negative in the mid-range zone, this may mean that the student is unable to maintain the ideal stride frequency in this stage, which may be caused by fatigue or insufficient technique. On the contrary, if a positive rate of change of stride length is observed in the sprint zone, this may indicate that the student is able to effectively increase stride length in the final stage and demonstrate good sprinting ability.

[0208] Calculate the fluctuation range of each indicator in different evaluation areas. The fluctuation range reflects the stability and consistency of the indicator, which can help identify unstable technology or insufficient physical fitness. In order to fully describe the fluctuation characteristics, calculate the following statistics:

[0209] The maximum value max_I(R)=max(I(t,R)),

[0210] The minimum value min_I(R)=min(I(t,R)),

[0211] Mean value mean_I(R)=sum(I(t,R)) / n_R,

[0212] Standard deviation std_I(R)=sqrt(sum((I(t,R)-mean_I(R))^2) / n_R),

[0213] Coefficient of variation cv_I(R)=std_I(R) / mean_I(R)*100%,

[0214] Where n_R is the number of data points in region R. The coefficient of variation provides a standardized measure of fluctuations that facilitates comparison across metrics and regions. For example, if the coefficient of variation of vertical displacement is found to be significantly higher in the sprint zone than in other zones, this may indicate that the student has difficulty maintaining a stable body posture when running at high speeds. Similarly, if the standard deviation of the support time is larger than in the mid-range zone, this may mean that the student's running rhythm is not stable enough at this stage and corresponding technical adjustments and training are needed.

[0215] Identifying long-term trend characteristics aims to reveal systematic changes in indicators over time, reflecting the adaptability and sustained performance of students throughout the running process. Linear regression analysis is used to identify long-term trend characteristics. Linear regression is applied to each indicator in each region, and the linear regression model is expressed as: I(t,R)=a_I,R*t+b_I,R+ε, where a_I,R is the slope, indicating the overall rate of change of indicator I in region R, b_I,R is the intercept, and ε is the error term. The sign and magnitude of the slope a_I,R directly reflect the direction and strength of the trend. For example, if the slope of the stride length is significantly positive in the acceleration zone and close to zero in the mid-range zone, this may indicate that the student mainly accelerates by increasing the stride length, but turns to maintaining a stable stride length in the mid-range stage. This information can help coaches understand the student's running strategy and provide targeted guidance when necessary.

[0216] At the same time, a second-order polynomial regression is applied: I(t,R)=a_0,I,R+a_1,I,R*t+a_2,I,R*t^2+ε. The polynomial coefficients a_0,I,R, a_1,I,R and a_2,I,R together describe the nonlinear change pattern of the indicator. In particular, the sign of a_2,I,R can indicate whether the trend is accelerating (positive) or decelerating (negative). This nonlinear analysis can capture more complex change patterns. For example, a trend of increasing and then decreasing cadence may be observed in the middle range, which may reflect that students try to speed up the pace in the early stage, but cannot maintain it in the later stage due to fatigue.

[0217] Finally, all the indicators and features calculated previously are integrated into a structured time series dataset. For each evaluation region R and each time point t, a data vector is created, containing the following elements:

[0218] 1. Key gait indicators: I(t,R), including step length, step frequency, support time ratio, vertical displacement and joint movement angle

[0219] 2. Rate of change: rate_I(R)

[0220] 3. Fluctuation range statistics: max_I(R), min_I(R), mean_I(R), std_I(R), cv_I(R)

[0221] 4. Linear regression coefficients: a_I,R,b_I,R

[0222] 5. Second-order polynomial regression coefficients: a_0,I,R,a_1,I,R,a_2,I,R

[0223] This data vector forms a time series data describing the dynamic changes of gait, with each dimension corresponding to a specific indicator or feature. Through this data, we can fully understand the changes in students' performance throughout the running process, including how they cope with the challenges of different running phases, how they adjust their techniques to adapt to speed changes, and the impact of fatigue on their performance.

[0224] Step S160, performing a joint analysis of the time series data in the time and frequency domains to extract the dynamic characteristic spectrum of the student's gait; the dynamic characteristic spectrum includes key frequency components and time-varying patterns.

[0225] In one example, the steps of performing a joint analysis of time series data in the time and frequency domains to extract the dynamic characteristic spectrum of the student's gait include the following steps: performing a short-time Fourier transform on the time series data to obtain a time-varying power spectral density; modulating the time-varying power spectral density using a rate of change; normalizing the modulated time-varying power spectral density using a fluctuation range; constructing a time-varying baseline using a linear regression coefficient and a second-order polynomial regression coefficient; based on the time-varying baseline, performing peak detection on the normalized time-varying power spectral density in the frequency dimension to construct a frequency trajectory; and performing a time-frequency clustering analysis on the frequency trajectory using a density peak clustering algorithm to obtain key frequency components.

[0226] 1 The analysis process first applies short-time Fourier transform (STFT) to the key gait indicators I(t,R) in each time series data. These indicators include step length, step frequency, support time ratio, vertical displacement and joint motion angle, which together describe the core characteristics of gait. The implementation of STFT uses the Hanning window function, and the window size is set to 10% of the data length. The choice of this window size strikes a balance between time resolution and frequency resolution. The overlap rate of adjacent windows is set to 50%. This high overlap rate ensures the capture of signal continuity and reduces information loss. Through STFT, the time-varying power spectral density TPSD_I(t,f,R) is obtained, where t represents time, f represents frequency, and R represents the evaluation area. TPSD_I(t,f,R) shows the distribution of signal energy in the time-frequency plane.

[0227] In order to highlight the time periods when key gait indicators change significantly, the system modulates TPSD using the rate of change rate_I(R). The modulated TPSD calculation formula is: TPSD_mod_I(t,f,R)=TPSD_I(t,f,R)*(1+|rate_I(R)|). This modulation method enhances the energy performance of the area with drastic changes, making important gait change features easier to identify in subsequent analysis. This step highlights those time periods that may reflect gait abnormalities or special patterns.

[0228] Next, the modulated TPSD is normalized using the obtained fluctuation range statistics. The normalization formula is:

[0229] TPSD_norm_I(t,f,R)=(TPSD_mod_I(t,f,R)-min_I(R)) / (max_I(R)-min_I(R)+ε)*(1+(std_I(R) / mean_I(R))*(1+cv_I(R)))

[0230] Among them, min_I(R) and max_I(R) are the minimum and maximum values ​​of indicator I in region R, mean_I(R) is the mean, std_I(R) is the standard deviation, cv_I(R) is the coefficient of variation, and ε is a small positive number (such as 1e-5).

[0231] This normalization method takes into account not only the average level of the data, but also its dispersion and relative variability. This step makes the results between different indicators and assessment areas more comparable. The normalization process ensures that the TPSD values ​​are mapped to a standardized range while retaining the distribution characteristics of the original data, which is very important for subsequent frequency component comparison and identification.

[0232] Before performing frequency component analysis, the system also constructs a time-varying baseline using linear regression coefficients (a_I,R, b_I,R) and second-order polynomial regression coefficients (a_0,I,R, a_1,I,R, a_2,I,R). The time-varying baseline is calculated as: Baseline_I(t,R)=a_0,I,R+a_1,I,R*t+a_2,I,R*t^2. This baseline reflects the overall trend of gait metrics, including possible linear and nonlinear trends. By calculating the deviation of the signal from its baseline: Dev_I(t,R)=I(t,R)-Baseline_I(t,R), the system highlights short-term fluctuations and abnormal patterns. This step is important for identifying key frequency components and time-varying patterns because it separates periodic components and random fluctuations in the signal.

[0233] 2 Extraction of key frequency components: The system first performs peak detection on the normalized TPSD_norm_I(t,f,R) in the frequency dimension, using an adaptive threshold method with the threshold set to 1.5 times the local TPSD mean. The system calculates the local TPSD mean in a sliding window, and the window size is usually set to 10% of the total frequency range. The detected peak frequencies constitute the frequency track f_track_I(t,R).

[0234] Next, the system performs a time-frequency clustering analysis on f_track_I(t,R), for example, using a density peak clustering algorithm (DensityPeakClustering) to obtain key frequency components.

[0235] In one example, a density peak clustering algorithm is used to perform time-frequency clustering analysis on the frequency trajectory, and the step of obtaining key frequency components includes the steps of: calculating the local density of the data point in the frequency trajectory and the distance to other data points whose local density is greater than the local density of the data point; determining whether the local density of the data point is a maximum value, and if so, obtaining the maximum distance in the distance as a distance parameter; otherwise, obtaining the minimum distance in the distance corresponding to the data point as a distance parameter, performing clustering processing according to the local density and the distance parameter, and obtaining the key frequency components.

[0236] First, the system calculates the local density of each data point and the distance from the data point to the high-density point. For each data point i, its local density ρi is determined by counting the number of points whose distance to other points is less than a preset threshold dc. The distance calculation takes into account the two dimensions of time and frequency, using the Euclidean distance as the similarity measure. Specifically, for points i and j, their distance dij is calculated as follows:

[0237] dij=sqrt((ti-tj)^2+α(fi-fj)^2)

[0238] where ti and fi are the time and frequency coordinates of point i, respectively, and α is a weight coefficient used to balance the importance of the time and frequency dimensions.

[0239] Then, the system calculates the minimum distance δi from each data point to the data point with higher local density than it. For the point with the highest local density, its δi is set to the maximum distance value. The calculation formula of δi is as follows:

[0240] δi=min(dij),foralljwhereρj>ρiIf there is no point where ρj>ρi, then δi=max(dij)

[0241] Next, the system identifies cluster centers by analyzing the distribution of ρi and δi. The specific method is to draw a ρi-δi decision diagram and select points with high ρi and δi values ​​as cluster centers. These points are usually in the upper right corner of the decision diagram. The system can automatically select cluster centers or allow users to select them interactively.

[0242] After determining the cluster center, the system assigns the remaining points to the nearest cluster center. For each non-center point i, the system calculates its distance to all cluster centers and assigns it to the center with the shortest distance. This process can be expressed as:

[0243] cluster(i)=argmin(dic),forallclustercentersc

[0244] Where dic is the distance from point i to cluster center c.

[0245] The final clustering result is the key frequency component f_key_I(k,R), where k represents the kth key component.

[0246] In one example, the steps of performing a joint time-frequency domain analysis on time series data to extract a dynamic characteristic spectrum of a student's gait include: calculating the deviation of the time series data from a time-varying baseline, and performing a continuous wavelet transform on the deviation to obtain a wavelet coefficient matrix; performing a singular value decomposition on the wavelet coefficient matrix to obtain the time pattern and scale pattern corresponding to the first M singular values ​​from large to small, and combining the time pattern and scale pattern into a time-varying pattern.

[0247] Extraction of time-varying patterns: This process begins with a continuous wavelet transform (CWT) of the deviation of the time series data from the time-varying baseline, Dev_I(t,R). The Morlet wavelet is selected as the mother wavelet because it performs well in both time and frequency localization and can effectively capture the time-varying characteristics of the gait signal. The wavelet coefficient matrix obtained by CWT is represented as W_I(a,b,R), where a represents the scale and b represents the time position. This wavelet coefficient matrix contains rich time-scale information.

[0248] Next, the system performs singular value decomposition (SVD) on W_I(a,b,R): W_I=U_I*S_I*V_I^T. U_I and V_I contain left and right singular vectors, respectively, and S_I is a diagonal matrix of singular values. SVD decomposes complex time-frequency structures into a series of orthogonal products of time and frequency functions. The system selects the time-scale patterns corresponding to the first M largest singular values: Time_pattern_I(m,t,R)=U_I(:,m) and Scale_pattern_I(m,a,R)=V_I(:,m), m=1,2,...,M. The selection of M is based on the cumulative explained variance ratio, and the number of singular values ​​that can explain 90% of the variance is usually selected.

[0249] Here, Time_pattern_I(m,t,R) represents the Mth time pattern, which describes the changing pattern of gait characteristics over time. Each Time_pattern_I(m,t,R) is a time series that reflects the changing trend of a specific gait characteristic throughout the evaluation process. For example, a time pattern may show that the cadence gradually increases in the early stage of running, then remains stable in the middle stage, and finally increases again in the sprint stage.

[0250] Scale_pattern_I(m,a,R) represents the Mth scale pattern, which describes the distribution of gait features at different frequency scales. Each Scale_pattern_I(m,a,R) is a frequency distribution function that reflects the energy distribution of a specific gait feature at different frequency components. For example, a scale pattern may show that the step length is mainly concentrated in the low-frequency region, indicating that the step length changes relatively slowly, while another scale pattern may have significant energy in the high-frequency region, indicating that there is a rapid gait adjustment.

[0251] Time_pattern_I(m,t,R) and Scale_pattern_I(m,a,R) together form time-varying patterns, which reflect the dynamic changes of gait characteristics. By analyzing these time-varying patterns, we can capture the changing characteristics of gait in different time periods and frequency scales, such as gait stability, adaptability, and periodic changes.

[0252] Step S170, performing matching analysis according to the key frequency components, the time-varying patterns and the gait evaluation criteria corresponding to the evaluation area, and generating gait evaluation feedback.

[0253] In one example, matching analysis is performed based on key frequency components, time-varying patterns, and gait evaluation standards corresponding to the evaluation area to generate gait evaluation feedback, including the following steps: calculating the average stride length and average cadence corresponding to the evaluation area; respectively calculating the first deviation percentage between the average stride length and the ideal stride length in the gait evaluation standard, and the second deviation percentage between the average cadence and the ideal cadence in the gait evaluation standard; using linear regression to calculate the slope of the time-varying pattern to obtain the changing trend of the stride length and cadence in the evaluation area; based on the time-varying pattern, calculating the standard deviation of the stride length and cadence, and according to the standard deviation and the preset fluctuation range, Determine gait stability; calculate the average speed based on the average stride length and the average cadence, calculate the ideal speed based on the ideal stride length and the ideal cadence, obtain the difference percentage between the average speed and the ideal speed, and determine gait coordination based on the difference percentage; identify abnormal situations where the average stride length and the average cadence exceed the abnormal threshold; analyze the first matching degree of the time-varying pattern and the second matching degree of the scale pattern, and obtain the overall matching score based on the first matching degree and the second matching degree; generate gait evaluation feedback based on the first deviation percentage, the second deviation percentage, the change trend, gait stability, gait coordination, abnormal situations and the overall matching score.

[0254] 1. Analysis of stride length and frequency:

[0255] The analysis begins by calculating the average stride length and stride frequency for each evaluation area:

[0256] I(R)=mean(1 / f_key_I(k,R)) when I represents the step size

[0257] I(R)=mean(f_key_I(k,R)) when I represents the step frequency

[0258] This calculation process is performed for each evaluation area R to obtain the average step length and average step frequency of the area. For the step length, the inverse of the key frequency component f_key_I(k,R) is taken to get the actual value.

[0259] Next, the system calculates the deviation percentage between the actual value and the ideal value (including the first deviation percentage and the second deviation percentage):

[0260] Dev_I(R)=(I(R)-I_ideal(R)) / I_ideal(R)*100%

[0261] I_ideal(R) represents the ideal index value set for each region R in step 2, including the ideal step length SL_ideal(R) and the ideal step frequency SF_ideal(R). This calculation can intuitively show the gap between the actual gait and the ideal state. A positive value indicates that it is higher than the ideal value, and a negative value indicates that it is lower than the ideal value.

[0262] Finally, the system analyzes the changing trends of stride length and stride frequency:

[0263] Trend_I(R)=slope(Time_pattern_I(m,t,R))

[0264] Linear regression is used here to calculate the slope of the time-varying pattern and derive the changing trend of stride length and cadence in each area. A positive slope indicates an increasing trend, a negative slope indicates a decreasing trend, and a slope close to 0 indicates stability. This analysis process not only provides the static average of stride length and cadence, but also reflects the gap from the ideal state through deviation analysis, and captures the dynamic change characteristics through trend analysis.

[0265] Feedback example: Your cadence is slightly lower in the start zone (-5.88%), but is increasing, indicating good acceleration. Your stride length is close to ideal. You perform well in the mid-range and sprint zones. Slightly increase your start stride length. Overall gait control is good, and only minor adjustments to the start are needed.

[0266] 2. Gait stability assessment:

[0267] This analysis first calculates the standard deviation of stride length and stride frequency, reflecting their degree of fluctuation:

[0268] Std_I(R)=std(Time_pattern_I(m,t,R))

[0269] The standard deviation is calculated using all time points of the time-varying pattern and reflects the degree of variability in stride length and frequency across the region. A smaller standard deviation indicates a more stable gait.

[0270] The system then sets an allowable fluctuation range, usually 10% of the ideal value:

[0271] Var_allowed_I(R)=I_ideal(R)*0.1

[0272] This setting is based on experience, and it is considered that a 10% fluctuation is within the normal range. The system will compare the actual standard deviation with this fluctuation range to determine the gait stability.

[0273] The gait stability assessment not only looks at the overall degree of fluctuation, but also analyzes the pattern of fluctuations. For example, the system checks whether there are periodic fluctuations, which may indicate certain technical problems or physical limitations. In addition, the system evaluates the relationship between stride length and stride rate fluctuations, because these two parameters usually compensate for each other. For example, if stride rate decreases when stride length increases, it may indicate that the runner is trying to maintain a constant speed.

[0274] Feedback example: Stability of cadence is good in most areas. Stride length fluctuates slightly in the mid-distance area, especially in the 3:30-4:00 section. This may be due to fatigue or distraction. It is recommended to practice fixed-distance running (400 meters 2-3 times a week), focusing on maintaining consistent stride length. Pay attention to staying focused on long runs and avoid sudden changes in rhythm.

[0275] 3. Gait coordination assessment:

[0276] This analysis first calculates the difference between the actual speed and the ideal speed:

[0277] Speed_diff(R)=(SL(R)*SF(R))-(SL_ideal(R)*SF_ideal(R))

[0278] Where SL(R) and SF(R) are the average step length and average step frequency extracted in step 6. Ideally, Speed_diff(R) should be close to 0.

[0279] Then, calculate the relative percentage of this difference:

[0280] Rel_diff(R)=Speed_diff(R) / (SL_ideal(R)*SF_ideal(R))*100%

[0281] The relative difference can better reflect the severity of coordination problems and facilitate cross-regional comparison.

[0282] The gait coordination assessment not only focuses on the matching of speed, but also analyzes the dynamic relationship between stride length and stride frequency. The system checks whether these two parameters change in an ideal ratio, especially during speed changes. For example, during the acceleration phase, the system evaluates whether the increase in stride length and stride frequency is coordinated. In addition, the system also analyzes the stability of the stride length-stride frequency ratio, because maintaining a relatively stable ratio usually means higher running efficiency.

[0283] Feedback result example: Most of the running distance has good coordination between stride length and frequency, with speed difference <3%. The difference in the sprint zone increases to 7%, and the high-speed coordination decreases slightly. It is recommended to add speed running training (1-2 times a week, 6-8 sets of 30-second progressive acceleration runs) to practice maintaining the ideal stride length and frequency ratio at high speed.

[0284] 4. Abnormal data segment identification:

[0285] This analysis first sets abnormal thresholds for stride length and cadence:

[0286] Threshold_I(R)=I_ideal(R)*0.15

[0287] The threshold is set to 15% of the ideal value, and this ratio can be adjusted according to specific needs.

[0288] Then, identify outliers that exceed the threshold:

[0289] Anomaly_I(R)={t||Time_pattern_I(m,t,R)-I_ideal(R)|>Threshold_I(R)}

[0290] This process marks all time points where the threshold is exceeded.

[0291] To identify persistent abnormal segments, the system looks for consecutive abnormal points to summarize the abnormal conditions:

[0292] Anomaly_segment(R)={[t_start,t_end]|all t∈[t_start,t_end] are anomalies and their duration is >5 seconds}

[0293] This allows short-term fluctuations to be filtered out, focusing on persistent anomalies.

[0294] Feedback result example: There is a significant abnormal section between 3:30 and 4:00 in the middle distance zone, and the cadence is continuously lower than the ideal value by more than 15%. This may be due to fatigue or distraction. It is recommended to review the running status of this section and analyze the reasons. Interval training (6-8 sets of 400 meters once every two weeks) is recommended to improve gait stability under fatigue.

[0295] 5. Overall matching evaluation:

[0296] The analysis first calculates the matching degree of the time-varying pattern:

[0297] Match_time(R)=1-mean(|Dev_SL(R)|+|Dev_SF(R)|) / 2

[0298] This reflects how closely the patterns of stride length and cadence over time are to the ideal.

[0299] Then calculate the energy distribution of the scale pattern: Energy_dist(R)=sum(Scale_pattern_I(m,a,R)^2) This represents the energy distribution of gait at different frequency scales.

[0300] Then calculate the matching degree of the scale mode:

[0301] Match_scale(R)=1-|Energy_dist(R)-Energy_dist_ideal(R)| / Energy_dist_ideal(R)

[0302] Where Energy_dist_ideal(R) represents the energy distribution of the ideal gait in region R.

[0303] Finally, calculate the overall match score:

[0304] Overall_match(R)=(Match_time(R)+Match_scale(R)) / 2*100

[0305] This score takes into account the degree of match in both time and frequency dimensions.

[0306] The overall match assessment not only provides a composite score, but also provides in-depth analysis of the contributions of different frequency components. The system identifies which frequency components differ most from the ideal state, which helps to pinpoint gait features that need improvement. For example, if the low-frequency components are poorly matched, it may mean that the overall gait rhythm needs to be adjusted; while the mismatch of high-frequency components may indicate some subtle technical problems.

[0307] Feedback result example: Overall match score 85 points, good level. Time-varying pattern match score 88 points, showing good control of step length and frequency in each stage. Scale pattern match score 82 points, gait efficiency can be improved in some frequency ranges. Rhythm running training is recommended (twice a week, 20-30 minutes, with the help of a metronome) to improve gait consistency and rhythm. Continuous training should significantly improve gait fluency and efficiency.

[0308] Based on the above analysis, the improvement plan includes: strengthening starting training, fixed-distance running exercises, speed running training, interval training and rhythm running training. It is recommended to re-evaluate after 4-6 weeks and continue to optimize the training plan. Remember, improving running techniques requires patience and continuous practice. If you feel uncomfortable, please make adjustments in time or consult a professional coach.

[0309] The present application comprises the following steps: based on the evaluation area, matching and classifying the discretized gait data sequence to obtain a gait data subset corresponding to the evaluation area; dynamically adjusting the gait data subset, identifying the boundary points of the gait cycle in the gait data subset, and obtaining virtual sampling points based on the boundary points of the gait cycle; comparing the actual end position sampling point and the virtual sampling point to obtain the correction amount, and optimizing the gait data subset based on the correction amount to obtain the optimized gait data subset; extracting the key gait indicators corresponding to the evaluation area from the optimized gait data subset; performing time series analysis on the key gait indicators to obtain time series data; performing a joint analysis of the time series data in the time and frequency domains to extract the dynamic characteristic spectrum of the student's gait; the dynamic characteristic spectrum includes key frequency components and time-varying patterns; performing matching analysis based on the key frequency components, the time-varying patterns and the gait evaluation criteria corresponding to the evaluation area to generate gait evaluation feedback. This application uses advanced computer vision technology to conduct a detailed analysis of students' running process; it can automatically capture students' continuous motion data while running, extract key gait indicators, and process and analyze data through complex algorithms; it can automatically detect and diagnose problems in running gait, and provide each student with personalized, intuitive and quantitative feedback.

[0310] This application's comprehensive and dynamic gait analysis: This solution achieves high-precision dynamic analysis of the entire running process through high-speed camera acquisition and innovative data processing procedures. From gait cycle recognition to time series analysis, the system can capture subtle gait changes and long-term evolution trends. For example, it can accurately track the dynamic changes in stride frequency and stride length during a 400-meter run, and identify subtle changes caused by fatigue or technical adjustments. This comprehensive and dynamic analysis provides coaches and athletes with in-depth insights, significantly improving the relevance and effectiveness of training.

[0311] Highly personalized assessment and feedback for this application: The program is personalized in multiple aspects, including regional division based on individual characteristics, standard setting, and intelligent matching analysis. The system integrates static characteristics (such as height and weight) and dynamic performance to generate tailored assessments and suggestions for each student. For example, for students with a higher BMI, the system not only adjusts the ideal step length and step frequency standards, but also provides targeted suggestions based on their performance at different stages, such as optimizing starting strategies or mid-range rhythm control. This ensures that every student can get the scientific training guidance that best suits them.

[0312] This application innovates data processing technology: the solution introduces a progressive dynamic correction algorithm and density peak clustering analysis. The former achieves data smoothing optimization through virtual sampling points and weight functions to ensure data continuity; the latter can automatically extract key frequency components from complex time-frequency data to reveal the periodic characteristics and biomechanical patterns of gait. These technologies enable the system to identify complex gait patterns that are difficult to capture with traditional methods, such as small fluctuations in gait frequency, thereby predicting potential technical problems or impending fatigue. This not only improves the accuracy of data processing, but also provides new analysis tools and perspectives for gait research and sports training.

[0313] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0314] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 2 As shown. The computer device includes a processor, a memory, a network interface and a database connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as gait data sequences and gait data subsets. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a computer vision-based intelligent matching gait evaluation method is implemented.

[0315] Those skilled in the art will understand that Figure 2 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0316] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0317] Based on the evaluation area, the discretized gait data sequence is matched and classified to obtain the gait data subset corresponding to the evaluation area; the evaluation area is the result of dividing the running process into regions based on the student's physical characteristics; the gait data sequence is obtained by digitally converting the continuous motion data of the student's running process recorded by a high-speed camera;

[0318] Dynamically adjust the gait data subset, identify the boundary points of the gait cycle in the gait data subset, and obtain virtual sampling points according to the boundary points of the gait cycle; the boundary points include actual end position sampling points;

[0319] Compare the actual end position sampling point and the virtual sampling point to obtain a correction amount, and optimize the gait data subset based on the correction amount to obtain an optimized gait data subset;

[0320] Extracting key gait indicators corresponding to the evaluation area from the optimized subset of gait data, the key gait indicators include step length, step frequency, support time ratio, vertical displacement and joint motion angle;

[0321] Perform time series analysis on key gait indicators to obtain time series data; the time series data includes key gait indicators and the change rate, fluctuation range and long-term trend characteristics of the students' gait corresponding to the assessment area;

[0322] Perform a joint analysis of the time series data in the time and frequency domains to extract the dynamic characteristic spectrum of the students' gait; the dynamic characteristic spectrum includes key frequency components and time-varying patterns;

[0323] According to the gait assessment criteria corresponding to the key frequency components, time-varying patterns and assessment areas, a matching analysis is performed to generate gait assessment feedback.

[0324] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0325] Based on the evaluation area, the discretized gait data sequence is matched and classified to obtain the gait data subset corresponding to the evaluation area; the evaluation area is the result of dividing the running process into regions based on the student's physical characteristics; the gait data sequence is obtained by digitally converting the continuous motion data of the student's running process recorded by a high-speed camera;

[0326] Dynamically adjust the gait data subset, identify the boundary points of the gait cycle in the gait data subset, and obtain virtual sampling points according to the boundary points of the gait cycle; the boundary points include actual end position sampling points;

[0327] Compare the actual end position sampling point and the virtual sampling point to obtain a correction amount, and optimize the gait data subset based on the correction amount to obtain an optimized gait data subset;

[0328] Extracting key gait indicators corresponding to the evaluation area from the optimized subset of gait data, the key gait indicators include step length, step frequency, support time ratio, vertical displacement and joint motion angle;

[0329] Perform time series analysis on key gait indicators to obtain time series data; the time series data includes key gait indicators and the change rate, fluctuation range and long-term trend characteristics of the students' gait corresponding to the assessment area;

[0330] Perform a joint analysis of the time series data in the time and frequency domains to extract the dynamic characteristic spectrum of the students' gait; the dynamic characteristic spectrum includes key frequency components and time-varying patterns;

[0331] According to the gait assessment criteria corresponding to the key frequency components, time-varying patterns and assessment areas, a matching analysis is performed to generate gait assessment feedback.

[0332] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0333] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0334] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be construed as limiting the scope of the patent application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent application shall be subject to the attached claims.

Claims

1. An intelligent matching gait assessment method based on computer vision, characterized in that: The following steps are involved: Based on the evaluation area, the discretized gait data sequence is matched and classified to obtain a gait data subset corresponding to the evaluation area; the evaluation area is the result of dividing the running process into regions based on the student's physical characteristics; the gait data sequence is obtained by digitally converting the continuous motion data of the student's running process recorded by a high-speed camera; Dynamically adjusting the gait data subset, identifying the boundary points of the gait cycle in the gait data subset, and acquiring virtual sampling points according to the boundary points of the gait cycle; The boundary points include actual end position sampling points; Comparing the actual end position sampling point with the virtual sampling point to obtain a correction amount, and optimizing the gait data subset based on the correction amount to obtain an optimized gait data subset; Extracting key gait indicators corresponding to the evaluation area from the optimized subset of gait data, the key gait indicators including step length, step frequency, support time ratio, vertical displacement and joint motion angle; Performing time series analysis on the key gait indicators to obtain time series data; the time series data includes the key gait indicators and the change rate, fluctuation range and long-term trend characteristics of the student's gait corresponding to the evaluation area; Performing a joint analysis of the time series data in the time and frequency domains to extract a dynamic characteristic spectrum of the student's gait; the dynamic characteristic spectrum includes key frequency components and time-varying patterns; Perform matching analysis according to the key frequency components, the time-varying pattern and the gait assessment criteria corresponding to the assessment area to generate gait assessment feedback; Among them, the step of performing matching analysis according to the key frequency components, the time-varying pattern and the gait assessment criteria corresponding to the assessment area to generate gait assessment feedback includes the steps of: Calculate the average step length and average step frequency corresponding to the evaluation area; Calculating respectively a first deviation percentage between the average step length and the ideal step length in the gait evaluation standard, and a second deviation percentage between the average step frequency and the ideal step frequency in the gait evaluation standard; Using linear regression to calculate the slope of the time-varying pattern, and obtaining the changing trend of the step length and the step frequency in the evaluation area; Based on the time-varying pattern, calculating the standard deviation of the step length and the step frequency, and judging the gait stability according to the standard deviation and a preset fluctuation range; Calculating an average speed according to the average step length and the average step frequency, calculating an ideal speed according to the ideal step length and the ideal step frequency, obtaining a difference percentage between the average speed and the ideal speed, and determining gait coordination according to the difference percentage; Identifying an abnormal situation in which the average step length and the average step frequency exceed an abnormal threshold; Analyzing a first matching degree of the time-varying pattern and a second matching degree of the scale pattern, and acquiring an overall matching score according to the first matching degree and the second matching degree; the scale pattern is used to describe the distribution of gait characteristics at different frequency scales; The gait assessment feedback is generated according to the first deviation percentage, the second deviation percentage, the change trend, the gait stability, the gait coordination, the abnormal situation and the overall matching score.

2. The computer vision-based intelligent matching gait assessment method according to claim 1, characterized in that: Based on the evaluation area, the discretized gait data sequence is matched and classified to obtain a gait data subset corresponding to the evaluation area, including the steps of: Mapping the three-dimensional spatial data of the joint points in the gait data sequence onto a two-dimensional runway plane to obtain two-dimensional motion trajectory data; Smoothing the two-dimensional motion trajectory data to obtain two-dimensional motion trajectory smoothed data; Calculating the student's cumulative distance according to the smoothed data corresponding to the first reference point of the student in the two-dimensional motion trajectory smoothed data; the first reference point is the hip center; According to the accumulated distance and the end position corresponding to the evaluation area, determining the area to which the gait data corresponding to each time point in the gait data sequence belongs; Based on the above judgment result, the gait data sequence is divided into the gait data subsets.

3. The computer vision-based intelligent matching gait assessment method according to claim 1, characterized in that: The step of dynamically adjusting the gait data subset, identifying the boundary points of the gait cycle in the gait data subset, and acquiring virtual sampling points according to the boundary points of the gait cycle includes the steps of: Processing the gait data subset to obtain two-dimensional motion trajectory smoothing data corresponding to the gait data subset; Calculate the vertical distance and horizontal speed of the second reference point according to the smooth data corresponding to the second reference point in the two-dimensional motion trajectory smooth data, and take the time point corresponding to the vertical distance being the minimum and the horizontal speed being reduced as the potential landing moment; Calculating the time intervals between adjacent potential landing moments, and taking one of the potential landing moments corresponding to a preset period where the time interval is smaller than that as a boundary point of the gait cycle; Based on the boundary points of the gait cycle, the virtual sampling point is calculated and added between the last actual sampling point of the current cycle and the starting point of the next cycle in the gait cycle by using an interpolation method.

4. The computer vision-based intelligent matching gait assessment method according to claim 1, characterized in that: The step of comparing the actual end position sampling point with the virtual sampling point to obtain a correction amount, and optimizing the gait data subset based on the correction amount to obtain the gait data optimized subset includes the steps of: Respectively calculating the vertical difference between the joint point in the actual end position sampling point and the joint point in the virtual sampling point in the vertical direction, and the horizontal difference in the horizontal direction; Based on the vertical difference, the horizontal difference and the weight function, the gait data subset is optimized to obtain the gait data optimized subset; The weight function is obtained according to the actual starting position sampling point and the actual ending position sampling point of the boundary point.

5. The computer vision-based intelligent matching gait assessment method according to claim 1, characterized in that: The step of performing a time-frequency domain joint analysis on the time series data to extract the dynamic characteristic spectrum of the student's gait includes the following steps: Performing short-time Fourier transform on the time series data to obtain a time-varying power spectral density; Modulating the time-varying power spectral density using the rate of change; Using the fluctuation range to normalize the modulated time-varying power spectrum density; The time-varying baseline was constructed using linear regression coefficients and second-order polynomial regression coefficients; Based on the time-varying baseline, peak detection is performed on the normalized time-varying power spectrum density in the frequency dimension to construct a frequency trajectory; A density peak clustering algorithm is used to perform time-frequency clustering analysis on the frequency trajectory to obtain the key frequency components.

6. The computer vision-based intelligent matching gait assessment method according to claim 5, characterized in that: The step of performing time-frequency clustering analysis on the frequency trajectory using a density peak clustering algorithm to obtain the key frequency components includes the following steps: Calculating a local density of a data point in the frequency trajectory and a distance to other data points with a local density greater than the local density of the data point; Determine whether the local density of the data point is a maximum value. If it is a maximum value, obtain the maximum distance in the distances as a distance parameter. Otherwise, obtain the minimum distance in the distances corresponding to the data point as a distance parameter. Clustering is performed according to the local density and the distance parameter to obtain the key frequency component.

7. The computer vision-based intelligent matching gait assessment method according to claim 5, characterized in that: The step of performing a time-frequency domain joint analysis on the time series data to extract the dynamic characteristic spectrum of the student's gait includes the following steps: Calculating the deviation between the time series data and the time-varying baseline, and performing continuous wavelet transform on the deviation to obtain a wavelet coefficient matrix; Perform singular value decomposition on the wavelet coefficient matrix to obtain the time pattern and scale pattern corresponding to the first M singular values ​​from large to small, and combine the time pattern and the scale pattern into a time-varying pattern.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Automatic identification method for landing moment of standing long jump based on optical flow analysis

    CN118735966A

  • System and method for human gait analysis

    US20210275107A1