Methods and apparatus for determining the standing long jump distance
By acquiring and evaluating the target posture during the standing long jump using an edge computing server, and utilizing a standing long jump mat marked with distance scale lines, the problems of low efficiency and poor accuracy in standing long jump distance calculation are solved, achieving efficient and stable distance determination.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-08
- Publication Date
- 2026-04-03
AI Technical Summary
In existing technologies, the calculation methods for standing long jump distance are time-consuming and inaccurate.
Video frames are acquired by an edge computing server, the target posture within the motion area is identified, and an evaluation is performed using a standing long jump mat marked with distance scale lines to determine the position information of the moving target, thereby calculating the standing long jump distance.
It improves the efficiency and accuracy of calculating the standing long jump distance, ensuring that the long jump distance of the moving target can be determined stably and accurately when the target posture is qualified.
Smart Images

Figure CN115719511B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence technology, and in particular to a method and apparatus for determining the distance of a standing long jump. Background Technology
[0002] In the process of teaching and learning the standing long jump, the entire movement of the standing long jump is generally broken down into the preparatory phase, the take-off phase, the flight phase, and the landing phase, and each phase has certain movement specifications.
[0003] When the entire movement of the standing long jump meets the exercise specifications, it is necessary to determine the long jump distance. In the existing technology, image recognition and proportional conversion are usually used to calculate the long jump distance. However, this method has the problems of long processing time and inaccurate calculation. Summary of the Invention
[0004] In view of this, in order to solve the technical problems of calculating the long jump distance by using image recognition and proportional conversion, which has the problems of long processing time and inaccurate calculation, this application provides a method and apparatus for determining the standing long jump distance.
[0005] In a first aspect, embodiments of this application provide a method for determining the standing long jump distance, applied to an edge computing server, the method comprising:
[0006] Acquire video frames, and acquire the target posture of the moving target in the standing long jump movement process within a preset motion area based on the video frames, wherein the preset motion area includes a standing long jump mat marked with distance scale lines;
[0007] The target pose is evaluated to obtain the evaluation result;
[0008] If the target posture is deemed acceptable based on the evaluation results, the position information of the moving target on the standing long jump mat is determined.
[0009] The standing long jump distance of the moving target is determined based on the location information.
[0010] Secondly, embodiments of this application provide a device for determining the standing long jump distance, applied to an edge computing server, the device comprising:
[0011] The target posture acquisition module is used to acquire video frames and acquire the target posture of the moving target in the standing long jump movement process within a preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0012] The evaluation module is used to evaluate the target pose and obtain the evaluation result;
[0013] The position information determination module is used to determine the position information of the moving target on the standing long jump mat when the target posture is deemed qualified based on the evaluation result.
[0014] The standing long jump distance determination module is used to determine the standing long jump distance of the moving target based on the location information.
[0015] Thirdly, embodiments of this application provide an electronic device, including: a processor and a memory, wherein the processor is configured to execute a program for determining the standing long jump distance stored in the memory, so as to implement the method for determining the standing long jump distance as described in the first aspect.
[0016] Fourthly, embodiments of this application provide a storage medium storing one or more programs, which can be executed by one or more processors to implement the method for determining the standing long jump distance as described in the first aspect.
[0017] The technical solution provided in this application involves acquiring video frames, obtaining the target posture of a moving target during a standing long jump within a preset motion area based on the video frames, wherein the preset motion area includes a standing long jump mat marked with distance scale lines; evaluating the target posture to obtain an evaluation result; determining the target's position information on the standing long jump mat if the evaluation result indicates that the target posture is acceptable; and determining the standing long jump distance of the moving target based on the position information. Therefore, it is possible to determine the position information of the moving target on the standing long jump mat when the target posture is acceptable. Since the position of the standing long jump mat is determined, the standing long jump distance determined by the target's position information on the standing long jump mat is more efficient, stable, and accurate. Attached Figure Description
[0018] Figure 1 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment;
[0019] Figure 2 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0020] Figure 3 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0021] Figure 4 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0022] Figure 5A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0023] Figure 6 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0024] Figure 7 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0025] Figure 8 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0026] Figure 9 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0027] Figure 10 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0028] Figure 11 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0029] Figure 12 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0030] Figure 13 A schematic diagram illustrating the implementation process of a method for determining the distance scale line on a standing long jump mat, provided in an embodiment of this application;
[0031] Figure 14 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment;
[0032] Figure 15 A schematic diagram of key points of the human skeleton provided in an embodiment of this application;
[0033] Figure 16 This is a schematic diagram of the core architecture of the HRNet algorithm provided in an embodiment of this application;
[0034] Figure 17 A schematic diagram illustrating the phases of a standing long jump as provided in an embodiment of this application;
[0035] Figure 18 A schematic diagram of a standing long jump mat provided in an embodiment of this application;
[0036] Figure 19A schematic diagram of the structure of a standing long jump distance determination device provided in an embodiment of this application;
[0037] Figure 20 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0038] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are some embodiments of this application, but not all embodiments.
[0039] The steps of the standing long jump are as follows: Stand with your feet naturally apart, bend your knees into a half squat, swing your arms back, and lean your upper body slightly forward; then swing your arms forward quickly and push off the ground with your feet to jump forward and upward; then quickly tuck your abdomen in, bend your knees, bring your legs together, swing your arms back, extend your lower legs forward, land on your heels, move your upper body forward quickly, and swing your arms forward.
[0040] During the standing long jump, it is necessary to assess the athlete's target posture to ensure that the athlete's target posture meets the requirements of the standard posture, and to determine whether the athlete violates any rules during the standing long jump. If the athlete's target posture meets the requirements of the standard posture and the athlete does not violate any rules during the standing long jump, the athlete's standing long jump distance can be determined.
[0041] Figure 1 This application provides a schematic flowchart of a method for determining the standing long jump distance, applied to an edge computing server. The method may include the following steps:
[0042] S101: Acquire video frames and obtain the target posture of the moving target in the standing long jump movement process within the preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0043] In this embodiment, an edge computing server is used to detect the standing long jump distance of a moving target. First, the user needs to select a standing long jump detection mode. After entering this mode, video frames are acquired by a pre-set image acquisition device.
[0044] A pre-set image acquisition device acquires images of a pre-set motion area and obtains video frames. Based on the video frames, the target posture of the moving target in the standing long jump motion within the pre-set motion area is obtained. The pre-set motion area includes a standing long jump mat marked with distance scale lines.
[0045] The motion target is the target that performs a standing long jump within a preset motion area, and the target posture is the posture corresponding to the target action made by the motion target when performing the standing long jump.
[0046] S102: Evaluate the target attitude and obtain the evaluation results.
[0047] In this embodiment, the target posture is evaluated. Specifically, standard postures from a preset standard posture library are obtained, and the target posture is evaluated based on the standard postures to obtain an evaluation result. For example, the target posture is the target angle of various parts of the target body when performing a standing long jump, and the standard posture is the standard angle of various parts of the target body when performing a standing long jump. The target angle is evaluated based on the standard angles to obtain an evaluation result.
[0048] S103: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0049] In this embodiment of the application, the target posture is evaluated according to the standard posture as described above to obtain the evaluation result. It is necessary to determine whether the target posture is qualified based on the evaluation result. Preset requirements can be set, including the target posture being consistent with the standard posture, or the target posture meeting the requirements corresponding to the standard posture.
[0050] If the target posture meets the requirements of the standard posture, for example, the target posture is the angle corresponding to a certain body part of the moving target, and the standard posture is the standard angle corresponding to that body part of the moving target, set to 90°, and the angle requirement corresponding to the standard posture is [80°, 100°], then it is sufficient to satisfy the preset requirements as long as the angle corresponding to that body part of the moving target is between 80° and 100°.
[0051] In this embodiment of the application, the position information of the moving target on the standing long jump mat is determined and the position information of the moving target on the standing long jump mat is obtained, wherein the position information represents the relative position of the moving target on the standing long jump mat.
[0052] S104: Determine the standing long jump distance of the moving target based on the location information.
[0053] In this embodiment, the standing long jump distance of the moving target is determined based on the aforementioned determined position information. Scale lines representing the standing long jump distance are pre-marked on the standing long jump mat. The standing long jump distance of the moving target on the mat can be determined based on the position information combined with the distance scale lines.
[0054] Based on the above description of the technical solution provided in the embodiments of this application, this application first evaluates the target posture of the moving target within a preset motion area in the video frame based on the acquired video frame. If the target posture is deemed qualified based on the evaluation result, the position information of the moving target on the standing long jump mat is then determined, and the standing long jump distance of the moving target is determined based on the position information. Since the position of the standing long jump mat is determined, the position information of the moving target on the standing long jump mat is determined. Therefore, the standing long jump distance of the moving target can be directly determined based on the position information, making the determination of the standing long jump distance more efficient and more stable and accurate.
[0055] Figure 2 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0056] S201: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and identify the target in the video frames.
[0057] In this embodiment of the application, after acquiring the video frame, the standing long jump mat in the video frame is first identified, and then the preset motion area corresponding to the standing long jump mat is determined. Specifically, the preset motion area is the area above the standing long jump mat.
[0058] In this embodiment of the application, targets in video frames are determined, and the targets in video frames include all targets in the video frames detected by a preset target detection algorithm.
[0059] Object detection algorithms are used to locate the real-time position of objects. For example, the object detection algorithm uses YOLOv5s, which consists of four parts: input, backbone, neck, and prediction.
[0060] S202: If a target is detected to have entered a preset motion area, the target within the preset motion area is determined to be a moving target.
[0061] In this embodiment of the application, after the target in the video frame is determined by the target detection algorithm, the detected target is tracked by the target tracking algorithm. The target includes moving targets and non-moving targets. By tracking the target in real time, the target that enters the preset motion area is determined, and the target is determined to be a moving target in the preset area.
[0062] S203: For any video frame, obtain the skeletal key points of the moving target, and determine the center of gravity of the moving target based on the skeletal key points of the moving target.
[0063] In this embodiment of the application, after determining the moving target within the preset motion area, the skeletal key points of the moving target are obtained for any video frame.
[0064] In this embodiment of the application, the skeletal key points of the moving target can be obtained using a human skeletal key point detection model, which can be obtained in the following ways:
[0065] A preset number of standing long jump images are obtained. Skeletal key point annotation is used to annotate the skeletal key points of the moving target in the preset number of standing long jump images to obtain training samples for the human skeletal key point detection model. That is, for each standing long jump image, skeletal key points are annotated for the moving target.
[0066] For example, if 50,000 images of the standing long jump are acquired, skeletal keypoint annotation is used to annotate the skeletal keypoints of the moving target in the 50,000 images, resulting in the annotation of a total of 22 skeletal keypoints. These 22 skeletal keypoints can be numbered from 0 to 21, such as... Figure 15 As shown, Figure 15 This is a schematic diagram of key points of a human skeleton provided for an embodiment of this application. Specifically, the meaning of each key point is as follows: Figure 15 As shown (left and right are relative to each other) Figure 15 (Regarding the objects in the text): For example, key points include nose -0-nose, chin -1-chin, left eye -2-left eye, right eye -3-right eye, left ear -4-left ear, right ear -5-right ear, left shoulder -6-left shoulder, right shoulder -7-right shoulder, left elbow -8-left elbow, right elbow -9-right elbow, etc.
[0067] Based on the training samples of the human skeleton key point detection model, supervised training is performed on the preset initial human skeleton key point detection model to obtain the human skeleton key point detection model.
[0068] In this embodiment, considering the trade-off between accuracy and speed, the HRNet (High-Resolution Net) algorithm is selected for human skeleton key point detection.
[0069] The HRNet algorithm maintains high-resolution feature representation throughout its network structure, and its core architecture is as follows: Figure 16 As shown, Figure 16 This is a schematic diagram of the core architecture of an HRNet algorithm provided in an embodiment of this application.
[0070] In this embodiment, the center of gravity of the moving target is determined based on the skeletal key points of the moving target. Specifically, it can be calculated using the skeletal key points corresponding to the shoulder, hip, knee, and ankle of the moving target. It should be noted that the calculation of the center of gravity of the moving target is not performed for every video frame. It is only performed when the center of gravity of the moving target is required to determine the posture of the moving target. In this application, the calculation of the center of gravity is implemented in this way, and it will not be described in detail elsewhere.
[0071] S204: Determine the target posture during the standing long jump based on the key skeletal points and the target's center of gravity.
[0072] In the embodiments of this application, the motion posture of the target during the standing long jump can be determined based on the skeletal key points and the center of gravity of the target. Thus, the target posture of the target during the standing long jump can be determined based on the skeletal key points and the center of gravity of the target.
[0073] S205: Evaluate the target attitude and obtain the evaluation results.
[0074] S206: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0075] S207: Determine the standing long jump distance of the moving target based on the location information.
[0076] In the embodiments of this application, S205 to S207 have been described in detail in S102 to S104, and will not be repeated here.
[0077] Based on the above description of the technical solutions provided in the embodiments of this application, after acquiring a video frame, a preset motion region in the video frame is determined, and then the target in the video frame is identified. From the identified targets, the target that enters the preset motion region is determined and identified as the moving target. Then, the skeletal key points of the moving target are acquired for any video frame, and the target posture of the moving target is determined based on the skeletal key points and the body center of gravity of the moving target determined based on the skeletal key points. The processing efficiency is accelerated by using target detection algorithms, target tracking algorithms, and human skeletal key point detection models. Moreover, the human skeletal key point detection model adopts the HRNet algorithm, which takes into account both the accuracy and efficiency of skeletal key point detection.
[0078] Figure 3 A schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0079] S301: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and identify the target in the video frames.
[0080] S302: If a target is detected to have entered a preset motion area, the target within the preset motion area is determined to be a moving target.
[0081] S303: For any video frame, acquire the skeletal key points of the moving target, and determine the body center of gravity of the moving target based on the skeletal key points of the moving target.
[0082] In the embodiments of this application, S301 to S303 have been described in detail in S201 to S203, and will not be repeated here.
[0083] S304: When a moving target is detected to leave a preset movement area, the target time corresponding to the moving target is obtained, wherein the target time includes: preparation time, take-off time, and end time.
[0084] In this embodiment of the application, when the moving target is detected to have left the preset movement area, that is, after the moving target has completed the standing long jump, the key frames of the moving target's standing long jump are extracted based on the obtained standing long jump video of the moving target.
[0085] In this embodiment of the application, the target time corresponding to the moving target is obtained. The target time includes: preparation time, take-off time, and end time. The method for obtaining the target time is as follows:
[0086] The real-time position of a target can be obtained using target detection and tracking algorithms. This real-time position is determined by the detection bounding box corresponding to the target. The system then determines whether the target's real-time position meets preset criteria, specifically whether the target has entered a preset movement area. This can be achieved by determining if the target has entered a designated take-off area on the mat. Once the target is confirmed to have entered the preset movement area, and the time spent within this area reaches a preset preparatory judgment time, the end of that preparatory judgment time is designated as the preparatory time, and the target within the preset movement area is considered the moving target.
[0087] Upon entering the preparation phase, it is determined whether the target has taken off within the preset maximum preparation time. Specifically, the target's center of gravity is detected to determine whether it has crossed the take-off line on the standing long jump mat. If no jump is detected within the preset maximum preparation time, tracking and subsequent detection of the target cease. If a jump is detected within the preset maximum preparation time, the moment when the target's center of gravity crosses the take-off line on the standing long jump mat is defined as the take-off moment. It should be noted that the standing long jump in this application is performed on a standing long jump mat, on which the take-off line is pre-marked; details will not be elaborated here.
[0088] The maximum long jump time is preset, and the end time is determined to be the moment after the maximum long jump time from the start time.
[0089] The target moment can be acquired in real time when the moving target is performing a standing long jump and recorded in the memory. In step S303, for any video frame, the skeletal key points of the moving target are acquired, and the center of gravity of the moving target is determined based on the skeletal key points of the moving target. This process begins after the take-off moment is determined.
[0090] In this embodiment of the application, when the moving target is detected to leave the preset movement area, the target time corresponding to the moving target is obtained. Since the moving target may not have completed the entire standing long jump process, or the moving target may be blocked, resulting in not obtaining all the target times, if not all the target times are obtained, it is determined that the moving target has not completed the standing long jump movement, and the following process is no longer performed.
[0091] S305: Determine the target keyframes corresponding to the moving target based on the target time, the skeletal key points of the moving target and the center of gravity of the moving target. The target keyframes include: backswing keyframe, preswing keyframe, take-off keyframe, take-off keyframe and landing keyframe.
[0092] S306: Obtain the target pose of the moving target corresponding to the target keyframe.
[0093] The following provides a unified explanation of S305 and S306:
[0094] In this embodiment, a complete standing long jump motion of the moving target can be determined based on the target time. According to the target time, combined with the skeletal key points and the target's center of gravity, the target keyframes corresponding to the moving target can be determined. The target keyframes include: backswing keyframe, pre-swing keyframe, take-off keyframe, take-off keyframe, and landing keyframe. When evaluating the target posture of the moving target, the target keyframes are extracted, and the target posture of the moving target corresponding to the target keyframes is evaluated.
[0095] In this embodiment, according to the standard standing long jump, the process of a standing long jump is as follows: feet naturally apart, knees bent in a half-squat, arms swinging back, upper body slightly forward, then arms swinging forward rapidly, feet pushing off the ground to jump forward and upward, then quickly tucking in abdomen and bending knees, legs together, arms swinging back, lower legs extending forward, heels landing, upper body moving forward rapidly, arms swinging forward. In the standing long jump exercise module, the movement process is divided into four stages: preparatory swing stage, take-off stage, flight stage, and landing stage.
[0096] In this embodiment of the application, five target keyframes need to be extracted during the standing long jump. The definitions of each motion phase and the related keyframes and motion indicators are as follows:
[0097] Preparatory swing phase: Knees are bent, arms swing rhythmically back and forth, body extends, storing elastic potential energy. A keyframe needs to be extracted from this phase, namely the preparatory swing keyframe, defined as the frame where the sum of the reverse hip angle and knee angle is maximum when the arms are in the forward swing position. The relevant motion indicators include:
[0098] Reverse hip angle: The angle between the lines connecting the center of the shoulder joint and the center of the hip joint, and the center of the knee joint and the center of the hip joint, and this angle should be greater than 180°.
[0099] Knee angle: The angle between the lines connecting the center of the hip joint and the center of the knee joint, or the center of the ankle joint and the center of the knee joint.
[0100] Take-off phase: Arms swing forcefully forward and upward, legs push off the ground forward and upward, and the whole body fully extends. The take-off phase can be divided into the take-off squat phase and the take-off extension phase. Two keyframes need to be extracted for this phase: the backswing keyframe and the take-off keyframe. The backswing keyframe is defined as the frame where the arms reach their highest point during the take-off squat phase, and the relevant motion indicators include:
[0101] Reverse shoulder angle during takeoff: The angle between the center of the elbow joint and the center of the shoulder joint, and the line connecting the center of the hip joint and the center of the shoulder joint when the arm swings back to its highest position.
[0102] Hip angle during takeoff: the angle between the center of the shoulder joint and the center of the hip joint, and the center of the knee joint and the center of the hip joint, when the arm swings back to its highest position.
[0103] Knee angle during takeoff: The angle between the center of the hip joint and the center of the knee joint, and the line connecting the center of the ankle joint and the center of the knee joint when the arm swings back to its highest position.
[0104] Ankle angle during takeoff: The angle between the knee joint and the center of the lateral ankle joint, and the line connecting the toe and the center of the lateral ankle joint when the arm swings back to its highest position.
[0105] The takeoff keyframe is defined as the frame corresponding to the instant of push-off from the ground during the takeoff extension phase, and the relevant motion metrics are:
[0106] Takeoff angle: The angle between the line connecting the center of gravity and the toes at the moment of takeoff and the horizontal line.
[0107] Forward tilt angle: The angle between the center of the hip joint and the center of the shoulder joint and the vertical line at the moment of push-off.
[0108] Airborne Phase: Arms swing rhythmically from bottom to back, legs move forward and upward, knees bend. A keyframe needs to be extracted from this phase, defined as the frame at which the maximum height is reached during the jump. The relevant motion metrics are:
[0109] Height in mid-air: The height difference between the hip joint position at the highest point of flight and the hip joint position when standing naturally.
[0110] Landing Phase: Heels touch the ground first, arms swing forward to accelerate forward movement. A keyframe needs to be extracted for this phase, the landing keyframe, defined as the frame corresponding to the instant of landing, at which point both feet should be fully in contact with the ground. The relevant motion metrics are:
[0111] Landing shoulder angle: The angle between the center of the elbow joint and the center of the shoulder joint, and the line connecting the center of the hip joint and the center of the shoulder joint at the moment of landing.
[0112] In this embodiment, the definition of target keyframes has been explained above, and the target pose of the moving target corresponding to each target keyframe is the motion index involved in each target keyframe. The specific correspondence between each stage and each target keyframe, and the motion index involved in each target keyframe, are as follows: Figure 17 As shown, Figure 17 This is a schematic diagram of the standing long jump phase provided in an embodiment of this application, wherein Figure (a) is a schematic diagram of the pre-swing keyframe, Figure (b) is a schematic diagram of the backswing keyframe, Figure (c) is a schematic diagram of the take-off keyframe, Figure (d) is a schematic diagram of the take-off keyframe, and Figure (e) is a schematic diagram of the landing keyframe.
[0113] S307: Evaluate the target attitude and obtain the evaluation results.
[0114] S308: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0115] S309: Determine the standing long jump distance of the moving target based on the location information.
[0116] In the embodiments of this application, S307 to S309 have been described in detail in S102 to S104, and will not be repeated here.
[0117] Based on the above description of the technical solutions provided in the embodiments of this application, in this application, after the standing long jump is completed, that is, after the target leaves the preset target, a complete standing long jump motion of the moving target can be determined by obtaining the target time, and the standing long jump motion of the moving target can be analyzed by the video corresponding to the complete standing long jump motion, which improves the efficiency of analysis and processing.
[0118] Figure 4 This is a schematic diagram illustrating the implementation process of another method for determining the standing long jump distance provided in this application embodiment. The method may include the following steps:
[0119] S401: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and identify the target in the video frames.
[0120] S402: If a target is detected to have entered a preset motion area, the target within the preset motion area is determined to be a moving target.
[0121] S403: For any video frame, acquire the skeletal key points of the moving target, and determine the center of gravity of the moving target based on the skeletal key points of the moving target.
[0122] S404: When a moving target is detected to leave the preset movement area, the target time corresponding to the moving target is obtained, wherein the target time includes: preparation time, take-off time, and end time.
[0123] In the embodiments of this application, S401 to S404 have been described in detail in S301 to S304, and will not be repeated here.
[0124] S405: Determine the backswing keyframes corresponding to the moving target based on the take-off time and the skeletal key points of the moving target.
[0125] In this embodiment, starting from the take-off moment, the arm state of the moving target is determined by working backwards based on skeletal keypoints. When the moving target's arm is in a backward swing state, the arm position of that video frame is recorded. Taking the left side of the moving target as an example, the arm position is represented by the higher of the wrist skeletal keypoints: left wrist - 10 and elbow skeletal keypoints: left elbow - 8. If the moving target's arm position continues to rise, the backward calculation continues, updating the current highest arm position and recording the current frame; otherwise, the backward calculation terminates, and the video frame corresponding to the highest arm position is determined as the backward swing keyframe corresponding to the moving target.
[0126] S406: Determine the pre-swing keyframe corresponding to the moving target from the time between the preparation time and the backswing keyframe based on the skeletal keypoints of the moving target.
[0127] In this embodiment of the application, the traversal time range starts from the preparation moment and ends at the moment corresponding to the backswing key frame. If the arm of the moving target in the video frame is in the forward swing state, the sum of the reverse hip angle and knee angle of the moving target in the video frame is determined according to the skeletal key points of the moving target. The frame with the largest sum of the reverse hip angle and knee angle of the moving target is determined as the preswing key frame corresponding to the moving target.
[0128] S407: Determine the takeoff keyframes for the moving target based on the takeoff time and the skeletal keypoints of the moving target.
[0129] In this embodiment of the application, starting from the moment of takeoff, a video of a preset time interval, such as 1 second, is taken backward, and the center positions of the ankle bone key points and knee bone key points are determined frame by frame. The video frame at the highest point of the center position is determined as the takeoff key frame.
[0130] S408: Determine the take-off keyframe corresponding to the moving target based on the skeletal keypoints of the moving target between the take-off time and the take-off keyframe.
[0131] In this embodiment, since the take-off moment is the moment when the target's center of gravity crosses the take-off line, the target's toe bones may not have left the ground at this time. The time range is traversed from the take-off moment to the moment corresponding to the take-off keyframe. The target's body extension angle (the sum of shoulder angle, hip angle, knee angle, and ankle angle) is calculated frame by frame based on the target's skeletal keyframes. The frame with the largest body extension angle is determined as the take-off keyframe, which is the instant the target pushes off the ground.
[0132] S409: Determine the landing keyframe of the moving target based on the skeletal keypoints and the center of gravity of the moving target, starting from the moment corresponding to the take-off keyframe.
[0133] In this embodiment, during the landing process of the moving target, its center of gravity continuously decreases, and after landing completely, the skeletal keypoints corresponding to the heel and toes of the moving target should be at approximately the same height. The time range is iterated from the moment corresponding to the takeoff keyframe, extended by a preset time, such as 1 second. Based on the skeletal keypoints of the moving target, the center of gravity of the moving target and the height difference between the skeletal keypoints corresponding to the heel and toes are calculated frame by frame. If the center of gravity of the moving target no longer decreases, and the height difference between the skeletal keypoints corresponding to the heel and toes in the frames before and after the current video frame is less than a preset height difference threshold, then the video frame is determined to be the landing keyframe corresponding to the moving target.
[0134] S410: Determine the target posture of the moving target corresponding to the backswing keyframe, preswing keyframe, take-off keyframe, take-off keyframe, and landing keyframe based on the skeletal keypoints of the moving target.
[0135] In this embodiment of the application, the target posture of the moving target is determined according to the skeletal key points of the moving target, including the backswing key frame, the preswing key frame, the take-off key frame, the take-off key frame, and the landing key frame. The target posture is the motion index corresponding to each target key frame in steps S305 and S306. The specific description has been given in steps S305 and S306 and will not be repeated here.
[0136] S411: Evaluate the target attitude and obtain the evaluation results.
[0137] S412: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0138] S413: Determine the standing long jump distance of the moving target based on the location information.
[0139] In the embodiments of this application, S411 to S413 have been described in detail in S102 to S104, and will not be repeated here.
[0140] Based on the above description of the technical solutions provided in the embodiments of this application, this application provides a keyframe extraction method that uniformly extracts the keyframes after the moving target leaves the preset motion area and determines that the moving target has completed a complete standing long jump, thereby improving processing efficiency. When the moving target has not completed the standing long jump, no processing is performed, reducing the processing load.
[0141] Figure 5 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0142] S501: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and identify the target in the video frames.
[0143] S502: If a target is detected to have entered a preset motion area, the target within the preset motion area is determined to be a moving target.
[0144] S503: For any video frame, acquire the skeletal key points of the moving target, and determine the center of gravity of the moving target based on the skeletal key points of the moving target.
[0145] S504: When a moving target is detected to leave a preset movement area, the target time corresponding to the moving target is obtained, wherein the target time includes: preparation time, take-off time, and end time.
[0146] S505: Determine the target keyframes corresponding to the moving target based on the target time, the skeletal key points of the moving target and the center of gravity of the moving target. The target keyframes include: backswing keyframe, preswing keyframe, take-off keyframe, take-off keyframe and landing keyframe.
[0147] In the embodiments of this application, S501 to S505 have been described in detail in S301 to S305, and will not be repeated here.
[0148] S506: Determine the angle of the target key part of the moving target corresponding to the target key frame based on the skeletal key points of the moving target.
[0149] S507: Evaluate the included angle of the key parts of the moving target and obtain the evaluation result.
[0150] The following provides a detailed explanation of S506 and S507:
[0151] In the embodiments of this application, the target keyframe and the target pose corresponding to the target keyframe have been described in detail in steps S305 and S306, and will not be repeated here.
[0152] In this embodiment, the target pose includes the angle between key target parts of the moving target, which is determined by the skeletal keypoints of the moving target. Specifically, for example, the reverse hip angle corresponding to the pre-swing keyframe in the pre-swing phase can be obtained from a vector composed of the skeletal keypoints: left shoulder -6 and left hip -12, and a vector composed of the skeletal keypoints: left hip -12 and left hip -12, and left knee -14. The skeletal keypoints have been described in detail in step S203 and will not be repeated here.
[0153] In this embodiment of the application, the angles of various parts of the moving target’s body are calculated by using a vector composed of key points of the skeleton, and the method is the same as the example above. For the sake of simplicity, it will not be described again.
[0154] The included angles of the target key parts obtained above are evaluated to obtain the evaluation results. That is, for the standard angle range corresponding to the angles included in the action indicators in steps S305 and S306, it is determined whether the included angles of the target key parts are within the standard angle range.
[0155] For the takeoff keyframes in steps S305 and S306, the takeoff heights corresponding to the target attitude can be determined by the standard height difference range to determine whether the determined takeoff height difference meets the requirements.
[0156] S508: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0157] S509: Determine the standing long jump distance of the moving target based on the location information.
[0158] In the embodiments of this application, S508 and S509 have been described in detail in S103 and S104, and will not be repeated here.
[0159] Based on the above description of the technical solutions provided in the embodiments of this application, the target pose is determined by skeletal key points and then evaluated, which is more efficient and the determined target pose is more accurate.
[0160] Figure 6 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0161] S601: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and identify the target in the video frames.
[0162] S602: When a target is detected to have entered a preset motion area, the target within the preset motion area is determined to be a moving target.
[0163] S603: For any video frame, acquire the skeletal key points of the moving target, and determine the center of gravity of the moving target based on the skeletal key points of the moving target.
[0164] S604: When a moving target is detected to leave the preset movement area, the target time corresponding to the moving target is obtained, wherein the target time includes: preparation time, take-off time, and end time.
[0165] S605: Determine the target keyframes corresponding to the moving target based on the target time, the skeletal key points of the moving target and the center of gravity of the moving target. The target keyframes include: backswing keyframe, preswing keyframe, take-off keyframe, take-off keyframe and landing keyframe.
[0166] S606: Obtain the target pose of the moving target corresponding to the target keyframe.
[0167] S607: Evaluate the target attitude and obtain the evaluation results.
[0168] S608: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0169] In the embodiments of this application, S601 to S608 have been described in detail in S301 to S308, and will not be repeated here.
[0170] S609: Determine whether a moving target violates regulations based on its skeletal key points, center of gravity, and position information.
[0171] S610: If the moving target violates the rules, the standing long jump distance of the moving target will no longer be determined based on the location information.
[0172] S611: If the moving target has not violated any rules, the standing long jump distance of the moving target shall be determined based on the location information.
[0173] The following provides a unified explanation of S609 to S611:
[0174] In this embodiment, after evaluating the target posture in the target keyframe corresponding to the moving target and determining that the target posture is qualified based on the evaluation result, it is necessary to determine whether the moving target violated any rules during the standing long jump before calculating the standing long jump distance. Specifically, it is determined whether the moving target violated any rules based on the skeletal keypoints, the moving target's center of gravity, and position information. Only when the moving target did not violate any rules during the standing long jump is the standing long jump distance determined based on the position information.
[0175] Based on the above description of the technical solutions provided in the embodiments of this application, after determining the standing long jump distance of the moving target, this application further determines whether the moving target violates the rules during the standing long jump, thereby improving the rigor of detecting the moving target's standing long jump.
[0176] Figure 7 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0177] S701: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and identify the target in the video frames.
[0178] S702: When a target is detected to have entered a preset motion area, the target within the preset motion area is determined to be a moving target.
[0179] S703: For any video frame, acquire the skeletal key points of the moving target, and determine the body center of gravity of the moving target based on the skeletal key points of the moving target.
[0180] S704: When a moving target is detected to leave a preset movement area, the target time corresponding to the moving target is obtained, wherein the target time includes: preparation time, take-off time, and end time.
[0181] S705: Determine the target keyframes corresponding to the moving target based on the target time, the skeletal key points of the moving target and the center of gravity of the moving target. The target keyframes include: backswing keyframe, preswing keyframe, take-off keyframe, take-off keyframe and landing keyframe.
[0182] S706: Obtain the target pose of the moving target corresponding to the target keyframe.
[0183] S707: Evaluate the target attitude and obtain the evaluation results.
[0184] S708: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0185] In the embodiments of this application, S701 to S708 have been described in detail in S301 to S308, and will not be repeated here.
[0186] S709: If, within a preset first time period before the take-off time, the skeletal keypoints of the moving target cross the take-off line on the standing long jump mat; or, if, within a preset second time period after the time corresponding to the landing keyframe, the moving target's center of gravity moves a distance greater than a preset distance threshold toward the take-off line on the standing long jump mat; or, if, within a preset third time period before the take-off time, the moving target's speed exceeds a preset speed threshold; or, if, within a preset fourth time period before the take-off time, the height difference between the moving target's first ankle skeletal keypoints and second ankle skeletal keypoints exceeds a preset first height difference threshold, or, the moving target... The height difference between the first and second heel bone key points of the target is greater than a preset second height difference threshold; or, if within a preset fifth time period before the take-off time, the distance between the first and second toe bone key points of the moving target and the ground is greater than a preset first height threshold, or the distance between the first and second heel bone key points of the moving target and the ground is greater than a preset second height threshold; or, if the moving target in the landing key frame is within a preset test area on the standing long jump mat, then the moving target is determined to have violated the rules, and the standing long jump distance of the moving target will no longer be determined based on the position information.
[0187] In this embodiment of the application, before determining the standing long jump distance of the moving target, the standing long jump process of the moving target is first judged as a violation. If the action is violated, the standing long jump distance of the moving target will no longer be determined based on the position information.
[0188] The following six types of violations are mainly detected when determining violations:
[0189] (1) Line Crossing Detection: A preset first time period before the take-off time is taken. If any part of the target's body (key skeletal points) crosses the take-off line, it is considered a violation. In this application, the standing long jump is performed on a standing long jump mat, on which the take-off line is pre-marked, which will not be detailed here. It should be noted that since the take-off time is when the target's center of gravity crosses the take-off line, some key skeletal points of the target should also have crossed the take-off line at this time. Therefore, the time period before the take-off time here does not include the preset time period immediately adjacent to the take-off time, such as 100 milliseconds.
[0190] (2) Backflip detection: Take the second time period after the landing key frame. If the distance the center of gravity of the moving target moves towards the take-off line on the standing long jump mat is greater than the preset moving distance threshold, then it is a violation.
[0191] (3) Jump detection: Take the third time period before the jump. If the speed of the moving target (take the center of the detection box corresponding to the moving target as the current position, calculate the distance between the centers of the detection boxes corresponding to the moving target in adjacent video frames, calculate the ratio between the distance and the time interval between adjacent video frames, and determine the speed of the moving target) exceeds the preset speed threshold and lasts for a certain period of time, such as 100 milliseconds, then it is a violation.
[0192] (4) Single-leg hop: Take the fourth time period before the take-off time. The first and second ankle bone key points of the target are the bone key points corresponding to the left and right ankles of the target. If the height difference between the bone key points corresponding to the left and right ankles of the target is greater than the preset first height difference threshold, it is a violation; or the first and second heel bone key points of the target are the bone key points corresponding to the left and right heels of the target. If the height difference between the bone key points corresponding to the left and right heels of the target is greater than the preset second height difference threshold, it is a violation.
[0193] In another possible implementation, it is also possible to determine whether the moving target is hopping on one foot by the skeletal key points corresponding to the left and right toes and the left and right knees. This application embodiment does not limit this.
[0194] (5) Step jump: Take the fifth time period before the take-off time. The first and second toe bone key points of the target are the bone key points corresponding to the left and right toes of the target. If the distance between the bone key points corresponding to the left and right toes of the target and the ground is greater than the preset first height threshold, it is a violation; or the first and second heel bone key points of the target are the bone key points corresponding to the left and right heels of the target. If the distance between the bone key points corresponding to the left and right heels of the target and the ground is greater than the preset second height threshold, it is a violation.
[0195] (6) Out of range: Take the landing key frame, determine the preset test area on the standing long jump mat, and determine whether the moving target in the landing key frame is within the preset test area on the standing long jump mat. If the moving target is not within the preset test area on the standing long jump mat, then it is a violation.
[0196] In this embodiment of the application, if it is determined that the moving target violates the rules, the standing long jump distance of the moving target will no longer be determined based on the location information.
[0197] Based on the above description of the technical solutions provided in the embodiments of this application, this application detects six types of violations. When the target posture is qualified during the standing long jump, the violation of the target is detected, making the detection of the standing long jump more rigorous.
[0198] Figure 8 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0199] S801: Acquire video frames and obtain the target posture of the standing long jump movement of the target within a preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0200] S802: Evaluate the target attitude and obtain the evaluation results.
[0201] In the embodiments of this application, S801 and S802 have been described in detail in S101 and S102, and will not be repeated here.
[0202] S803: If the target posture is deemed acceptable based on the evaluation results, the target key frame is obtained based on the skeletal key point information of the moving target in the video frame. The target key frame includes the landing key frame corresponding to the moving target.
[0203] In this embodiment of the application, the acquisition of landing keyframes has been described in detail in step S409, and will not be repeated here.
[0204] S804: Determine the position information of the moving target on the standing long jump mat based on the landing keyframe.
[0205] S805: Determine the standing long jump distance of the moving target based on the location information.
[0206] In this embodiment, the position information of the moving target on the standing long jump mat is determined based on the landing keyframe. Detailed explanations of S804 and S805 have already been given in S103 and S104, and will not be repeated here.
[0207] Figure 9 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0208] S901: Acquire video frames and obtain the target posture of the moving target in the standing long jump movement process within the preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0209] S902: Evaluate the target attitude and obtain the evaluation results.
[0210] S903: If the target posture is deemed acceptable based on the evaluation results, the target key frame is obtained based on the skeletal key point information of the moving target in the video frame. The target key frame includes the landing key frame corresponding to the moving target.
[0211] In the embodiments of this application, S901 to S903 have been described in detail in S801 to S803, and will not be repeated here.
[0212] S904: Obtain the distance scale lines on the standing long jump mat for the landing keyframe.
[0213] In this embodiment of the application, the standing long jump mat in the landing keyframe is identified, and the distance scale lines on the standing long jump mat are obtained. The distance scale lines include scale lines representing the standing long jump distance, and also include a rectangle formed by two distance scale lines representing the take-off area. The distance scale line located inside the standing long jump mat is the take-off line.
[0214] See details Figure 18 As shown, Figure 18 This is a schematic diagram of a standing long jump mat provided in an embodiment of this application.
[0215] S905: Determine the first and second skeleton keypoints of the moving target in the landing keyframe.
[0216] In this embodiment of the application, the first skeletal key point is the skeletal key point corresponding to the left heel of the moving target, and the second skeletal key point is the skeletal key point corresponding to the right heel of the moving target, thereby determining the skeletal key points corresponding to the left heel and the right heel of the moving target in the landing frame.
[0217] S906: Determine the first distance line and the second distance line that contain the first bone keypoint and the second bone keypoint from the distance scale lines.
[0218] In this embodiment of the application, a first distance scale line and a second distance scale line are determined from the distance scale lines on the standing long jump mat. The rectangle formed by the first distance scale line and the second distance scale line is the smallest rectangle that simultaneously contains the first skeletal key point and the second skeletal key point. That is, it is determined that the skeletal key points corresponding to the two heels of the moving target are located between those two distance scale lines, and these two distance scale lines are determined as the first distance scale line and the second distance scale line.
[0219] S907: Determine the first standing long jump distance information corresponding to the first distance scale line, and the second standing long jump distance information corresponding to the second distance scale line.
[0220] In this embodiment, each distance scale line on the standing long jump mat corresponds to standing long jump distance information, that is, the actual distance of the standing long jump of the moving target. The first standing long jump distance information corresponding to the first distance scale line and the second standing long jump distance information corresponding to the second distance scale line are determined.
[0221] S908: Based on the first standing long jump distance information and the second standing long jump distance information, determine the target distance scale line from the first distance scale line and the second distance scale line.
[0222] In this embodiment of the application, when determining the standing long jump distance of the moving target, the distance scale line with the smaller distance to the standing long jump distance between the first distance scale line and the second distance scale line should be selected as the target distance scale line.
[0223] That is, when the first standing long jump distance is greater than the second standing long jump distance, the second distance scale line is determined as the target distance scale line; when the first standing long jump distance is less than the second standing long jump distance, the first distance scale line is determined as the target distance scale line; when the first standing long jump distance is equal to the second standing long jump distance, either the first distance scale line or the second distance scale line is determined as the target distance scale line.
[0224] S909: Determine the first target bone key point from the first bone key point and the second bone key point according to the target distance scale line.
[0225] In this embodiment of the application, when determining the standing long jump distance of the moving target, the bone key point that is closer to the target distance scale line is determined from the first bone key point and the second bone key point of the moving target as the first target bone key point.
[0226] Specifically, when the distance between the first skeletal keypoint and the target distance scale line is greater than the distance between the second skeletal keypoint and the target distance scale line, the second skeletal keypoint is determined as the first target skeletal keypoint; when the distance between the first skeletal keypoint and the target distance scale line is less than the distance between the second skeletal keypoint and the target distance scale line, the first skeletal keypoint is determined as the first target skeletal keypoint; when the distance between the first skeletal keypoint and the target distance scale line is equal to the distance between the second skeletal keypoint and the target distance scale line, either the first skeletal keypoint or the second skeletal keypoint is determined as the first target skeletal keypoint.
[0227] S910: Determine the position information of the moving target on the standing long jump mat based on the key points of the first target skeleton.
[0228] In the embodiments of this application, after obtaining the key points of the first target skeleton, the position information of the key points of the first target skeleton on the standing long jump mat can be determined, that is, the position information of the moving target on the standing long jump mat can be determined.
[0229] S911: Determine the standing long jump distance of the moving target based on the location information.
[0230] In the embodiments of this application, S911 has been described in detail in S805, and will not be repeated here.
[0231] Figure 10 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0232] S1001: Acquire video frames and obtain the target posture of the moving target in the standing long jump movement process within the preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0233] S1002: Evaluate the target attitude and obtain the evaluation results.
[0234] S1003: If the target posture is deemed acceptable based on the evaluation results, the target key frame is obtained based on the skeletal key point information of the moving target in the video frame. The target key frame includes the landing key frame corresponding to the moving target.
[0235] S1004: Obtain the distance scale lines on the standing long jump mat for the landing keyframe.
[0236] S1005: Determine the first and second skeleton key points of the moving target in the landing key frame.
[0237] S1006: Determine the first distance scale line and the second distance scale line that contain the first bone key point and the second bone key point from the distance scale lines.
[0238] S1007: Determine the first standing long jump distance information corresponding to the first distance scale line and the second standing long jump distance information corresponding to the second distance scale line.
[0239] S1008: Based on the first standing long jump distance information and the second standing long jump distance information, determine the target distance scale line from the first distance scale line and the second distance scale line.
[0240] S1009: Determine the first target bone key point from the first bone key point and the second bone key point according to the target distance scale line.
[0241] In the embodiments of this application, S1001 to S1009 have been described in detail in S901 to S909, and will not be repeated here.
[0242] S1010: Determine the first pixel distance between the first target skeleton key point and the target distance scale line, and the second pixel distance between the first distance scale line and the second distance scale line.
[0243] In this embodiment of the application, processing of the landing keyframe can only obtain the pixel distance in the landing keyframe. Therefore, the first pixel distance between the first target skeleton key point and the target distance scale line in the landing keyframe is determined by using the distance formula between a point and a line. The second pixel distance between the first distance scale line and the second distance scale line in the landing keyframe is determined by using the distance formula between two parallel lines.
[0244] S1011: Determine the first ratio of the first pixel distance to the second pixel distance.
[0245] S1012: Determine the standing long jump distance of the moving target based on the target distance information corresponding to the target distance scale line, the distance information between the first distance scale line and the second distance scale line, and the first ratio.
[0246] The following provides a unified explanation of S1011 and S1012:
[0247] In this embodiment, the standing long jump distance of the moving target is the sum of the target distance information corresponding to the target distance scale line and the actual distance between the first target skeletal key point and the target distance scale line. The target distance information corresponding to the target distance scale line can be directly determined. The actual distance between the first target skeletal key point and the target distance scale line can be determined by determining a first ratio of the first pixel distance to the second pixel distance, and then calculating the absolute value of the difference between the first standing long jump distance information corresponding to the first distance scale line and the second standing long jump distance information corresponding to the second distance scale line. This difference is then used to determine the distance information between the first and second distance scale lines. The product of the first ratio and the distance information between the first and second distance scale lines is the actual distance between the first target skeletal key point and the target distance scale line.
[0248] For example, if the target distance information corresponding to the target distance scale line is 50 cm, the first pixel distance is 2, the second pixel distance is 5, and the distance information between the first distance scale line and the second distance scale line is 10 cm, then the standing long jump distance of the moving target is 50 + 10 * 2 / 5, which is 54 cm.
[0249] Figure 11 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0250] S1101: Acquire video frames and obtain the target posture of the standing long jump movement of the target within the preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0251] S1102: Evaluate the target attitude and obtain the evaluation results.
[0252] S1103: If the target posture is deemed acceptable based on the evaluation results, the target key frame is obtained based on the skeletal key point information of the moving target in the video frame. The target key frame includes the landing key frame corresponding to the moving target.
[0253] S1104: Obtain the distance scale lines on the standing long jump mat for the landing keyframe, including: the take-off line, the third distance scale line, and the fourth distance scale line.
[0254] In the embodiments of this application, S1101 to S1104 have been described in detail in S901 to S904, and will not be repeated here.
[0255] In the embodiments of this application, when obtaining the distance scale line on the standing long jump mat for the landing key frame, the take-off line on the standing long jump mat can be identified.
[0256] S1105: Determine the first and second skeleton key points of the moving target in the landing key frame.
[0257] In this embodiment of the application, a first skeletal key point and a second skeletal key point of the moving target are determined in the landing key frame. The first skeletal key point is the skeletal key point corresponding to the left heel of the moving target, and the second skeletal key point is the skeletal key point corresponding to the right heel of the moving target.
[0258] S1106: Determine the second target bone key point with the smallest distance from the take-off line from the first bone key point and the second bone key point.
[0259] In this embodiment, a second target skeletal key point with the smallest distance from the take-off line is determined from the first skeletal key point and the second skeletal key point. Specifically, when the distance between the first skeletal key point and the take-off line is greater than the distance between the second skeletal key point and the take-off line, the second skeletal key point is determined as the second target skeletal key point; when the distance between the first skeletal key point and the take-off line is greater than the distance between the second skeletal key point and the take-off line, the first skeletal key point is determined as the second target skeletal key point; and when the distance between the first skeletal key point and the take-off line is equal to the distance between the second skeletal key point and the take-off line, either the first skeletal key point or the second skeletal key point is determined as the second target skeletal key point.
[0260] S1107: Determine the position information of the moving target on the standing long jump mat based on the key points of the second target skeleton.
[0261] In this embodiment of the application, after obtaining the key points of the second target skeleton, the position information of the key points of the second target skeleton on the standing long jump mat can be determined, that is, the position information of the moving target on the standing long jump mat can be determined.
[0262] S1108: Determine the standing long jump distance of the moving target based on the location information.
[0263] In the embodiments of this application, S1108 has been described in detail in S911, and will not be repeated here.
[0264] Figure 12 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0265] S1201: Acquire video frames and obtain the target posture of the moving target in the standing long jump movement process within the preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0266] S1202: Evaluate the target attitude and obtain the evaluation results.
[0267] S1203: If the target posture is deemed acceptable based on the evaluation results, the target key frame is obtained based on the skeletal key point information of the moving target in the video frame. The target key frame includes the landing key frame corresponding to the moving target.
[0268] S1204: Obtain the distance scale lines on the standing long jump mat for the landing keyframe. The distance scale lines include: the take-off line, the third distance scale line, and the fourth distance scale line.
[0269] S1205: Determine the first and second skeleton keypoints of the moving target in the landing keyframe.
[0270] S1206: Determine the second target bone key point with the smallest distance from the take-off line from the first bone key point and the second bone key point.
[0271] In the embodiments of this application, S1201 to S1206 have been described in detail in S1101 to S1106, and will not be repeated here.
[0272] S1207: Determine the third and fourth distance scale lines that contain the target skeletal key points from the distance scale lines, wherein the distance between the third distance scale line and the take-off line is less than the distance between the fourth distance scale line and the take-off line.
[0273] In this embodiment of the application, step S1104 involves the distance scale lines including a third distance scale line and a fourth distance scale line. The rectangle formed by the third and fourth distance scale lines is the smallest rectangle containing the target skeletal key point. Furthermore, the distance between the third distance scale line and the take-off line is less than the distance between the fourth distance scale line and the take-off line; that is, the third and fourth distance scale lines are the two adjacent distance scale lines closest to the second target skeletal key point.
[0274] It is understandable that when the third distance scale line coincides with the fourth distance scale line, it can be determined that the key points of the second target skeleton are located on the third / fourth distance scale line, and the standing long jump distance information corresponding to the third / fourth distance scale line is determined as the standing long jump distance of the moving target, and the following process is no longer required.
[0275] S1208: Determine the third pixel distance between the second target skeleton key point and the third distance scale line, and determine the fourth pixel distance between the second target skeleton key point and the fourth distance scale line.
[0276] In this embodiment of the application, processing of the landing keyframe can only obtain the pixel distance in the landing keyframe. The third pixel distance between the second target skeleton keypoint and the third distance scale line is determined by using the distance formula between a point and a line, and the fourth pixel distance between the second target skeleton keypoint and the fourth distance scale line is determined.
[0277] S1209: Determine a second ratio between the third pixel distance and the sum of the third pixel distance and the fourth pixel distance.
[0278] S1210: Determine the third standing long jump distance information corresponding to the third distance scale line, and the fourth standing long jump distance information between the third distance scale line and the fourth distance scale line.
[0279] S1211: Determine the standing long jump distance of the moving target based on the third standing long jump distance information, the fourth standing long jump distance information, and the second ratio.
[0280] The following provides a unified explanation of S1209 to S1211:
[0281] In this embodiment, the standing long jump distance of the moving target is the sum of the third standing long jump distance information corresponding to the third distance scale line and the actual distance between the second target skeletal key point and the third distance scale line. The third standing long jump distance information corresponding to the third distance scale line can be directly determined. The actual distance between the second target skeletal key point and the third distance scale line can be determined by determining the second ratio between the third pixel distance and the sum of the third pixel distance and the fourth pixel distance, and then determining the fourth standing long jump distance information between the third distance scale line and the fourth distance scale line. The product of the second ratio and the fourth standing long jump distance information is the actual distance between the second target skeletal key point and the third distance scale line.
[0282] For example, if the third distance scale line corresponds to the third standing long jump distance of 70 cm, the third pixel distance is 2, the fourth pixel distance is 3, and the fourth standing long jump distance is 10 cm, then the standing long jump distance of the moving target is 70 + 10 * 2 / (2 + 3), which is 74 cm.
[0283] Based on the distance scale lines on the standing long jump mat corresponding to the movement area obtained in steps S904 and S1104, in Figure 13 The document provides a detailed method for obtaining distance scale lines. Figure 13 This is a schematic diagram illustrating the implementation process of a method for determining the distance scale line on a standing long jump mat, as provided in an embodiment of this application. The method may include the following steps:
[0284] S1301: For the landing key frame, determine the key points on the standing long jump mat according to the preset key point detection algorithm.
[0285] S1302: Combine the key points on the standing long jump mat according to the preset key point combination rules to obtain the distance scale line on the standing long jump mat.
[0286] In this embodiment of the application, the moving target performs a standing long jump on a standing long jump mat. When the target posture of the moving target is qualified and no violation occurs, the standing long jump distance of the moving target is determined based on the landing key frame.
[0287] In this embodiment of the application, for the landing key frame, the key points on the standing long jump mat are determined according to the preset key point detection algorithm. The preset key point detection algorithm mainly obtains a preset number of images of the standing long jump mat with pre-marked key points as training samples, and inputs them into the preset initial key point detection algorithm for training to obtain the preset key point detection algorithm.
[0288] In this embodiment of the application, the key points marked on the standing long jump mat include 56 points, numbered 0-55, which can be found in [reference]. Figure 18 The key points 0, 1, 28, and 29 mark the take-off area. The line connecting key points 1 and 29 is the take-off line. Key points N (N≥2) and N+28 mark the two ends of the distance scale lines. There are a total of 28 distance scale lines on the standing long jump mat. Two distance scale lines constitute the take-off area, and 26 distance scale lines have distance markings. The distance scale lines are spaced 10 centimeters apart. The smallest distance scale line (the line connecting key points 2 and 30) represents 0.5 meters, and the largest distance scale line (the line connecting key points 27 and 55) represents 3 meters.
[0289] In this embodiment, the preset keypoint detection algorithm uses the Transpose keypoint detection algorithm based on Gaussian heatmaps. The processing logic of the Transpose keypoint detection algorithm in this embodiment is as follows: the input RGB image is first processed by a simplified ResNet or HRNet model to extract low-level image features, then fed into a Transformer model (using only the encoder part) for high-level image feature extraction, and finally a Gaussian heatmap is obtained through the Prediction Head module. A Gaussian heatmap is generated for each keypoint, and the location with the highest activation value in the heatmap is the predicted keypoint location.
[0290] Furthermore, due to the inherent theoretical lower bound of error in the feature map downsampling process, a fully convolutional DSNT module is used to process the Gaussian heatmap to further improve detection accuracy. The core design lies in the channel-by-channel normalization of the Gaussian heatmap and coordinate regression based on matrix transformation. Ultimately, a fully differential model that can directly regress the keypoint coordinates is obtained.
[0291] In this embodiment, after a pair of key points are detected by a preset key point detection algorithm, the pair of key points are connected to obtain a distance scale line, and the standing long jump distance information corresponding to the distance scale line can be determined. For example, if key points 2 and 30 are detected, the standing long jump distance information corresponding to the distance scale line obtained by connecting key points 2 and 30 is 0.5 meters.
[0292] Figure 14 A schematic diagram illustrating the implementation process of a method for determining the standing long jump distance provided in this application embodiment, the method may include the following steps:
[0293] S1401: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and identify the target in the video frames.
[0294] In the embodiments of this application, S1401 has been described in detail in S201, and will not be repeated here.
[0295] S1402: Determine the detection box score corresponding to the target based on the preset target tracking algorithm.
[0296] S1403: Determine the high-scoring and low-scoring detection boxes based on the detection box scores corresponding to the target.
[0297] S1404: Match the high-resolution detection box and the low-resolution detection box with the preset tracking trajectory in sequence to determine the target detection box from the high-resolution detection box and the low-resolution detection box.
[0298] S1405: Determine that the target in the target detection box is a moving target within the preset motion area.
[0299] S1406: Track moving targets within a preset motion area.
[0300] The following provides a unified explanation of S1402 to S1406:
[0301] In this embodiment, after a target is detected by the target detection algorithm, multiple detected targets are tracked. These targets include moving and non-moving targets, requiring a multi-target tracking algorithm to achieve full-process tracking of moving targets. Considering the balance between performance and accuracy, this application selects the ByteTrack algorithm for multi-target tracking.
[0302] S1407: For any video frame, acquire the skeletal key points of the moving target, and determine the body center of gravity of the moving target based on the skeletal key points of the moving target.
[0303] S1408: Determine the target posture during the standing long jump based on the key skeletal points and the target's center of gravity.
[0304] S1409: Evaluate the target attitude and obtain the evaluation results.
[0305] S1410: If the target posture is deemed acceptable based on the evaluation results, determine the position information of the moving target on the standing long jump mat.
[0306] S1411: Determine the standing long jump distance of the moving target based on the location information.
[0307] In the embodiments of this application, S1407 to S1411 have been described in detail in S203 to S207, and will not be repeated here.
[0308] Based on the above description of the technical solutions provided in the embodiments of this application, when a target is briefly occluded during target tracking, the score of the detection box corresponding to the target is usually low, leading to a switch in the tracking target, i.e., a new tracking trajectory is created for the same target. This application addresses this by setting low-scoring and high-scoring detection boxes, thus processing the low-scoring detection boxes and ensuring that even low-scoring detection boxes corresponding to moving targets have a chance of being correctly matched, thereby reducing the switching of tracking targets. Furthermore, this application does not immediately clear unmatched tracking trajectories, but sets a preset retention frame number. Only if a match is still not found within the preset retention frame number is the trajectory deleted, preventing the moving target from being completely occluded in a short period of time.
[0309] Figure 19 This is a schematic diagram of a standing long jump distance determination device provided in an embodiment of this application. The device includes: a target posture acquisition module 1901, an evaluation module 1902, a position information determination module 1903, and a standing long jump distance determination module 1904.
[0310] The target posture acquisition module 1901 is used to acquire video frames and acquire the target posture of the moving target in the standing long jump movement process within a preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines.
[0311] Evaluation module 1902 is used to evaluate the target posture and obtain evaluation results;
[0312] The position information determination module 1903 is used to determine the position information of the moving target on the standing long jump mat when the target posture is deemed qualified based on the evaluation result.
[0313] The standing long jump distance determination module 1904 is used to determine the standing long jump distance of the moving target based on the position information.
[0314] Figure 20This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 20 The illustrated electronic device 2000 includes at least one processor 2001, a memory 2002, at least one network interface 2004, and a user interface 2003. The various components in the electronic device 2000 are coupled together via a bus system 2005. It is understood that the bus system 2005 is used to implement communication between these components. In addition to a data bus, the bus system 2005 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 20 The general labeled all buses as Bus System 2005.
[0315] In some implementations, memory 2002 stores elements, executable units or data structures, or subsets thereof, or extended sets thereof: operating system 20020 and application program 20022. A program implementing the methods of the embodiments of this application may be included in application program 20022.
[0316] In the embodiments of this application, the processor 2001 executes the method steps provided in each method embodiment by calling the program or instructions stored in the memory 2002, specifically the program or instructions stored in the application program 20022.
[0317] The methods disclosed in the above embodiments of this application can be applied to processor 2001, or implemented by processor 2001. The electronic device provided in this embodiment can be as follows: Figure 20 The electronic device shown can perform the following: Figures 1-14 For the sake of brevity, all the steps involved in determining the distance of the neutral long jump will not be elaborated here.
[0318] This application also provides a storage medium (computer-readable storage medium). This storage medium stores one or more programs. When one or more programs in the storage medium can be executed by one or more processors, they implement the above-described method for determining the standing long jump distance executed on the electronic device side. The processor executes the standing long jump distance determination program stored in the memory to implement the steps of the above-described method for determining the standing long jump distance executed on the electronic device side.
[0319] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of this application. It should be understood that the above description is only a specific embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A method for determining the distance of a standing long jump, characterized in that, Applied to edge computing servers, the method includes: Acquire video frames, and acquire the target posture of the moving target in the standing long jump movement process within a preset motion area based on the video frames, wherein the preset motion area includes a standing long jump mat marked with distance scale lines; The target pose is evaluated to obtain the evaluation result; If the target posture is deemed acceptable based on the evaluation results, the position information of the moving target on the standing long jump mat is determined. The standing long jump distance of the moving target is determined based on the location information; Determining the position information of the moving target on the standing long jump mat includes: Target keyframes are obtained based on the skeletal keypoint information of the moving target in the video frame, wherein the target keyframes include the landing keyframes corresponding to the moving target; Determining the position information of the moving target on the standing long jump mat based on the landing keyframe includes: acquiring distance scale lines on the standing long jump mat for the landing keyframe; determining a first skeletal key point and a second skeletal key point of the moving target in the landing keyframe; determining a first distance scale line and a second distance scale line from the distance scale lines that contain the first skeletal key point and the second skeletal key point; determining a first standing long jump distance corresponding to the first distance scale line and a second standing long jump distance corresponding to the second distance scale line; determining a target distance scale line from the first distance scale line and the second distance scale line based on the first standing long jump distance information and the second standing long jump distance information; determining a first target skeletal key point from the first skeletal key point and the second skeletal key point based on the target distance scale line; and determining the position information of the moving target on the standing long jump mat based on the first target skeletal key point. The step of determining the position information of the moving target on the standing long jump mat based on the first target skeletal key points includes: determining a first pixel distance between the first target skeletal key points and the target distance scale line, and a second pixel distance between the first distance scale line and the second distance scale line; and determining a first ratio between the first pixel distance and the second pixel distance. Determining the standing long jump distance of the moving target based on the location information includes: determining the standing long jump distance of the moving target based on the target distance information corresponding to the target distance scale line, the distance information between the first distance scale line and the second distance scale line, and the first ratio.
2. The method according to claim 1, characterized in that, The step of acquiring video frames, and acquiring the target posture of a moving target during a standing long jump within a preset motion area based on the video frames, includes: Acquire video frames, identify the standing long jump mat in the video frames, determine the preset motion area corresponding to the standing long jump mat, and determine the target in the video frames; If the target is detected to have entered the preset movement area, the target within the preset movement area is determined to be a moving target; For any given video frame, the skeletal key points of the moving target are obtained, and the body center of gravity of the moving target is determined based on the skeletal key points of the moving target. Based on the skeletal key points of the moving target and the center of gravity of the moving target, the target posture during the standing long jump is determined.
3. The method according to claim 2, characterized in that, Determining the target posture during the standing long jump based on the skeletal key points and the target's center of gravity includes: When the moving target is detected to leave the preset movement area, the target time corresponding to the moving target is obtained, wherein the target time includes: preparation time, take-off time, and end time; The target keyframes corresponding to the moving target are determined based on the target time, the skeletal key points of the moving target, and the body center of gravity of the moving target. The target keyframes include: backswing keyframe, preswing keyframe, take-off keyframe, take-off keyframe, and landing keyframe. Obtain the target pose of the moving target corresponding to the target keyframe.
4. The method according to claim 3, characterized in that, Before determining the standing long jump distance of the moving target based on the location information, the method further includes: Determine whether the moving target violates the rules based on the skeletal key points of the moving target, the body center of gravity of the moving target, and the position information; If the moving target violates the rules, the standing long jump distance of the moving target will no longer be determined based on the location information; If the moving target does not violate the rules, the standing long jump distance of the moving target is determined based on the location information.
5. The method according to claim 4, characterized in that, The step of determining whether the moving target violates the rules based on the skeletal key points of the moving target, the body center of gravity of the moving target, and the position information includes: If, within a preset first time period before the take-off time, the skeletal key points of the moving target cross the take-off line on the standing long jump mat; Alternatively, if, within a preset second time period after the moment corresponding to the landing keyframe, the center of gravity of the moving target moves a distance greater than a preset distance threshold toward the take-off line on the standing long jump mat. Alternatively, if the speed of the moving target exceeds a preset speed threshold within a preset third time period before the take-off time; Alternatively, if, within a preset fourth time period prior to the take-off time, the height difference between the first ankle bone key point and the second ankle bone key point of the moving target is greater than a preset first height difference threshold, or the height difference between the first heel bone key point and the second heel bone key point of the moving target is greater than a preset second height difference threshold. Alternatively, if, within a preset fifth time period prior to the take-off time, the distance between the first toe bone key point and the second toe bone key point of the moving target and the ground is greater than a preset first height threshold, or the distance between the first heel bone key point and the second heel bone key point of the moving target and the ground is greater than a preset second height threshold. Alternatively, if the moving target in the landing keyframe is within a preset test area on the standing long jump mat, then the moving target is determined to be in violation, and the standing long jump distance of the moving target is no longer determined based on the position information.
6. The method according to claim 1, characterized in that, Determining the position information of the moving target on the standing long jump mat based on the landing keyframe includes: For the landing keyframe, obtain the distance scale lines on the standing long jump mat, wherein the distance scale lines include: the take-off line, the third distance scale line, and the fourth distance scale line; Determine the first and second skeletal key points of the moving target in the landing key frame; Determine the second target bone key point that is the smallest distance from the take-off line from the first bone key point and the second bone key point; Determining the position information of the moving target on the standing long jump mat based on the second target skeletal key points, wherein the step of determining the position information of the moving target on the standing long jump mat based on the second target skeletal key points includes: The third and fourth distance scale lines that contain the target skeletal key points are determined from the distance scale lines, wherein the distance between the third distance scale line and the take-off line is less than the distance between the fourth distance scale line and the take-off line; Determine the third pixel distance between the second target bone key point and the third distance scale line, and determine the fourth pixel distance between the second target bone key point and the fourth distance scale line; Determine a second ratio between the third pixel distance and the sum of the third pixel distance and the fourth pixel distance; Determine the third standing long jump distance information corresponding to the third distance scale line, and the fourth standing long jump distance information between the third distance scale line and the fourth distance scale line; Determining the standing long jump distance of the moving target based on the location information includes: The standing long jump distance of the moving target is determined based on the third standing long jump distance information, the fourth standing long jump distance information, and the second ratio.
7. The method according to claim 1 or 6, characterized in that, The step of obtaining the distance scale lines on the standing long jump mat includes: The key points on the standing long jump mat are determined according to a preset key point detection algorithm; The key points on the standing long jump mat are combined according to the preset key point combination rules to obtain the distance scale lines on the standing long jump mat.
8. A device for determining the distance of a standing long jump, characterized in that, The device, applied to an edge computing server, includes: The target posture acquisition module is used to acquire video frames and acquire the target posture of the moving target in the standing long jump movement process within a preset motion area based on the video frames. The preset motion area includes a standing long jump mat marked with distance scale lines. The evaluation module is used to evaluate the target pose and obtain the evaluation result; The position information determination module is used to determine the position information of the moving target on the standing long jump mat when the target posture is deemed qualified based on the evaluation result. The standing long jump distance determination module is used to determine the standing long jump distance of the moving target based on the position information. Determining the position information of the moving target on the standing long jump mat includes: Target keyframes are obtained based on the skeletal keypoint information of the moving target in the video frame, wherein the target keyframes include the landing keyframes corresponding to the moving target; Determining the position information of the moving target on the standing long jump mat based on the landing keyframe includes: acquiring distance scale lines on the standing long jump mat for the landing keyframe; determining a first skeletal key point and a second skeletal key point of the moving target in the landing keyframe; determining a first distance scale line and a second distance scale line from the distance scale lines that contain the first skeletal key point and the second skeletal key point; determining a first standing long jump distance corresponding to the first distance scale line and a second standing long jump distance corresponding to the second distance scale line; determining a target distance scale line from the first distance scale line and the second distance scale line based on the first standing long jump distance information and the second standing long jump distance information; determining a first target skeletal key point from the first skeletal key point and the second skeletal key point based on the target distance scale line; and determining the position information of the moving target on the standing long jump mat based on the first target skeletal key point. The step of determining the position information of the moving target on the standing long jump mat based on the first target skeletal key points includes: determining a first pixel distance between the first target skeletal key points and the target distance scale line, and a second pixel distance between the first distance scale line and the second distance scale line; and determining a first ratio between the first pixel distance and the second pixel distance. Determining the standing long jump distance of the moving target based on the location information includes: determining the standing long jump distance of the moving target based on the target distance information corresponding to the target distance scale line, the distance information between the first distance scale line and the second distance scale line, and the first ratio.
Citation Information
Patent Citations
Motion posture evaluation method and device, edge computing server and storage medium
CN113850248A