A point cloud clustering method applicable to driverless and a control method for assisting driverless

By adopting a point cloud clustering method based on grid coordinate system in the unmanned driving system, the problem of point cloud clustering calculation time and data loss in the existing technology is solved, and the fast and real-time clustering of native point clouds is achieved, which meets the high concurrency needs of unmanned driving algorithms.

CN119445170BActive Publication Date: 2025-06-03HEFEI JIMU XINGYUAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411154402.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2025-06-03
Estimated Expiration
2044-08-21

AI Technical Summary

Technical Problem

The existing point cloud clustering algorithm based on KD-Tree search has a long calculation time when processing large amounts of point cloud data, which is difficult to meet the high concurrency and real-time requirements of unmanned driving algorithms. In order to reduce the calculation time, the point cloud needs to be downsampled, resulting in the lack of native data information.

Method used

Using the point cloud clustering method based on the grid coordinate system, by constructing the grid coordinate system and index list, traversing the point cloud and determining its corresponding grid units, performing binarization and morphological expansion processing, and clustering using the regional growth algorithm to form a convex hull to obtain clustered point cloud clusters.

Benefits of technology

Direct clustering of native point clouds is realized, clustering failure caused by too long calculation time is avoided, high concurrency and real-time requirements of unmanned driving algorithms are met, and data loss caused by downsampling is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119445170B_ABST
    Figure CN119445170B_ABST
Patent Text Reader

Abstract

The present invention discloses a point cloud clustering method applicable to driverless driving and a control method for assisting driverless driving. The clustering method includes: constructing a grid coordinate system in the horizontal plane based on the vehicle position; detecting the point cloud data packets around the vehicle, determining the grids corresponding to each point cloud, and storing its index information in the index list of the grid; binarizing the grids with an empty / non-empty index list to 0 / 1; calculating the dilation amplitude according to the preset minimum distance between classes; according to the dilation amplitude, extending outward with the grids binarized to 1 as the center, and binarizing the extended grids to 1; clustering the adjacent grids binarized to 1 together to form a convex hull; traversing the index list of each grid in each convex hull 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. The present invention can achieve fast clustering based on the original point cloud, realize a high-concurrency and real-time driverless algorithm, and achieve safer driving performance.
Need to check novelty before this filing date? Find Prior Art

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 applicable to driverless driving and a control method for assisting driverless 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, and each point cloud cluster 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, that is, a KD-Tree of the point cloud is constructed in the three-dimensional point cloud, all the point clouds are traversed and their adjacent points are searched, and finally multiple point cloud clusters are output. However, this algorithm also has defects: as the point cloud increases, the time required for the operation will increase significantly.

[0004] However, the driverless algorithm requires high concurrency and strong real-time performance. In the face of data clustering of tens of thousands to hundreds of thousands of levels, the time consumed by the point cloud clustering algorithm based on KD-Tree search cannot be ignored. Therefore, in order to meet the performance requirements of real-time clustering, the point cloud has to be downsampled (such as voxel filtering or random sampling) to reduce the number of point clouds. However, for some applications that require native data (retaining the original points), downsampling will cause serious loss of point cloud information.

[0005] The disclosure of the above background art 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 will it necessarily give technical guidance; in the case where there is no clear evidence that the above content has been publicly disclosed before the filing date of the present application, the above background art 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 that directly clusters the native point cloud and achieves real-time processing effects, which is applicable to scenarios such as driverless driving.

[0007] To achieve the above purpose, the technical solution adopted by the present invention is as follows:

[0008] A point cloud clustering method applicable to driverless driving, comprising the following steps:

[0009] Based on the position of the vehicle, a grid coordinate system in the horizontal plane is constructed, and each grid unit in the coordinate system is configured with an index list;

[0010] Detect the point cloud data packet around the vehicle, traverse the point clouds therein, determine the grid cells corresponding to each point cloud according to the preset rules, and store the index information of each point cloud into the index list of its corresponding grid cell;

[0011] After the traversal is completed, binarize the grid cells with an empty index list to 0 and the grid cells with a non-empty index list to 1 to obtain a binary image;

[0012] Perform morphological dilation on the binary image, including: calculating the dilation amplitude according to the preset minimum distance between classes; extending outward from the grid cells binarized to 1 according to the dilation amplitude to obtain the dilation grid packet corresponding to the grid cell; binarize all the grid cells within the dilation grid packet to 1;

[0013] Use the region growing algorithm to cluster adjacent grid cells binarized to 1 together to form a closed convex hull;

[0014] Traverse each convex hull and traverse the index list of each grid cell in each convex hull to obtain the index information of the point clouds 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 foregoing 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 x-y plane of the point cloud coordinate system is parallel or coincident with the plane where the grid coordinate system is located;

[0016] Determine the grid cell corresponding to the i-th point cloud in the following manner:

[0017] Obtain the abscissa x of the point cloud i and the ordinate y i ;

[0018] Determine the abscissa x of the starting point of the grid coordinate system in the x-y 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 side length in the row direction of the virtual grid projected by the grid cell in the x-y plane, and S 2 is the side length in the column direction of the virtual grid projected by the grid cell in the x-y plane.

[0020] Further, for any of the foregoing technical solutions or a combination of multiple technical solutions, if the calculation results of the row number row and the column number col are not integers, round up according to the calculation results.

[0021] Further, for any of the foregoing technical solutions or a combination of multiple technical solutions, calculate the expansion amplitude through the following formula:

[0022] N = L min / S, where N is the expansion amplitude, and L min is the preset minimum distance between classes, and S is the side length of the grid cell.

[0023] Further, for any of the foregoing technical solutions or a combination of multiple technical solutions, obtain the expanded grid package by extending outward in the following manner:

[0024] According to the calculation result of N, take the closest odd number N' upward, downward, or with 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 cell; determine an N'×N' grid matrix centered on the grid cell to be expanded as the expanded grid package;

[0025] Alternatively, according to the calculation result of N, take the closest even number 2k upward, downward, or with the calculation result itself, and k ≥ 1; extend k grid cells in the eight directions of forward, backward, left, right, left - front, right - front, left - rear, and right - rear centered on the grid cell to be expanded and include them in the expanded grid package.

[0026] Further, for any of the foregoing technical solutions or a combination of multiple technical solutions, set the distance between the starting point and the ending point of the grid coordinate system 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 ending 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 ending point of the grid coordinate system is smaller;

[0027] Or, set the side length of the grid cell of the grid coordinate system according to the driving speed of the vehicle: if the driving speed is faster, the side length of the grid cell is longer; if the driving speed is slower, the side length of the grid cell is shorter.

[0028] Further, for any of the foregoing 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 cluster point cloud cluster corresponding to the convex hull, obtain the three - dimensional contour of the cluster point cloud cluster.

[0030] Further, based on any one of the foregoing 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 clusters corresponding to the convex hull, the method further includes:

[0032] Identifying the obstacle categories of the clustered point cloud clusters through a neural network model;

[0033] According to the recognition results, label each point cloud in the clustered point cloud cluster.

[0034] Further, based on any one of the foregoing technical solutions or a combination of multiple technical solutions, clustering each frame of detected point cloud data packet to obtain the corresponding clustered point cloud clusters for each frame;

[0035] According to the label information of the point cloud, perform historical frame association on the same clustered point cloud clusters;

[0036] According to the three-dimensional coordinate positions of the clustered point cloud cluster in multiple consecutive frames, track the moving speed and direction of the obstacle represented by the point cloud cluster, and / or predict its motion trajectory in future frames.

[0037] Further, based on any one of the foregoing 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 range of the same clustered point cloud cluster, calculate the Euclidean distance between each point cloud in the clustered point cloud cluster;

[0039] If the Euclidean distance between two point clouds is greater than the minimum inter-class distance, divide the two point clouds into different clustered point cloud clusters.

[0040] According to another aspect of the present invention, there is provided a control method for assisting unmanned driving, including the following steps:

[0041] Using the point cloud clustering method as described above to obtain the clustered point cloud clusters near the vehicle;

[0042] Identifying the obstacle categories of the clustered point cloud clusters through a neural network model;

[0043] According to the recognition results, label each point cloud in the clustered point cloud cluster;

[0044] According to the label information of the point cloud, perform historical frame association on the same clustered point cloud clusters;

[0045] According to the three-dimensional coordinate positions of the clustered point cloud cluster in multiple consecutive frames, track the moving speed and direction of the obstacle represented by the point cloud cluster, and / or predict its motion trajectory in future frames;

[0046] Determine whether to apply braking to the vehicle based on the moving speed and direction of the obstacle, and / or its motion trajectory within a future frame.

[0047] Further, based on any one of the foregoing technical solutions or a combination of multiple technical solutions, before identifying the obstacle category of the clustered point cloud clusters through a neural network model, it further includes:

[0048] Within the range of the same clustered point cloud cluster, calculate the Euclidean distance between each point cloud in the clustered point cloud cluster;

[0049] If the Euclidean distance between two point clouds is greater than the preset minimum inter-class distance, then divide the two point clouds into different clustered point cloud clusters;

[0050] Then, identify the obstacle category of the newly divided clustered point cloud clusters through a 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, by turning the 3D problem into a 2D problem to achieve the purpose of fast point cloud clustering, preventing blocking due to excessive clustering time and resulting in point cloud clustering failure;

[0053] b. Fast point cloud clustering to meet the high concurrency and strong real-time requirements of driverless intelligent computing;

[0054] c. Avoiding the loss of original point cloud data caused by downsampling the point cloud to meet real-time clustering;

[0055] d. Further analyzing the results of point cloud clustering helps to assist driverless driving and achieve safer driving performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments recorded in the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0057] Figure 1 A flowchart of a point cloud clustering method applicable to driverless driving provided for 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 Schematic diagram of a grid packet obtained by performing dilation processing on a grid cell provided for an exemplary embodiment of the present invention;

[0060] Figure 4 Schematic diagram of a grid packet obtained by performing dilation processing on a grid cell provided for another embodiment;

[0061] Figure 5 Schematic diagram of clustering adjacent grid cells with binary value of 1 into a closed convex hull by using the region growing algorithm provided for an exemplary embodiment of the present invention;

[0062] Figure 6 Flowchart of an application example of point cloud clustering to assist in driverless driving provided for an exemplary embodiment of the present invention;

[0063] Figure 7 Schematic diagram of an optimization process for assisting driverless driving by first restoring the height provided for an exemplary embodiment of the present invention. Detailed implementation manners

[0064] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below 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 the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope 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 such used data can be interchanged under appropriate circumstances 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 "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, device, product or equipment including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or equipment.

[0066] In an embodiment of the present invention, a point cloud clustering method applicable to driverless driving is provided. Refer to Figure 1 , the point cloud clustering method provided in this embodiment includes the following steps:

[0067] Step 1: Based on the location of the vehicle, construct a grid coordinate system in the horizontal plane, and each grid cell in the coordinate system is configured with an index list;

[0068] As Figure 2 shown, assume that the vehicle is moving in a plane. Taking the forward direction of the vehicle as the Y-axis and the right direction of the vehicle as the X-direction, construct a right-handed XOY coordinate system of the vehicle; in this embodiment, taking the vehicle speed within 30 km / h as an example, the threshold method is used to control the obstacle range, and the maximum distance can be set to R = 60 m; in the XOY coordinate system, construct a grid coordinate system. In this embodiment, the grid is set as a square with a side length of 0.2 m, then the width and height of the grid established in the grid coordinate system are both 600 (60 m × 2 ÷ 0.2 m = 600). Each grid is the smallest unit in the grid coordinate system, hereinafter referred to as a grid cell. Each grid cell is associated with a list used to store the index of the point cloud, hereinafter referred to as the index list.

[0069] Take the coordinate point (-R, -R) in the third quadrant at the lower left of the XOY coordinate system as the starting point of the grid coordinate system. However, the present invention does not limit the starting points of the right-handed XOY coordinate system of the vehicle and the grid coordinate system. For example, the grid coordinate system can be constructed by swapping the left and right coordinate systems and the directions of the X-axis and Y-axis. The vertex of other quadrants or the origin of the XOY coordinate system can be used as the starting point of the grid coordinate system.

[0070] The present invention also does not limit the vehicle speed to 30 km / h, R = 60 m, and the grid side length to 0.2 m. Under different driving conditions, different parameters can be set. For example, the above parameters can be adapted to the driving speed between 28 and 33 km / h; if the driving speed is between 33 and 40 km / h, then R can be set to 66 m accordingly, and the grid side length can be adjusted to 0.22 m accordingly; if the driving speed is between 25 and 28 km / h, then R can be set to 57 m accordingly, and the grid side length can be adjusted to 0.19 m accordingly.

[0071] Step 2: Detect the point cloud data packet around the vehicle, traverse the point cloud in the point cloud data packet, determine the grid cell corresponding to each point cloud according to the preset rules, and store the index information of each point cloud into the index list of its corresponding grid cell;

[0072] Specifically, the point cloud data packet is the scanning data of a lidar or the fused data of multiple lidars. The detected point cloud data packet includes the coordinates (x, y, z) of each point cloud in the point cloud coordinate system. Among them, the x-y plane of the point cloud coordinate system is parallel or coincident with the plane where the grid coordinate system is located. The data stream of the lidar is intercepted into data frames in units of a certain time step. Optionally, this time step is set to the time taken for the lidar to rotate and scan one circle. In this case, a frame of data obtained in real time is the data obtained by scanning one circle.

[0073] In an optional embodiment, before traversing, the point clouds in non-obstacle spaces such as the ground or high places can be filtered, that is, the point clouds in non-obstacle spaces such as the ground or high places are removed, and the remaining point clouds are traversed. Removing the point clouds in non-obstacle spaces such as the ground or high places here is different in nature from the missing of the original point cloud data caused by downsampling the point clouds to meet real-time clustering, because the point clouds not in the obstacle space are of no value and can therefore be removed.

[0074] The grid cell corresponding to the i-th point cloud is determined in the following manner:

[0075] Obtain the abscissa x of this point cloud i and the ordinate y i ;

[0076] Determine the abscissa x of the starting point of the grid coordinate system in the x-y 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 this point cloud, col is the column number of the grid cell corresponding to this point cloud, and S 1 is the side length in the row direction of the virtual grid projected by the grid cell in the x-y plane, and S 2 is the side length in the column direction of the virtual grid projected by the grid cell in the x-y plane. For the embodiment where the above grid is a square, then S 1 is equal to S 2 . If the calculation results of the row number row and the column number col are not integers, round up according to the calculation results.

[0078] This embodiment does not require calculating the point cloud KD-Tree, but solves the problem by directly converting coordinates to turn a three-dimensional problem into a two-dimensional problem to achieve the purpose of fast clustering.

[0079] Step 3: After the traversal is completed, the grid cells with an empty index list are binarized to 0, and the grid cells with a non-empty index list are binarized to 1 to obtain a binary image.

[0080] Step 4: Perform morphological dilation on the binary image, including: calculating the dilation amplitude according to a preset minimum inter-class distance; extending outward with the grid cells binarized to 1 as the center according to the dilation amplitude to obtain a corresponding dilated grid packet for the grid cell; binarizing all the grid cells within the dilated grid packet to 1;

[0081] Specifically, the dilation amplitude is calculated by the following formula:

[0082] N = L min / S, where N is the dilation amplitude, L min is the preset minimum inter-class distance, and S is the side length of the grid cell.

[0083] In one embodiment, the dilated grid packet is obtained by extending outward in the following manner: according to the calculation result of N, move upward or downward or take the closest odd number N' to the calculation result itself, and N' ≥ 3, and N' is defined as the ratio of the side length of the dilated grid packet to the side length of the grid cell; determine an N'×N' grid matrix centered on the grid cell to be dilated as the dilated grid packet. The dilation schematic diagram with N' equal to 3 is as Figure 3 shown, where the center is the grid cell to be dilated binarized to 1, and its adjacent eight grid cells and the central grid cell to be dilated form a matrix-shaped dilated grid packet.

[0084] In another embodiment, the dilated grid packet is obtained by extending outward in the following manner: according to the calculation result of N, move upward or downward or take the closest even number 2k to the calculation result itself, and k ≥ 1; extend k grid cells in the eight directions of forward, backward, left, right, left front, right front, left rear, and right rear with the grid cell to be dilated as the center and incorporate them into the dilated grid packet. In this embodiment, when k = 1, the obtained dilated grid packet is also a grid matrix, as Figure 3 shown; if k > 1, the obtained dilated grid packet is not in matrix form, as Figure 4 shown.

[0085] The above two implementation manners can also be combined. For example, if the calculation result of N is closer to an odd number, the first dilation manner is adopted; if the calculation result of N is closer to an even number, the second dilation manner is adopted.

[0086] Step 5: Use the region growing algorithm to cluster adjacent grid cells binarized to 1 together to form a closed convex hull, as Figure 5 shown, and seven convex hulls are obtained in the plane.

[0087] Step 6: Traverse each convex hull and traverse 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, so as 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 alternative embodiment, a control method for assisting in driverless driving is provided, as Figure 6 shown, including the following steps:

[0090] Using the point cloud clustering method provided in the above embodiment, obtain the clustered point cloud clusters near the vehicle;

[0091] Perform obstacle category recognition on the clustered point cloud clusters through a neural network model;

[0092] According to the recognition result, label each point cloud in the clustered point cloud cluster; labeling can be used as the basis for subsequent analysis and processing:

[0093] The data of the lidar is a continuously generated process, which is a streaming data composed of frames of data in chronological order. Cluster each detected frame of point cloud data packet to obtain the clustered point cloud clusters corresponding to each frame; according to the label information of the point cloud, associate the same clustered point cloud cluster in historical frames;

[0094] According to the three-dimensional coordinate positions of the clustered point cloud cluster in multiple consecutive frames, track the moving speed and direction of the obstacle represented by the point cloud cluster, and / or predict its motion trajectory in future frames;

[0095] For example, if the neural network model recognizes a point cloud cluster A as a furry animal category in the first frame of data, then use "furry animal" as the label keyword to label each point in the point cloud cluster A;

[0096] If a point cloud cluster B is also recognized as a furry animal category in the second frame of data, use "furry animal" as the label keyword to label each point in the point cloud cluster B;

[0097] First determine whether the labeled points in the point cloud clusters A and B represent the same obstacle object. For example, if the number of labeled point clouds in the point cloud cluster A is significantly more or less than the number of labeled point clouds in the point cloud cluster B, 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 orientation and frame interval time in the previous and next frames. For example, it can be calculated that it is moving right in front of the vehicle, and even its movement trajectory in future frames can be further predicted.

[0099] Based on the moving speed and direction of the obstacle, and / or its movement trajectory in future frames, determine whether to apply braking to the vehicle: calculate whether the obstacle object can leave the collision area of the vehicle before the vehicle travels to its current position. If it can, the vehicle does not need to decelerate and brake. If it cannot, the vehicle brakes according to its speed: the slower the moving speed of the obstacle, the greater the braking resistance needs to be applied.

[0100] In the above embodiment, height filtering is performed on the clustering of point clouds, that is, points at different heights corresponding to a position on the ground are clustered into one category. To a certain extent, this conforms to the actual situation of autonomous driving. For example, if there are actually two obstacles 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 driverless driving.

[0101] In a further embodiment, the height can also be restored before the obstacle category is recognized for the clustered point cloud clusters through a neural network model, as Figure 7 shown:

[0102] After obtaining the index information of the point cloud corresponding to the convex hull, traverse each convex hull, and within the range of the same clustered point cloud cluster, calculate the Euclidean distance between each point cloud in the clustered point cloud cluster;

[0103] If the Euclidean distance between two point clouds is greater than the minimum inter-class distance, then these two point clouds are divided into different clustered point cloud clusters.

[0104] After doing this, the obstacle category is recognized for the newly divided clustered point cloud clusters with restored height through a neural network model, which can greatly improve the accuracy of the recognition result.

[0105] It should be noted that in this text, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprising", "including" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising a..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the said element.

[0106] The above are only specific embodiments of the present application. It should be pointed out that for those of ordinary skill in the art, without departing from the principle of the present application, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope 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 dilation processing, including: according to the preset minimum distance between classes, the dilation amplitude is calculated by the following formula: N = L min / S ,in, N is the expansion amplitude, L min is the preset minimum distance between classes, S is the side length of the grid unit; according to the expansion amplitude, taking the grid unit binarized to 1 as the center and extending outward, an expanded grid package corresponding to the grid unit is obtained; and all grid units in the expanded grid package are binarized 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 the coordinates of each point cloud in the point cloud coordinate system ( x , y , z ), where the point cloud coordinate system x - y The plane is parallel to or coincides with the plane of the grid coordinate system; Determine the i The grid cell corresponding to the point cloud: Get the horizontal coordinate of the point cloud x i and the vertical coordinate y i ; Determine the starting point of the grid coordinate system at x - y The horizontal coordinate in the plane x 0 and ordinate y 0; calculate row =( y i - y 0) / S1, col =( x i - x 0) / 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 column number of the grid cell in x - y The row length of the virtual grid projected in the plane, S2 is the length of the grid unit in x - y The column-wise side length of the virtual grid projected into the plane.

3. The point cloud clustering method suitable for unmanned driving according to claim 2, characterized in that: If the row number row , column number col If the calculation result is not an integer, it is rounded up.

4. The point cloud clustering method suitable for unmanned driving according to claim 1, characterized in that: The expanded grid package is obtained by extending outward in the following manner: according to N The result of the calculation is rounded up or down or the result itself to the nearest odd number. N ',and N '≥3, N ' is defined as the ratio of the side length of the expanded grid bag to the side length of the grid cell; Determine the grid cell to be expanded, N '× N 'The grid matrix, as the expanded grid bag; Or, according to N The result of the calculation is rounded up or down or the result itself to the nearest even number 2 k ,and k ≥1; with the grid unit to be expanded as the center, extend in eight directions: forward, backward, left, right, left front, right front, left back, and right back k grid cells and incorporate them into the inflated grid package.

5. 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.

6. 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.

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, 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.

8. The point cloud clustering method suitable for unmanned driving according to claim 7, 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.

9. The point cloud clustering method suitable for unmanned driving according to any one of claims 1 to 8, 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.

10. 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.

11. The control method for assisting unmanned driving according to claim 10, 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