Dynamic target detection and tracking system and method based on point-by-point identification
Through the dynamic object detection and tracking system of point-by-point recognition, combined with the occlusion principle and proximity compensation algorithm, the accuracy and speed of dynamic object detection and tracking in intelligent driving are solved, and the system's safety and response speed are improved.
Patent Information
- Application Number
- CN202510445403.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-10
- Publication Date
- 2025-07-29
AI Technical Summary
In the existing intelligent driving technology, the detection and tracking of dynamic targets is insufficient and the accuracy and speed are insufficient, making it difficult to effectively identify and track dynamic objects such as vehicles and pedestrians in the surrounding environment, affecting the safety of driving decisions.
A dynamic object detection and tracking system based on point-by-point recognition is adopted, and through data preprocessing, object detection, border fitting and target tracking modules, combined with the occlusion principle and proximity compensation algorithm, the accurate positioning and tracking of dynamic targets is achieved.
It improves the accuracy and speed of dynamic target detection, ensuring the safety and real-timeness of the intelligent driving system.
Smart Images

Figure CN120388048A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a dynamic target detection and tracking system and method based on point-by-point recognition, belonging to the technical field of radar data processing. Background Art
[0002] In recent years, with the continuous progress of technology and the development of society, intelligent driving technology has become an important research direction in the field of modern transportation. By combining advanced sensors, computers, and excellent algorithms, intelligent driving technology enables vehicles to achieve autonomous perception, decision-making, and control, thereby improving traffic efficiency and reducing traffic accidents. As the basis of intelligent driving, environmental perception obtains external information in real time through sensors such as lidar, millimeter-wave radar, and cameras. For the environmental perception task, the shape, position, and motion state of each object in the surrounding environment are of great significance for driving decisions. Incorrect judgments and decisions may often bring non-negligible risks.
[0003] There are inevitably a large number of dynamic objects in the external environment, such as vehicles, pedestrians, animals, and other unknown projectiles. The movement of these dynamic objects is random, and they are one of the main threats to the safe driving of intelligent driving devices. To achieve the safe driving of intelligent driving devices, reasonably and efficiently plan their driving routes and speeds, and be able to make correct movement decisions in a short time to avoid unnecessary collisions or scratches, dynamic target detection and tracking is becoming the core issue for improving the system accuracy, response speed, and robustness due to its wide applications. Summary of the Invention
[0004] To solve the above technical problems, the present invention provides a dynamic target detection and tracking system and method based on point-by-point recognition, which determines dynamic targets based on the occlusion principle and the proximity compensation algorithm, taking into account the accuracy and rapidity of detection and tracking.
[0005] To solve the above technical problems, a technical solution adopted by the present invention is:
[0006] A dynamic target detection and tracking system based on point-by-point recognition, comprising:
[0007] A data preprocessing module, which is used for downsampling, ground segmentation, and coordinate conversion operations to reduce the number of point clouds, reduce the processing difficulty, and convert the original point cloud coordinates into the world coordinate system, and retain the rotation matrix and translation matrix of each frame of point cloud calculated during this process to provide support for the projection operation in subsequent dynamic point detection;
[0008] A target detection module, which is used to determine the motion state of each point, extract all dynamic points and cluster them to obtain dynamic targets, and complete target detection;
[0009] A border fitting module, which is used to fit the cuboid border of the target so as to obtain key state information such as the center point, orientation, and size of the target;
[0010] A target tracking module, which is used to match each target in adjacent multiple frames according to the state information of the dynamic target in each frame to complete target tracking.
[0011] Furthermore, the data preprocessing module specifically includes:
[0012] A downsampling unit, which is used to reduce the number of point clouds. By voxelizing the original point cloud, redundant data is removed;
[0013] A ground segmentation unit, which is used to remove a large number of irrelevant static point clouds and remove the part representing the ground in the point cloud data;
[0014] A coordinate conversion unit, which is used to convert the original point cloud coordinates to the world coordinate system.
[0015] Furthermore, the target detection module specifically includes:
[0016] A dynamic point detection unit, which is used to initially determine the motion state of the point cloud. By judging the occlusion situation between the current frame and the point clouds in multiple past frames, it is determined whether each point is in a motion state;
[0017] A compensation and correction unit, which is used to correct the motion state of the point cloud after preliminary detection, cluster the dynamic point cloud, and perform adjacent compensation and elimination operations.
[0018] Furthermore, the border fitting module includes:
[0019] An edge detection unit, which is used to initially determine the edge points of the point cloud clustering, and obtain the preliminary edge points based on density detection;
[0020] An edge extraction unit, which is used to refine the edge points. Traverse all the preliminary edge points, connect all the points within the fixed neighborhood to the current point, and then calculate the angles formed by all pairwise adjacent points between these points and the current point;
[0021] A border fitting unit, which is used to determine the longest side of the target point cloud clustering and fit the corresponding bounding box.
[0022] To solve the above technical problems, another technical solution adopted by the present invention is:
[0023] A dynamic target detection and tracking method based on point-by-point recognition, including the following steps:
[0024] Step S1: Convert the original point cloud to the northeast-down-earth-centered coordinate system based on the starting point through the pose data of the IMU and GPS, and then perform downsampling to reduce the total number of point clouds while ensuring the original characteristics of the point clouds. Then, perform ground segmentation on the point clouds to remove irrelevant static point clouds;
[0025] Step S2: Create a new depth image every m frames of radar point cloud data. Project the point clouds with determined states into the depth image in sequence, and determine whether there is occlusion. Determine the motion state of the point clouds based on the occlusion situation to complete the detection of dynamic points;
[0026] Step S3: Build a KD tree, retrieve the points near the dynamic points and extend outward. Determine the core points based on the number and states of the surrounding points, correct the motion states of the points and complete clustering to determine the dynamic targets, and complete the compensation and correction of the dynamic points;
[0027] Step S4: Project the point clouds onto a two-dimensional plane. Find the longest side by extracting the edges of the dynamic target point clouds and relevant evaluation functions, and use this side as the orientation of the rectangular bounding box. Based on this, calculate the length, width, and center point of the bounding box, and the height is determined by the highest and lowest points of the point cloud clustering;
[0028] Step S5: Establish tracking objects according to the state information of each target. The Kalman filter predicts the state information of the next moment based on the state measurement value of the dynamic target at this moment. The Hungarian matching performs matching by associating the current target state information with the state information of the established tracking objects. After matching, estimate the optimal state based on the predicted value and actual observation value of the Kalman filter, and at the same time execute the direction threshold compensation algorithm.
[0029] Furthermore, in step S2, the specific process of detecting the dynamic points is as follows:
[0030] Step S21: Create a depth image every m frames of radar point cloud data, that is, sequentially select each point in the point cloud that has been converted to the global coordinate system in the preprocessing, and then convert it to the coordinate system of the depth image frame. The equation is as follows:
[0031] P L =R1 -1 (P G -T1)
[0032] where P G represents the coordinates of the point in the global coordinate system, P L represents the coordinates of the point in the depth image frame coordinate system, R1 represents the rotation matrix of the point cloud in the depth image frame, and T1 represents the translation matrix of the point cloud in the depth image frame;
[0033] Step S22: Convert the current processing point to the spherical coordinate system, calculate the distance from the origin to the current point, i.e., the radial distance, the angle between the projection of the line connecting the origin and the current point on the xOy plane and the positive x-axis, i.e., the azimuth angle, and the angle between the line connecting the origin and the current point and the positive z-axis, i.e., the polar angle;
[0034] Step S23: After completing the conversion of the spherical coordinates, the position of the point in the depth map can be determined through the resolution of the lidar depth map. The equation is as follows:
[0035]
[0036]
[0037] where r h and r v are the vertical resolution and horizontal resolution of the depth map respectively, and i h and i v are the vertical index and horizontal index steps of the point on the depth map respectively. Then, according to:
[0038] pos = v max i h + i v
[0039] the position of the point in the depth map can be obtained, where pos represents the index of the point in the depth map, and v max represents the total number of rows of the depth map; finally, key information such as the maximum depth and minimum depth is calculated through the point cloud information of each pixel point;
[0040] Step S24: Select the earliest frame of point cloud in the depth image as the reference system of the depth image coordinates, call this frame the depth image frame, and retain the rotation matrix and translation matrix of the point cloud of the depth image frame;
[0041] Step S25: Project the current point onto the generated depth image, judge the relationship between the depth of the current point and the maximum depth and minimum depth of the projected pixel point and its adjacent pixel points, and judge the occlusion situation according to the depth position to further determine the motion state of the point cloud.
[0042] Further, in Step S3, the specific steps for compensating and correcting the dynamic points are as follows:
[0043] Step S31: Establish a KD tree for the current point cloud;
[0044] Step S32: Select an unvisited dynamic point as the initial core point P i (i represents the i-th initial core point, and the same applies hereinafter), find all the points within the set neighborhood of point P i , and define this operation as finding subordinate points. If the number of points N iIf it is greater than the specified threshold N, then the point index co i is written into a new index set C i , otherwise the motion state of this point is changed to static and the operation continues to select the next dynamic point; after detecting a point, it is marked as an accessed point;
[0045] Step S33, after detecting the core points, traverse all points in the neighborhood of the core points, and also perform the operation of finding subordinate points. Skipping the accessed points, if the number N ij of points found ij is greater than the specified threshold N, then point P ij is marked as a core point and the index cl ij of point P ij is written into the index set C i where the initial core point P i is located, otherwise point P ij is marked as an edge point, where ij represents the jth point that performs the operation of finding subordinate points extended from the ith initial core point. After detecting each point, it is marked as an accessed point;
[0046] Step S34, perform Step S33 again on the core points detected in Step S33 to determine whether there are core points among the points in their neighborhoods. As long as new core points appear, keep repeating the execution until no new core points appear or the number of points reaches the set upper limit; after this step is completed, the growth and clustering of a dynamic point to the surrounding points are completed;
[0047] Step S35, return to Step S32 and continue to execute all steps on the dynamic points that have not been marked as accessed points until all dynamic points have been visited. At this time, the growth and clustering of the surrounding points of all dynamic points have been completed;
[0048] Step S36, statistically analyze the motion states of the points in each index set respectively, and determine the motion state of the clustered point cloud based on the total number of point clouds and the ratio of the number of dynamic points to the number of static points, that is, satisfying the following conditions:
[0049]
[0050] where n A represents the total number of point clouds in this cluster, n max represents the maximum threshold of the number of point clouds set, n D represents the number of dynamic points in this cluster, n S represents the number of static points in this cluster; finally, change the motion states of all points in this cluster to the corresponding states.
[0051] Furthermore, in Step S4, the specific formula of the evaluation function is as follows:
[0052] num = card(U B )
[0053]
[0054] where num is the quantity evaluation function, d B is the distance evaluation function, and the point set U B is used to store the points around the edge line. card(U B ) represents the number of elements in the point set U B . A i (x i , y i ) and A j (x j , y j ) represent any two points in the initial vertices. Finally, num and 1 / d B are weighted and summed to obtain the final fitting line score.
[0055] Due to the adoption of the above technical solution, the technical progress achieved by the present invention is as follows:
[0056] The present invention determines dynamic targets based on the occlusion principle and the proximity compensation algorithm, taking into account the accuracy and speed of detection and tracking. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 is a schematic flow diagram of the dynamic target detection and tracking method of the present invention.
[0058] Figure 2 is a schematic diagram of the proximity compensation algorithm of the dynamic target detection and tracking method of the present invention.
[0059] Figure 3 is a schematic diagram of the module composition of the dynamic target detection and tracking system of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0060] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0061] To make the above objects, features, and advantages of the present invention more obvious and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0062] This embodiment discloses a dynamic target detection and tracking system based on point-by-point recognition, as Figure 3 shown, including:
[0063] A data preprocessing module for downsampling, ground segmentation, and coordinate transformation operations, reducing the number of point clouds, lowering the processing difficulty, converting the original point cloud coordinates to the world coordinate system, and retaining the rotation matrix and translation matrix of each frame of point cloud calculated during this process to support the projection operation in subsequent dynamic point detection;
[0064] A target detection module for determining the motion state of each point, extracting all dynamic points and clustering them to obtain dynamic targets, and completing target detection;
[0065] A bounding box fitting module for fitting the cuboid bounding box of the target to facilitate obtaining key state information such as the target center point, orientation, and size;
[0066] A target tracking module for matching each target in adjacent multiple frames according to the state information of each frame of dynamic target to complete target tracking.
[0067] As a specific implementation manner, the data preprocessing module of this embodiment specifically includes:
[0068] A downsampling unit for reducing the number of point clouds, removing redundant data by voxelizing the original point cloud, and retaining the key point cloud information;
[0069] A ground segmentation unit for removing a large number of irrelevant static point clouds and removing the part representing the ground in the point cloud data;
[0070] A coordinate transformation unit for converting the original point cloud coordinates to the world coordinate system and obtaining the transformation matrix and translation matrix of each frame of point cloud.
[0071] As a specific implementation manner, the target detection module of this embodiment specifically includes:
[0072] A dynamic point detection unit for preliminarily determining the motion state of the point cloud, and judging whether each point is in a motion state by the occlusion situation between the current frame and multiple past frames of point clouds;
[0073] A compensation and correction unit for correcting the motion state of the point cloud after preliminary detection, clustering the dynamic point cloud, and performing adjacent compensation and elimination operations.
[0074] As a specific implementation manner, the bounding box fitting module of this embodiment specifically includes:
[0075] An edge detection unit for preliminarily determining the edge points of the point cloud clustering and obtaining preliminary edge points based on density detection;
[0076] An edge extraction unit for performing refined processing on edge points, traversing all preliminary edge points, connecting all points within a fixed neighborhood to the current point, and then calculating the angles formed by all pairwise adjacent points between these points and the current point;
[0077] A border fitting unit for determining the longest side of the target point cloud clustering and fitting the corresponding bounding box, and finding the longest side by traversing the edge points.
[0078] A method for dynamic target detection and tracking based on point-by-point recognition, as Figure 1 shown, the method includes:
[0079] Step S1: Convert the original point cloud to the Earth-centered, North-up, East (ENU) coordinate system based on the starting point through the pose data of the IMU and GPS, then perform downsampling processing to reduce the total number of point clouds while ensuring the original characteristics of the point clouds, and then perform ground segmentation on the point clouds to remove irrelevant static point clouds;
[0080] Step S2: Establish a new depth image every m frames of radar point cloud data, project the point clouds with judgment status into the depth image in sequence, and judge whether there is an occlusion situation. Determine the motion state of the point clouds according to the occlusion situation to complete the detection of dynamic points;
[0081] Step S3: Establish a KD tree, retrieve the points near the dynamic points and extend outward, determine the core points according to the number and status of the surrounding points, correct the motion state of the points and complete clustering, determine the dynamic target, and complete the compensation and correction of the dynamic points;
[0082] Step S4: Project the point cloud onto a two-dimensional plane, find the longest side by extracting the edge of the dynamic target point cloud and related evaluation functions, and use this side as the orientation of the rectangular bounding box. On this basis, calculate the length, width and center point of the bounding box, and the height is determined by the highest and lowest points of the point cloud clustering;
[0083] Step S5: Establish a tracking object according to the state information of each target. The Kalman filter predicts the state information of the next moment based on the state measurement value of the dynamic target at this moment. The Hungarian matching matches by associating the current target state information with the state information of the established tracking object. After matching, estimate the optimal state according to the predicted value and the actual observation value of the Kalman filter, and at the same time execute the direction threshold compensation algorithm.
[0084] The following elaborates on each step in detail:
[0085] The detection of dynamic points in Step S2 specifically includes:
[0086] S21. Establish a depth image every m frames of lidar point cloud data. That is, select each point in the point cloud that has been transformed into the global coordinate system during preprocessing in turn, and transform them into the coordinate system of the depth image frame. The equation is as follows:
[0087] P L = R1 -1 (P G - T1) (1)
[0088] where P G represents the coordinates of the point in the global coordinate system, P L represents the coordinates of the point in the coordinate system of the depth image frame, R1 represents the rotation matrix of the point cloud of the depth image frame, and T1 represents the translation matrix of the point cloud of the depth image frame;
[0089] S22. Transform the point into the spherical coordinate system, and calculate the distance from the origin to the point, that is, the radial distance is r, the angle between the projection of the line connecting the origin and the point on the xOy plane and the positive x-axis is the azimuth angle the angle between the line connecting the origin and the point and the positive z-axis is the polar angle θ. The equation is as follows:
[0090]
[0091] where x PL 、y PL 、z PL are the coordinates of the point in the coordinate system of the depth image frame, that is, the three-dimensional values of P L ;
[0092] S23. After completing the conversion of the spherical coordinates, the position of the point in the depth map can be determined through the resolution of the lidar depth map. The equation is as follows:
[0093]
[0094] where r h and r v are the vertical resolution and horizontal resolution of the depth map respectively, i h and i v are the vertical index and horizontal index steps of the point in the depth map respectively. Then, according to:
[0095] pos = v max i h + i v (7)
[0096] the position of the point in the depth map can be obtained, where pos represents the index of the point in the depth map, and v max represents the total number of rows of the depth map; finally, key information such as the maximum depth and minimum depth is calculated through the point cloud information of each pixel point;
[0097] S24. Select the earliest frame of point cloud in the depth image as the reference system of the depth image coordinates, call this frame the depth image frame, and retain the rotation matrix and translation matrix of the point cloud of the depth image frame;
[0098] S25. Project the current point onto the generated depth image, judge the relationship between the depth of the current point and the maximum and minimum depths of the projected pixel point and its neighboring pixel points, judge the occlusion situation according to the depth position, and further determine the motion state of the point cloud.
[0099] In step S3, for the compensation and correction of dynamic points, the specific steps are as follows:
[0100] S31. Build a KD tree for the current point cloud;
[0101] S32. Select an unvisited dynamic point as the initial core point P i (i represents the i-th initial core point, and the same applies hereinafter), find all points within the set neighborhood of point P i We define this operation as finding subordinate points. If the number of points N i is greater than the specified threshold N, then write the point index co i into a new index set C i Otherwise, change the motion state of the point to static and continue to select the next dynamic point to repeat the operation; mark the point as an accessed point after detecting one point;
[0102] S33. After detecting the core point, traverse all points within the neighborhood of the core point, and also perform the operation of finding subordinate points. Skip the accessed points. If the number of points N ij (ij represents the j-th point that performs the operation of finding subordinate points extended from the i-th initial core point, and the same applies hereinafter) found by point P ij is greater than the specified threshold N, then mark point P ij as a core point and write the index cl ij of point P ij into the index set C i where the initial core point P i is located. Otherwise, mark point P ij as an edge point; like in step S32, mark the point as an accessed point after detecting one point;
[0103] S34. Re-execute step S33 for the core points detected in step S33 to determine whether there are core points among the points within their neighborhoods. As long as new core points appear, keep repeating the execution until no new core points appear or the number of points reaches the set upper limit; after this step is completed, the growth and clustering of a dynamic point around the surrounding points are completed, as Figure 2 shown;
[0104] S35. Return to step S32 and continue to execute all steps on the dynamic points that have not been marked as visited points until all dynamic points have been visited. At this time, the growth and clustering of the points around all dynamic points have been completed;
[0105] S36. Statistically analyze the motion states of the points in each index set respectively, and determine the motion state of the clustered point cloud based on the total number of point clouds and the ratio of the number of dynamic points to the number of static points, that is, meet the following conditions:
[0106]
[0107] where n A represents the total number of point clouds in this cluster, n max represents the maximum threshold of the number of point clouds set, n D represents the number of dynamic points in this cluster, n S represents the number of static points in this cluster; finally, change the motion states of all points in this cluster to the corresponding states.
[0108] The specific formula of the evaluation function in step S4 is as follows:
[0109] num = card(U B ) (9)
[0110]
[0111] where num is the quantity evaluation function, d B is the distance evaluation function, the point set U B is used to store the points around the edge straight line, card(U B ) represents the number of elements in the point set U B , A i (x i , y i ) and A j (x j , y j ) represent any two points in the initial vertices; finally, perform a weighted sum of num and 1 / d B to obtain the final fitting line score.
[0112] Compare the method of this embodiment with three other common algorithms, including ERASOR, M-detector, and M-detector with patchwork++ ground segmentation, and evaluate on the SemanticKITTI dataset, using accuracy (Accuracy), precision (Precision), recall (Recall), and intersection over union (IoU) as evaluation metrics; the comparison results are shown in Table 1:
[0113] Table 1 Performance of different detectors
[0114]
[0115] As can be seen from Table 1, the ERASOR algorithm performs excellently in Recall, but has too low Precision and IoU; M-detector has a slight advantage in Accuracy, and the method of this embodiment is 1.3% lower than it. However, it lags behind the patent method in the other three metrics. The Precision of the method of this embodiment is 11.6% higher, Recall is 32.7% higher, and IoU is 43.96% higher. The MPCE algorithm has an obvious advantage; M-detector with ground segmentation is also only slightly higher than the method of this embodiment in Accuracy, while in terms of Precision, Recall, and IoU, the method of this embodiment is significantly better than this method, being 3.1%, 58.0%, and 61.3% higher respectively. Therefore, the method of this embodiment has an obvious advantage in detection accuracy.
[0116] Table 2 shows the average time consumption per frame of the above four algorithms; the hardware configuration used in this evaluation is a computer equipped with an Intel(R) Core(TM) i7-7700 (3.60GHz, 4 cores) central processing unit (CPU); from the data in Table 2, it can be known that M-detector with ground segmentation consumes the shortest time, and the time consumption gap between M-detector and the method of this embodiment is small. ERASOR has the longest calculation time, but the time consumption of all algorithms is less than 100 ms, meeting the real-time requirement.
[0117] Table 2 Average Time Consumption per Frame of Different Detectors
[0118]
[0119] In summary, after considering evaluations in multiple aspects such as accuracy, recall rate, intersection over union, and real-time performance, the algorithm of this embodiment performs significantly better than other algorithms.
[0120] In this embodiment, specific examples are applied to elaborate on the principle and implementation manner of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for those of ordinary skill in the art, according to the idea of the present invention, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation to the present invention.
Claims
1. A dynamic target detection and tracking system based on point-by-point recognition, characterized in that, Including: A data preprocessing module for downsampling, ground segmentation, and coordinate transformation operations, reducing the number of point clouds, lowering the processing difficulty, converting the original point cloud coordinates to the world coordinate system, and retaining the rotation matrix and translation matrix of each frame of point cloud calculated during this process to support the projection operation in subsequent dynamic point detection; A target detection module for determining the motion state of each point, extracting all dynamic points and clustering them to obtain dynamic targets, and completing target detection; A bounding box fitting module for fitting the cuboid bounding box of the target to facilitate obtaining key state information such as the target center point, orientation, and size; A target tracking module for matching each target in adjacent multiple frames according to the state information of each frame of dynamic target to complete target tracking.
2. A dynamic target detection and tracking based on point-by-point recognition according to claim 1, characterized in that: The data preprocessing module specifically includes: A downsampling unit for reducing the number of point clouds by voxelizing the original point cloud to remove redundant data; A ground segmentation unit for removing a large amount of irrelevant static point clouds and removing the part representing the ground in the point cloud data; A coordinate transformation unit for converting the original point cloud coordinates to the world coordinate system.
3. A dynamic target detection and tracking based on point-by-point recognition according to claim 1, characterized in that: The target detection module specifically includes: A dynamic point detection unit for initially determining the motion state of the point cloud and judging whether each point is in a motion state by the mutual occlusion situation between the current frame and multiple past frames of point clouds; A compensation and correction unit for correcting the motion state of the point cloud after preliminary detection, clustering the dynamic point cloud, and performing adjacent compensation and elimination operations.
4. A dynamic target detection and tracking based on point-by-point recognition according to claim 1, characterized in that: The bounding box fitting module includes: An edge detection unit for initially determining the edge points of the point cloud clustering and obtaining preliminary edge points based on density detection; An edge extraction unit for performing refined processing on the edge points, traversing all preliminary edge points, connecting all points within a fixed neighborhood to the current point, and then calculating the angles formed by all pairwise adjacent points between these points and the current point; A bounding box fitting unit for determining the longest side of the target point cloud clustering and fitting the corresponding bounding box.
5. A dynamic target detection and tracking method based on point-by-point recognition, characterized in that Using the dynamic target detection and tracking system based on point-by-point recognition according to any one of claims 1 to 4, including the following steps: Step S1: Convert the original point cloud to the local-level north-east-down (NED) coordinate system based on the starting point through the pose data of the IMU and GPS, then perform downsampling processing to reduce the total number of point clouds while ensuring the original characteristics of the point cloud, and then perform ground segmentation on the point cloud to remove irrelevant static point clouds; Step S2: Establish a new depth image for every m frames of radar point cloud data, project the point clouds whose states are to be judged into the depth image in sequence, and judge whether there is an occlusion situation. Determine the motion state of the point cloud according to the occlusion situation to complete the detection of dynamic points; Step S3: Establish a KD tree, retrieve the points near the dynamic points and extend outwards, determine the core points according to the number and states of the surrounding points, correct the motion state of the points and complete clustering, determine the dynamic targets, and complete the compensation and correction of the dynamic points. Step S4: Project the point cloud onto a two-dimensional plane. By extracting the edges of the dynamic target point cloud and using relevant evaluation functions, find its longest side, and use this side as the orientation of the rectangular bounding box. On this basis, calculate the length, width, and center point of the bounding box, and the height is determined by the highest and lowest points of the point cloud clustering. Step S5: Establish a tracking object according to each target state information. The Kalman filter predicts the state information of the next moment based on the state measurement value of the dynamic target at this moment. The Hungarian matching matches by associating the current target state information with the state information of the established tracking object. After matching, estimate the optimal state according to the predicted value and actual observation value of the Kalman filter, and at the same time execute the direction threshold compensation algorithm.
6. The dynamic target detection and tracking method based on point-by-point recognition according to claim 5, characterized in that In step S2, the specific process of detecting the dynamic points is as follows: Step S21: Establish a depth image every m frames of lidar point cloud data, that is, sequentially select each point in the point cloud that has been transformed into the global coordinate system in the preprocessing, and then transform it into the coordinate system where the depth image frame is located. The equation is as follows: P L = R1 -1 (P G - T1) Where P G represents the coordinates of a point in the global coordinate system, and P L represents the coordinates of a point in the depth image frame coordinate system. R1 represents the rotation matrix of the depth image frame point cloud, and T1 represents the translation matrix of the depth image frame point cloud; Step S22: Transform the current processing point into the spherical coordinate system, calculate the distance from the origin to the current point, that is, the radial distance, the angle between the projection of the line connecting the origin and the current point on the xOy plane and the positive half-axis of the x-axis, that is, the azimuth angle, and the angle between the line connecting the origin and the current point and the positive half-axis of the z-axis, that is, the polar angle. Step S23: After completing the transformation of the spherical coordinates, the position of the point in the depth image can be determined by the resolution of the lidar depth map. The equation is as follows: where r h and r v are the vertical resolution and the horizontal resolution of the depth map respectively, i h and i v are the vertical index and the horizontal index step of the point on the depth map respectively. Then, according to: pos = v max i h +i v The position of the point in the depth map can be obtained, where pos represents the index of the point in the depth map, and v max represents the total number of rows of the depth map; finally, key information such as the maximum depth and the minimum depth is calculated through the point cloud information of each pixel point; Step S24: Select the earliest frame of point cloud in the depth image as the reference system of the depth image coordinates, call this frame the depth image frame, and retain the rotation matrix and translation matrix of the point cloud of the depth image frame. Step S25: Project the current point onto the generated depth image, judge the relationship between the depth of the current point and the maximum and minimum depths of the projected pixel point and its adjacent pixel points, and determine the occlusion situation according to the depth position, and further determine the motion state of the point cloud.
7. A dynamic target detection and tracking method based on point-by-point recognition according to claim 5, characterized in that, In step S3, the specific steps for compensating and correcting the dynamic points are as follows: Step S31: Establish a KD tree of the current point cloud. Step S32: Select an unvisited dynamic point as the initial core point P i , where i represents the i-th initial core point, and find the points P i of all points within the set neighborhood, and define this operation as finding subordinate points. If the number of points N i is greater than the specified threshold N, then index the point co i and write it into a new index set C i . Otherwise, change the motion state of the point to static and continue to select the next dynamic point to repeat the operation; after detecting a point, mark it as a visited point; Step S33: After detecting the core points, traverse all the points in the neighborhood of the core points, and also perform the operation of finding the subordinate points. Skip the visited points. If point P ij The number N of points found ij is greater than the specified threshold N, then mark point P ij as a core point and put the index cl ij of point P ij into the index set C i where the initial core point P i is located. Otherwise, mark point P ij as an edge point, where ij represents the j-th point where the operation of finding the subordinate points is performed extending from the i-th initial core point. Mark each detected point as a visited point after detection; Step S34: Re-execute step S33 for the core points detected in step S33 to determine whether there are core points in the neighborhood of the points. As long as new core points appear, keep repeating until no new core points appear or the number of points reaches the set upper limit. After this step is completed, the growth and clustering of a dynamic point to the surrounding points are completed. Step S35: Return to step S32 and continue to execute all steps for the dynamic points that have not been marked as visited points until all dynamic points have been visited. At this time, the growth and clustering of the surrounding points of all dynamic points have been completed. Step S36: Statistically analyze the motion states of the points in each index set respectively, and determine the motion state of the clustered point cloud based on the total number of point clouds and the ratio of the number of dynamic points to the number of static points, that is, satisfying the following conditions: where n A represents the total number of point clouds in this cluster, n max represents the maximum threshold of the set number of point clouds, n D represents the number of dynamic points in this cluster, n S represents the number of static points in this cluster; finally, change the motion states of all points in this cluster to the corresponding states.
8. A dynamic target detection and tracking method based on point-by-point recognition according to claim 5, characterized in that In step S4, the specific formula of the evaluation function is as follows: num = card(U B ) where num is the quantity evaluation function, and d B is the distance evaluation function. The point set U B is used to store the points around the edge line. card(U B ) represents the number of elements in the point set U B . A i (x i , y i ) and A j (x j , y j ) represent any two points in the initial vertices. Finally, the weighted sum of num and 1 / d B is obtained to get the final fitting line score.