Throwing motion evaluation method, device, system, electronic device and storage medium
Patent Information
- Application Number
- CN202310812866.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-06-30
AI Technical Summary
[0004]本发明提供一种投掷运动测评方法、装置、系统、电子设备和存储介质,用以解决现有技术中测评结果不准确的缺陷
[0052] This invention provides a throwing motion evaluation method, device, system, electronic device, and storage medium. By using at least two of the following—the evaluation area location information of the video stream under test, the skeleton point location information of each frame image in the video stream under test, and the location information of the thrown object—the motion state of each frame image is determined. This allows for a refined throwing motion evaluation based on the motion state, which not only accurately determines violations and calculates scores but also avoids potential misjudgments and omissions during the evaluation process, ensuring the reliability and accuracy of the evaluation results.
Smart Images

Figure CN116758642B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of machine vision technology, and in particular to a method, apparatus, system, electronic device, and storage medium for evaluating throwing motion. Background Technology
[0002] Throwing sports are judged by the distance and posture of the athletes' throws, such as shot put and medicine ball throwing. Shot put is one of the physical education test items in the middle school entrance examination, which can effectively test the athlete's flexibility, agility and reaction ability.
[0003] Currently, the evaluation of shot put relies mainly on manual or infrared measurement equipment. However, manual evaluation is subject to significant subjective differences, while using infrared measurement equipment requires time to deploy complex and cumbersome equipment, which is inconvenient to install and operate. Moreover, the accuracy of the test is affected by weather and lighting conditions, which can easily lead to inaccurate evaluation results. Summary of the Invention
[0004] This invention provides a method, apparatus, system, electronic device, and storage medium for evaluating throwing motions, in order to address the shortcomings of inaccurate evaluation results in the prior art.
[0005] This invention provides a method for evaluating throwing skills, comprising:
[0006] Obtain the video stream to be tested, and the location information of the evaluation area of the video stream to be tested;
[0007] Human skeleton point detection is performed on each frame of the video stream under test to obtain the skeleton point position information of each frame.
[0008] Object detection is performed on each frame of the image to obtain the position information of the object in each frame of the image;
[0009] Based on at least two of the evaluation area location information, the skeleton point location information of each frame image, and the projectile location information, the motion state of each frame image is determined, and the throwing motion is evaluated based on the motion state of each frame image.
[0010] According to a throwing motion evaluation method provided by the present invention, the step of detecting the thrown object in each frame of the image to obtain the position information of the thrown object in each frame of the image includes:
[0011] Based on the motion state of the previous frame of any given frame, locate the candidate region of the projectile in the given frame of any given frame.
[0012] Projectile detection is performed on the candidate projectile region to obtain the candidate projectile position information of any frame image;
[0013] Based on the projectile position information of each frame preceding the given frame and the candidate projectile position information of the given frame, the projectile position information of the given frame is determined.
[0014] According to a throwing motion evaluation method provided by the present invention, the step of locating the candidate region of the projectile in any given frame image based on the motion state of the previous frame image includes:
[0015] If the motion state of the previous frame of any frame is in a ready state or in a ready state, the candidate region of the projectile in any frame is located based on the position information of the hand bone points in the position information of the bone points of any frame.
[0016] If the motion state of the previous frame is either a release state or a landing state, the candidate region of the projectile in the previous frame is located based on the position information of the projectile in the previous frame.
[0017] According to a throwing motion evaluation method provided by the present invention, determining the throwing object position information of any given frame image based on the throwing object position information of each frame image preceding the given frame image and the candidate throwing object position information of the given frame image includes:
[0018] Based on the position information of the projectiles in each frame preceding the given frame, the historical trajectory information of the projectiles in the given frame is established.
[0019] Based on the historical trajectory information of the projectile, trajectory prediction is performed to obtain the predicted position information of the projectile in any frame of the image.
[0020] From the candidate projectile location information, the location information that overlaps with the predicted projectile location information is selected as the projectile location information for any frame image.
[0021] According to a throwing motion evaluation method provided by the present invention, determining the motion state of each frame of the image based on at least two of the following: the location information of the evaluation area, the skeletal point location information of each frame of the image, and the location information of the thrown object, includes:
[0022] Based on the skeletal point position information and / or projectile position information of each frame image, the projectile state of each frame image is determined;
[0023] Based on the skeletal point position information or projectile position information of each frame image, and the evaluation area position information, the violation detection status of each frame image is determined.
[0024] Based on the state of the projectile and / or the violation detection state of each frame image, the motion state of each frame image is determined.
[0025] According to a throwing motion evaluation method provided by the present invention, determining the throwing object state of each frame of the image based on the skeletal point position information and / or the throwing object position information includes:
[0026] If the motion state of the previous frame is in a ready state or in a ready state, or if the previous frame is the first frame, the hand region information of the previous frame is located based on the hand bone point position information in the bone point position information of the previous frame.
[0027] Overlap detection is performed on the position information of the thrown object and the hand region information of any frame image, and the state of the thrown object in any frame image is determined based on the overlap detection results.
[0028] According to a throwing motion evaluation method provided by the present invention, determining the throwing object state of each frame of the image based on the skeletal point position information and / or the throwing object position information includes:
[0029] If the motion state of the previous frame is in the release state, the landing detection is performed on the position information of the thrown object in the previous frame, and the state of the thrown object in the previous frame is determined based on the landing detection result.
[0030] According to a throwing motion evaluation method provided by the present invention, determining the violation detection status of each frame of the image based on the skeletal point position information or the position information of the thrown object, and the position information of the evaluation area, includes:
[0031] If the motion state of the previous frame is in the in-position state, the hand region information and foot contour information of the frame are located based on the hand bone point position information and foot bone point position information in the bone point position information of the frame.
[0032] Violation detection is performed on the location information of the evaluation area and the foot contour information and hand area information of any frame image, and the violation detection status of any frame image is determined based on the violation detection results.
[0033] According to a throwing motion evaluation method provided by the present invention, determining the violation detection status of each frame of the image based on the skeletal point position information or the position information of the thrown object, and the position information of the evaluation area, includes:
[0034] If the motion state of the previous frame is the hand release state, the foot contour information of the previous frame is located based on the foot bone point position information in the bone point position information of the previous frame.
[0035] Violation detection is performed on the location information of the evaluation area and the foot contour information of any frame image, and the violation detection status of any frame image is determined based on the violation detection results.
[0036] According to a throwing motion evaluation method provided by the present invention, determining the violation detection status of each frame of the image based on the skeletal point position information or the position information of the thrown object, and the position information of the evaluation area, includes:
[0037] If the motion state of the previous frame is in the landing state, violation detection is performed on the position information of the evaluation area and the position information of the projectile in any frame, and the violation detection state of any frame is determined based on the violation detection result.
[0038] The present invention also provides a throwing motion assessment device, comprising:
[0039] The acquisition unit is used to acquire the video stream to be tested, and the evaluation area location information of the video stream to be tested;
[0040] The skeleton point detection unit is used to perform human skeleton point detection on each frame of the video stream under test, and obtain the skeleton point position information of each frame.
[0041] The projectile detection unit is used to detect projectiles in each frame of the image and obtain the projectile position information in each frame of the image.
[0042] The evaluation unit is used to determine the motion state of each frame image based on at least two of the evaluation area location information, the skeleton point location information of each frame image, and the projectile location information, and to perform a throwing motion evaluation based on the motion state of each frame image.
[0043] The present invention also provides a throwing motion evaluation system, including a camera, a field positioning module, a human posture tracking module, a projectile tracking module, and an evaluation module;
[0044] The camera is used to acquire the video stream to be tested and transmit the video stream to the site positioning module, the human posture tracking module and the projectile tracking module.
[0045] The field location module is used to identify and locate the evaluation area of the video stream under test, and obtain the location information of the evaluation area;
[0046] The human pose tracking module is used to detect human skeleton points in each frame of the video stream under test, and obtain the skeleton point position information of each frame.
[0047] The projectile tracking module is used to detect projectiles in each frame of the image and obtain the projectile position information in each frame of the image.
[0048] The evaluation module is used to determine the motion state of each frame image based on at least two of the evaluation area location information, the skeleton point location information of each frame image, and the projectile location information, and to perform a throwing motion evaluation based on the motion state of each frame image.
[0049] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement any of the throwing motion evaluation methods described above.
[0050] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the throwing motion evaluation method as described above.
[0051] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the throwing motion evaluation method as described above.
[0052] This invention provides a throwing motion evaluation method, device, system, electronic device, and storage medium. By using at least two of the following—the evaluation area location information of the video stream under test, the skeleton point location information of each frame image in the video stream under test, and the location information of the thrown object—the motion state of each frame image is determined. This allows for a refined throwing motion evaluation based on the motion state, which not only accurately determines violations and calculates scores but also avoids potential misjudgments and omissions during the evaluation process, ensuring the reliability and accuracy of the evaluation results. Attached Figure Description
[0053] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0054] Figure 1 This is a flowchart illustrating the throwing motion assessment method provided by the present invention;
[0055] Figure 2This is a flowchart illustrating step 130 in the throwing motion assessment method provided by the present invention;
[0056] Figure 3 This is a schematic diagram of trajectory matching of a projectile before it is released, provided by the present invention.
[0057] Figure 4 This is a flowchart illustrating step 140 in the throwing motion assessment method provided by the present invention;
[0058] Figure 5 This is a schematic diagram illustrating the principle of calculating the landing point of a projectile provided by the present invention;
[0059] Figure 6 This is a flowchart illustrating the evaluation state machine provided by the present invention;
[0060] Figure 7 This is a schematic diagram illustrating the principle of throwing performance calculation provided by the present invention;
[0061] Figure 8 This is a schematic diagram of the cross product principle provided by the present invention;
[0062] Figure 9 This is a schematic diagram of the throwing motion evaluation device provided by the present invention;
[0063] Figure 10 This is a schematic diagram of the throwing motion assessment system provided by the present invention;
[0064] Figure 11 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0065] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0066] Currently, in addition to traditional manual measurement methods using measuring tapes, the evaluation of throwing sports is increasingly incorporating intelligent devices with the widespread availability of hardware and software. For example, existing technical solutions for evaluating shot put include: First, solutions based on infrared sensors, requiring infrared transmitters and receivers to be installed on both sides of the scale point. The shot put, once landed, interrupts the signal between the transmitter and receiver, allowing the calculation of the throwing distance. Second, solutions combining traditional and deep learning algorithms. These solutions use YOLOv5 (You Only Look Once version 5) target detection algorithms and Kalman filtering to track the target trajectory, and employ least squares fitting algorithms to fit the target's state parameters to obtain the distance between the moving target and the starting line.
[0067] However, existing solid sphere testing methods based on infrared sensors have limited application scenarios, complex device structures, inconvenient installation and operation, and their testing accuracy is affected by weather and lighting conditions. They are also relatively expensive, making them unsuitable for widespread application. Methods combining traditional and deep learning algorithms primarily employ a separation of detection and tracking to track the sphere. This method uses a Kalman filter, a uniform motion model, to track objects with varying speeds, resulting in poor performance. Furthermore, due to complex backgrounds, the sphere is prone to false positives and false negatives, leading to a low final testing success rate.
[0068] To address this, this invention provides a throwing motion evaluation method. By determining the motion state of each frame image based on at least two of the following: the evaluation area location information of the video stream under test, and the skeletal point location information and the object location information of each frame image in the video stream under test, a refined throwing motion evaluation is performed based on the motion state, thereby overcoming the aforementioned problems.
[0069] Figure 1 This is a flowchart illustrating the throwing motion assessment method provided by the present invention, as shown below. Figure 1 As shown, the method includes:
[0070] Step 110: Obtain the video stream to be tested, and the location information of the evaluation area of the video stream to be tested;
[0071] Specifically, the video stream to be tested is the video stream for which the throwing motion needs to be evaluated, which can be obtained by real-time shooting and recording via a camera. The throwing motion here can be a medicine ball throw or a shot put throw; this embodiment of the invention does not specifically limit it.
[0072] Before conducting a throwing test, it is necessary to first determine the testing area and obtain the location information of the testing area. This location information can include the edge of the testing area, the starting line within the testing area, and each scale point. Each scale point can be used to evaluate the throwing performance.
[0073] When determining the location information of the evaluation region, it can be done fully automatically, that is, first segmenting the evaluation region using a segmentation model, and then automatically identifying all the tick marks within the evaluation region based on the region's edges and a detection algorithm; or it can be done semi-automatically, that is, first manually labeling the vertices of the four evaluation regions, and then automatically identifying all the tick marks within the evaluation region using a detection algorithm. Here, the segmentation model is a deep learning model used to segment the evaluation region in an image, such as an FCN (Fully Convolutional Networks) model or a U-Net model. The detection algorithm is an algorithm that uses deep learning technology to analyze the image and automatically detect and identify the tick marks, such as the YOLO (You Only Look Once) object detection algorithm or the Faster R-CNN (Faster Region-based Convolutional Neural Network) object detection algorithm.
[0074] Step 120: Perform human skeleton point detection on each frame of the video stream to be tested to obtain the skeleton point position information of each frame.
[0075] Specifically, the video stream to be tested may include multiple frames of images. For each frame of the video stream to be tested, human skeleton points can be detected, thereby obtaining the position information of the human skeleton points contained in each frame of images, that is, the skeleton point position information of each frame of images.
[0076] Here, for the detection of skeletal point position information in any frame of an image, human detection can be performed on the frame to locate the human bounding box, and then image cropping can be performed based on the human bounding box. Human skeletal point detection can then be performed on the cropped human image to obtain the position information of key human skeletal points in the frame. Alternatively, image features can be extracted from the frame, and the extracted image features can be applied simultaneously for human detection and human skeletal point detection, thereby simultaneously obtaining the human bounding box and the position information of key skeletal points of the person in the frame. This embodiment of the invention does not specifically limit this approach. Here, key human skeletal points may include hand skeletal points and foot skeletal points, etc.
[0077] For example, a human detection model can be jointly modeled using human shape detection and human skeleton points to obtain the position information of skeleton points in each frame of the image. This human detection model can be implemented using a YOLOX-based skeleton point detection network combined with HRNet (High-Resolution Network) and CBPose (Contextualized Backbone for Robust Pose Estimation) skeleton point detection algorithms. The human detection model can be trained using the MS COCO public dataset and labeled human bounding box-human skeleton point coupling data from throwing motion scenes. Taking the YOLOX-based skeleton point detection network as an example, the trained human detection model can output the horizontal and vertical coordinates (x, y) and width and height (w, h) of the human bounding box, as well as the coordinates of 30 key human skeleton points and information on whether these 30 key skeleton points are visible.
[0078] Step 130: Detect the projectiles in each frame of the image to obtain the position information of the projectiles in each frame of the image;
[0079] Specifically, for each frame of the video stream under test, projectile detection can be performed to obtain the position information of the projectile contained in each frame, i.e., the position information of the projectile in each frame. The projectile here can be a solid ball, a shot put, etc.
[0080] For detecting the position information of a thrown object in any frame of an image, a deep learning model can be used to detect the thrown object in that frame to locate it. Alternatively, image features can be extracted from the frame, and the thrown object's position information can be obtained based on these extracted features. This embodiment of the invention does not impose specific limitations on this method. For example, a thrown object detection model can be applied to obtain the position information of the thrown object in each frame of the image. This thrown object detection model can be implemented using a YOLOX-based thrown object detection network. For the shot put motion, the thrown object detection model can be trained using manually labeled image data of shot put scenarios. Taking a YOLOX-based thrown object detection network as an example, the trained thrown object detection model can output the corresponding circular frame of the thrown object and the coordinates of the center point of the thrown object.
[0081] Step 140: Based on at least two of the following: evaluation area location information, skeleton point location information of each frame image, and projectile location information, determine the motion state of each frame image, and perform a throwing motion evaluation based on the motion state of each frame image.
[0082] Specifically, after obtaining the skeletal point position information and the projectile position information of each frame in the video stream under test, the motion state of each frame can be determined based on at least two of the skeletal point position information, projectile position information, and evaluation area position information. Here, the skeletal point position information may include hand skeletal point position information and foot skeletal point position information; the evaluation area position information is obtained by calibrating the entire video stream under test and is located at the same pixel coordinates as the skeletal point position information and projectile position information. The evaluation area position information may also include a designated test area, within which the person needs to enter and complete the throw before starting the throw.
[0083] Understandably, the aforementioned evaluation area location information, skeleton point location information, and projectile location information are all obtained based on the video stream captured by the camera. This eliminates the need for any infrared equipment, enabling a complete evaluation of the projectile throughout the entire process. It avoids the need to install complex and bulky measuring equipment and also improves the accuracy of the evaluation results.
[0084] During the evaluation of throwing motions, for the video stream under test, it is necessary to determine the motion state of each frame. Here, for any given frame, the motion state of that frame reflects the state of the person and the thrown object in that frame, such as the ready state, the positioned state, the release state, the landing state, the violation state, etc.
[0085] When determining the motion state of any frame, it can be based on at least two of the following: evaluation area location information, skeletal point location information of any frame, and projectile location information. For example, the test area in the evaluation area location information can be compared with the foot skeletal point location information in the skeletal point location information of any frame to determine whether the person has entered the designated test area. If the person enters the test area and remains there for a preset duration, the motion state of any frame can be determined as the ready state. Alternatively, the motion state of any frame can be determined directly based on externally input instructions. For example, if an externally input evaluation preparation instruction is received at the current moment, the motion state of the current frame can be directly determined as the ready state; similarly, if an externally input evaluation start instruction is received at the current moment, the motion state of the current frame can be directly determined as the in-position state.
[0086] Considering the continuous nature of throwing sports, the states of personnel and projectiles during the movement usually change in a pre-set sequence. For example, in the absence of a violation, the movement state usually changes from the ready state to the in position state, from the in position state to the release state, and from the release state to the landing state. However, in the actual evaluation process, all of the above states may change to a violation state due to personnel violations or projectiles going out of bounds.
[0087] For example, if the motion state of the previous frame is in a ready state, the position information of the thrown object and the position information of the hand bones in the previous frame can be used to determine whether there is sufficient overlap between the thrown object and the person's hand area in that frame, thus determining whether the motion state of that frame is a ready state or a ready state. As another example, if the motion state of the previous frame is in a ready state, the position information of the thrown object and the position information of the hand bones in the previous frame can be used to determine whether the distance between the thrown object and the person's hand is greater than a preset distance threshold, thus determining whether the motion state of that frame is a ready state or a release state. Furthermore, based on the position information of the evaluation area, the position information of the foot bones in that frame, and the position information of the hand bones in that frame, it can be determined whether the person has committed violations such as stepping on lines, crossing boundaries, or throwing with one hand, thus determining whether the motion state of that frame is a violation state. For example, if the motion state in the previous frame is a throwing motion, the position information of the thrown object in any given frame can be used to determine whether the thrown object has landed, thus determining whether the motion state of the current frame is a throwing motion or a landing motion. Furthermore, based on the location information of the evaluation area and the position information of the foot bones in the current frame, it can be determined whether the person has stepped on lines, crossed boundaries, or engaged in other violations, thus determining whether the motion state of the current frame is a violation. For example, if the motion state in the previous frame is a landing motion, the position information of the evaluation area and the position information of the thrown object in any given frame can be used to determine whether the thrown object has gone out of bounds, thus determining whether the motion state of the current frame is a violation.
[0088] After determining the motion state of each frame, the throwing motion can be evaluated based on the motion state. For example, if there is a violation in the motion state in any frame, the throwing score can be determined to be invalid. As another example, for the case where the motion state is the landing state, the throwing distance can be calculated by using the first frame of the landing state, as well as the starting line and various scale points in the evaluation area, thereby obtaining the throwing score.
[0089] The method provided in this invention determines the motion state of each frame image by using at least two of the following: the evaluation area location information of the video stream under test, the skeleton point location information and the projectile location information of each frame image in the video stream under test. This allows for a refined evaluation of the throwing motion based on the motion state, which not only enables accurate violation judgment and score calculation, but also avoids potential misjudgments and omissions during the evaluation process, ensuring the reliability and accuracy of the evaluation results.
[0090] Furthermore, based on the continuity of the throwing motion itself, the embodiments of the present invention determine the motion state frame by frame to achieve motion state transition, thereby completing the throwing motion evaluation based on the motion state, ensuring the rationality and reliability of the throwing motion evaluation.
[0091] Based on the above embodiments, Figure 2 This is a flowchart illustrating step 130 of the throwing motion assessment method provided by the present invention, as shown below. Figure 2 As shown, step 130 specifically includes:
[0092] Step 131: Based on the motion state of the previous frame of any frame, locate the candidate region of the projectile in any frame.
[0093] Step 132: Perform projectile detection on the candidate projectile region to obtain the candidate projectile position information for any frame of image;
[0094] Step 133: Based on the position information of the projectiles in each frame before any frame and the position information of the candidate projectiles in any frame, determine the position information of the projectiles in any frame.
[0095] It should be noted that, considering the complexity of the background during object detection in each frame of the image, false detections are easily caused. For example, in the solid ball assessment process, since the assessment scene is usually a school playground, other objects on the playground, such as a soccer ball, are easily misdetected as solid balls. This results in the identification of multiple solid ball position information after solid ball detection in the image, leading to a low final assessment success rate. To solve this problem, in this embodiment of the invention, the accurate object position information is determined by filtering from one or more candidate object position information in any given frame of the image based on the object position information of previous frames, thereby ensuring the accuracy and reliability of the assessment results.
[0096] Specifically, the projectile candidate region refers to the region determined in any frame of an image for projectile detection. By locating the projectile candidate region, the detection area can be narrowed down, which not only helps to improve the efficiency of projectile detection, but also effectively avoids interference from other objects outside the region in the image background, thereby reducing the false detection rate of projectiles and improving the detection effect.
[0097] To quickly detect the correct projectile, accurately locating the candidate projectile region is crucial. Considering that the throwing process can be divided into two stages—before release and after release—based on the relationship between the projectile and the person, these two stages correspond to different motion states, and the position of the projectile also differs. Therefore, the projectile can be tracked based on these two stages separately. Before release, the projectile is in the person's hand. Therefore, if the motion state of the previous frame is determined to be either ready or in position, the candidate projectile region of that frame can be located based on the position information of the person's hand bones in that frame. After release, the projectile flies forward in the air. Therefore, if the motion state of the previous frame is determined to be either released or landed, the candidate projectile region of that frame can be located based on the end of the projectile's trajectory.
[0098] After locating the candidate region for projectiles in any frame of the image, projectile detection can be performed on this candidate region to obtain the candidate projectile position information for that frame. Here, there is at least one candidate projectile position information. Considering that the trajectory of the projectile is continuous, in order to determine the correct projectile position information from the candidate projectile position information, the position information that matches the projectile position information of the previous frames can be selected from the candidate projectile position information and used as the projectile position information for the current frame.
[0099] The method provided in this invention locates the candidate region of the projectile frame by frame based on the continuity of the throwing motion itself for projectile detection, and determines the correct projectile position information based on the continuity of the projectile's trajectory, thus ensuring the accuracy and reliability of the evaluation results.
[0100] Based on the above embodiments, step 131 specifically includes:
[0101] If the motion state of the previous frame is in a ready state or in a ready state, the candidate region of the projectile in any frame is located based on the position information of the hand bone points in the bone point position information of any frame.
[0102] If the motion state in the previous frame is either a release or a landing state, the candidate region of the projectile in any frame is located based on the position information of the projectile in the previous frame.
[0103] Specifically, if the motion state of the previous frame is either ready or in position, it can be determined that the projectile is located within the person's hand, meaning there is an overlap between the projectile and the person's hand area. In this case, based on the hand skeleton point position information in the skeleton point position information of any frame, a first preset area can be expanded outward to locate the candidate area for the projectile in that frame. Here, the size of the first preset area can be set according to the actual situation; for example, it can be set to 224*224 pixels based on the shooting distance, projectile size, etc.
[0104] If the object is in a throwing or landing state in the previous frame, it can be determined that the object has been thrown. After being thrown, the object will fly in the air for a certain period of time before falling to the ground. After landing, it may bounce and eventually roll along the ground to stop. During this process, a second preset area can be expanded outward based on the end of the object's trajectory to locate the candidate region of the object in that frame. Here, the size of the second preset area can be set according to the actual situation. For example, the size of the second preset area can be set to be proportional to the size of the historical detection box of the object, and the ratio can be fixed at 15 times. That is, sliding window detection is performed according to this ratio, which can adapt to the object detection needs in different scenarios and ensure the best detection effect.
[0105] In the embodiments of the present invention, considering that there is a significant difference in the motion trajectory of the projectile before and after it is released, the detection area is expanded based on different reference points when the previous frame of any image is in a different motion state, so as to locate the projectile candidate area with accurate position and appropriate size. This ensures that the projectile detection based on the projectile candidate area can obtain accurate projectile position information, thereby improving the accuracy of the evaluation results.
[0106] Based on any of the above embodiments, step 133 specifically includes:
[0107] Based on the position information of the projectiles in previous frames of any given frame, establish the historical trajectory information of the projectiles in any given frame.
[0108] Trajectory prediction is performed based on the historical trajectory information of the projectile to obtain the predicted position information of the projectile in any frame of the image;
[0109] From the candidate projectile location information, select the location information that overlaps with the predicted location information of the projectile, and use it as the projectile location information for any frame image.
[0110] Specifically, after detecting the candidate throwing objects in any frame of an image and obtaining the candidate throwing object position information, the historical trajectory information of the throwing objects can be established based on the throwing object position information of previous frames of the image. This allows for the analysis and prediction of the throwing object's trajectory, resulting in predicted throwing object position information. Consequently, the position information that overlaps with the predicted throwing object position information can be selected from the candidate throwing object position information and used as the throwing object position information for that frame of the image.
[0111] Here, overlap with predicted projectile location information refers to the overlap between candidate projectile location information and predicted projectile location information within a certain range. For example, both candidate and predicted projectile location information can be the coordinates of the projectile's center point. Circles are drawn with the coordinates corresponding to each location information as centers and a preset radius. The candidate projectile location information is determined as the selected location when the overlap between the circles containing the candidate and predicted projectile location information is maximized. Alternatively, when selecting a projectile location from candidate location information, a matching judgment can be made based on the distance between the candidate and predicted location information, selecting the location information closest to the predicted location information as the projectile location information for any given frame.
[0112] For any given frame, the position information of the projectiles from previous frames can be stored. Based on this stored position information, by connecting the positions of the projectiles in adjacent frames, a historical trajectory of the projectiles can be established, thus obtaining the historical trajectory information. During the process of establishing the historical trajectory, methods such as linear interpolation or Bézier curve fitting can be used to smooth the trajectory. Understandably, as time progresses, new frames will be added, and the stored position information and historical trajectory information will be continuously updated.
[0113] Considering that the trajectory of a projectile differs significantly before and after release, before release, the trajectory of the projectile overlaps considerably with that of the human hand in both space and time. After release, the projectile follows a parabolic motion, and its trajectory is a parabola. Therefore, after obtaining the historical trajectory information of the projectile under different motion states, different methods can be used to predict the trajectory.
[0114] For example, if the motion state of the previous frame is in a ready or in-position state, i.e. before the projectile is released, a cost matrix can be established using IOU (Intersection over Union) and Distance. The cost matrix can be used to measure the degree of difference between the projectile's historical trajectory information and the candidate projectile's position information. The Hungarian algorithm is used to establish the optimal match between the candidate projectile's position information and the projectile's historical trajectory information, that is, to obtain the position information corresponding to the projectile's historical trajectory information, which is used as the projectile's position information.
[0115] Figure 3 This is a schematic diagram of trajectory matching of the projectile before it is released, provided by the present invention. Figure 3 As shown, in the four frames on the left, the bottom one is any frame, and the top three frames are the frames before any frame. The object thrown in the image is a solid ball in the person's hand. On the ground in the image, there is also a rolling soccer ball. T1 and T2 represent the trajectory of the solid ball and the trajectory of the soccer ball formed in the frames before any frame, respectively. Since the solid ball is in the person's hand before being released, the trajectory that overlaps most with the person's hand in space and time can be used as the trajectory of the solid ball. Thus, T1 corresponds to the trajectory of the solid ball, and T2 corresponds to the trajectory of the soccer ball. Figure 3 In this context, D1 and D2 represent the candidate projectile position information for any frame. Cost matrices are established for both the historical trajectory information of the projectiles and the candidate projectile position information. The cost matrix values for T1 and D1, T1 and D2, T2 and D1, and T2 and D2 are calculated respectively, yielding values of 0.6, 0.8, 0.9, and 0.5. In the established cost matrix, the horizontal axis D represents the detection result, i.e., the corresponding candidate projectile position information, and T represents the trajectory formed in previous frames, i.e., the corresponding historical trajectory information. The cost matrix is used to measure the degree of difference between the trajectory and the detection result; the smaller the value, the more similar the two targets are. Therefore, T1 and D1 are determined to be the optimal match, and T2 and D2 are determined to be the optimal match. Thus, the Hungarian algorithm can be used to assign the candidate projectile position information D1 to the corresponding historical trajectory information T1, thereby determining D1 as the projectile position information for that frame of the image.
[0116] For example, if the motion state of the previous frame is either the throwing state or the landing state, i.e., after the object has been thrown, due to the complex background in the air and the fact that the object follows a parabolic motion after being thrown, a parabolic fitting method can be used to track the object and predict its trajectory based on its historical trajectory information. The specific method is as follows:
[0117] Establish the pre-defined equations of parabolic motion:
[0118] y = a·x2 +b·x+c
[0119] The homogeneous expression for parabolic fitting is as follows:
[0120]
[0121] The homogeneous expression is converted into a matrix expression as follows:
[0122]
[0123] The homogeneous expression for parabolic fitting can be used to find the optimal parameters, so that the fitted curve is as close as possible to the data points corresponding to the projectile's position information. The parameters a, b, and c can be solved using the above matrix expression. For example, the solution can be achieved using the least squares method. By substituting the last n points of the projectile's historical trajectory information into the above matrix expression, the predicted position information of the projectile can be obtained.
[0124] The predicted location of the projectile is matched with the center point of the candidate projectile locations obtained from projectile detection. If the candidate locations are close to the predicted locations, the closest location is selected as the actual projectile location. If all candidate locations are far from the predicted locations, the predicted locations are selected. This ensures that the determined projectile location is closer to the true location. It should be noted that at the moment of release, three projectile locations can be selected as parabolic fitting points. Over time, the number of parabolic fitting points can be gradually increased, for example, to eight points, to ensure a smoother and more accurate tracked projectile trajectory.
[0125] The method provided in this invention determines the correct position information of the projectile from the position information of each candidate projectile using a cost matrix and a Hungarian algorithm before the projectile is released. After the projectile is released, the correct position information of the projectile is selected by using the motion law of the projectile in the air. By using a parabolic fitting algorithm, the projectile is not affected by the detection of virtual scenes while in the air, thus ensuring the accuracy and reliability of the position information of the projectile.
[0126] Based on any of the above embodiments Figure 4 This is a flowchart illustrating step 140 of the throwing motion assessment method provided by the present invention, as shown below. Figure 4 As shown, step 140 specifically includes:
[0127] Step 141: Determine the status of the projectile in each frame image based on the skeletal point position information and / or the projectile position information.
[0128] Specifically, the state of a projectile refers to its position during the throwing motion. For example, the state of a projectile could be that it is in the hand, in the air, or on the ground. After obtaining the skeletal point position information and the projectile position information of each frame, the state of the projectile in each frame can be determined based on the skeletal point position information and / or the projectile position information.
[0129] For example, if the motion state of the previous frame is either ready or in position, the position information of the thrown object and the hand skeleton points in the skeletal point information of that frame can be used to determine whether there is sufficient overlap between the thrown object and the person's hand area. This allows us to determine whether the thrown object is inside the person's hand or in the air. As another example, if the motion state of the previous frame is in the release state, the position information of the thrown object in that frame can be used to determine whether the thrown object has landed, thus determining whether it is in the air or on the ground.
[0130] Step 142: Based on the skeletal point position information or projectile position information of each frame image, and the evaluation area position information, determine the violation detection status of each frame image.
[0131] It should be noted that violation detection refers to the process of detecting personnel or projectiles during throwing sports to determine whether relevant regulations have been violated. For example, during the throwing of a medicine ball, the position information of the skeletal points or the projectile itself in each frame of the image, as well as the position information of the evaluation area, can be used to determine whether the person has committed violations such as throwing with one hand, stepping on the line, crossing the boundary, jumping, or running. When the medicine ball lands, it can be determined whether it has gone out of bounds. This determines whether the violation detection status of each frame of the image is either a violation or compliance.
[0132] Specifically, if the motion state of the previous frame is in the "in position" state, the position information of the hand bones in the skeletal point position information of any frame can be used to determine whether the person has committed a violation of throwing with one hand. If the person has committed a violation of throwing with one hand, the violation detection status of that frame can be determined as "violation exists". If the person has not committed a violation of throwing with one hand, the position information of the evaluation area and the position information of the foot bones in the skeletal point position information of any frame can be used to determine whether the person has committed violations such as stepping on the line, crossing the boundary, or running. Thus, the violation detection status of that frame can be determined as "violation exists" or "compliance exists".
[0133] If the motion state of the previous frame is in the hand release state, the location information of the evaluation area and the foot bone point location information in the bone point location information of any frame image can be used to determine whether the person has violated the rules such as stepping on the line, crossing the boundary, or running. Thus, the violation detection status of the frame image is determined to be either a violation or compliance.
[0134] If the motion state of the previous frame is in the landing state, it is possible to determine whether the object has exceeded the boundary when it lands based on the evaluation area location information and the object location information of any frame. This determines whether the violation detection state of the frame is either a violation or compliance.
[0135] It is understandable that during the preparation phase of a throwing motion, violations are usually not considered, i.e., no violation detection is performed. Therefore, if the motion state of the previous frame is in the preparation phase, the violation detection state of that frame can be determined to be compliant.
[0136] Step 143: Determine the motion state of each frame image based on the state of the projectile and / or the violation detection state of each frame image.
[0137] Specifically, after determining the thrown object state and violation detection state of each frame, the motion state of each frame can be determined based on the thrown object state and / or violation detection state. If the violation detection state of any frame indicates a violation, the motion state of that frame can be directly determined to be a violation state. If the violation detection state of any frame indicates compliance, the motion state of that frame can be determined based on the thrown object state. For example, if the thrown object in any frame is inside a person's hand, the motion state of that frame can be determined to be a ready state or a positioned state; if the thrown object in any frame is in the air, the motion state of that frame can be determined to be a release state; if the thrown object in any frame is on the ground, the motion state of that frame can be determined to be a landing state.
[0138] Understandably, even if the violation detection status of any frame is compliant, the determination can also be based on whether an external input instruction has been received. For example, if an external input instruction for evaluation preparation is received, the motion state of that frame can be determined to be in the preparation state; if an external input instruction for evaluation start is received, the motion state of that frame can be determined to be in the in-place state.
[0139] In this embodiment of the invention, the state of the projectile is determined by the relationship between the projectile and the person, and various violations are detected based on the skeletal point position information and / or the projectile position information, as well as the evaluation area position information, so as to determine the violation detection state of each frame image. Thus, based on the projectile state and / or the violation detection state, the motion state of each frame image can be accurately determined, which is convenient for subsequent throwing motion evaluation.
[0140] Based on the above embodiments, when the motion state of the previous frame is in a ready state or in a ready state, or when any frame is the first frame, step 141 specifically includes:
[0141] Based on the position information of the hand skeleton points in the position information of the skeleton points in any frame image, locate the hand region information in any frame image;
[0142] Overlap detection is performed on the position information of the thrown object and the hand region information of any frame image, and the state of the thrown object in any frame image is determined based on the overlap detection results.
[0143] Specifically, if the motion state of the previous frame is in a ready state or in position, or if any frame is the first frame, overlap detection can be performed based on the position information of the thrown object and the hand area information of any frame. Based on the overlap detection results, it can be determined whether the thrown object in any frame is located in the hand or in the air.
[0144] In this embodiment of the invention, the hand bone point position information of any frame image is used as a reference for semantic segmentation of the hand region in that frame image, achieving fine-grained segmentation of the hand region in that frame image, thereby locating the hand region information. Specifically, the frame image and the hand bone point position information of that frame image can be input into a hand segmentation model to obtain the hand segmentation result output by the hand segmentation model; or, based on each hand bone point indicated by the hand bone point position information, the bounding box of the person's hand bone points can be determined, and then the bounding box of the hand bone points can be expanded by a certain proportion. The expanded local image is then input into the hand segmentation model to obtain the hand segmentation result output by the hand segmentation model. This embodiment of the invention does not specifically limit this. It is understood that the hand segmentation model here is pre-trained, and the resulting hand segmentation result reflects which pixels belong to the hand region.
[0145] For example, for shot put, the aforementioned hand segmentation model can be based on human parsing datasets and labeled hand segmentation data for shot put scenarios. The model input is a bounding box of key bone points of the hand, expanded by a certain proportion (e.g., with a radius of 20 pixels), to train a model capable of effectively segmenting the hand region. Here, the hand segmentation model can utilize HRNet or other common semantic segmentation frameworks.
[0146] After obtaining the hand segmentation results, contour fitting can be performed on the hand segmentation results to obtain the positional information of the contour points of the hand region, i.e., the hand region information. After obtaining the hand region information, overlap detection can be performed using the hand region information and the position information of the thrown object. The overlap detection result satisfies the condition that the thrown object and the person's hand region reach a certain degree of overlap (e.g., IOU). 球 If the overlap is ≥0.8 and persists for a certain duration (e.g., at 25fps, duration T≥10 frames), the thrown object can be determined to be within the person's hand. The specific overlap calculation formula is as follows:
[0147]
[0148] Among them, IOU 球 Indicates the degree of overlap between the thrown object and the area of a person's hand, Region 球 This indicates the detected area of the projectile, i.e., the location information of the projectile. 手 This indicates the hand region information obtained from the location.
[0149] Understandably, if the motion state of the preceding frame is in a ready state, and the overlap detection result satisfies that the thrown object and the person's hand area reach a certain degree of overlap and last for a certain duration, then the thrown object in that frame can be determined to be within the person's hand, and thus the motion state of that frame can be determined to be in the ready state. If the motion state of the preceding frame is in the ready state, and the overlap detection result shows that the thrown object and the person's hand do not overlap spatially, and the distance between the thrown object and the person's hand is greater than a certain threshold, then the thrown object can be determined to be in the air, and thus the motion state of that frame can be determined to enter the release state. Simultaneously, various violation detections are performed to determine whether the person has stepped on a line, jumped, or thrown with one hand, thereby determining whether the motion state of that frame is a violation state.
[0150] The method provided in this invention performs hand segmentation and contour fitting based on the position information of hand bone points to obtain hand region information, and performs overlap detection based on the hand region information, which can meet the fine requirements of overlap detection and thus ensure the reliability of throwing motion evaluation.
[0151] Based on any of the above embodiments, when the motion state of the previous frame is the hand-reaching state, step 141 specifically includes:
[0152] The system performs landing detection on the position information of the projectile in any frame of the image and determines the state of the projectile in any frame of the image based on the landing detection results.
[0153] Specifically, if the motion state of the previous frame is the release state, landing detection can be performed based on the position information of the thrown object in any frame to determine whether the thrown object has landed. Thus, based on the landing detection result, the state of the thrown object in any frame can be determined as either in the air or on the ground.
[0154] Considering that projectiles bounce after landing, with different velocities and directions during descent and bounce, and that their velocity changes abruptly upon contact with the ground, the rate of change of velocity can be detected to determine whether the projectile has hit the ground and bounced, thus determining whether it has landed. In essence, based on the projectile's position and historical trajectory information in any given frame, its trajectory can be determined. From this trajectory information, the rate of change and direction of velocity can be obtained, thereby determining whether the projectile has landed.
[0155] For example, if the motion state of the previous frame is a release state, and the time t corresponding to any frame satisfies the following condition: the velocity from t to t-1 decreases more than a preset threshold relative to the velocity from t-3 to t-2, and the velocities are opposite in the vertical direction, then it can be determined that the thrown object bounces upon landing. Based on this, the state of the thrown object in that frame can be determined as landing. Here, the preset threshold can be set according to the actual situation. For example, for a solid ball throw, the preset threshold can be set to 0.7 based on experience. This embodiment of the invention does not specifically limit this.
[0156] It should be noted that although the thrown object will bounce after landing and land again, the calculation of the throwing score and the determination of the object going out of bounds are both based on the first landing point. Therefore, after the first detection identifies the state of the thrown object as landing, it can be directly determined that the state of the thrown object in subsequent frames is also landing, and there is no need to perform landing detection again.
[0157] If the thrown object in any frame of the image is determined to have landed, the specific landing point can be determined as follows: Figure 5 This is a schematic diagram illustrating the principle of calculating the landing point of a projectile provided by the present invention, as shown below. Figure 5As shown, the projectile can be a solid ball. The small dots in the image represent the projectile's position information, and the points marked with stars correspond to the release point, i.e., the moment the solid ball leaves the hand. The curve before the release point (to the right of the release point) represents the ball's trajectory before release, and the curve after the release point (to the left of the release point) represents the ball's trajectory after release. Assuming that time t corresponding to this frame is the landing time, the landing point of the projectile can be determined by calculating the intersection of the line connecting time t-3 to t-2 and the line connecting t-1 to t. Figure 5 The point marked with a five-pointed star is the landing point, and the time corresponding to that landing point is the actual landing time. After determining the landing point of the thrown object, it can be used to determine whether it went out of bounds or to calculate the throwing score.
[0158] The method provided in this invention can determine the rate of change of velocity and direction of the projectile based on its trajectory, and use this to determine whether the projectile has landed. When it is determined that the projectile has landed, the landing point of the projectile can be identified, thereby calculating the throwing score and determining whether the projectile has gone out of bounds, so as to conduct reliable throwing sports evaluation.
[0159] Based on any of the above embodiments, when the motion state of the previous frame is in the in-place state, step 142 specifically includes:
[0160] Based on the position information of the hand and foot bones in the bone point position information of any frame image, locate the hand region information and foot contour information of any frame image.
[0161] Violation detection is performed on the location information of the evaluation area and the foot contour information and hand area information of any frame image, and the violation detection status of any frame image is determined based on the violation detection results.
[0162] Specifically, if the motion state of the previous frame is in the "in position" state, it is necessary to determine whether there are any violations such as people stepping on lines, crossing boundaries, throwing with one hand, jumping, or running in the current frame. This determines whether the violation detection status of the current frame is "violation-compliant" or "compliant." When performing violation detection, specific preset rules can be formulated for each violation, and detection and judgment can be performed according to these preset rules. Alternatively, a violation classifier can be used for detection and judgment. This embodiment of the invention does not specifically limit the specific methods used.
[0163] For example, in the case of shot put, a system can determine whether a person has committed a violation by throwing with one hand based on preset rules. After locating the hand region information of any frame image, the system can calculate the distance between the middle and metacarpophalangeal joints of the person's two hands based on the hand region information, and determine whether the distance exceeds a certain threshold. If it does, it can be determined as a violation by throwing with one hand, thereby confirming the violation detection status of the frame image as a violation.
[0164] For example, in the case of shot put, pre-defined rules can be used to determine whether a person has violated regulations such as stepping on the line, crossing the boundary, or taking a running start. To achieve refined violation detection, in this embodiment of the invention, the foot bone point position information of any frame image is used as a reference for semantic segmentation of the foot region in that frame image, thereby achieving refined segmentation of the foot region in that frame. Specifically, the frame image and the foot bone point position information of that frame image can be input into a foot segmentation model to obtain the foot segmentation result output by the foot segmentation model. Alternatively, based on each foot bone point indicated by the foot bone point position information, the bounding box of the person's foot bone points can be determined, and then the bounding box of the foot bone points can be expanded by a certain proportion. The expanded local image is then input into the foot segmentation model to obtain the foot segmentation result output by the foot segmentation model. This embodiment of the invention does not specifically limit this. It is understood that the foot segmentation model here is pre-trained, and the resulting foot segmentation result reflects which pixels belong to the foot region.
[0165] Here, the aforementioned foot segmentation model can be based on human parsing datasets and labeled foot segmentation data from a medicine ball throwing scenario. The model input is a bounding box of six skeletal points on the foot, expanded by a certain proportion, to train a model capable of effectively segmenting the foot region. It should be noted that the foot segmentation model can utilize HRNet or other common semantic segmentation frameworks. After obtaining the foot segmentation results, contour fitting can be performed to obtain the positional information of the contour points in the foot region, i.e., the foot contour information.
[0166] After obtaining the foot contour information, the position information of each foot contour point indicated by the foot contour information can be compared with the position information of the starting line indicated in the evaluation area position information to calculate the distance between each foot contour point and the starting line. This distance can be positive or negative. For example, the distance corresponding to a foot contour point that exceeds the starting line can be set as a positive value. If there is a positive distance and the distance value is greater than a preset threshold, it is determined that there is a case of stepping on the line or crossing the boundary, thus determining the violation detection result of that frame as a violation; otherwise, the violation detection result is determined as compliant. Alternatively, the position information of each foot contour point indicated by the foot contour information can be compared with the position information of the test area indicated in the evaluation area position information to determine whether each foot contour point is within the test area. If there are foot contour points falling outside the test area, it is determined that there is a case of crossing the boundary or running start, thus determining the violation detection result of that frame as a violation; otherwise, the violation detection result is determined as compliant.
[0167] For example, regarding shot put, a violation classifier can be used to determine whether a one-handed throw or jump throw constitutes a violation. Here, the violation classifier is a multi-label classification model, which can employ an R2+1D structure. R2+1D is a deep learning model structure where R2 represents the second layer of a ResNet residual network, and 1D represents a one-dimensional convolutional neural network (1D CNN). This model structure combines the advantages of ResNet and 1D CNN. The input to the violation classifier can be k consecutive frames of images (e.g., k can be 3 or 5), and the output is a violation category score. Violation categories can include one-handed throw and jump throw. Specifically, the determination method is as follows: a sliding window is applied to T frames of images before the object is released (e.g., in a 25fps video stream, T can be set to 10 or 15), and the images are input to the violation classifier to obtain the violation category score. The violation category scores are averaged to obtain the final score for the violation, and then processed using argmax to obtain the corresponding violation category. For example, 00 represents no violation, 01 represents a one-handed throw violation, 10 represents a jump shot violation, and 11 represents both violations.
[0168] The method provided in this invention can select to perform violation detection based on preset rules or by using a violation classifier according to actual needs, so as to meet the detection requirements of different violations, improve the accuracy of violation detection, and thus ensure the reliability of throwing sports evaluation.
[0169] Based on any of the above embodiments, when the motion state of the previous frame is the hand-reaching state, step 142 specifically includes:
[0170] Based on the position information of the foot bones in the bone point position information of any frame image, locate the foot contour information of any frame image.
[0171] Violation detection is performed on the location information of the evaluation area and the foot contour information of any frame image, and the violation detection status of any frame image is determined based on the violation detection results.
[0172] Specifically, if the motion state of the previous frame is in the "hand-out" state, that is, the object is in the air, it is necessary to determine whether there is any violation of the rules by personnel stepping on the line or crossing the boundary in the current frame, thereby determining whether the violation detection status of the current frame is a violation or compliance.
[0173] To achieve refined violation detection, this embodiment of the invention uses the foot bone point position information of any frame image as a reference for semantic segmentation of the foot region in that frame image, thereby achieving refined segmentation of the foot region in that frame image, obtaining the foot segmentation result, and performing contour fitting on the foot segmentation result to obtain the position information of the contour points of the foot region, i.e., the foot contour information. Here, the method for obtaining the foot contour information is consistent with the method in the above embodiment, and will not be repeated here.
[0174] After obtaining the foot contour information, the position information of each foot contour point indicated by the foot contour information and the position information of the starting line indicated in the evaluation area position information can be used to calculate the distance between each foot contour point and the starting line. This allows us to determine whether there is any behavior of stepping on the line or crossing the boundary in the frame image, thus obtaining the violation detection result, i.e., whether there is a violation or compliance.
[0175] The method provided in this invention segmentes and fits the foot contour based on the position information of the foot bones to obtain the foot contour information, and then performs violation detection based on the foot contour information. This can meet the requirements for refined violation detection and thus ensure the reliability of throwing motion evaluation.
[0176] Based on any of the above embodiments, when the motion state of the previous frame is in a landing state, step 142 specifically includes:
[0177] Violation detection is performed on the location information of the evaluation area and the location information of the projectile in any frame of the image, and the violation detection status of any frame of the image is determined based on the violation detection results.
[0178] Specifically, if the previous frame of any given image is in a landing state (i.e., the thrown object has landed), it is necessary to determine whether the thrown object has crossed the boundary in that frame, thus determining whether the violation detection status of that frame is either a violation or compliance. Here, the previous frame can be the first frame in the landing state.
[0179] After determining the landing point of the projectile based on the position information of the projectile in any frame of the image, the cross product principle can be used to apply the position information of the upper and lower boundaries of the evaluation area indicated in the evaluation area position information to determine whether the landing point is located between the upper and lower boundaries of the evaluation area. If the landing point is located between the upper and lower boundaries of the evaluation area, the landing point can be determined to be normal, thus determining that the violation detection status of the frame of the image is compliant; otherwise, it is determined to be out of bounds and the violation detection status of the frame of the image is determined to be that there is a violation.
[0180] For example, the two coordinate points at the upper boundary of the evaluation area are (x u1 y u1 ) and (x u2y u2 The two coordinates of the lower boundary are (x... l1 y l1 ) and (x l2 y l2 The calculated landing point coordinates are (x...). p y p The cross product of the vectors formed by the landing point and the two sides of the upper and lower boundary coordinate points is shown in the following formula:
[0181] cross A =(x u1 -x p y u1 -y p )×(x l1 -x p y l1 -y p )
[0182] cross B =(x u2 -x p y u2 -y p )×(x l2 -x p y l2 -y p )
[0183] If cross A and cross B If the sign is different, the landing point can be determined to be between the upper and lower edges of the evaluation area, thus determining that the violation detection status of this frame image is compliant; if it crosses... A and cross B If the same sign is found, it can be determined that the landing point is not between the upper and lower edges of the evaluation area, thus confirming that the violation detection status of the frame image is that a violation exists.
[0184] The method provided in this invention, after determining the landing point of the thrown object, can use the cross product principle to determine whether the thrown object has violated the rules by going out of bounds, so as to obtain an accurate judgment result. Based on the judgment result, the violation detection status can be determined, which meets the refined requirements of violation detection and ensures the accuracy and reliability of throwing motion evaluation.
[0185] Based on any of the above embodiments Figure 6 This is a flowchart illustrating the evaluation state machine provided by the present invention, as shown below. Figure 6As shown in the embodiment of the invention, the throwing motion assessment method uses a state machine to construct the assessment process, and the thrown object can be a solid ball. The throwing motion assessment system starts in a waiting state, at which point the system announces "Please prepare." When a person enters the testing area, the system can call the human body detection network to detect human skeletal points in the image frame according to a preset detection interval, obtaining skeletal point position information. This skeletal point position information can include hand and foot skeletal point position information. Simultaneously, the system calls the thrown object detection network to detect the solid ball in the image, obtaining the thrown object position information. Using the thrown object position information and the hand skeletal point position information, the system determines whether there is sufficient overlap between the solid ball in the image and the person's hand area. If the solid ball detection result satisfies that there is sufficient overlap with the area near the person's hand skeletal points for a certain period of time, the system enters the ready state.
[0186] Once in position, the system announces "Start," and the person begins throwing. When it detects that the medicine ball and the person's hand do not overlap spatially, and the distance between them exceeds a certain threshold, the system enters the release phase. Simultaneously, a violation detection system can be used via preset rules or a violation classifier to identify any violations before or after the release, such as stepping on lines or crossing boundaries, throwing with one hand, or using a running start or jump throw. If any violations are found, the system announces the corresponding violation and ends the assessment, invalidating the result. If no violations are found, the assessment process continues.
[0187] In the release state, the projectile is in the air, meaning the ball is in mid-air. The system continuously tracks and detects the projectile, using a parabolic trajectory to generate the ball's trajectory based on the projectile's position information in each frame. It then determines whether the ball has landed based on the trajectory. When the system detects the ball bouncing upon landing, it outputs a landing signal, and the system enters the landing state. Understandably, while the ball is in the air, it's also necessary to detect violations by personnel. This can be done using preset rules or a violation classifier to determine if a person has stepped on a line or crossed a boundary. If so, the system announces the violation and ends the assessment, invalidating the result. If no violations are found, the assessment process continues.
[0188] When the ball is in the ground, the system determines whether it is out of bounds based on the landing point and the location information of the evaluation area. If the ball is out of bounds, the system will announce a violation and the evaluation result will be invalid. If the ball is not out of bounds, that is, the landing point is normal, the throwing distance can be calculated based on the scale points in the evaluation area, the system will announce the throwing result, and the evaluation process will end.
[0189] Before conducting the throwing motion assessment, the assessment area can be segmented using a segmentation model. Based on the edges of the assessment area and a detection algorithm, all scale points within the assessment area are automatically identified, thus obtaining the location information of the assessment area. When calculating the throwing distance based on the scale points within the assessment area, the calculation can be performed as follows:
[0190] Figure 7 This is a schematic diagram illustrating the principle of throwing performance calculation provided by the present invention, as shown below. Figure 7 As shown, the distance between each scale point within the testing area can be set to 1m. Starting from the initial projection line, each scale point is numbered sequentially. Figure 7 The numbers 0 to 14 represent the numbers corresponding to each scale point, with scale point number 0 corresponding to the starting line.
[0191] After determining the landing point of the solid sphere, you can input the coordinates of the landing point and use the cross product principle to determine which two sets of scale points the landing point is located between. Figure 8 This is a schematic diagram of the cross product principle provided by the present invention, such as... Figure 8 As shown, let the coordinates of two scale points in a certain scale area be (x...). top1 y top1 ) and (x top2 y top2 The coordinates of the two scale points in the lower row are (x... bottom1 y bottom1 ) and (x botto y bottom2 The calculated landing point coordinates are (x...). c y c The cross product of the vectors formed by the landing point and the two sides of the scale point is shown in the following formula:
[0192] cross1 = (x top1 -x c y top1 -y c )×(x bottom1 -x c y bottom1 -y c )
[0193] cross2=(x top2 -x c y top2 -y c )×(x bottom2 -x c y bottom2 -y c )
[0194] If croaa1 and cross2 have opposite signs, then the landing point can be determined to be between these two sets of scale points. Figure 8 As shown in Figure a, the throwing score can then be calculated using these two sets of scale points and the landing point; if cross1 and cross2 have the same number, it can be determined that the landing point is not between these two sets of scale points, such as... Figure 8 In the case shown in b, it is necessary to change the scale point and recalculate.
[0195] like Figure 7 As shown, in order to further calculate the accurate throwing distance, equal division lines with 0.1m units can be generated based on the scale points, and the equal division lines can be numbered. That is, the area between these two sets of scale points is divided into ten equal parts. Then, according to the cross product principle, it is determined which two equal division lines the landing point is located between. After determining which two equal division lines the landing point is located between, the specific throwing score can be calculated based on the scale points and equal division lines.
[0196] Since the distance between the scale points is 1m, the scale points on the right side (i.e., the set of scale points closest to the throwing line) are numbered equal to their distance from the throwing line, denoted as A. Since the distance between the bisectors is 0.1m, the bisector number can be multiplied by 0.1m, denoted as B. Considering there are three possibilities for the landing point between the two bisectors, the following formula can be used for calculation:
[0197] (1) If the landing point is in the middle of the two bisectors, then the throwing distance = A + B + 0.05;
[0198] (2) If the landing point is on the right bisector, then the throwing distance = A + B;
[0199] (3) If the landing point is on the left bisector, then the throwing distance = A + B + 0.1;
[0200] like Figure 7 As shown, according to the cross product principle, the landing point is located between the two landing points numbered 4 and 5, i.e., A = 4. According to the cross product principle, the landing point is located between the two bisectors of numbered 5 and 6, i.e., B = 5 * 0.1 = 0.5. Therefore, the throwing distance can be calculated as A + B + 0.05m = 4 + 0.5 + 0.05 = 4.55m, i.e., the throwing score is 4.55 meters.
[0201] The method provided in this invention automatically detects the evaluation area and all scale points through a segmentation model and detection algorithm, thereby calibrating the evaluation area and generating scoring scales; it determines the position and posture of the person through human skeleton point tracking and foot segmentation algorithms, thereby judging violations such as stepping on the line, one-handed throwing, and jump throwing; it determines the position of the ball by using a ball tracking algorithm that fits a parabola, thereby determining the landing point, identifying violations of boundaries, and accurately calculating the throwing score; the entire system operates through a state machine, which can accurately determine the motion state of the ball and the person, thereby better judging throwing violations and assisting in teaching.
[0202] Based on any of the above embodiments Figure 9 This is a schematic diagram of the throwing motion assessment device provided by the present invention, as shown below. Figure 9 As shown, the device includes:
[0203] The acquisition unit 910 is used to acquire the video stream to be tested, as well as the evaluation area location information of the video stream to be tested;
[0204] The skeleton point detection unit 920 is used to detect human skeleton points in each frame of the video stream under test and obtain the skeleton point position information of each frame.
[0205] The projectile detection unit 930 is used to detect projectiles in each frame of the image and obtain the projectile position information in each frame of the image.
[0206] The evaluation unit 940 is used to determine the motion state of each frame image based on at least two of the following: evaluation area location information, skeleton point location information of each frame image, and projectile location information, and to perform a throwing motion evaluation based on the motion state of each frame image.
[0207] The device provided in this invention determines the motion state of each frame image by using at least two of the following: the evaluation area location information of the video stream under test, the skeleton point location information and the projectile location information of each frame image in the video stream under test. This allows for a refined evaluation of the throwing motion based on the motion state, which not only enables accurate violation judgment and score calculation, but also avoids potential misjudgments and omissions during the evaluation process, ensuring the reliability and accuracy of the evaluation results.
[0208] Based on any of the above embodiments, the projectile detection unit 930 specifically includes: a candidate region localization subunit, used to locate the projectile candidate region in any frame image based on the motion state of the previous frame image; a projectile detection subunit, used to perform projectile detection on the projectile candidate region to obtain the candidate projectile position information of any frame image; and a position information determination subunit, used to determine the projectile position information of any frame image based on the projectile position information of each frame image before any frame image and the candidate projectile position information of any frame image.
[0209] Based on any of the above embodiments, the candidate region localization subunit is specifically used to: when the motion state of the previous frame image is a ready state or a ready state, locate the candidate region of the projectile in the previous frame image based on the position information of the hand bone points in the position information of the bone points in the previous frame image; when the motion state of the previous frame image is a release state or a landing state, locate the candidate region of the projectile in the previous frame image based on the position information of the projectile in the previous frame image.
[0210] Based on any of the above embodiments, the location information determination subunit is specifically used to: establish the historical trajectory information of the projectile in any frame image based on the projectile location information of each frame image preceding any frame image; perform trajectory prediction based on the historical trajectory information of the projectile to obtain the predicted location information of the projectile in any frame image; and select the location information that overlaps with the predicted location information of the projectile from the candidate projectile location information as the projectile location information of any frame image.
[0211] Based on any of the above embodiments, the evaluation unit 940 specifically includes: a projectile state determination subunit, used to determine the projectile state of each frame image based on the skeletal point position information and / or projectile position information of each frame image; a violation detection state determination subunit, used to determine the violation detection state of each frame image based on the skeletal point position information or projectile position information of each frame image, and the evaluation area position information; and a motion state determination subunit, used to determine the motion state of each frame image based on the projectile state and / or violation detection state of each frame image.
[0212] Based on any of the above embodiments, when the motion state of the previous frame of any frame is in a ready state or in a ready state, or when any frame is the first frame, the projectile state determination subunit is specifically used to: locate the hand region information of any frame based on the hand bone point position information in the bone point position information of any frame; perform overlap detection on the projectile position information and hand region information of any frame, and determine the projectile state of any frame based on the overlap detection result.
[0213] Based on any of the above embodiments, when the motion state of the previous frame of any frame is the release state, the projectile state determination subunit is specifically used to: perform landing detection on the projectile position information of any frame of any frame, and determine the projectile state of any frame of any frame based on the landing detection result.
[0214] Based on any of the above embodiments, when the motion state of the previous frame of any frame is in the in-place state, the violation detection state determination subunit is specifically used to: locate the hand region information and foot contour information of any frame based on the hand bone point position information and foot bone point position information in the bone point position information of any frame; perform violation detection on the evaluation region position information and the foot contour information and hand region information of any frame, and determine the violation detection state of any frame based on the violation detection results.
[0215] Based on any of the above embodiments, when the motion state of the previous frame of any frame is the hand release state, the violation detection state determination subunit is specifically used to: locate the foot contour information of any frame based on the foot bone point position information in the bone point position information of any frame; perform violation detection on the evaluation area position information and the foot contour information of any frame, and determine the violation detection state of any frame based on the violation detection result.
[0216] Based on any of the above embodiments, when the motion state of the previous frame of any frame is in the landing state, the violation detection state determination subunit is specifically used to: perform violation detection on the evaluation area location information and the projectile location information of any frame of the image, and determine the violation detection state of any frame of the image based on the violation detection result.
[0217] Based on any of the above embodiments Figure 10 This is a schematic diagram of the throwing motion assessment system provided by the present invention, as shown below. Figure 10 As shown, the system includes a camera 1010, a field positioning module 1020, a human posture tracking module 1030, a projectile tracking module 1040, and an evaluation module 1050.
[0218] The camera 1010 is used to acquire the video stream to be tested and transmit the video stream to the site positioning module 1020, the human posture tracking module 1030 and the projectile tracking module 1040.
[0219] The field location module 1020 is used to identify and locate the evaluation area of the video stream under test, and obtain the location information of the evaluation area;
[0220] The human pose tracking module 1030 is used to detect human skeleton points in each frame of the video stream under test, and obtain the skeleton point position information of each frame.
[0221] The projectile tracking module 1040 is used to detect projectiles in each frame of the image and obtain the projectile position information in each frame of the image;
[0222] The evaluation module 1050 is used to determine the motion state of each frame image based on at least two of the following: evaluation area location information, skeleton point location information of each frame image, and projectile location information, and to perform a throwing motion evaluation based on the motion state of each frame image.
[0223] It is understood that the site positioning module, human posture tracking module, projectile tracking module, and evaluation module can be devices independent of the camera. For example, they can be integrated into a smartphone, computer, or other type of smart device, and connected to the camera. Alternatively, they can be directly installed in the camera's built-in processor, enabling video recording and projectile motion evaluation through integrated camera design. This embodiment of the invention does not limit this approach.
[0224] Specifically, the camera can be a regular RGB camera. For the video stream captured by the camera, the following process is executed: First, the site calibration module identifies the evaluation area and its various scale points for subsequent violation judgment and scoring. This site calibration module primarily runs during initialization; it only needs to run once after system deployment if the camera remains stationary. Next, the human posture tracking module detects and tracks the posture of personnel within the evaluation area using skeletal point detection. This module continuously identifies 30 key skeletal points on the human body. Once a person has fully entered the testing area for a certain period, it enters a preparation state. Simultaneously, the projectile tracking module begins execution. This module continuously identifies the position of projectiles. When there is significant spatial and temporal overlap between the projectile and the person's hand, it enters a positioning state. When there is no spatial overlap between the projectile and the person's hand, and the distance is greater than a certain threshold, it is determined to be a release state. Before and after this time, the evaluation module performs violation detection.
[0225] Furthermore, the evaluation module can include a throwing violation judgment module, a landing judgment module, and a scoring module. Before and after the thrown object is released, the throwing violation judgment module can be executed to identify whether there are violations such as stepping on the line, crossing the boundary, jumping throw, running start, or one-handed throw. If a violation is found, the system will announce the corresponding violation and end the evaluation; otherwise, the subsequent process continues. The thrown object tracking module continues to identify the thrown object in flight and sends the trajectory of the thrown object to the landing judgment module. When the speed of the thrown object decreases by more than a certain threshold at a certain moment and the vertical speed is reversed, it is determined that the thrown object has bounced and entered the landing state. Based on the landing point of the thrown object and the location information of the evaluation area, it is determined whether it has crossed the boundary. If so, an out-of-bounds violation is reported; otherwise, the scoring module is executed to calculate the throwing distance, and the system announces the corresponding throwing score. It can be understood that when the scoring module is initialized, it generates equal division lines in 0.1m units based on the scale points. When the coordinate data of the landing point is input, the throwing distance can be calculated based on the cross product principle, and the corresponding throwing score can be output.
[0226] The system provided in this invention, through its designed processes and modules, can accurately determine the motion state of the projectile and the person, track the projectile, calculate the throwing score, and detect various violations. This allows for better judgment of throwing violations and assists in teaching, making it suitable for throwing sports assessment in various complex scenarios.
[0227] Figure 11 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 11 As shown, the electronic device may include a processor 1110, a communication interface 1120, a memory 1130, and a communication bus 1140, wherein the processor 1110, the communication interface 1120, and the memory 1130 communicate with each other through the communication bus 1140. The processor 1110 can call logical instructions in the memory 1130 to execute a throwing motion evaluation method, which includes: acquiring a video stream to be tested and the evaluation area position information of the video stream to be tested; performing human skeleton point detection on each frame of the video stream to obtain the skeleton point position information of each frame; performing projectile detection on each frame to obtain the projectile position information of each frame; determining the motion state of each frame based on at least two of the evaluation area position information, the skeleton point position information of each frame, and the projectile position information, and performing a throwing motion evaluation based on the motion state of each frame.
[0228] Furthermore, the logical instructions in the aforementioned memory 1130 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0229] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the throwing motion evaluation method provided by the above methods. The method includes: acquiring a video stream to be tested and evaluation area location information of the video stream to be tested; performing human skeleton point detection on each frame of the video stream to be tested to obtain skeleton point location information of each frame; performing throwing object detection on each frame to obtain throwing object location information of each frame; determining the motion state of each frame based on at least two of the evaluation area location information, skeleton point location information of each frame, and throwing object location information, and performing throwing motion evaluation based on the motion state of each frame.
[0230] In another aspect, the present invention also provides a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, is implemented to perform the throwing motion evaluation method provided by the above methods. The method includes: acquiring a video stream to be tested and evaluation area location information of the video stream to be tested; performing human skeleton point detection on each frame image in the video stream to be tested to obtain skeleton point location information of each frame image; performing throwing object detection on each frame image to obtain throwing object location information of each frame image; determining the motion state of each frame image based on at least two of the evaluation area location information, skeleton point location information of each frame image, and throwing object location information, and performing throwing motion evaluation based on the motion state of each frame image.
[0231] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0232] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0233] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for evaluating throwing skills, characterized in that, include: Obtain the video stream to be tested, and the location information of the evaluation area of the video stream to be tested; Human skeleton point detection is performed on each frame of the video stream under test to obtain the skeleton point position information of each frame. Object detection is performed on each frame of the image to obtain the position information of the object in each frame of the image; Based on at least two of the evaluation area location information, the skeleton point location information of each frame image, and the projectile location information, the motion state of each frame image is determined, and the throwing motion is evaluated based on the motion state of each frame image. The step of detecting the projectile in each frame of the image to obtain the projectile's position information in each frame includes: If the motion state of the previous frame is in a ready state or in a ready state, the candidate region of the projectile in the frame is located based on the position information of the hand bone points in the bone point position information of the frame. If the motion state of the previous frame is either a release state or a landing state, the candidate region of the projectile in the previous frame is located based on the position information of the projectile in the previous frame. Projectile detection is performed on the candidate projectile region to obtain the projectile position information of any frame image; The step of determining the motion state of each frame image includes: If the motion state of the previous frame of any given frame is the throwing state, and if the velocity of any given frame at time t to t-1 is determined to decrease by more than a preset threshold relative to the velocity of any given frame at time t-3 to t-2 based on the position information of the thrown object, and the two velocities are opposite in the vertical direction, then it is determined that the thrown object bounces off the ground, and the motion state of any given frame is determined to be the landing state.
2. The throwing motion assessment method according to claim 1, characterized in that, The step of detecting projectiles in the candidate region to obtain the projectile location information of any frame image includes: Projectile detection is performed on the candidate projectile region to obtain the candidate projectile position information of any frame image; Based on the projectile position information of each frame preceding the given frame and the candidate projectile position information of the given frame, the projectile position information of the given frame is determined.
3. The throwing motion assessment method according to claim 2, characterized in that, The determination of the projectile position information of any given frame image based on the projectile position information of each frame preceding the given frame image, and the candidate projectile position information of the given frame image, includes: Based on the position information of the projectiles in each frame preceding the given frame, the historical trajectory information of the projectiles in the given frame is established. Based on the historical trajectory information of the projectile, trajectory prediction is performed to obtain the predicted position information of the projectile in any frame of the image. From the candidate projectile location information, the location information that overlaps with the predicted projectile location information is selected as the projectile location information for any frame image.
4. The throwing motion assessment method according to any one of claims 1 to 3, characterized in that, The determination of the motion state of each frame image based on at least two of the following: the location information of the evaluation area, the skeletal point location information of each frame image, and the location information of the thrown object, includes: Based on the skeletal point position information and / or projectile position information of each frame image, the projectile state of each frame image is determined; Based on the skeletal point position information or projectile position information of each frame image, and the evaluation area position information, the violation detection status of each frame image is determined. Based on the state of the projectile and / or the violation detection state of each frame image, the motion state of each frame image is determined.
5. The throwing motion assessment method according to claim 4, characterized in that, The determination of the throwable state in each frame of the image based on the skeletal point position information and / or the throwable position information includes: If the motion state of the previous frame is in a ready state or in a ready state, or if the previous frame is the first frame, the hand region information of the previous frame is located based on the hand bone point position information in the bone point position information of the previous frame. Overlap detection is performed on the position information of the thrown object and the hand region information of any frame image, and the state of the thrown object in any frame image is determined based on the overlap detection results.
6. The throwing motion assessment method according to claim 4, characterized in that, The determination of the violation detection status of each frame image based on the skeletal point position information or projectile position information of each frame image, and the evaluation area position information, includes: If the motion state of the previous frame is in the in-position state, the hand region information and foot contour information of the image are located based on the hand bone point position information and foot bone point position information in the bone point position information of the image. Violation detection is performed on the location information of the evaluation area and the foot contour information and hand area information of any frame image, and the violation detection status of any frame image is determined based on the violation detection results.
7. The throwing motion assessment method according to claim 4, characterized in that, The determination of the violation detection status of each frame image based on the skeletal point position information or projectile position information of each frame image, and the evaluation area position information, includes: If the motion state of the previous frame is the hand release state, the foot contour information of the previous frame is located based on the foot bone point position information in the bone point position information of the previous frame. Violation detection is performed on the location information of the evaluation area and the foot contour information of any frame image, and the violation detection status of any frame image is determined based on the violation detection results.
8. The throwing motion assessment method according to claim 4, characterized in that, The determination of the violation detection status of each frame image based on the skeletal point position information or projectile position information of each frame image, and the evaluation area position information, includes: If the motion state of the previous frame is in the landing state, violation detection is performed on the position information of the evaluation area and the position information of the projectile in any frame, and the violation detection state of any frame is determined based on the violation detection result.
9. A throwing motion assessment device, characterized in that, include: The acquisition unit is used to acquire the video stream to be tested, and the evaluation area location information of the video stream to be tested; The skeleton point detection unit is used to perform human skeleton point detection on each frame of the video stream under test, and obtain the skeleton point position information of each frame. The projectile detection unit is used to detect projectiles in each frame of the image and obtain the projectile position information in each frame of the image. The evaluation unit is used to determine the motion state of each frame image based on at least two of the evaluation area location information, the skeleton point location information of each frame image, and the projectile location information, and to perform a throwing motion evaluation based on the motion state of each frame image. The projectile detection unit is specifically used for: If the motion state of the previous frame is in a ready state or in a ready state, the candidate region of the projectile in the frame is located based on the position information of the hand bone points in the bone point position information of the frame. If the motion state of the previous frame is either a release state or a landing state, the candidate region of the projectile in the previous frame is located based on the position information of the projectile in the previous frame. Projectile detection is performed on the candidate projectile region to obtain the projectile position information of any frame image; The evaluation unit is specifically used for: If the motion state of the previous frame of any given frame is the throwing state, and if the velocity of any given frame at time t to t-1 is determined to decrease by more than a preset threshold relative to the velocity of any given frame at time t-3 to t-2 based on the position information of the thrown object, and the two velocities are opposite in the vertical direction, then it is determined that the thrown object bounces off the ground, and the motion state of any given frame is determined to be the landing state.
10. A throwing motion assessment system, characterized in that, It includes a camera, a site positioning module, a human posture tracking module, a projectile tracking module, and an evaluation module; The camera is used to acquire the video stream to be tested and transmit the video stream to the site positioning module, the human posture tracking module and the projectile tracking module. The field location module is used to identify and locate the evaluation area of the video stream under test, and obtain the location information of the evaluation area; The human pose tracking module is used to detect human skeleton points in each frame of the video stream under test, and obtain the skeleton point position information of each frame. The projectile tracking module is used to detect projectiles in each frame of the image and obtain the projectile position information in each frame of the image. The evaluation module is used to determine the motion state of each frame image based on at least two of the evaluation area location information, the skeleton point location information of each frame image, and the projectile location information, and to perform a throwing motion evaluation based on the motion state of each frame image. The projectile tracking module is specifically used for: If the motion state of the previous frame is in a ready state or in a ready state, the candidate region of the projectile in the frame is located based on the position information of the hand bone points in the bone point position information of the frame. If the motion state of the previous frame is either a release state or a landing state, the candidate region of the projectile in the previous frame is located based on the position information of the projectile in the previous frame. Projectile detection is performed on the candidate projectile region to obtain the projectile position information of any frame image; The evaluation module is specifically used for: If the motion state of the previous frame of any given frame is the throwing state, and if the velocity of any given frame at time t to t-1 is determined to decrease by more than a preset threshold relative to the velocity of any given frame at time t-3 to t-2 based on the position information of the thrown object, and the two velocities are opposite in the vertical direction, then it is determined that the thrown object bounces off the ground, and the motion state of any given frame is determined to be the landing state.
11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the throwing motion evaluation method as described in any one of claims 1 to 8.
12. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the throwing motion evaluation method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Shot put throwing score recording system based on artificial intelligence
CN114187171A
Motion distance measuring system based on machine vision and application
CN114998439A
Shot put pushing violation detection and action analysis method and system based on artificial intelligence
CN115410128A
Exercise evaluation method, device and system, electronic equipment and storage medium
CN115713714A
Method and device for evaluating throwing motion and computer storage medium
CN119274229A