Rapid filtering method and device for rain and snow noisy points in point cloud data

By combining indexing point cloud data and image expansion algorithms to identify and filter rain and snow noise, the problem of insufficient timeliness of point cloud data processing in the existing technology is solved, and a fast and accurate noise filtering effect is achieved.

CN120070232APending Publication Date: 2025-05-30BEIJING INST OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510076325.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-17
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The prior art is ineffective in processing large amounts of point cloud data, making it difficult to quickly and effectively filter rain and snow noise, especially in bad weather conditions.

Method used

The point cloud data is initially classified by adding index (r,t), and low confidence points are identified from two-dimensional RGB images using the image expansion algorithm and reclassified them. Finally, the rain and snow noise is clustered and filtered as outlier scatter points.

Benefits of technology

It improves the speed and accuracy of rain and snow noise filtering in point cloud data, reduces deployment difficulty, and ensures that autonomous vehicles or robots can accurately sense their surroundings under severe weather conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120070232A_ABST
    Figure CN120070232A_ABST
Patent Text Reader

Abstract

The invention provides a rapid filtering method and device for rain and snow noisy points in point cloud data. According to the method, an index (r, t) is added for point cloud data; r is the laser serial number of the laser radar, and t is the quotient of the current rotation angle of the laser radar and the angular resolution of the laser radar; performing preliminary classification of non-ground points and ground points based on the elevation value of the point cloud data; taking the index (r, t) as a transverse axis and a longitudinal axis, performing two-dimensional projection on the preliminarily classified point cloud data, and endowing different pixel values for different types of point cloud data to obtain a two-dimensional RGB image; using an image expansion algorithm to find a point cloud at the junction of the two types of point clouds from the two-dimensional RGB image as a low confidence point, and performing non-ground point and ground point reclassification on the low confidence point; and clustering the non-ground points according to a re-classification result, and retaining point clouds capable of forming clusters, thereby completing filtering of rain and snow noisy points of the non-ground points. According to the invention, the speed and accuracy of filtering rain and snow noisy points in the point cloud data can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of lidar signal processing, and particularly relates to a method and device for quickly filtering rain and snow noise points in point cloud data. Background Art

[0002] With the rapid development of autonomous driving technology and robot navigation systems, the demand for precise environmental perception is increasing day by day. These systems rely on high-quality point cloud data to identify and understand the surrounding environment. As a key sensor, 3D lidar can provide detailed 3D point cloud data of the surrounding environment. The gradual expansion of autonomous driving application scenarios requires it to be capable of operating under harsh weather conditions such as rain and snow. Under such conditions, the point cloud data of lidar may generate incorrect data points due to the reflection of water droplets or snowflakes.

[0003] Currently, the processing of rain and snow noise points usually focuses on the properties of rain and snow noise points themselves, such as distribution characteristics, intensity characteristics, etc., and uses deep learning methods to filter rain and snow noise points. This method has high requirements for the hardware platform. The traditional method of processing noise points has the disadvantage of insufficient timeliness when dealing with a large amount of point cloud. Summary of the Invention

[0004] In view of this, the present invention provides a method and device for quickly filtering rain and snow noise points in point cloud data, which can improve the speed and accuracy of filtering rain and snow noise points in point cloud data and reduce the deployment difficulty.

[0005] In order to solve the above technical problems, the present invention is implemented as follows.

[0006] A method for quickly filtering rain and snow noise points in point cloud data includes:

[0007] In the first step, for the point cloud data in the region of interest, indexes (r, t) are added; r is the laser sequence number of the lidar, and t is the quotient of the current rotation angle of the lidar and the angular resolution of the lidar; based on the elevation value of the point cloud data, a preliminary classification of non-ground points and ground points is performed.

[0008] In the second step, for the preliminary classification result, taking the indexes (r, t) as the horizontal and vertical axes, the preliminarily classified point cloud data is projected two-dimensionally, and different pixel values are assigned to the point cloud data of different categories to obtain a two-dimensional RGB image; an image expansion algorithm is used to find the point cloud at the junction of the two types of point cloud from the two-dimensional RGB image as low-confidence points, and a reclassification of non-ground points and ground points is performed on the low-confidence points.

[0009] In the third step, for the reclassification result, the rain and snow noise points in the non-ground points are regarded as a large number of outliers, the non-ground points are clustered, and the point cloud that can form a cluster is retained, thereby completing the filtering of rain and snow noise points in the non-ground points.

[0010] Preferably, in the first step, the preliminary classification of non-ground points and ground points based on the elevation values of point cloud data is completed using a Ring Elevation Map (REM):

[0011] The plane is divided into multiple concentric rings according to the distance from the radar. Each ring is evenly divided into several parts based on the angular resolution of the lidar to form a ring grid structure. Each point cloud data is assigned to the corresponding grid according to its distance from the lidar and rotation angle. Within each grid, the lowest point cloud height value is selected as the elevation value H of the grid.

[0012] The elevation value H of the grid is added with a set threshold to obtain the grid elevation threshold TH.

[0013] The elevation value z of the point cloud is compared with the grid elevation threshold TH. If z > TH, the point cloud is preliminarily classified as a non-ground point; otherwise, it is preliminarily classified as a ground point.

[0014] Preferably, when determining the elevation value H of the grid, the elevation value H is further corrected, and the correction method is as follows:

[0015] Obtain the elevation values H' of adjacent grids corresponding to different laser beams but in the same ring.

[0016] Add H' with δR×slope max , to obtain the comparison elevation value H''; δR is the distance between adjacent rings, and slope max is the maximum ground slope.

[0017] Take the smaller value of the elevation value H and the comparison elevation value H'' as the corrected grid elevation value.

[0018] Preferably, when determining the elevation value H of the grid, for the grids corresponding to the edge laser beams, the elevation value H is further corrected, and the correction method is as follows:

[0019] The elevation value of the grid corresponding to the edge laser beam is denoted as H(1,n), and the elevation value of the grid on the reverse extension line under the same laser beam is denoted as H(1,n').

[0020] Add H(1,n') with δR×slope max , to obtain the comparison elevation value H'(1,n);

[0021] Take the smaller value of H(1,n) and H'(1,n) as the corrected grid elevation value of the grid corresponding to the edge laser beam.

[0022] Preferably, in the second step, the method of using the image expansion algorithm to find the point cloud at the junction of the two types of point clouds from the two-dimensional RGB image as the low-confidence points is as follows:

[0023] Assign the first pixel value to the point cloud data of non-ground points and the second pixel value to the point cloud of ground points; perform dilation on the first pixel value channel of non-ground points, and regard the points in the dilated area that coincide with the second pixel value as low-confidence points.

[0024] Preferably, assign the red pixel value [255, 0, 0] to the point cloud data of non-ground points and the green pixel value [0, 255, 0] to the point cloud of ground points; the pixel value of the point cloud in the overlapping area obtained by dilation becomes [255, 255, 0]; perform color inversion on the overlapping area, the pixel value becomes [0, 0, 255], and display them separately.

[0025] Preferably, in the second step, the reclassification of low-confidence points into non-ground points and ground points adopts the skip convolution method:

[0026] Use the Mahalanobis distance to design the convolution kernel; use the convolution kernel to perform sliding convolution on the first pixel value channel and the second pixel value channel of the two-dimensional RGB image; when encountering high-confidence points, directly skip the calculation; when encountering low-confidence points, perform convolution calculation, compare the convolution scores of the point cloud in the first pixel value channel and the second pixel value channel, and select the classification corresponding to the channel with the higher score as the reclassification result of the point cloud.

[0027] Preferably, in the third step, the clustering is realized by the point-by-point clustering method, which specifically includes:

[0028] Step 31: Assign the initialization label curLab = 0 to all reclassified non-ground points, indicating unclassified points; set the segment label counter SegLab to 1, which is used to assign a unique label to each newly discovered segment;

[0029] Step 32: Traverse the non-ground point cloud set P; for the currently traversed point p i , if the label curLab of p i ≠ 0, then directly process the next point; if the label curLab of p i = 0 (unlabeled point), first find the neighbor point set P i of this point p th within the given radius threshold d NN , check whether there are any labeled points with non-zero label curLab in P NN , and assign the minimum non-zero label minLab among these neighbors to the curLab of the current point; if all neighbors in the neighbor point set P NN are unlabeled points, then assign the current segment label counter value SegLab to the current point as the label curLab of the current point;

[0030] For the newly labeled points, check their neighbor point sets P NNEach neighboring point p in j , if the label of the neighboring point p j is greater than the label curLab of the current point, then traverse all points p in the non-ground point cloud set P k , find other points p with the same label value as the neighboring point p j , then update the label values of the neighboring point p k with the same label value and other points p j to the curLab value of the current point, thereby merging the point clouds with the same label segments; k

[0031] Step 33: After processing each point, the segment label counter SegLab is incremented to prepare for the next new segment;

[0032] Step 34: After traversing each non-ground point, count the point cloud sets corresponding to each non-zero label curLab;

[0033] Step 35: Retain the point cloud sets that meet the clustering requirements in the point cloud, and complete the filtering of rain, snow, and noise points.

[0034] The present invention also provides a fast filtering device for rain, snow, and noise points in point cloud data, including a preliminary classification module, a reclassification module, and a filtering module;

[0035] The preliminary classification module is used to add an index (r, t) to the point cloud data in the region of interest; r is the laser sequence number of the lidar, and t is the quotient of the current rotation angle of the lidar and the angular resolution of the lidar; based on the elevation value of the point cloud data, perform a preliminary classification of non-ground points and ground points;

[0036] The reclassification module, for the preliminary classification result, uses the index (r, t) as the horizontal and vertical axes, projects the preliminarily classified point cloud data two-dimensionally, and assigns different pixel values to different categories of point cloud data to obtain a two-dimensional RGB image; uses an image expansion algorithm to find the point cloud at the junction of the two types of point clouds in the two-dimensional RGB image as low-confidence points, and performs a reclassification of non-ground points and ground points on the low-confidence points;

[0037] The filtering module, for the result of the reclassification, regards the rain, snow, and noise points in the non-ground points as a large number of outlier points, clusters the non-ground points, and retains the point clouds that can form clusters, thereby completing the filtering of rain, snow, and noise points in the non-ground points.

[0038] Preferably, the filtering module includes a label marking unit and a rain, snow, and noise point filtering unit;

[0039] ​The label marking unit is used to mark each point of the reclassified non-ground points: First, assign an initial label curLab = 0 to all reclassified non-ground points, indicating unclassified points; set the segment label counter SegLab to 1, which is used to assign a unique label to each newly discovered segment; traverse the non-ground point cloud set P; for the currently traversed point p i , if the label curLab of p i is not equal to 0, directly process the next point; if the label curLab of p i is 0 (unmarked point), first find the point p i within the given radius threshold d th of its neighbor point set P NN , check whether there are any marked points with non-zero label curLab in P NN , and assign the minimum non-zero label minLab among these neighbors to the curLab of the current point; if all neighbors in the neighbor point set P NN are unmarked points, then assign the current value of the segment label counter SegLab to the current point as the label curLab of the current point;

[0040] For the newly marked point, check each neighbor point p NN in its neighbor point set P j , if the label of the neighbor point p j is greater than the label curLab of the current point, then traverse all points p k in the non-ground point cloud set P, find other points p j with the same label value as the neighbor point p k , then update the label values of the neighbor point p j with the same label value and other points p k to the curLab value of the current point, thereby merging the point clouds of segments with the same label;

[0041] After processing each point, the segment label counter SegLab is incremented to prepare for the next new segment;

[0042] The rain and snow noise point filtering unit is used to, after traversing each non-ground point, count the point cloud sets corresponding to each non-zero label lab, and retain the point cloud sets whose point cloud quantities meet the clustering requirements to complete the filtering of rain and snow noise points.

[0043] Beneficial effects:

[0044] (1) The present invention improves the efficiency and accuracy of point cloud data processing under harsh rain and snow weather conditions, ensuring that autonomous vehicles or robots can accurately perceive the surrounding environment. The innovation lies in being able to quickly and accurately extract obstacle point clouds from the original point cloud, taking the rain and snow noise points mixed in it as a large number of outlier noise points as the main processing idea, and combining distance-based clustering to greatly improve the processing efficiency when dealing with a large number of point clouds, and relying on this to quickly filter rain and snow noise points.

[0045] (2) The present invention optimizes the storage structure of point cloud data. Using the laser sequence number of the lidar, the quotient of the current rotation angle and the lidar angle resolution as a pair of unique key values (r, t) to index the point cloud data, it determines unique point cloud data while retaining the adjacent relationship between each point cloud; when performing two-dimensional projection, using this index (r, t) as the horizontal and vertical axes for projection, this projection method retains the relative position relationship between adjacent point clouds generated by the same laser beam and point clouds at the same rotation position generated by adjacent laser beams, making point cloud classification based on image processing more suitable for rain and snow recognition.

[0046] (3) The present invention introduces the concept of elevation association. By establishing gradient connections between adjacent grids, the elevation values of each annular grid are corrected, thereby reducing the influence of sudden changes in road surface height or sparse point cloud data on the classification results.

[0047] (4) In a preferred manner, considering the elevation values in the annular grid on the reverse extension line of the current rotation angle to correct the elevation value in the current rotation direction, effectively avoiding misclassification situations caused by the lidar being at the edge of the platform, and having higher classification accuracy.

[0048] (5) In a preferred manner, to address the insufficient timeliness of traditional outlier noise processing methods when facing a large number of point clouds, the Euclidean clustering is improved to point-by-point clustering to improve the algorithm performance.

[0049] (6) Compared with the traditional method, the proposed method has a higher processing speed in both the point cloud classification and noise filtering links, and can still meet the real-time requirements when the point cloud data volume is large.

[0050] (7) Compared with methods such as deep learning that directly identify the characteristics of point cloud noise, this method has low hardware cost requirements, is simple to deploy, and is easy to implement. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] Figure 1 It is a flowchart of the method for quickly filtering rain and snow noise points in the point cloud data of the present invention.

[0052] Figure 2 It is the result of compressing three-dimensional point clouds into RGB images.

[0053] Figure 3 For the comparison between the original point cloud and the preliminary classification effect.

[0054] Figure 4 For the comparison of the effect before and after filtering rain and snow noise points.

[0055] Figure 5 It is a block diagram of the composition of the fast filtering device for rain and snow noise points in the point cloud data of the present invention. Specific implementation manner

[0056] The present invention will be described in detail below with reference to the accompanying drawings and by way of examples.

[0057] The present invention provides a fast filtering method for rain and snow noise points in point cloud data. As Figure 1 shown, the steps of this method include:

[0058] The first step, preliminary classification: for the point cloud data in the region of interest, add indices (r, t); r is the laser sequence number of the lidar, and t is the quotient of the current rotation angle of the lidar and the angular resolution of the lidar; based on the elevation value of the point cloud data, perform a preliminary classification of non-ground points and ground points.

[0059] The second step, reclassification: for the preliminary classification result, use the indices (r, t) as the horizontal and vertical axes, project the preliminarily classified point cloud data two-dimensionally, and assign different pixel values to the point cloud data of different categories to obtain a two-dimensional RGB image; use an image expansion algorithm to find the point cloud at the junction of the two types of point cloud from the two-dimensional RGB image as low-confidence points, and perform a reclassification of non-ground points and ground points on the low-confidence points.

[0060] The third step, filtering rain and snow noise points: for the result of the reclassification, consider the rain and snow noise points in the non-ground points as a large number of outliers, cluster the non-ground points, and retain the point cloud that can form a cluster, thereby completing the filtering of rain and snow noise points in the non-ground points.

[0061] It can be seen that in the present invention, non-ground points and ground points are initially classified by elevation values, and then the boundary between the two types of points is identified using an image processing algorithm for reclassification. Finally, rain and snow noise points are considered as a large number of outliers, and the point clouds that can form clusters are separated by clustering, thereby realizing the filtering of rain and snow noise points. During this process, the present invention optimizes the storage structure of point cloud data, and uses the laser sequence number of the lidar, the quotient of the current rotation angle and the lidar angular resolution as a pair of unique key values (r, t) to index the point cloud data, which determines the unique point cloud data while retaining the adjacent relationship between each point cloud; when performing two-dimensional projection, this index (r, t) is used as the horizontal and vertical axes for projection, and this projection method retains the relative position relationship between adjacent point clouds generated by the same laser beam and point clouds at the same rotation position generated by adjacent laser beams, making the point cloud classification based on image processing more applicable to rain and snow recognition.

[0062] The preferred embodiment of the present invention will be described in detail below.

[0063] Step 1: For the original point cloud data, extract the region of interest (ROI) and optimize the storage structure of the point cloud data to improve the overall performance. In this stage, a ring-shaped elevation map (REM) is used to complete the extraction of point cloud features, and for the misclassification caused by the lidar being in a special edge detection position, the elevation value is corrected using the associated elevation; based on the corrected elevation map, preliminary classification is performed to mark the non-ground points and ground points in the point cloud data.

[0064] This step includes the following sub-steps:

[0065] Step S11: Add an index (r, t) to the point cloud data in the region of interest.

[0066] To improve the overall processing performance and facilitate the subsequent processing flow, the storage structure of the point cloud data is optimized. Considering the characteristics of a mechanical lidar, that is, each laser beam generates a point cloud data at each angular resolution, the following method is adopted to add an indexing method for the point cloud. The laser sequence number of the lidar, the quotient of the current rotation angle and the lidar angular resolution are used as a pair of unique key values (r, t) to index the point cloud data, which determines the unique point cloud data while retaining the adjacent relationship between each point cloud.

[0067] Step S12: Use the annular elevation correlation diagram to complete the extraction of point cloud height features. The construction process of this method involves dividing the plane into several concentric rings according to the distance from the radar, and evenly dividing each ring into several parts according to the angular resolution of the lidar to form an annular grid structure. Each point cloud data is assigned to the corresponding grid according to its distance from the lidar and the rotation angle. Within each grid, the lowest point cloud height value is selected as the elevation representative value of the grid.

[0068] Specifically, first, configure parameters according to the angular resolution α of the mechanical lidar used and the number of lidar beams M. In this example, the robosense Helios series 32-line lidar is used, and the angular resolution is set to 0.1°. Complete the settings of the maximum filtering range max_range, minimum range min_range, ground height threshold Th r , and the adjacent ring spacing δR. In this example, the maximum and minimum filtering ranges are set to 0.1m and 50m respectively, the ground height threshold is set to 0.1m, and the adjacent ring spacing is set to 1.0m.

[0069] Create a ring-shaped grid point cloud storage container of size M×N according to the set lidar parameters, where N satisfies

[0070] N = (max_range - min_range) / δR

[0071] Generally, the point cloud data obtained by the lidar adopts the XYZIRT standard format in the PCL library, where XYZ represents the three-dimensional spatial coordinates of the point cloud relative to the lidar, I represents the intensity of the point cloud, r represents the laser beam number of the scanned point cloud, and T represents the timestamp.

[0072] When the Euclidean distance of the current point cloud data from the origin plane is within the range, create a grid index (m, n) using the standard point cloud format and store the point cloud data in the grid. Among them, m is directly obtained from the laser beam number r. n satisfies

[0073]

[0074] where round represents the rounding calculation, α is the angular resolution of the lidar; x, y are the horizontal and vertical coordinates in the three-dimensional spatial coordinates of the point cloud data in the grid. Because of the rounding, different point clouds in the same grid will calculate the same n. Put these point cloud data into the corresponding grids.

[0075] And under the same laser beam, the grid index on its reverse extension line satisfies

[0076] For each grid (m, n), the minimum value of all the point cloud height values within the grid is taken as the elevation value H(m, n) of the grid. Traverse the grids to complete the update of the elevation value H(n, m) within each annular grid.

[0077] Step S13: Correct the elevation values of the annular grids.

[0078] To further optimize the classification effect and reduce the influence of sudden changes in road surface height or sparse point cloud data on the classification results, the concept of elevation correlation is introduced. By establishing gradient connections between adjacent grids, the elevation values of each annular grid are corrected; at the same time, to avoid mis-segmentation when the lidar is at the edge of the plane, the elevation values in the annular grid on the reverse extension line of the current rotation angle need to be considered simultaneously when establishing the gradient connection, and the elevation values in the current rotation direction are corrected to improve the classification accuracy.

[0079] Specifically,

[0080] First, considering the situation where there are no non-obstacle points in the annular grid, the gradient of the elevation value is introduced to establish an annular combined elevation map, and some unreasonable elevations caused by sudden height changes are corrected to improve the classification accuracy. The modification method is as follows: Obtain the elevation values H′ of adjacent grids corresponding to different laser beams but in the same ring; add δR×slope max , to obtain the comparison elevation value H″; δR is the distance between adjacent rings, and slope max is the maximum ground slope; take the smaller value of the elevation value H and the comparison elevation value H″ as the corrected grid elevation value. This modification process is expressed by the formula:

[0081] H(m, n) = min{H(m, n), H(m - 1, n)+δR×slope max}

[0082] where min represents taking the minimum value; H(m - 1, n) represents the elevation value of the grid (m - 1, n) corresponding to the adjacent laser beam on the same ring as the grid (m, n); slope max is the maximum ground slope, and δR is the distance between adjacent rings.

[0083] In addition, considering the case of incorrect classification when the lidar is installed at the edge of the platform, when the laser serial number is at the innermost, the grid on its reverse extension line is used to further correct the elevation. The correction method is as follows: the elevation value of the grid corresponding to the edge laser beam is denoted as H(1,n), and the elevation value of the grid on the reverse extension line under the same laser beam is denoted as H(1,n′); the elevation value of the grid corresponding to the edge laser beam is denoted as H(1,n), and the elevation value of the grid on the reverse extension line under the same laser beam is denoted as H(1,n′); take the smaller value of H(1,n) and H′(1,n) as the corrected grid elevation value of the grid corresponding to the edge laser beam. This modification process is expressed by the formula as follows:

[0084]

[0085] Among them, H(1,n) represents the elevation value of the grid (1,n) corresponding to the edge laser beam, represents the elevation value of the grid on the reverse extension line of the laser beam corresponding to (1,n).

[0086] Step S14: According to the point cloud height data and the corrected grid elevation value, perform a preliminary classification of the point cloud into non-ground points and ground points.

[0087] Add the set threshold Th r to the corrected elevation value H of the grid as the grid elevation threshold TH; compare the elevation value z of the point cloud with the grid elevation threshold TH. If z > TH, then the point cloud is preliminarily classified as a non-ground point, otherwise it is preliminarily classified as a ground point. That is, when the point cloud point.z within the corresponding annular grid satisfies point.z > H(m,n) + Th r , it is classified as a non-ground point. Figure 3 For the comparison between the original point cloud and the preliminary classification effect, (a) is the initial point cloud, and (b) is the preliminary classification result, with most of the ground points removed.

[0088] Step 2: For the preliminary classification result, use the index (r,t) as the horizontal and vertical axes to project the preliminarily classified point cloud data onto a two-dimensional plane, and assign different pixel values to the point cloud data of different categories to obtain a two-dimensional RGB image; use an image expansion algorithm to find the point cloud at the junction of the two categories of point cloud from the two-dimensional RGB image as the low-confidence points, and perform a reclassification of the low-confidence points into non-ground points and ground points.

[0089] This step specifically includes the following sub-steps:

[0090] Step 21: Compression of three-dimensional point cloud data into a two-dimensional RGB image.

[0091] In this step, the method of compressing the 3D point cloud data into a 2D RGB image is to project the initially classified point cloud in 2D according to the optimized structure, and project the laser beam number and the quotient index (r, t) of the rotation angle and angular resolution that generate each point cloud data as the horizontal and vertical axes. This projection method retains the relative position relationship between adjacent point clouds generated by the same laser beam and point clouds generated by adjacent laser beams at the same rotation position. This projection method can determine a unique point cloud based on the laser radar serial number and rotation angle that generated the point cloud data, thereby determining a unique pixel point in the 2D image. See the preliminary compression results for details. Figure 2 In the above picture.

[0092] Step 22: Assign different pixel values ​​to different categories.

[0093] This step assigns a first pixel value to the point cloud data of non-ground points and a second pixel value to the point cloud of ground points. In a preferred embodiment, a red pixel value of [255, 0, 0] is assigned to the point cloud marked as a non-ground point, and a green pixel value of [0, 255, 0] is assigned to the point cloud marked as a ground point. This method provides an intuitive visual reference for subsequent analysis and processing, and also provides a basis for the subsequent convolution process.

[0094] Step 23: Use the image dilation algorithm to find low confidence points from the two-dimensional image.

[0095] In this step, we take the fact that inaccurately classified point clouds usually exist in the boundary area between non-ground points and ground points as the starting point, and use the image dilation algorithm to find such low-confidence points and perform fine classification. The red pixel value channel of the non-ground points is expanded, and the pixel value of the point cloud in the overlapping area obtained after expansion becomes [255,255,0]. These pixel points are regarded as low-confidence points, and their attribution is further determined in subsequent operations. In order to facilitate highlighting, these points are inverted, and their pixel values ​​will become blue [0,0,255]. The results of distinguishing low-confidence points can be found in Figure 2 The middle picture of .

[0096] The expansion kernel can usually be selected as a cross, a matrix or a circle. In practical attempts, the edge points obtained when the expansion kernel is selected as a 5*5 square matrix have better results in subsequent reclassification.

[0097] Step 24: Use the skip convolution process to calculate the convolution scores of the channels of different pixels of the low confidence points and reclassify them.

[0098] The expanded 2D RGB image is reclassified by sliding convolution. When encountering high confidence points, the convolution process is skipped directly, and convolution operations are performed on low confidence points. Considering the correlation between point cloud data of different categories, the Mahalanobis distance is used to design the convolution kernel.

[0099] Taking the selection of the current pixel point p(r, t) as an example, a convolution kernel of size 5*5 is designed as follows.

[0100]

[0101] Combined with the Mahalanobis distance, the weight W(t+i, c+j) is designed in an exponentially decaying manner

[0102]

[0103] where λ is the decay coefficient, and d M is the Mahalanobis distance between two points.

[0104] To ensure that the sum of the weights of the convolution kernel is 1, the weights need to be normalized.

[0105]

[0106] The convolution operation is performed separately for the red channel and the green channel. For the obtained low-confidence points, compare the convolution scores of their red channels and green channels, and select the channel with the higher score as the final classification of the point. Red pixel points are classified as obstacle points, and green obstacle points are classified as non-obstacle points. See the following figure for the convolution result Figure 2 in the following figure.

[0107] Step 3: Treat rain and snow noise points as a large number of outlier noise points, and use improved Euclidean clustering to complete the rapid filtering of rain and snow noise points.

[0108] On the one hand, different from the method of filtering rain and snow noise points by identifying the characteristics of rain and snow noise points, such as identifying the distribution characteristics of rain and snow noise points and the shape intensity characteristics of rain and snow noise points, the present invention regards the rain and snow noise points in non-ground points as a large number of outlier scatter points, and uses clustering to retain the point cloud indexes that can form clusters, thereby completing the filtering of rain and snow noise points in obstacle points. On the other hand, in order to cope with the situation of insufficient timeliness of traditional outlier noise processing methods in the face of a large number of point clouds, the Euclidean clustering is improved to point-by-point clustering to improve the algorithm performance.

[0109] The improved Euclidean clustering is carried out as follows:

[0110] Step 31: Assign an initial label curlab = 0 to all reclassified non-ground points, indicating unclassified points; set the initial value of the segment label counter SegLab to 1, which is used to assign a unique label to each newly discovered segment.

[0111] Step 32: Traverse the non-ground point cloud set P; for the currently traversed point p i , if the label curLab of p i ≠0, then directly process the next point; if the label curLab of p i =0 (unlabeled point), first find the point pi At a given radius threshold d th The neighbor point set P NN , check P NN Is there any marked point with non-zero label curLab in the neighboring point set P? Assign the minimum non-zero label minLab among these neighbors to curLab of the current point; if the neighboring point set P NN If all neighbors are unlabeled points, the current segment label counter value SegLab is assigned to the current point as the label curLab of the current point;

[0112] For the newly marked point, check its neighbor point set P NN Each neighbor point p in j , if the neighbor point p j If the label of the point is greater than the label of the current point curLab, then all points p in the non-ground point cloud collection P are traversed. k , find the label value and neighbor point p j The same other points p k , then the neighbor points p with the same label value j and other points p k The label value of is updated to the curLab value of the current point, thereby merging the point clouds with the same label segment;

[0113] Step 33: After processing each point, the segment label counter SegLab increases to prepare for the next new segment;

[0114] Step 34: After traversing each non-ground point, count the point cloud sets corresponding to each non-zero label curlab;

[0115] Step 35: Keep the point cloud set whose number of point clouds meets the clustering requirements and complete the filtering of rain and snow noise points.

[0116] Figure 4 Comparison of the effects before and after filtering out rain and snow noise, (a) is before filtering, (b) is after filtering.

[0117] This is the end of the process.

[0118] In order to realize the above scheme, the present invention also provides a fast filtering device for rain and snow noise in point cloud data, such as Figure 5 As shown, the device includes a preliminary classification module, a reclassification module, and a filtering module.

[0119] The preliminary classification module is used to add index (r, t) to the point cloud data of the area of ​​interest; r is the laser serial number of the laser radar, and t is the quotient of the current rotation angle of the laser radar and the angular resolution of the laser radar; the preliminary classification of non-ground points and ground points is performed based on the elevation value of the point cloud data. The preliminary classification module specifically performs the operation of step one.

[0120] The reclassification module, for the preliminary classification result, uses the index (r, t) as the horizontal and vertical axes to perform a two-dimensional projection on the preliminarily classified point cloud data, and assigns different pixel values to the point cloud data of different categories to obtain a two-dimensional RGB image; uses an image expansion algorithm to find the point cloud at the junction of the two types of point cloud from the two-dimensional RGB image as the low-confidence points, and reclassifies the low-confidence points into non-ground points and ground points. This reclassification module specifically performs the operations in step two.

[0121] The filtering module, for the result of reclassification, regards the rain and snow noise points in the non-ground points as a large number of outlier points, clusters the non-ground points, and retains the point cloud that can form a cluster, thereby completing the filtering of the rain and snow noise points in the non-ground points.

[0122] This filtering module specifically performs the operations in step three, and it includes a label marking unit and a rain and snow noise filtering unit; among them,

[0123] The label marking unit is used to mark each point of the reclassified non-ground points one by one: First, assign an initial label curLab = 0 to all reclassified non-ground points, indicating unclassified points; set the segment label counter SegLab to 1, which is used to assign a unique label to each newly discovered segment; traverse the non-ground point cloud set P; for the currently traversed point p i , if the label curLab of p i is not equal to 0, then directly process the next point; if the label curLab of p i is 0 (unmarked point), first find the neighbor point set P i of this point p th within the given radius threshold d NN , check whether there are any marked points with a non-zero label curLab in P NN , and assign the smallest non-zero label minLab among these neighbors to the curLab of the current point; if all neighbors in the neighbor point set P NN are unmarked points, then assign the current segment label counter value SegLab to the current point as the label curLab of the current point;

[0124] For the newly marked points, check each neighbor point p NN in its neighbor point set P j , if the label of the neighbor point p j is greater than the label curLab of the current point, then traverse all points p k in the non-ground point cloud set P, find other points p j with the same label value as the neighbor point p k , then the neighbor point p j with the same label value and other points p kThe tag value is updated to the curLab value of the current point, thereby merging the point clouds with the same tag segments;

[0125] After each point is processed, the segment label counter SegLab is incremented to prepare for the next new segment.

[0126] A rain and snow noise filtering unit, which is used to count the point cloud sets corresponding to each non-zero label curlab after traversing each non-ground point, retain the point cloud sets whose point cloud quantity meets the clustering requirements, and complete the filtering of rain and snow noise.

[0127] The above specific embodiments only describe the design principle of the present invention. The shapes and names of the components in this description can be different and are not limited. Therefore, those skilled in the art of the present invention can modify or equivalently replace the technical solutions recorded in the foregoing embodiments; and these modifications and replacements do not depart from the purpose and technical solutions of the present invention, and shall all fall within the protection scope of the present invention.

Claims

1. A method for quickly filtering rain and snow noise points in point cloud data, characterized in that: include: The first step is to add index (r, t) to the point cloud data of the area of ​​interest; r is the laser serial number of the laser radar, and t is the quotient of the current rotation angle of the laser radar and the angular resolution of the laser radar; the preliminary classification of non-ground points and ground points is performed based on the elevation value of the point cloud data; In the second step, based on the preliminary classification results, the index (r, t) is used as the horizontal and vertical axes to perform a two-dimensional projection on the point cloud data after preliminary classification, and different pixel values ​​are assigned to different categories of point cloud data to obtain a two-dimensional RGB image; the image extension algorithm is used to find the point cloud at the intersection of two types of point clouds from the two-dimensional RGB image as a low-confidence point, and the low-confidence point is reclassified as a non-ground point and a ground point; In the third step, based on the reclassification results, the rain and snow noise points in the non-ground points are considered to be a large number of outliers, the non-ground points are clustered, and the point clouds that can form clusters are retained, thereby completing the filtering of rain and snow noise points in the non-ground points.

2. The method according to claim 1, characterized in that In the first step, the preliminary classification of non-ground points and ground points based on the elevation values ​​of the point cloud data is completed using the ring elevation map REM: The plane is divided into multiple concentric rings according to the distance from the radar, and each ring is evenly divided into several parts according to the angular resolution of the laser radar to form a ring grid structure; each point cloud data is assigned to the corresponding grid according to its distance from the laser radar and the rotation angle; in each grid, the lowest point cloud height value is selected as the elevation value H of the grid; Add the grid elevation value H to the set threshold value to form the grid elevation threshold value TH; The elevation value z of the point cloud is compared with the grid elevation threshold TH. If z>TH, the point cloud is initially classified as a non-ground point, otherwise it is initially classified as a ground point.

3. The method according to claim 2, characterized in that When determining the elevation value H of the grid, the elevation value H is further corrected by: Obtain the elevation values ​​H′ of adjacent grids corresponding to different laser beams but in the same ring; Add the elevation value H′ to δR×slope max , and obtain the comparative elevation value H″; δR is the distance between adjacent rings, slope max is the maximum ground slope; The smaller of the elevation value H and the comparison elevation value H″ is taken as the corrected grid elevation value.

4. The method according to claim 2 or 3, characterized in that When determining the elevation value H of the grid, the elevation value H is further corrected for the grid corresponding to the edge laser beam. The correction method is: The elevation value of the grid corresponding to the edge laser beam is recorded as H(1, n), and the elevation value of the grid on the reverse extension line under the same laser beam is recorded as H(1, n′); Add δR×slope to the elevation value H(1,n′) max , and obtain the contrast elevation value H′(1, n); The smaller one of H(1, n) and H′(1, n) is taken as the grid elevation value after the grid correction corresponding to the edge laser beam.

5. The method according to claim 1, characterized in that In the second step, the image expansion algorithm is used to find the point cloud at the intersection of two types of point clouds from the two-dimensional RGB image as a low confidence point: The point cloud data of the non-ground point is assigned a first pixel value, and the point cloud data of the ground point is assigned a second pixel value; the first pixel value channel of the non-ground point is expanded, and the points in the expanded area that overlap with the second pixel value are taken as low-confidence points.

6. The method according to claim 5, characterized in that Assign red pixel values ​​[255, 0, 0] to the point cloud data of non-ground points, and assign green pixel values ​​[0, 255, 0] to the point cloud of ground points; the pixel values ​​of the point cloud in the overlapping area obtained by expansion become [255, 255, 0]; the pixel values ​​of the overlapping area are inverted to [0, 0, 255] and displayed separately.

7. The method according to claim 5, characterized in that In the second step, the reclassification of low confidence points into non-ground points and ground points adopts a jump convolution method: The Mahalanobis distance is used to design the convolution kernel; the convolution kernel is used to perform sliding convolution on the first pixel value channel and the second pixel value channel of the two-dimensional RGB image; when a high confidence point is encountered, the calculation is directly skipped; when a low confidence point is encountered, the convolution calculation is performed, the convolution scores of the point cloud in the first pixel value channel and the second pixel value channel are compared, and the classification corresponding to the channel with the higher score is selected as the reclassification result of the point cloud.

8. The method according to claim 1, characterized in that In the third step, clustering is achieved by using a point-by-point clustering method, which specifically includes: Step 31: assign an initial label curLab=0 to all reclassified non-ground points, indicating unclassified points; set the segment label counter SegLab to 1 to assign a unique label to each newly discovered segment; Step 32: traverse the non-ground point cloud collection P; for the current traversal point p i , if p i If the label curLab≠0, directly process the next point; if p i The label curLab = 0 (unlabeled point), first find the point p i At a given radius threshold d th The neighbor point set P NN , check P NN Is there any marked point with non-zero label curLab in the neighboring point set P? Assign the minimum non-zero label minLab among these neighbors to curLab of the current point; if the neighboring point set P NN If all neighbors are unlabeled points, the current segment label counter value SegLab is assigned to the current point as the label curLab of the current point; For the newly marked point, check its neighbor point set P NN Each neighbor point p in j , if the neighbor point p j If the label of the point is greater than the label of the current point curLab, then all points p in the non-ground point cloud collection P are traversed. k , find the label value and neighbor point p j The same other points p k , then the neighbor points p with the same label value j and other points p k The label value of is updated to the curLab value of the current point, thereby merging the point clouds with the same label segment; Step 33: After processing each point, the segment label counter SegLab increases to prepare for the next new segment; Step 34: After traversing each non-ground point, count the point cloud sets corresponding to each non-zero label curLab; Step 35: Keep the point cloud set whose number of point clouds meets the clustering requirements and complete the filtering of rain and snow noise points.

9. A fast filtering device for rain and snow noise in point cloud data, characterized in that: It includes preliminary classification module, reclassification module and filtering module; The preliminary classification module is used to add an index (r, t) to the point cloud data of the area of ​​interest; r is the laser serial number of the laser radar, and t is the quotient of the current rotation angle of the laser radar and the angular resolution of the laser radar; and preliminary classification of non-ground points and ground points is performed based on the elevation value of the point cloud data; The reclassification module, for the preliminary classification result, uses the index ( r, t) as the horizontal and vertical axes, perform two-dimensional projection on the point cloud data after preliminary classification, and assign different pixel values ​​to different categories of point cloud data to obtain a two-dimensional RGB image; use the image extension algorithm to find the point cloud at the intersection of two types of point clouds from the two-dimensional RGB image as low-confidence points, and reclassify the low-confidence points into non-ground points and ground points; The filtering module, based on the reclassification results, considers the rain and snow noise points in the non-ground points as a large number of outlier points, clusters the non-ground points, and retains the point clouds that can form clusters, thereby completing the filtering of the rain and snow noise points in the non-ground points.

10. The device according to claim 9, characterized in that The filtering module includes a label marking unit and a rain and snow noise filtering unit; The label marking unit is used to mark the reclassified non-ground points point by point: first, all the reclassified non-ground points are given an initialization label curLab=0, indicating an unclassified point; Set the segment label counter SegLab to 1 to assign a unique label to each newly discovered segment; Traverse the non-ground point cloud collection P; for the current traversal point p i , if p i If the label curLab≠0, directly process the next point; if p i The label curLab = 0 (unlabeled point), first find the point p i At a given radius threshold d th The neighbor point set P NN , check P NN Is there any marked point with non-zero label curLab in the neighboring point set P? Assign the minimum non-zero label minLab among these neighbors to curLab of the current point; if the neighboring point set P NN If all neighbors are unlabeled points, the current segment label counter value SegLab is assigned to the current point as the label curLab of the current point; For the newly marked point, check its neighbor point set P NN Each neighbor point p in j , if the neighbor point p j If the label of the point is greater than the label of the current point curLab, then all points p in the non-ground point cloud collection P are traversed. k , find the label value and neighbor point p j The same other points p k , then the neighbor points p with the same label value j and other points p k The label value of is updated to the curLab value of the current point, thereby merging the point clouds with the same label segment; After each point is processed, the segment label counter SegLab increases to prepare for the next new segment; The rain and snow noise filtering unit is used to count the point cloud sets corresponding to each non-zero label lab after traversing each non-ground point, retain the point cloud sets whose point cloud quantity meets the clustering requirements, and complete the filtering of rain and snow noise.