Point cloud clustering method suitable for unmanned driving and control method for assisting unmanned driving
By adopting a point cloud clustering method based on grid coordinate system in unmanned driving scenarios, the problem of point cloud clustering time and data missing in the existing technology is solved, and rapid clustering of native point clouds is achieved. and real-time processing.
Patent Information
- Application Number
- CN202411154402.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-08-21
AI Technical Summary
The existing point cloud clustering algorithm based on KD-Tree search processes a large amount of point cloud data, and cannot meet the high concurrency and real-time requirements of unmanned driving algorithms. In order to reduce the calculation time, points are often required. The cloud performs downsampling, resulting in the loss of native data information.
Using the point cloud clustering method based on the grid coordinate system, the closed convex hull is formed by constructing the grid coordinate system, traversing the point cloud and storing index information, performing binarization and morphological expansion processing, and clustering using the region growth algorithm. , thereby achieving rapid clustering of point clouds.
Direct clustering of native point clouds is realized, and real-time processing needs in unmanned driving scenarios are met, and point cloud information is missing due to excessive clustering.
Smart Images

Figure CN119445170A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of point cloud data processing, and in particular to a point cloud clustering method suitable for unmanned driving and a control method for assisting unmanned driving. Background Art
[0002] Point cloud clustering is a conventional point cloud data processing operation. Typically, the point cloud Euclidean clustering algorithm is a method of clustering multiple adjacent points that meet certain conditions into a point cloud cluster according to the distance of the three-dimensional point cloud. The result of clustering is to divide the point cloud into multiple point cloud clusters, each of which corresponds to a detected target object for subsequent analysis and processing.
[0003] The point cloud clustering algorithm based on KD-Tree (K-Dimension Tree) search is a fast and effective clustering method, which builds a KD-Tree of point clouds in a three-dimensional point cloud, traverses all point clouds and searches for their adjacent points, and finally outputs multiple point cloud clusters. However, this algorithm also has defects: as the number of point clouds increases, the time required for calculation will increase significantly.
[0004] However, the driverless algorithm requires high concurrency and strong real-time performance. When faced with data clustering at the level of tens to hundreds of thousands, the time consumed by the point cloud clustering algorithm based on KD-Tree search will not be negligible. Therefore, in order to meet the performance requirements of real-time clustering, the point cloud has to be downsampled (voxel filtering or random sampling, etc.) to reduce the number of point clouds. However, for some applications that require native data (retaining the original points), downsampling will lead to serious loss of point cloud information.
[0005] The disclosure of the above background technology content is only used to assist in understanding the concept and technical solution of the present application. It does not necessarily belong to the prior art of the present application, nor does it necessarily provide technical guidance. In the absence of clear evidence that the above content has been disclosed before the filing date of the present application, the above background technology should not be used to evaluate the novelty and creativity of the present application. Summary of the invention
[0006] The purpose of the present invention is to provide a fast clustering method for directly clustering native point clouds and achieving real-time processing effects, which is suitable for scenarios such as unmanned driving.
[0007] To achieve the above object, the technical solution adopted by the present invention is as follows:
[0008] A point cloud clustering method suitable for unmanned driving includes the following steps:
[0009] Based on the position of the vehicle, a grid coordinate system in the horizontal plane is constructed, and each grid cell in the coordinate system is configured with an index list;
[0010] Detect point cloud data packets around the vehicle, traverse the point clouds therein, determine the grid cells corresponding to each point cloud according to preset rules, and store the index information of each point cloud in the index list of its corresponding grid cell;
[0011] After the traversal is completed, the grid cells whose index lists are empty are binarized to 0, and the grid cells whose index lists are not empty are binarized to 1, and a binary image is obtained;
[0012] The binary image is subjected to morphological expansion processing, including: calculating the expansion amplitude according to a preset minimum distance between classes; extending outward from a grid unit binarized to 1 as a center according to the expansion amplitude to obtain an expanded grid package corresponding to the grid unit; binarizing all grid units in the expanded grid package to 1;
[0013] Using the region growing algorithm, adjacent grid cells that are binarized to 1 are clustered together to form a closed convex hull;
[0014] Each convex hull is traversed, and the index list of each grid cell in each convex hull is traversed to obtain the index information of the point cloud corresponding to the same convex hull, so as to obtain the clustered point cloud cluster corresponding to the convex hull.
[0015] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, the detected point cloud data packet includes the coordinates (x, y, z) of each point cloud in the point cloud coordinate system; wherein the xy plane of the point cloud coordinate system is parallel to or coincides with the plane of the grid coordinate system;
[0016] The grid cell corresponding to the i-th point cloud is determined in the following way:
[0017] Get the horizontal coordinate x of the point cloud i and the ordinate y i ;
[0018] Determine the horizontal coordinate x of the starting point of the grid coordinate system in the xy plane 0 and the ordinate y 0 ;
[0019] Calculate row = (y i -y 0 ) / S 1 ,col=(x i -x 0 ) / S 2 , where row is the row number of the grid cell corresponding to the point cloud, col is the column number of the grid cell corresponding to the point cloud, S 1 is the row length of the virtual grid projected by the grid unit in the xy plane, S 2 is the column-wise side length of the virtual grid projected by the grid cell in the xy plane.
[0020] Further, based on any one of the technical solutions or a combination of multiple technical solutions described above, if the calculation result of the row number row and the column number col is not an integer, the calculation result is rounded up.
[0021] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, the expansion amplitude is calculated by the following formula:
[0022] N=L min / S, where N is the expansion amplitude, L min is the preset minimum distance between classes, and S is the side length of the grid unit.
[0023] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, the expanded grid bag is obtained by extending outwards in the following manner:
[0024] According to the calculation result of N, the nearest odd number N' is taken upward or downward or based on the calculation result itself, and N'≥3, N' is defined as the ratio of the side length of the expanded grid package to the side length of the grid unit; determine an N'×N' grid matrix centered on the grid unit to be expanded as the expanded grid package;
[0025] Alternatively, according to the calculation result of N, take the nearest even number 2k upward or downward or the calculation result itself, and k≥1; with the grid unit to be expanded as the center, extend k grid units in eight directions: front, back, left, right, left front, right front, left back, and right back, and include them in the expanded grid bag.
[0026] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, the distance between the starting point and the end point of the grid coordinate system is set according to the driving speed of the vehicle: if the driving speed is faster, the set value of the distance between the starting point and the end point of the grid coordinate system is larger; if the driving speed is slower, the set value of the distance between the starting point and the end point of the grid coordinate system is smaller;
[0027] Alternatively, the side length of the grid unit of the grid coordinate system is set according to the driving speed of the vehicle: if the driving speed is faster, the side length of the grid unit is longer; if the driving speed is slower, the side length of the grid unit is shorter.
[0028] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, the index information of the point cloud is the three-dimensional coordinate information of the point cloud in the point cloud coordinate system;
[0029] After obtaining the clustered point cloud cluster corresponding to the convex hull, a three-dimensional contour of the clustered point cloud cluster is obtained.
[0030] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, the index information of the point cloud is the three-dimensional coordinate information of the point cloud in the point cloud coordinate system;
[0031] After obtaining the clustered point cloud cluster corresponding to the convex hull, the method further includes:
[0032] Perform obstacle classification on the clustered point cloud clusters through a neural network model;
[0033] According to the recognition results, each point cloud in the clustered point cloud cluster is labeled.
[0034] Further, according to any one of the above-mentioned technical solutions or a combination of multiple technical solutions, each detected frame of point cloud data packet is clustered to obtain a clustered point cloud cluster corresponding to each frame;
[0035] According to the label information of the point cloud, the same cluster point cloud clusters are associated with historical frames;
[0036] According to the three-dimensional coordinate position of the clustered point cloud cluster in a plurality of successive frames, the moving speed and direction of the obstacle represented by the point cloud cluster are tracked, and / or its movement trajectory in future frames is predicted.
[0037] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, after obtaining the index information of the point cloud corresponding to the convex hull, the method further includes:
[0038] Within the same cluster point cloud cluster, calculate the Euclidean distance between each point cloud in the cluster point cloud cluster;
[0039] If the Euclidean distance between two point clouds is greater than the minimum distance between classes, the two point clouds are divided into different clustering point cloud clusters.
[0040] According to another aspect of the present invention, a control method for assisting unmanned driving is provided, comprising the following steps:
[0041] Using the point cloud clustering method described above, a clustered point cloud cluster near the vehicle is obtained;
[0042] Perform obstacle classification on the clustered point cloud clusters through a neural network model;
[0043] According to the recognition results, each point cloud in the cluster point cloud cluster is labeled;
[0044] According to the label information of the point cloud, the same cluster point cloud clusters are associated with historical frames;
[0045] According to the three-dimensional coordinate positions of the clustered point cloud cluster in a plurality of successive frames, the moving speed and direction of the obstacle represented by the point cloud cluster are tracked, and / or its movement trajectory in future frames is predicted;
[0046] Whether to apply braking to the vehicle is determined according to the moving speed and direction of the obstacle and / or its moving trajectory in a future frame.
[0047] Further, based on any one of the above-mentioned technical solutions or a combination of multiple technical solutions, before the obstacle category identification is performed on the clustered point cloud clusters through the neural network model, it also includes:
[0048] Within the same cluster point cloud cluster, calculate the Euclidean distance between each point cloud in the cluster point cloud cluster;
[0049] If the Euclidean distance between two point clouds is greater than the preset minimum distance between classes, the two point clouds are divided into different cluster point cloud clusters;
[0050] The obstacle categories of the newly divided clustered point cloud clusters are then identified through the neural network model.
[0051] The beneficial effects brought by the technical solution provided by the present invention are as follows:
[0052] a. Compared with the method based on 3D point cloud kd-tree search, this method achieves the purpose of fast point cloud clustering by converting the 3D problem into a 2D problem, thus preventing the point cloud clustering from being blocked due to the clustering being too time-consuming, which leads to the failure of point cloud clustering;
[0053] b. Rapid clustering of point clouds to meet the high concurrency and strong real-time requirements of autonomous driving intelligent computing;
[0054] c. Avoid downsampling the point cloud to meet real-time clustering requirements, which may lead to loss of native point cloud data;
[0055] d. Further analysis of the point cloud clustering results can help assist unmanned driving and achieve safer driving performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0057] Figure 1 A schematic flow chart of a point cloud clustering method applicable to unmanned driving provided by an exemplary embodiment of the present invention;
[0058] Figure 2 A schematic diagram of a constructed grid coordinate system provided for an exemplary embodiment of the present invention;
[0059] Figure 3 A schematic diagram of a grid bag obtained by dilating a grid unit provided by an exemplary embodiment of the present invention;
[0060] Figure 4 A schematic diagram of a grid bag obtained by dilating a grid unit provided by another embodiment;
[0061] Figure 5 A schematic diagram of clustering adjacent grid cells binarized to 1 to form a closed convex hull using a region growing algorithm provided as an exemplary embodiment of the present invention;
[0062] Figure 6 An example flow chart of an application of point cloud clustering to assist unmanned driving provided by an exemplary embodiment of the present invention;
[0063] Figure 7 A schematic diagram of an optimization process for assisting unmanned driving by first restoring the altitude is provided for an exemplary embodiment of the present invention. DETAILED DESCRIPTION
[0064] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme 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 only 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 ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0065] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, device, product or equipment that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0066] In one embodiment of the present invention, a point cloud clustering method suitable for unmanned driving is provided. Figure 1 The point cloud clustering method provided in this embodiment includes the following steps:
[0067] The first step is to construct a grid coordinate system in the horizontal plane based on the vehicle's location, and each grid cell in the coordinate system is configured with an index list;
[0068] like Figure 2 As shown, assuming that the vehicle is traveling in a plane, the vehicle's right-hand XOY coordinate system is constructed with the vehicle's forward direction as the Y axis and the vehicle's right direction as the X direction; in this embodiment, taking the vehicle's speed as less than 30 km / h as an example, the threshold method is used to control the obstacle range, and the corresponding maximum distance that can be set is R=60m; in the XOY coordinate system, a grid coordinate system is constructed. In this embodiment, the grid is set to be a square with a side length of 0.2m, then the width and height of the grid established in the grid coordinate system are both 600 (60m×2÷0.2m=600), each grid is the smallest unit in the grid coordinate system, hereinafter referred to as a grid unit, and each grid unit is associated with a list for storing the index of the point cloud, hereinafter referred to as the index list.
[0069] The coordinate point (-R, -R) in the third quadrant of the lower left of the XOY coordinate system is used as the starting point of the grid coordinate system. However, the present invention does not limit the starting point of the vehicle's right-hand XOY coordinate system and the grid coordinate system. For example, the left and right coordinate systems and the directions of the X-axis and the Y-axis can all be used to construct the grid coordinate system. The vertices of other quadrants or the zero point of the XOY coordinate system can all be used as the starting point of the grid coordinate system.
[0070] The present invention does not limit the vehicle speed to 30km / h, R=60m, and the grid side length to 0.2m. Different parameters can be set under different driving conditions. For example, the above parameters can be adapted to a driving speed between 28 and 33km / h; if the driving speed is between 33 and 40km / h, R can be set to 66m and the grid side length can be adjusted to 0.22m; if the driving speed is between 25 and 28km / h, R can be set to 57m and the grid side length can be adjusted to 0.19m.
[0071] Step 2: Detect the point cloud data packets around the vehicle, traverse the point clouds in the point cloud data packets, determine the grid cells corresponding to each point cloud according to the preset rules, and store the index information of each point cloud in the index list of its corresponding grid cell;
[0072] Specifically, the point cloud data packet is the scanning data of a laser radar or the fusion data of multiple laser radars, and the detected point cloud data packet includes the coordinates (x, y, z) of each point cloud in the point cloud coordinate system; wherein the xy plane of the point cloud coordinate system is parallel to or coincides with the plane of the grid coordinate system; the data stream of the laser radar is cut into data frames according to a certain time step. Optionally, this time step is set to the time taken for the radar to rotate and scan one circle. In this case, a frame of data acquired in real time is the data obtained by scanning one circle.
[0073] In an optional embodiment, the point cloud in non-obstruction spaces such as the ground or high places may be filtered before traversal, that is, the point cloud in non-obstruction spaces such as the ground or high places is removed, and the remaining point cloud is traversed. The removal of point clouds in non-obstruction spaces such as the ground or high places here is different from the loss of native point cloud data caused by downsampling the point cloud to meet real-time clustering, because the point cloud that is not in the obstacle space is worthless and can be removed.
[0074] The grid cell corresponding to the i-th point cloud is determined in the following way:
[0075] Get the horizontal coordinate x of the point cloud i and the ordinate y i ;
[0076] Determine the horizontal coordinate x of the starting point of the grid coordinate system in the xy plane 0 and the ordinate y 0 ;
[0077] Calculate row = (y i -y 0 ) / S 1 ,col=(x i -x 0 ) / S 2 , where row is the row number of the grid cell corresponding to the point cloud, col is the column number of the grid cell corresponding to the point cloud, S 1 is the row length of the virtual grid projected by the grid unit in the xy plane, S 2 is the length of the column direction of the virtual grid projected by the grid unit in the xy plane. For the above embodiment where the grid is a square, S 1 Equal to S 2 If the calculation result of the row number row and the column number col is not an integer, it will be rounded up according to the calculation result.
[0078] This embodiment does not need to calculate the point cloud KD-Tree, but instead uses direct coordinate conversion to convert the three-dimensional problem into a two-dimensional problem to achieve the purpose of rapid clustering.
[0079] Step 3: After the traversal is completed, the grid cells whose index lists are empty are binarized to 0, and the grid cells whose index lists are not empty are binarized to 1 to obtain a binary image.
[0080] The fourth step is to perform morphological expansion processing on the binary image, including: calculating the expansion amplitude according to the preset minimum distance between classes; according to the expansion amplitude, extending outward from the grid unit binarized to 1 as the center to obtain the expanded grid bag corresponding to the grid unit; binarizing all grid units in the expanded grid bag to 1;
[0081] Specifically, the expansion amplitude is calculated by the following formula:
[0082] N=L min / S, where N is the expansion amplitude, L min is the preset minimum distance between classes, and S is the side length of the grid unit.
[0083] In one embodiment, the expanded grid package is obtained by extending outward in the following manner: according to the calculation result of N, take the nearest odd number N' upward or downward or the calculation result itself, and N'≥3, N' is defined as the ratio of the side length of the expanded grid package to the side length of the grid unit; determine an N'×N' grid matrix centered on the grid unit to be expanded as the expanded grid package. The expansion diagram when N' is equal to 3 is shown in Figure 3 As shown, the center is a grid cell to be expanded which is binarized to 1, and its eight adjacent grid cells and the central grid cell to be expanded form an expanded grid package in the form of a matrix.
[0084] In another embodiment, the expanded grid package is obtained by extending outward in the following manner: according to the calculation result of N, take the nearest even number 2k upward or downward or the calculation result itself, and k ≥ 1; with the grid unit to be expanded as the center, extend k grid units in eight directions: forward, backward, left, right, left front, right front, left back, and right back, and include them in the expanded grid package. In this embodiment, when k = 1, the obtained expanded grid package is also a grid matrix, such as Figure 3 As shown; if k>1, the resulting expanded grid package is not in matrix form, such as Figure 4 shown.
[0085] The above two implementations may also be combined. For example, if the calculated result of N is closer to an odd number, the above first expansion method is used. If the calculated result of N is closer to an even number, the above second expansion method is used.
[0086] Step 5: Use the region growing algorithm to cluster adjacent grid cells that are binarized to 1 to form a closed convex hull, such as Figure 5 As shown, seven convex hulls are obtained in the plane.
[0087] Step 6: traverse each convex hull and the index list of each grid cell in each convex hull to obtain the index information of the point cloud corresponding to the same convex hull to obtain the clustered point cloud cluster corresponding to the convex hull.
[0088] In this embodiment, the index information of the point cloud is the three-dimensional coordinate information of the point cloud in the point cloud coordinate system; after obtaining the clustered point cloud cluster corresponding to the convex hull, the three-dimensional contour of the clustered point cloud cluster is obtained.
[0089] In an optional embodiment, a control method for assisting unmanned driving is provided, such as Figure 6 As shown, the following steps are included:
[0090] Using the point cloud clustering method provided in the above embodiment, a clustered point cloud cluster near the vehicle is obtained;
[0091] Perform obstacle classification on the clustered point cloud clusters through a neural network model;
[0092] According to the recognition results, each point cloud in the cluster is labeled; labeling can serve as the basis for subsequent analysis and processing:
[0093] The data of LiDAR is a continuously generated process. It is a stream data composed of frames of data in chronological order. Each frame of point cloud data packet detected is clustered to obtain the clustered point cloud clusters corresponding to each frame. According to the label information of the point cloud, the same clustered point cloud cluster is associated with historical frames.
[0094] According to the three-dimensional coordinate positions of the clustered point cloud cluster in a plurality of successive frames, the moving speed and direction of the obstacle represented by the point cloud cluster are tracked, and / or its movement trajectory in future frames is predicted;
[0095] For example, if the neural network model identifies point cloud cluster A as a furry animal in the first frame of data, it will use "furry animal" as the label keyword to label each point in point cloud cluster A;
[0096] In the second frame of data, a point cloud cluster B is also identified as a furry animal, and "furry animal" is used as the label keyword to label each point of the point cloud cluster B;
[0097] First, determine whether the two point cloud clusters A and B represent the same obstacle object based on the marked points in the point cloud cluster A. For example, if the number of marked point clouds in the point cloud cluster A is significantly more or less than the number of marked point clouds in the point cloud cluster B, then it can be considered that they are not the same obstacle object.
[0098] If it is the same obstacle object, its moving speed and direction can be calculated based on the position and frame interval time in the two frames before and after. For example, it can be calculated that it is moving to the right in front of the car, and its movement trajectory in future frames can even be further predicted.
[0099] According to the moving speed and direction of the obstacle, and / or its motion trajectory in the future frame, decide whether to apply braking to the vehicle: calculate whether the obstacle object can leave the collision area of the vehicle before the vehicle reaches its current position. If so, the vehicle does not need to slow down and brake. If not, the vehicle is braked according to its speed: the slower the obstacle moves, the greater the braking resistance needs to be applied.
[0100] In the above embodiment, the clustering of the point cloud is highly filtered, that is, points at different heights corresponding to a position on the ground are clustered into one category. This is in line with the actual situation of autonomous driving to a certain extent. For example, if two obstacles are actually at two positions with a height difference of 30 centimeters, then clustering them into the same category can also provide useful obstacle avoidance information for unmanned driving.
[0101] In a further embodiment, the height may also be restored before the obstacle category is identified on the clustered point cloud clusters by the neural network model, such as Figure 7 As shown:
[0102] After obtaining the index information of the point cloud corresponding to the convex hull, traverse each convex hull, and calculate the Euclidean distance between each point cloud in the same cluster point cloud cluster;
[0103] If the Euclidean distance between two point clouds is greater than the minimum distance between classes, the two point clouds are divided into different clustering point cloud clusters.
[0104] After doing this, the obstacle category recognition is performed on the newly divided clustered point cloud clusters after the height is restored through the neural network model, which can greatly improve the accuracy of the recognition results.
[0105] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0106] The above is only a specific implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A point cloud clustering method suitable for unmanned driving, characterized in that: The following steps are involved: Based on the position of the vehicle, a grid coordinate system in the horizontal plane is constructed, and each grid cell in the coordinate system is configured with an index list; Detect point cloud data packets around the vehicle, traverse the point clouds therein, determine the grid cells corresponding to each point cloud according to preset rules, and store the index information of each point cloud in the index list of its corresponding grid cell; After the traversal is completed, the grid cells whose index lists are empty are binarized to 0, and the grid cells whose index lists are not empty are binarized to 1, and a binary image is obtained; The binary image is subjected to morphological expansion processing, including: calculating the expansion amplitude according to a preset minimum distance between classes; extending outward from a grid unit binarized to 1 as a center according to the expansion amplitude to obtain an expanded grid package corresponding to the grid unit; binarizing all grid units in the expanded grid package to 1; Cluster the adjacent grid cells that are binarized to 1 to form a closed convex hull; Each convex hull is traversed, and the index list of each grid cell in each convex hull is traversed to obtain the index information of the point cloud corresponding to the same convex hull, so as to obtain the clustered point cloud cluster corresponding to the convex hull.
2. The point cloud clustering method suitable for unmanned driving according to claim 1, characterized in that: The detected point cloud data packet includes coordinates (x, y, z) of each point cloud in a point cloud coordinate system; wherein the xy plane of the point cloud coordinate system is parallel to or coincides with the plane of the grid coordinate system; The grid cell corresponding to the i-th point cloud is determined in the following way: Get the horizontal coordinate x of the point cloud i and the ordinate y i ; Determine the horizontal coordinate x0 and the vertical coordinate y0 of the starting point of the grid coordinate system in the xy plane; Calculate row = (y i -y0) / S1,col=(x i -x0) / S2, where row is the row number of the grid cell corresponding to the point cloud, col is the column number of the grid cell corresponding to the point cloud, S1 is the row length of the virtual grid projected by the grid cell in the xy plane, and S2 is the column length of the virtual grid projected by the grid cell in the xy plane.
3. The point cloud clustering method suitable for unmanned driving according to claim 2, characterized in that: If the calculated result of the row number row and the column number col is not an integer, it is rounded up according to the calculated result.
4. The point cloud clustering method suitable for unmanned driving according to claim 1, characterized in that: The expansion amplitude is calculated by the following formula: N=L min / S, where N is the expansion amplitude, L min is the preset minimum distance between classes, and S is the side length of the grid unit.
5. The point cloud clustering method suitable for unmanned driving according to claim 4, characterized in that: The expanded grid package is obtained by extending outward in the following manner: According to the calculation result of N, the nearest odd number N' is taken upward or downward or based on the calculation result itself, and N'≥3, where N' is defined as the ratio of the side length of the expanded grid bag to the side length of the grid unit; Determine an N'×N' grid matrix centered on the grid unit to be expanded as the expanded grid bag; Alternatively, according to the calculation result of N, take the nearest even number 2k upward or downward or the calculation result itself, and k≥1; with the grid unit to be expanded as the center, extend k grid units in eight directions: front, back, left, right, left front, right front, left back, and right back, and include them in the expanded grid bag.
6. The point cloud clustering method suitable for unmanned driving according to claim 1, characterized in that: The distance between the starting point and the end point of the grid coordinate system is set according to the driving speed of the vehicle: if the driving speed is faster, the set value of the distance between the starting point and the end point of the grid coordinate system is larger; if the driving speed is slower, the set value of the distance between the starting point and the end point of the grid coordinate system is smaller; Alternatively, the side length of the grid unit of the grid coordinate system is set according to the driving speed of the vehicle: if the driving speed is faster, the side length of the grid unit is longer; if the driving speed is slower, the side length of the grid unit is shorter.
7. The point cloud clustering method suitable for unmanned driving according to claim 1, characterized in that: The index information of the point cloud is the three-dimensional coordinate information of the point cloud in the point cloud coordinate system; After obtaining the clustered point cloud cluster corresponding to the convex hull, a three-dimensional contour of the clustered point cloud cluster is obtained.
8. The point cloud clustering method suitable for unmanned driving according to claim 1, characterized in that: The index information of the point cloud is the three-dimensional coordinate information of the point cloud in the point cloud coordinate system; After obtaining the clustered point cloud cluster corresponding to the convex hull, the method further includes: Perform obstacle classification on the clustered point cloud clusters through a neural network model; According to the recognition results, each point cloud in the clustered point cloud cluster is labeled.
9. The point cloud clustering method suitable for unmanned driving according to claim 8, characterized in that: Clustering each frame of point cloud data packets detected to obtain clustered point cloud clusters corresponding to each frame; According to the label information of the point cloud, the same cluster point cloud clusters are associated with historical frames; According to the three-dimensional coordinate position of the clustered point cloud cluster in a plurality of successive frames, the moving speed and direction of the obstacle represented by the point cloud cluster are tracked, and / or its movement trajectory in future frames is predicted.
10. The point cloud clustering method suitable for unmanned driving according to any one of claims 1 to 9, characterized in that: After obtaining the index information of the point cloud corresponding to the convex hull, the following steps are further included: Within the same cluster point cloud cluster, calculate the Euclidean distance between each point cloud in the cluster point cloud cluster; If the Euclidean distance between two point clouds is greater than the minimum distance between classes, the two point clouds are divided into different clustering point cloud clusters.
11. A control method for assisting unmanned driving, characterized in that: The following steps are involved: Using the point cloud clustering method as claimed in claim 1, a clustered point cloud cluster near the vehicle is obtained; Perform obstacle classification on the clustered point cloud clusters through a neural network model; According to the recognition results, each point cloud in the cluster point cloud cluster is labeled; According to the label information of the point cloud, the same cluster point cloud clusters are associated with historical frames; According to the three-dimensional coordinate positions of the clustered point cloud cluster in a plurality of successive frames, the moving speed and direction of the obstacle represented by the point cloud cluster are tracked, and / or its movement trajectory in future frames is predicted; Whether to apply braking to the vehicle is determined according to the moving speed and direction of the obstacle and / or its moving trajectory in a future frame.
12. The control method for assisting unmanned driving according to claim 11, characterized in that: Before performing obstacle classification on the clustered point cloud clusters through the neural network model, the method further includes: Within the same cluster point cloud cluster, calculate the Euclidean distance between each point cloud in the cluster point cloud cluster; If the Euclidean distance between two point clouds is greater than the preset minimum distance between classes, the two point clouds are divided into different cluster point cloud clusters; The obstacle categories of the newly divided clustered point cloud clusters are then identified through the neural network model.
Citation Information
Patent Citations
Grid-based point cloud clustering method and device and storage medium
CN115586545A
Unmanned ship three-dimensional point cloud processing method based on clustering segmentation principle
CN116310607A
Point cloud clustering method, device and equipment, storage medium and vehicle
CN118035769A
Automated driving-based vehicle speed control method and apparatus, and computer device
WO2021134441A1