Method, device and equipment for analyzing motion state of target object
By reconstructing the multi-frame images captured by the camera and correcting the motion interval, combined with the methods of trajectory fitting and landing point prediction, the problem of the motion state of high-speed moving target objects in the prior art is solved, and the accurate analysis of the flight trajectory and landing point of badminton is achieved.
Patent Information
- Application Number
- CN202411527164.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-10-30
AI Technical Summary
It is difficult to accurately analyze the movement status of high-speed moving target objects, especially in badminton events. Due to the low frame rate and low clarity, ordinary cameras cannot accurately fit the flight trajectory and predicted landing point of the badminton.
By reconstructing the multi-frame image taken by the camera, multiple position points of the target object are extracted, and the initial motion interval is determined based on the preset start point and landing point, and the actual situation is corrected to obtain the target motion interval. Then, trajectory fitting and landing point prediction are performed based on the target motion interval.
Accurate analysis of the moving state of the target object is achieved, the accuracy of trajectory fitting and landing point prediction is improved, and the movement of the target object can be continuously tracked and its motion state is intuitively understood.
Smart Images

Figure CN119722918A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer vision technology, and in particular to a method, device and equipment for analyzing the motion state of a target object. Background Art
[0002] With the continuous development of sports, Hawkeye Challenge in sports events has become one of the important tools to maintain the fairness of events. Taking badminton events as an example, Hawkeye Challenge can distinguish the flight status and landing point of high-speed badminton. In addition, in the daily training of athletes, by obtaining the flight trajectory and landing point of badminton, the personal ability of athletes can be analyzed and guided. Therefore, how to fit the flight trajectory of badminton and predict the landing point is a problem that needs to be solved.
[0003] At present, multiple cameras are usually used to shoot during the competition or training of athletes. According to the captured flying images of the badminton, the position information of the badminton is calculated, the flight trajectory of the badminton is fitted and the landing point is determined. However, high-speed cameras are expensive, and ordinary cameras cannot reconstruct the position of the badminton in each frame of the image due to their low frame rate and low definition, resulting in the inability to accurately fit the flight trajectory and the inability to accurately predict the landing point, that is, it is impossible to accurately analyze the motion state of the badminton. Summary of the invention
[0004] In view of this, the present invention provides a method, device and equipment for analyzing the motion state of a target object to solve the problem that it is impossible to accurately analyze the motion state of the target object.
[0005] In a first aspect, the present invention provides a method for analyzing the motion state of a target object, the method comprising:
[0006] Reconstructing multiple frames of images taken by the camera during the movement of the target object to obtain multiple position points of the target object, any position point is represented by the three-dimensional coordinates of the target object in a coordinate system with the long side of the site as the horizontal axis and the short side as the vertical axis and a time point, and the multiple position points of the target object are arranged in the order of the time points;
[0007] Determining an initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object;
[0008] Correcting the initial motion interval of the target object to obtain a target motion interval of the target object;
[0009] Perform trajectory fitting based on the target motion interval of the target object to obtain the flight trajectory of the target object;
[0010] The predicted landing point of the target object is obtained based on the flight trajectory of the target object.
[0011] The method for analyzing the motion state of a target object provided by an embodiment of the present invention accurately extracts the position information of the target object through multiple frames of images, and preliminarily determines the initial motion interval of the target object according to a preset starting point and landing point, and makes corrections based on actual conditions. It is possible to obtain an accurate target motion interval when there is a certain error in the initial motion interval, thereby being able to continuously track the motion of the target object, and to perform trajectory fitting based on the target motion interval to obtain an accurate flight trajectory of the target object, which helps to intuitively understand the motion state of the target object. Prediction is performed based on the fitted trajectory, and the landing point of the target object can be more accurately predicted, thereby improving the accuracy of trajectory fitting and landing point prediction, thereby achieving accurate analysis of the motion state of the target object.
[0012] In an optional implementation, determining the initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object includes:
[0013] From among the plurality of position points of the target object, a preset starting point, a position point between the preset starting point and the preset landing point, and the preset landing point are determined as initial position points;
[0014] Determine a first position point corresponding to a minimum abscissa value and a second position point corresponding to a maximum abscissa value from the initial position points;
[0015] The horizontal coordinate corresponding to the first position point is reduced according to a preset step size until the flight direction of the target object changes, thereby obtaining a third position point;
[0016] Increasing the horizontal coordinate of the second position point according to a preset step length until the flight direction of the target object changes, thereby obtaining a fourth position point;
[0017] From the plurality of position points of the target object, the third position point, all position points between the third position point and the fourth position point, and the fourth position point are determined as the initial motion interval of the target object.
[0018] The method for analyzing the motion state of a target object provided by an embodiment of the present invention reduces unnecessary data processing by determining an initial position point from multiple position points of the target object based on a preset starting point and a preset landing point, and finds a first position point corresponding to a minimum value of the horizontal coordinate and a second position point corresponding to a maximum value of the horizontal coordinate from the initial position points preliminarily screened out, and expands the range of the position points by reducing the horizontal coordinate of the first position point and increasing the horizontal coordinate of the second position point, thereby more accurately obtaining the complete motion range of the target object, which helps to improve the accuracy of the overall analysis and makes subsequent trajectory fitting and landing point prediction more reliable.
[0019] In an optional implementation, the initial motion interval of the target object is corrected to obtain the target motion interval of the target object, including:
[0020] Projecting all position points in the initial motion interval of the target object to obtain a plurality of projection points;
[0021] For a straight line formed by any two projection points among the plurality of projection points, based on other projection points except the two projection points, determining the number of projection points within a preset range of the straight line;
[0022] The straight line with the largest number of corresponding projection points among all the straight lines formed by multiple projection points is taken as the target straight line;
[0023] Among the multiple projection points corresponding to all the position points in the initial motion interval, the projection points that are not within the preset range of the target straight line are determined as outlier projection points;
[0024] Outlier projection points are eliminated from multiple projection points, and the eliminated projection points are restored to obtain the target motion range of the target object.
[0025] The motion state analysis method of the target object provided by the embodiment of the present invention projects all position points in the initial motion interval onto a plane to obtain multiple projection points, which are convenient for subsequent geometric processing and calculation. For a straight line formed by any two projection points among the multiple projection points, the number of projection points within a preset range of the straight line is determined, and the straight line with the largest number of projection points is selected as the target straight line, which can best represent the distribution trend of most projection points. Outlier projection points that are not within the preset range of the target straight line are determined and eliminated, so as to obtain a target motion interval that is more in line with the actual motion trend of the target object, thereby more accurately fitting the motion trajectory of the target object.
[0026] In an optional implementation, performing trajectory fitting based on the target motion interval of the target object to obtain the flight trajectory of the target object includes:
[0027] The position point with the highest altitude in the target motion interval of the target object is taken as the air resistance dividing point, and the number of position points between the air resistance dividing point and the position point with the largest horizontal coordinate is determined;
[0028] When the number of position points is less than the preset number, the air resistance cutoff point and the number of position points are re-determined in descending order of the heights of the position points until the number of position points is greater than the preset number, thereby obtaining the target air resistance cutoff point;
[0029] Project all the position points between the target air resistance dividing point and the position point with the largest abscissa to obtain a plurality of fitting projection points;
[0030] For any two fitting projection points, based on other fitting projection points except the two fitting projection points among all the fitting projection points, determine the average distance from the other fitting projection points to the straight line formed by the two fitting projection points;
[0031] The straight line with the smallest corresponding average distance among all the straight lines formed by multiple fitting projection points is taken as the projection straight line;
[0032] The trajectory matching is performed based on the projected straight line to obtain the flight trajectory of the target object.
[0033] The motion state analysis method of the target object provided in the embodiment of the present invention ensures that there are enough position points for fitting by gradually adjusting the air resistance dividing point, and selects the straight line with the smallest average distance as the projection straight line, which can better capture the motion trend of the target object and further improve the accuracy of the trajectory. The gradual adjustment and verification method ensures the rationality of the flight trajectory and enhances the reliability of the entire analysis process.
[0034] In an optional implementation, performing trajectory matching based on the projection straight line to obtain the flight trajectory of the target object includes:
[0035] Determining an estimated flight speed and an estimated flight pitch angle of the target object based on a target air resistance cutoff point, a position point at a next time point of the target air resistance cutoff point, and a time interval between the position point at the target air resistance cutoff point and the next time point;
[0036] Determine estimated air resistance;
[0037] Determine the motion state of the target object at the next time point based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance and the target air resistance cutoff point, the motion state including the position point, the flight speed and the flight acceleration;
[0038] Repeat the above process of determining the motion state of the target object at the next time point until the height corresponding to the position point in the motion state of the target object is less than a preset threshold, and obtain a simulated trajectory;
[0039] The estimated flight speed and the estimated flight pitch angle are changed, and the above process of obtaining the simulated trajectory is repeated to obtain multiple simulated trajectories;
[0040] For any simulated trajectory, all position points between the target air resistance demarcation point and the position point with the maximum horizontal coordinate are matched with the simulated trajectory to obtain matching point pairs, and the number and average distance of matching point pairs that meet the distance conditions are determined;
[0041] When the maximum number of matching point pairs corresponding to multiple simulated trajectories is less than half of the number of all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate, the estimated air resistance is changed, and the step of determining the motion state of the target object at the next time point based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance and the target air resistance dividing point is returned until the maximum number of matching point pairs is greater than half of the number of all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate, and the simulated trajectory with the smallest average distance among at least one simulated trajectory with the maximum number of matching point pairs is determined as the flight trajectory of the target object.
[0042] The target object motion state analysis method provided by the embodiment of the present invention can gradually approach the actual flight trajectory by iteratively optimizing the estimated flight speed, the estimated flight pitch angle and the estimated air resistance. In each iteration, the parameters are adjusted and the simulated trajectory is recalculated. The trajectory with the maximum number of matching point pairs and the minimum average distance is selected through time point matching and distance condition screening, which further reduces the error and improves the reliability and accuracy of trajectory fitting.
[0043] In an optional embodiment, before determining the estimated flight speed and the estimated flight pitch angle of the target object based on the target air resistance demarcation point, the position point of the target air resistance demarcation point at a next time point, and the time interval between the target air resistance demarcation point and the position point of the next time point, the method further includes:
[0044] With the projection line as the horizontal axis and the projection point of the target air resistance dividing point as the origin of the horizontal axis, all the position points between the target air resistance dividing point and the position point with the largest horizontal coordinate are transformed to obtain the two-dimensional coordinates corresponding to all the position points.
[0045] The target object motion state analysis method provided by the embodiment of the present invention reduces the computational complexity and improves the computational efficiency by uniformly converting all position points into a two-dimensional coordinate system to obtain two-dimensional coordinates.
[0046] In an optional implementation, the predicted landing point of the target object is obtained based on the prediction of the flight trajectory of the target object, including:
[0047] Based on the last position point and the second to last position point in the flight trajectory of the target object, the predicted landing point of the target object is obtained.
[0048] The method for analyzing the motion state of a target object provided by an embodiment of the present invention can accurately predict the landing point of the target object by considering the last two position points that can represent the changes before and after the landing point.
[0049] In an optional embodiment, the method further includes:
[0050] Based on the preset landing point and the predicted landing point, the confidence level of the predicted landing point is determined.
[0051] The target object motion state analysis method provided by the embodiment of the present invention determines the confidence of the predicted landing point by combining the preset landing point and the predicted landing point among the multiple position points reconstructed by the target object, and can evaluate the accuracy of trajectory fitting and landing point prediction.
[0052] In a second aspect, the present invention provides a motion state analysis device for a target object, the device comprising:
[0053] A reconstruction module, used to reconstruct multiple positions of the target object based on multiple frames of images captured by the camera during the movement of the target object, wherein any position point is represented by the three-dimensional coordinates and time point of the target object in a coordinate system with the long side of the site as the horizontal axis and the short side as the vertical axis;
[0054] A first determination module, configured to determine an initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object;
[0055] A correction module, used for correcting the initial motion interval of the target object to obtain a target motion interval of the target object;
[0056] A fitting module, used for performing trajectory fitting based on a target motion interval of the target object to obtain a flight trajectory of the target object;
[0057] The prediction module is used to make predictions based on the flight trajectory of the target object to obtain the predicted landing point of the target object.
[0058] In a third aspect, the present invention provides a computer device comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the method for analyzing the motion state of a target object according to the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0059] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method for analyzing the motion state of a target object according to the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0061] Figure 1 is a schematic flow chart of a method for analyzing a motion state of a target object according to an embodiment of the present invention;
[0062] Figure 2 is a schematic diagram of an application scenario of a method for analyzing a motion state of a target object according to an embodiment of the present invention;
[0063] Figure 3 is a structural block diagram of a motion state analysis device for a target object according to an embodiment of the present invention;
[0064] Figure 4 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0065] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0066] Taking the target object as badminton as an example, by analyzing the motion state of badminton, that is, flight trajectory and landing point, support is provided for the analysis guidance of the individual ability of athletes, Hawkeye challenge and other scenes. At present, the flight picture of badminton shot by multiple cameras is usually used to calculate the position information of badminton, fit the flight trajectory of badminton and determine the landing point. However, the price of high-speed cameras is expensive, and ordinary cameras cannot reconstruct the position of badminton in each frame image due to low frame rate and low definition, resulting in the inability to accurately fit the flight trajectory and accurately predict the landing point, that is, the accurate analysis of the motion state of badminton cannot be achieved. The motion state analysis method of the target object provided by the embodiment of the present invention, by obtaining an accurate target motion interval under the condition of a certain error, can continuously track the motion of the target object, and obtain the accurate flight trajectory of the target object, which helps to intuitively understand the motion state of the target object, and predicts based on the fitted trajectory, and can more accurately predict the landing point of the target object, improves the accuracy of trajectory fitting and landing point prediction, thereby achieving accurate analysis of the motion state of the target object.
[0067] According to an embodiment of the present invention, an embodiment of a method for analyzing the motion state of a target object is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0068] In this embodiment, a method for analyzing the motion state of a target object is provided, which can be used in electronic equipment. Figure 1 is a flow chart of a method for analyzing the motion state of a target object according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:
[0069] Step S101, reconstructing multiple frames of images taken by the camera during the movement of the target object to obtain multiple position points of the target object, any position point is represented by the three-dimensional coordinates of the target object in a coordinate system with the long side of the site as the horizontal axis and the short side as the vertical axis and a time point, and the multiple position points of the target object are arranged in the order of the time points. Specifically, Figure 2 FIG. 1 is a schematic diagram of an application scenario of a method for analyzing a motion state of a target object according to an embodiment of the present invention. Figure 2 As shown, the embodiment of the present invention is described by taking the target object as a badminton. Multiple cameras can be set in the badminton court to shoot when the user hits the badminton, and the existing object detection model is used to identify the two-dimensional position of the badminton in the image from each frame of the image, and then the two-dimensional position of the badminton is converted into a three-dimensional coordinate by the existing three-dimensional reconstruction algorithm, so as to obtain the position point of the badminton in each frame of the image. Among them, any position point can be represented by (x, y, z, t), (x, y, z) represents the three-dimensional coordinate of the badminton in the coordinate system with the long side of the badminton court as the horizontal axis and the short side as the vertical axis, and t represents the time point when the image is taken.
[0070] Step S102, based on the preset starting point and the preset landing point in the multiple position points of the target object, the initial motion interval of the target object is determined. Specifically, the preset starting point and the preset landing point are the hitting point and the landing point of a shot of the ball selected by the user from the multiple position points. Assuming that user A and user B play badminton, user A serves first, user B hits the ball after receiving the ball, user A hits the ball again after receiving the ball, user B does not receive the ball, and the badminton falls directly to the ground. The process from the last hitting of user A to the direct landing of the badminton is a shot of the ball. Since the embodiment of the present invention is used to analyze the motion state of the badminton, that is, to determine the flight trajectory and landing point of the badminton, and in order to predict the landing point, since there is no landing point in the process where both users can receive the ball, the user can directly select the hitting point and the landing point of the last shot of the ball, which is used to analyze the flight trajectory and the final landing point of the badminton in the last shot of the ball. Based on the preset starting point and the preset landing point of the last shot of the ball selected by the user, the initial motion interval of the badminton is determined.
[0071] Step S103, the initial motion interval of the target object is corrected to obtain the target motion interval of the target object. Specifically, the preset starting point and the preset landing point selected by the user may be inaccurate due to reasons such as the user not seeing clearly, the ball being blocked, the camera being blurred, etc., and the initial motion interval thus determined also has errors. Therefore, the initial motion interval can be corrected to obtain an accurate badminton target motion interval, which helps to improve the accuracy of the overall analysis and makes the subsequent trajectory fitting and landing point prediction more reliable.
[0072] Step S104, performing trajectory fitting based on the target motion interval of the target object to obtain the flight trajectory of the target object. Specifically, since the target motion interval is composed of a plurality of discrete position points, it is necessary to perform trajectory fitting based on the target motion interval to obtain a flight trajectory representing a complete and continuous motion process of the badminton.
[0073] Step S105, predicting based on the flight trajectory of the target object to obtain the predicted landing point of the target object. Specifically, the flight trajectory of the badminton in the last shot has been obtained through the above steps, and the movement trend of the badminton can be represented based on the flight trajectory, so as to predict the final landing point of the badminton.
[0074] The method for analyzing the motion state of a target object provided by an embodiment of the present invention accurately extracts the position information of the target object through multiple frames of images, and preliminarily determines the initial motion interval of the target object according to a preset starting point and landing point, and makes corrections based on actual conditions. It is possible to obtain an accurate target motion interval when there is a certain error in the initial motion interval, thereby being able to continuously track the motion of the target object, and to perform trajectory fitting based on the target motion interval to obtain an accurate flight trajectory of the target object, which helps to intuitively understand the motion state of the target object. Prediction is performed based on the fitted trajectory, and the landing point of the target object can be more accurately predicted, thereby improving the accuracy of trajectory fitting and landing point prediction, thereby achieving accurate analysis of the motion state of the target object.
[0075] In this embodiment, a method for analyzing the motion state of a target object is provided, which can be used for the above-mentioned electronic device. The method specifically includes the following steps:
[0076] Step S201, based on the multiple frames of images taken by the camera during the movement of the target object, multiple position points of the target object are reconstructed, and any position point is represented by the three-dimensional coordinates and time point of the target object in the coordinate system with the long side of the site as the horizontal axis and the short side as the vertical axis. The multiple position points of the target object are arranged in the order of time points. For details, please refer to Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.
[0077] Step S202: determining an initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object.
[0078] Specifically, the above step S202 includes:
[0079] Step S2021, from the multiple position points of the target object, a preset starting point, a position point between the preset starting point and the preset landing point, and a preset landing point are determined as initial position points. Specifically, assuming that the user selects the Lth position point as the preset starting point and the Rth position point as the preset landing point, the position point between the Lth position point and the Rth position point, the Lth position point, and the Rth position point among the multiple position points of the badminton obtained in step S201 are determined as initial position points. Since the multiple position points of the badminton are arranged in chronological order, it is actually determined that the time point is between the time point of the Lth position point and the time point of the Rth position point, and at the same time, the Lth position point and the Rth position point are combined to ensure that the obtained initial position points belong to the same ball.
[0080] Step S2022, determine the first position point corresponding to the minimum horizontal coordinate value and the second position point corresponding to the maximum horizontal coordinate value from the initial position points. Specifically, determine the first position point with the smallest horizontal coordinate from the initial position, that is, the first position point closest to one side boundary of the badminton court. At the same time, determine the second position point with the largest horizontal coordinate, that is, the second position point closest to the other side boundary of the badminton court.
[0081] Step S2023, reduce the horizontal coordinate corresponding to the first position point according to the preset step length until the flight direction of the target object changes, and obtain the third position point. Specifically, since the user may have errors when selecting the preset starting point and the preset landing point, for example, the preset starting point is not the real hitting point of the badminton, or the preset landing point is not the real landing point of the badminton, and the flight direction of the badminton before and after hitting and landing will change, based on this characteristic, the boundary can be extended according to the two position points closest to the left and right side boundaries to determine the position point where the flight direction changes. First, assuming that the first position point is closest to the left side boundary, the first position point is extended. The horizontal coordinate of the first position point is 20, the preset step length is 1, and the horizontal coordinate of the first position point is gradually reduced. When the horizontal coordinate is 19, the position points with horizontal coordinates of 19 and 21 are determined from multiple position points of the badminton, and the position point with horizontal coordinates of 19 and the first position point are determined to form a first vector and the first position point and the position point with horizontal coordinates of 21 are determined to form a second vector. If the directions of the first vector and the second vector are inconsistent, it is considered that the flight direction of the badminton has changed before and after the first position point, and the first position point is determined as the third position point. If the directions of the first vector and the second vector are consistent, the horizontal coordinate of the first position point is continuously reduced, and the above process is repeated until the third position point whose flight direction has changed is obtained.
[0082] Step S2024, increases the horizontal coordinate of the second position point according to the preset step length, until the flight direction of the target object changes, and obtains the fourth position point. Specifically, assuming that the second position point is closest to the right boundary, refer to the above-mentioned step S2023 to carry out boundary expansion, and obtain the fourth position point. According to the characteristic that the flight direction of the badminton will change before and after hitting the ball and landing, the third position point and the fourth position point are obtained by boundary expansion through step S2023 and step S2024. But in the process of flying badminton, due to factors such as wind speed, spin and gravity, it is not accurate to use the third position point or the fourth position point as the final landing point, so it is necessary to accurately obtain the flight trajectory of the badminton, and then more accurately predict the landing point of the badminton.
[0083] Step S2025, from the multiple position points of the target object, the third position point, all the position points between the third position point and the fourth position point, and the fourth position point are determined as the initial motion interval of the target object. Specifically, since the flight direction of the badminton changes at the third position point and the fourth position point, it is assumed that the third position point is used as the hitting point of the badminton, the fourth position point is used as the landing point of the badminton, and all the position points between the third position point and the fourth position point are used together as the initial motion interval of the badminton. Optionally, it can also be assumed that the third position point is the landing point, and the fourth position point is the hitting point. By determining the initial position point, unnecessary data processing is reduced, and from the initial position points preliminarily screened out, the first position point corresponding to the minimum value of the horizontal coordinate and the second position point corresponding to the maximum value of the horizontal coordinate are found, and the boundary is expanded based on the first position point and the second position point, so as to more accurately obtain the complete motion interval of the target object, which helps to improve the accuracy of the overall analysis and make the subsequent trajectory fitting and landing point prediction more reliable.
[0084] Step S203: correcting the initial motion interval of the target object to obtain a target motion interval of the target object.
[0085] Specifically, the above step S203 includes:
[0086] Step S2031, project all position points in the initial motion interval of the target object to obtain a plurality of projection points. Specifically, project all position points in the initial motion interval onto a plane to obtain a plurality of projection points, which facilitates subsequent geometric processing and calculation.
[0087] Step S2032, for a straight line formed by any two projection points among the plurality of projection points, based on the other projection points except the two projection points, determine the number of projection points within the preset range of the straight line. Specifically, for any projection point except the two projection points forming the straight line, calculate the distance from the projection point to the straight line, if the distance is less than 10 cm, then the projection point is within the preset range of the straight line. Among them, 10 cm is only an example and is not intended to be limiting. Through the above process, it is possible to calculate the distance of each projection point except the two projection points forming the straight line and then make a judgment, thereby determining the number of projection points within the preset range of the straight line.
[0088] Step S2033, the straight line with the largest number of corresponding projection points among all the straight lines formed by the multiple projection points is used as the target straight line. Specifically, if any two projection points can form a straight line, then multiple projection points can obtain multiple straight lines. According to the number of projection points within the preset range of each straight line obtained in the above step S2032, the straight line with the largest number of projection points is used as the target straight line, which can best represent the distribution trend of most projection points and indicate the main movement direction of the badminton.
[0089] Step S2034: Among the multiple projection points corresponding to all the position points in the initial motion interval, determine the projection points not within the preset range of the target line as outlier projection points. Specifically, the outlier projection points are not within the preset range of the target line, that is, they are not consistent with the main motion direction of the badminton, and there may be relatively large errors.
[0090] Step S2035: Remove the outlier projection points from the multiple projection points, and restore the projection points after removal to obtain the target motion interval of the target object. Specifically, since there may be relatively large errors in the outlier projection points, they need to be removed, and the projection points after removal are restored to obtain a target motion interval that better fits the actual motion trend of the badminton, so as to more accurately fit the motion trajectory of the target object.
[0091] Step S204: Based on the target motion interval of the target object, perform trajectory fitting to obtain the flight trajectory of the target object.
[0092] Specifically, the above Step S204 includes:
[0093] Step S2041: Take the position point with the highest height in the target motion interval of the target object as the air resistance demarcation point, and determine the number of position points between the air resistance demarcation point and the position point with the largest abscissa. Specifically, assume that there is an air resistance demarcation point during the motion of one shot of the badminton. The air resistance coefficient k1 is constant before the moment corresponding to this air resistance demarcation point, and the air resistance coefficient k2 is constant after this moment. Generally speaking, k1 < k2, and this demarcation moment will come after the flight speed of the badminton is lower than a certain threshold. Assume that the position point with the earliest time point in the target motion interval is the Mth position point, and the position point with the latest time point is the Nth position point. Since the embodiment of the present invention needs to predict the landing point of the badminton, and the flight trajectory between the Mth position point and the position point corresponding to the air resistance demarcation point will not land, Step S204 only details the fitting of the flight trajectory between the position point corresponding to the air resistance demarcation point and the Nth position point. First, assume that the position point with the highest height in the target motion interval is the air resistance demarcation point. Since the abscissa of the badminton will change with time during flight, that is, the position point with the largest abscissa is the same as the position point with the latest time point, that is, the position point with the largest abscissa is also the Nth position point. Determine the number of position points between the position point corresponding to the air resistance demarcation point and the Nth position point from all the position points in the target motion interval.
[0094] Step S2042, when the number of position points is less than the preset number, the air resistance demarcation point and the number of position points are re-determined in the order of the height of the position points from high to low, until the number of position points is greater than the preset number, and the target air resistance demarcation point is obtained. Specifically, assuming that the preset number is 5 and the number of position points is 4, that is, the number of position points located in the second half of the demarcation moment is too small to fit, so the air resistance demarcation point needs to be adjusted. When adjusting, the position points are arranged in the order of the height from high to low, until the number of position points between the position point corresponding to the air resistance demarcation point and the Nth position point is greater than the preset number, and the target air resistance demarcation point is obtained, that is, there are enough position points for trajectory fitting to improve the reliability and accuracy of trajectory fitting. Optionally, the target air resistance demarcation point can be represented by the Kth position point.
[0095] Step S2043, all the position points between the target air resistance dividing point and the position point with the largest horizontal coordinate are projected to obtain a plurality of fitting projection points. Specifically, the target air resistance dividing point is determined according to step S2041 and step S2042. Due to the influence of the earth's rotation, the badminton will deflect clockwise during the flight process in the northern hemisphere. Therefore, it is necessary to use the position points between the Kth position point and the Nth position point to refit a trajectory that conforms to the actual situation. First, the position points used for trajectory fitting are projected to obtain fitting projection points, which are convenient for subsequent calculations.
[0096] Step S2044: for any two fitting projection points, based on the other fitting projection points except the two fitting projection points among all the fitting projection points, determine the average distance from the other fitting projection points to the straight line formed by the two fitting projection points. Specifically, any two fitting projection points among the plurality of fitting projection points form a straight line, and for any fitting projection point except the two fitting projection points among all the fitting projection points, determine the distance between the fitting projection point and the straight line, and obtain the average distance by determining the distance of each other fitting projection point.
[0097] Step S2045, taking the straight line with the smallest average distance among all the straight lines formed by the multiple fitting projection points as the projection straight line. Specifically, the multiple fitting projection points can form multiple straight lines, and the average distance corresponding to each straight line can be obtained through step S2044, and the straight line with the smallest average distance is taken as the projection straight line to represent the flight direction of the badminton.
[0098] Step S2046, performing trajectory matching based on the projection line to obtain the flight trajectory of the target object. Specifically, matching is performed based on the projection line and the position points reconstructed from the badminton to further accurately obtain the flight trajectory of the badminton.
[0099] In some optional implementations, the above step S2046 includes:
[0100] Step a1, using the projection line as the horizontal axis and the projection point of the target air resistance dividing point as the origin of the horizontal axis, all the position points between the target air resistance dividing point and the position point with the largest horizontal coordinate are transformed to obtain the two-dimensional coordinates corresponding to all the position points. Specifically, using the projection line obtained in the above steps as the horizontal axis of the new coordinate system, using the projection point of the target air resistance dividing point as the origin of the horizontal axis of the new coordinate system, and correspondingly using the direction perpendicular to the projection line as the vertical axis of the new coordinate system, the position points between the Kth position point and the Nth position point are transformed in the new coordinate system to convert the three-dimensional coordinates into two-dimensional coordinates. Thus, any position point between the Kth position point and the Nth position point can be represented by two-dimensional coordinates and time points.
[0101] Step a2, based on the target air resistance demarcation point, the position point at the next time point of the target air resistance demarcation point, and the time interval between the position point at the next time point and the target air resistance demarcation point, determine the estimated flight speed and estimated flight pitch angle of the target object. Specifically, based on the two-dimensional coordinates of the Kth position point and the two-dimensional coordinates of the K+1th position point, determine the displacement and time interval of the two position points. Based on the displacement and time interval, determine the estimated flight speed and estimated flight pitch angle.
[0102] Step a3, determining the estimated air resistance. Specifically, the user can set the estimated air resistance.
[0103] Step a4, based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance and the target air resistance demarcation point, determine the motion state of the target object at the next time point, the motion state including the position point, the flight speed and the flight acceleration. Specifically, through the following formula (1), based on the estimated flight speed, the flight pitch angle and the air resistance, starting from the Kth position point corresponding to the target air resistance demarcation point, calculate the motion state of the K+1th position point, that is, the motion state at the next time point corresponding to the target air resistance demarcation point. Optionally, the flight pitch angle can help determine the direction of the flight acceleration.
[0104]
[0105] Among them, X t represents the position of the badminton at time t; X t+1 represents the position of the badminton at time t+1; v t represents the flying speed of the badminton at time t; a t represents the acceleration of the badminton at time t; T represents the time interval between time t and time t+1; a t+1 represents the acceleration of the badminton at time t+1; k represents the estimated air resistance; g represents the acceleration due to gravity.
[0106] Step a5, repeat the above process of determining the motion state of the target object at the next time point until the height corresponding to the position point in the motion state of the target object is less than the preset threshold value, and obtain the simulated trajectory. Specifically, the motion state of the badminton at each time point starting from the Kth position point corresponding to the target air resistance demarcation point can be obtained through the above formula (1). When the height of the position point calculated at a certain time is less than 0, the motion state of the badminton at each time point is used as a simulated trajectory.
[0107] Step a6, changing the estimated flight speed and the estimated flight pitch angle, repeating the above process of obtaining the simulated trajectory, and obtaining multiple simulated trajectories. Specifically, changing the estimated flight speed and the estimated flight pitch angle, repeating the above steps a4 and a5, different simulated trajectories of the badminton can be obtained.
[0108] Step a7, for any simulated trajectory, all position points between the target air resistance demarcation point and the position point with the largest horizontal coordinate are matched with the simulated trajectory at time points to obtain matching point pairs, and the number and average distance of matching point pairs that meet the distance condition are determined. Specifically, the position points between the Kth position point and the Nth position point are matched with any simulated trajectory, and the two position points at the same time point are represented as a matching point pair. It is determined whether any matching point pair meets the distance condition, so as to determine the number of matching point pairs that meet the distance condition. The distance condition may be that the distance difference between the two position points in the matching point pair is less than 5 cm. At the same time, the Euclidean distance between the two position points in each matching point pair that meets the distance condition is calculated, so as to obtain the average distance of all matching point pairs that meet the distance condition. Optionally, other distance calculation methods may be used to calculate the average distance of matching point pairs, which is not limited in the embodiments of the present invention.
[0109] Step a8, when the maximum number of matching point pairs corresponding to the multiple simulated trajectories is less than half of the number of all the position points between the target air resistance demarcation point and the position point with the largest horizontal coordinate, the estimated air resistance is changed, and the step of determining the motion state of the target object at the next time point based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance and the target air resistance demarcation point is returned until the maximum number of matching point pairs is greater than half of the number of all the position points between the target air resistance demarcation point and the position point with the largest horizontal coordinate, and the simulated trajectory with the smallest average distance in at least one simulated trajectory with the maximum number of matching point pairs is determined as the flight trajectory of the target object. Specifically, the simulated trajectory with the largest number of matching points is determined from the multiple simulated trajectories, and it is determined whether the number of matching point pairs is less than half of the number of position points between the Kth position point and the Nth position point. If it is less than, it is considered that the estimated air resistance set in step a3 is unreasonable and needs to be adjusted, and based on the adjusted estimated air resistance, the step a4 is returned to re-determine the multiple simulated trajectories until the number of matching point pairs meets the requirements. Since there may be more than one simulation trajectory among multiple simulation trajectories that has the most matching point pairs and meets the above requirements, the simulation trajectory with the smallest average distance among these simulation trajectories is used as the final flight trajectory of the badminton. By iteratively optimizing the estimated flight speed, estimated flight pitch angle, and estimated air resistance, the actual flight trajectory can be gradually approached. In each iteration, the parameters are adjusted and the simulation trajectory is recalculated, and the trajectory with the largest number of matching point pairs and the smallest average distance is selected through time point matching and distance condition screening, which further reduces the error and improves the reliability and accuracy of trajectory fitting.
[0110] In some optional embodiments, step S204 only fits the flight trajectory between the target air resistance dividing point and the position point with the largest horizontal coordinate. If it is necessary to fit the flight trajectory between the position point with the smallest horizontal coordinate and the target air resistance dividing point, refer to step S204, but the simulation termination condition in step a5 is changed to the time point when the time point reaches the time point corresponding to the target air resistance dividing point. At the same time, the range of estimated air resistance is larger, and the distance condition for matching point pairs is looser. The requirement on the number of matching point pairs in step a8 can be adjusted to be greater than one-fourth of the number of position points between the position point with the smallest horizontal coordinate and the target air resistance dividing point.
[0111] Step S205 , predicting based on the flight trajectory of the target object to obtain a predicted landing point of the target object.
[0112] Specifically, the above step S205 includes:
[0113] Step S2051, based on the last position point and the second to last position point in the flight trajectory of the target object, the predicted landing point of the target object is obtained. Specifically, based on the last position point and the second to last position point forming a straight line, the intersection of the straight line and the ground, that is, the coordinates obtained by substituting z=0 into the straight line, are used as the predicted landing point of the badminton.
[0114] In some optional embodiments, for some extreme cases, such as when all simulated trajectories in step a8 do not meet the requirement of the number of matching point pairs, an accurate flight trajectory cannot be obtained. If it is still necessary to predict the landing point of the badminton, the following two methods can be used for prediction. The first method is to use the trajectory of the badminton bouncing on the ground to reversely predict the landing point of the badminton. A normal badminton flight trajectory will only have one rise and one fall. If an additional rise and fall occurs in an area with a lower altitude, it can be considered that a bounce occurs. In the case of a high-speed smash, the camera is likely to fail to capture the position of the badminton, resulting in a serious lack of reconstruction results. In this case, the landing point can be reversed using the trajectory of the bounce. The motion state of the badminton during the bounce process can refer to the above formula (1), but the gravity acceleration needs to be reversed to simulate the motion state of the badminton and then predict the landing point. It should be noted that the badminton may bounce on the ground multiple times, and the first bounce should be selected for calculation. The second method is to use a quadratic function to fit the landing point of the badminton. If the position point reconstruction result of badminton is seriously missing and discontinuous, this makes it impossible to obtain the trajectory fitting result through step S201 to step S205 and the first method. At this time, only the existence of air resistance coefficient in the horizontal direction can be considered, and it is considered that badminton has different constant accelerations in the process of rising and falling in the vertical direction, so the movement of badminton on the x-axis and z-axis can be considered respectively. As long as the starting point and end point and the time difference in the badminton reconstruction result are known, the initial speed of badminton and the fitting flight trajectory can be solved by the quadratic function equation. First consider the x-axis, and the speed in the x-axis direction is the positive root of the following formula (2).
[0115]
[0116] Among them, T p is the time difference between the starting point and the end point; X p represents the displacement distance between the starting point and the end point; k p Indicates the preset air resistance, the empirical value is generally 0.03 and 0.003; v F Indicates the initial velocity.
[0117] Next, consider the z-axis. The component of the initial ball speed in the vertical direction is the positive root of the following formula (3). It should be noted that the following formula (3) may have no real number solution. Two possible solutions can be obtained by substituting two empirical values U=12, D=6 and U=11, D=9. Among them, U represents the acceleration of the badminton when it rises, and D represents the acceleration of the badminton when it falls. The lowest position point when the badminton first enters the height descent state is taken as the end point, and the remaining position points are taken as the starting point. For each possible starting point, 0, 1, 2 or 4 possible initial velocities are calculated by the following formula (3), as well as the corresponding speed when reaching the end point. Starting from the end point, the initial velocity calculated above is used to calculate several possible landing points of the badminton using a constant air resistance.
[0118]
[0119] Among them, U represents the acceleration of the badminton when it rises; D represents the acceleration of the badminton when it falls; T p is the time difference between the starting point and the end point; Z is the net distance of the badminton when it falls; v F Indicates the initial velocity.
[0120] In general, the estimated landing points obtained by the above process should be concentrated in a very small range, but sometimes outliers may appear due to data anomalies and other reasons. Enumerate each estimated landing point as the center of the circle in the above points, and determine the number of other estimated landing points within the range of 0.5m radius from the center of the circle. Select the estimated landing point corresponding to the center of the circle with the largest number, filter out the points that are not within the radius range, and calculate the average position of the remaining estimated landing points as the final output predicted landing point.
[0121] Step S206, based on the preset landing point and the predicted landing point, determine the confidence of the predicted landing point. Specifically, the real badminton landing point should be located in an ellipse centered on the predicted landing point. The maximum error of the preset landing point selected by the user and the predicted landing point obtained from the above steps S201 to S205 in the forward direction and perpendicular to the forward direction of the badminton is calculated. Within the range of the maximum error, the badminton should satisfy the two-dimensional normal distribution of ρ=-0.5. The sum of the probabilities of the normal distribution and the overlapping area of the circle with a radius of R centered on the predicted landing point is calculated as the value of the confidence. Optionally, R can be 3cm or 5cm, which is only taken as an example and is not limited to this. More specifically, the multiple position points reconstructed by the badminton are matched with the flight trajectory fitted by step S204, and the error vector between each pair of two successfully matched position points is calculated. When matching, matching can be performed according to time points, and matching can also be performed according to other indicators, which is not limited in the embodiment of the present invention. Each error vector is decomposed into a component in the forward direction and a component perpendicular to the forward direction. The component with the largest absolute value in the forward direction is taken as the maximum error, and the absolute value of all components is averaged as the variance of the two-dimensional ecological distribution in the forward direction. Then, the projection distance of each reconstructed position point perpendicular to the forward direction is calculated, and the projection distance with the largest absolute value among all projection distances is taken as the maximum error perpendicular to the forward direction, and the absolute value of all projection distances is averaged as the variance of the two-dimensional ecological distribution perpendicular to the forward direction.
[0122] In some optional embodiments, for the second method mentioned above, that is, using a quadratic function to fit the landing point of the badminton, the average landing point can be calculated based on multiple possible landing points, and the frequency of possible landing points within a radius R with the average landing point as the center is determined, and the frequency is used as the confidence level.
[0123] The method for analyzing the motion state of a target object provided by an embodiment of the present invention accurately extracts the position information of the target object through multiple frames of images, and preliminarily determines the initial motion interval of the target object according to a preset starting point and landing point, and makes corrections based on actual conditions. It is possible to obtain an accurate target motion interval when there is a certain error in the initial motion interval, thereby being able to continuously track the motion of the target object, and to perform trajectory fitting based on the target motion interval to obtain an accurate flight trajectory of the target object, which helps to intuitively understand the motion state of the target object. Prediction is performed based on the fitted trajectory, and the landing point of the target object can be more accurately predicted, thereby improving the accuracy of trajectory fitting and landing point prediction, thereby achieving accurate analysis of the motion state of the target object.
[0124] In the present embodiment, a kind of motion state analysis device of target object is also provided, and this device is used to realize the above-mentioned embodiment and preferred implementation mode, and what has been described is not repeated here. As used below, the term "module" can realize the combination of software and / or hardware of predetermined function. Although the device described in the following embodiments is preferably realized with software, the realization of hardware, or the combination of software and hardware is also possible and conceived.
[0125] This embodiment provides a motion state analysis device for a target object, such as Figure 3 As shown, including:
[0126] The reconstruction module 301 is used to reconstruct multiple positions of the target object based on multiple frames of images taken by the camera during the movement of the target object, and any position point is represented by the three-dimensional coordinates and time point of the target object in a coordinate system with the long side of the site as the horizontal axis and the short side as the vertical axis.
[0127] The first determination module 302 is configured to determine an initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object.
[0128] The correction module 303 is used to correct the initial motion interval of the target object to obtain a target motion interval of the target object.
[0129] The fitting module 304 is used to perform trajectory fitting based on the target motion interval of the target object to obtain the flight trajectory of the target object.
[0130] The prediction module 305 is used to make a prediction based on the flight trajectory of the target object to obtain a predicted landing point of the target object.
[0131] In some optional implementations, the first determining module 302 includes:
[0132] The first determining unit is used to determine, from a plurality of position points of the target object, a preset starting point, a position point between the preset starting point and the preset landing point, and the preset landing point as an initial position point.
[0133] The second determining unit is used to determine, from the initial position points, a first position point corresponding to a minimum horizontal coordinate value and a second position point corresponding to a maximum horizontal coordinate value.
[0134] The first adjustment unit is used to reduce the horizontal coordinate corresponding to the first position point according to a preset step size until the flight direction of the target object changes, thereby obtaining a third position point.
[0135] The second adjustment unit is used to increase the horizontal coordinate of the second position point according to a preset step length until the flight direction of the target object changes, thereby obtaining a fourth position point.
[0136] The third determining unit is configured to determine, from among the plurality of position points of the target object, a third position point, all position points between the third position point and the fourth position point, and the fourth position point as an initial motion interval of the target object.
[0137] In some optional implementations, the correction module 303 includes:
[0138] The first projection unit is used to project all position points in the initial motion interval of the target object to obtain a plurality of projection points.
[0139] The fourth determining unit is used to determine, for a straight line formed by any two projection points among the plurality of projection points, the number of projection points within a preset range of the straight line based on other projection points except the two projection points.
[0140] The fifth determining unit is used to take the straight line with the largest number of corresponding projection points among all the straight lines formed by the plurality of projection points as the target straight line.
[0141] The sixth determining unit is configured to determine, among the plurality of projection points corresponding to all the position points in the initial motion interval, projection points that are not within a preset range of the target straight line as outlier projection points.
[0142] The elimination unit is used to eliminate outlier projection points from multiple projection points, restore the eliminated projection points, and obtain the target motion interval of the target object.
[0143] In some optional implementations, the fitting module 304 includes:
[0144] The seventh determination unit is used to take the position point with the highest altitude in the target motion interval of the target object as the air resistance demarcation point, and determine the number of position points between the air resistance demarcation point and the position point with the largest horizontal coordinate.
[0145] The eighth determination unit is used to redetermine the air resistance dividing point and the number of position points in descending order of heights of the position points when the number of position points is less than the preset number, until the number of position points is greater than the preset number, thereby obtaining the target air resistance dividing point.
[0146] The second projection unit is used to project all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate to obtain multiple fitting projection points.
[0147] The ninth determining unit is used to determine, for any two fitting projection points, an average distance from the other fitting projection points to a straight line formed by the two fitting projection points based on the other fitting projection points among all the fitting projection points except the two fitting projection points.
[0148] The tenth determining unit is used to take the straight line with the smallest corresponding average distance among all straight lines formed by the plurality of fitting projection points as the projection straight line.
[0149] The matching unit is used to perform trajectory matching based on the projection straight line to obtain the flight trajectory of the target object.
[0150] In some optional implementations, the matching unit includes:
[0151] The first determination subunit is used to determine the estimated flight speed and estimated flight pitch angle of the target object based on the target air resistance dividing point, the position point of the target air resistance dividing point at the next time point, and the time interval between the target air resistance dividing point and the position point of the next time point.
[0152] The second determination subunit is used to determine the estimated air resistance.
[0153] The third determination subunit is used to determine the motion state of the target object at the next time point based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance and the target air resistance dividing point. The motion state includes the position point, the flight speed and the flight acceleration.
[0154] The fourth determination subunit is used to repeat the above process of determining the motion state of the target object at the next time point until the height corresponding to the position point in the motion state of the target object is less than a preset threshold, thereby obtaining a simulated trajectory.
[0155] The changing unit is used to change the estimated flight speed and the estimated flight pitch angle, and repeat the above process of obtaining the simulated trajectory to obtain multiple simulated trajectories.
[0156] The matching subunit is used to match the simulated trajectory with all the position points between the target air resistance dividing point and the position point with the maximum horizontal coordinate for any simulated trajectory, obtain matching point pairs, and determine the number and average distance of matching point pairs that meet the distance conditions.
[0157] The fifth determination subunit is used to change the estimated air resistance when the maximum number of matching point pairs corresponding to multiple simulated trajectories is less than half of the number of all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate, and return to the step of determining the motion state of the target object at the next time point based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance and the target air resistance dividing point, until the maximum number of matching point pairs is greater than half of the number of all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate, and determine the simulated trajectory with the smallest average distance among at least one simulated trajectory with the maximum number of matching point pairs as the flight trajectory of the target object.
[0158] In some optional implementations, before the first determining subunit, the device further includes:
[0159] The conversion module is used to use the projection straight line as the horizontal axis and the projection point of the target air resistance dividing point as the origin of the horizontal axis, and to convert the coordinates of all the position points between the target air resistance dividing point and the position point with the largest horizontal coordinate to obtain the two-dimensional coordinates corresponding to all the position points.
[0160] In some optional implementations, the prediction module 305 includes:
[0161] The prediction unit is used to obtain a predicted landing point of the target object based on the last position point and the second to last position point in the flight trajectory of the target object.
[0162] In some optional embodiments, the device further comprises:
[0163] The second determination module is used to determine the confidence of the predicted landing point based on the preset landing point and the predicted landing point.
[0164] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0165] The motion state analysis device of the target object in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0166] The embodiment of the present invention also provides a computer device having the above Figure 3 The motion state analysis device of the target object shown.
[0167] See also Figure 4 , Figure 4 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 4As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 4 A processor 10 is taken as an example.
[0168] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0169] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0170] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0171] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0172] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 4 The example of connecting through bus is taken in the following.
[0173] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.
[0174] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0175] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0176] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention. Such modifications and variations are all within the scope defined by the present invention.
Claims
1. A method for analyzing the motion state of a target object, characterized in that: The method comprises: Reconstructing multiple frames of images taken by a camera during the movement of the target object to obtain multiple position points of the target object, wherein any position point is represented by the three-dimensional coordinates of the target object in a coordinate system with the long side of the site as the horizontal axis and the short side as the vertical axis and a time point, and the multiple position points of the target object are arranged in a chronological order of the time points; Determining an initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object; Correcting the initial motion interval of the target object to obtain a target motion interval of the target object; Performing trajectory fitting based on the target motion interval of the target object to obtain the flight trajectory of the target object; A prediction is made based on the flight trajectory of the target object to obtain a predicted landing point of the target object.
2. The method according to claim 1, characterized in that The determining the initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object comprises: From the plurality of position points of the target object, determine the preset starting point, a position point between the preset starting point and the preset landing point, and the preset landing point as initial position points; Determine, from the initial position points, a first position point corresponding to a minimum abscissa value and a second position point corresponding to a maximum abscissa value; The horizontal coordinate corresponding to the first position point is reduced according to a preset step size until the flight direction of the target object changes, thereby obtaining a third position point; Increasing the horizontal coordinate of the second position point according to a preset step length until the flight direction of the target object changes, thereby obtaining a fourth position point; From the plurality of position points of the target object, the third position point, all position points between the third position point and the fourth position point, and the fourth position point are determined as an initial motion interval of the target object.
3. The method according to claim 1, characterized in that The step of correcting the initial motion interval of the target object to obtain the target motion interval of the target object includes: Projecting all position points in the initial motion interval of the target object to obtain a plurality of projection points; For a straight line formed by any two projection points among the plurality of projection points, determining the number of projection points within a preset range of the straight line based on other projection points except the two projection points; The straight line having the largest number of corresponding projection points among all the straight lines formed by the plurality of projection points is used as the target straight line; Among the plurality of projection points corresponding to all the position points in the initial motion interval, a projection point that is not within a preset range of the target straight line is determined as an outlier projection point; The outlier projection points are eliminated from the multiple projection points, and the eliminated projection points are restored to obtain the target motion interval of the target object.
4. The method according to claim 1, characterized in that: The performing trajectory fitting based on the target motion interval of the target object to obtain the flight trajectory of the target object includes: Taking the position point with the highest altitude in the target motion interval of the target object as the air resistance demarcation point, and determining the number of position points between the air resistance demarcation point and the position point with the largest abscissa; In the case that the number of the position points is less than the preset number, the air resistance demarcation point and the number of the position points are re-determined in descending order of the heights of the position points until the number of the position points is greater than the preset number, thereby obtaining a target air resistance demarcation point; Projecting all the position points between the target air resistance dividing point and the position point with the largest abscissa to obtain a plurality of fitting projection points; For any two fitting projection points, based on other fitting projection points among all the fitting projection points except the two fitting projection points, determine the average distance from the other fitting projection points to the straight line formed by the two fitting projection points; The straight line with the smallest corresponding average distance among all the straight lines formed by the plurality of fitting projection points is used as the projection straight line; Trajectory matching is performed based on the projection straight line to obtain the flight trajectory of the target object.
5. The method according to claim 4, characterized in that The performing trajectory matching based on the projection straight line to obtain the flight trajectory of the target object includes: Determining an estimated flight speed and an estimated flight pitch angle of the target object based on the target air resistance demarcation point, a position point at a next time point of the target air resistance demarcation point, and a time interval between the position point at the target air resistance demarcation point and the next time point; Determine estimated air resistance; Determining the motion state of the target object at a next time point based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance, and the target air resistance demarcation point, the motion state including the position point, the flight speed, and the flight acceleration; Repeat the above process of determining the motion state of the target object at the next time point until the height corresponding to the position point in the motion state of the target object is less than a preset threshold, thereby obtaining a simulated trajectory; Changing the estimated flight speed and the estimated flight pitch angle, repeating the above process of obtaining a simulated trajectory, and obtaining a plurality of simulated trajectories; For any simulated trajectory, time point matching is performed based on all position points between the target air resistance demarcation point and the position point with the maximum horizontal coordinate with the simulated trajectory to obtain matching point pairs, and the number and average distance of matching point pairs that meet the distance condition are determined; When the maximum number of matching point pairs corresponding to the multiple simulated trajectories is less than half of the number of all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate, the estimated air resistance is changed, and the step of determining the motion state of the target object at the next time point based on the estimated flight speed, the estimated flight pitch angle, the estimated air resistance and the target air resistance dividing point is returned until the maximum number of matching point pairs is greater than half of the number of all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate, and the simulated trajectory with the smallest average distance among at least one simulated trajectory with the maximum number of matching point pairs is determined as the flight trajectory of the target object.
6. The method according to claim 5, characterized in that Before determining the estimated flight speed and the estimated flight pitch angle of the target object based on the target air resistance demarcation point, the position point at the next time point of the target air resistance demarcation point, and the time interval between the target air resistance demarcation point and the position point at the next time point, the method further includes: With the projection straight line as the horizontal axis and the projection point of the target air resistance dividing point as the origin of the horizontal axis, all position points between the target air resistance dividing point and the position point with the largest horizontal coordinate are transformed to obtain the two-dimensional coordinates corresponding to all position points.
7. The method according to claim 1, characterized in that The step of performing prediction based on the flight trajectory of the target object to obtain the predicted landing point of the target object includes: Based on the last position point and the second to last position point in the flight trajectory of the target object, the predicted landing point of the target object is obtained.
8. The method according to claim 1, characterized in that: The method further comprises: Based on the preset landing point and the predicted landing point, the confidence level of the predicted landing point is determined.
9. A motion state analysis device for a target object, characterized in that: The device comprises: A reconstruction module, used to reconstruct based on multiple frames of images taken by the camera during the movement of the target object to obtain multiple position points of the target object, any position point is represented by the three-dimensional coordinates of the target object in a coordinate system with the long side of the site as the horizontal axis and the short side as the vertical axis and a time point, and the multiple position points of the target object are arranged in a chronological order of the time points; A first determining module, configured to determine an initial motion interval of the target object based on a preset starting point and a preset landing point among a plurality of position points of the target object; A correction module, used for correcting the initial motion interval of the target object to obtain a target motion interval of the target object; A fitting module, used for performing trajectory fitting based on a target motion interval of the target object to obtain a flight trajectory of the target object; The prediction module is used to make a prediction based on the flight trajectory of the target object to obtain a predicted landing point of the target object.
10. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the motion state analysis method of the target object according to any one of claims 1 to 8 by executing the computer instructions.
Citation Information
Patent Citations
Table tennis target tracking and trajectory predicting method and device, storage medium, and computer equipment
CN107481270A
Prediction method of badminton landing position based on computer vision
CN109087328A
Accurate estimation method and device for landing point position of flight device and electronic equipment
CN111951327A
Monocular three-dimensional parabolic ball trajectory tracking method, system, medium and equipment for court video
CN115393373A
Space target tracking method and system based on multi-feature fusion
CN116740132A