Point cloud ground segmentation method based on elevation map
Through the point cloud ground segmentation method based on elevation map, the problems of ground segmentation accuracy and high computational volume in complex scenarios are solved, and more efficient and accurate ground point cloud segmentation is achieved.
Patent Information
- Application Number
- CN202510035349.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-09
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2045-01-09
AI Technical Summary
The prior art is difficult to effectively identify and divide ground conditions such as slopes and uneven roads in complex scenarios, resulting in large amounts of ground segmentation calculations and low accuracy.
The point cloud ground segmentation method based on the elevation map is adopted, outlier point filtering is performed through the initial elevation map, point cloud rasterizes the grid point cloud variance, recognizes the ground grid, updates the local and global elevation maps, and finally performs point cloud segmentation through the global elevation map.
It improves the accuracy and robustness of point cloud ground segmentation, reduces the amount of calculation, is suitable for practical application scenarios with resource limitations, and can more accurately identify and extract ground points.
Smart Images

Figure CN119941756A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of ground segmentation and modeling, and in particular relates to a point cloud ground segmentation method based on an elevation map. Background Art
[0002] Video anomaly detection is a key computer vision task that is widely used in security monitoring, intelligent transportation systems, and public transportation. In recent years, there are more and more applications of mobile robots to perform specific tasks in various complex environments. Among them, Simultaneous Localization And Mapping (SLAM) has gradually become a research hotspot for solving the problem of perception in complex indoor and outdoor environments. A robust SLAM system needs to be able to handle dynamic environments, recognize and process dynamic objects, and avoid these objects from interfering with positioning and mapping. The key to identifying dynamic objects is to exclude interference items such as ground points and reduce mismatches.
[0003] Common ground segmentation methods for laser point clouds can be divided into three categories. The first category is to filter the point cloud based on the relative height from the sensor to the actual ground, and then use the RANSAC method to estimate the ground point cloud; the second category is to introduce two-dimensional straight line fitting on the uniform polar coordinate grid representation, estimate the straight line equation on each grid, and then, in each grid, determine whether the point is a ground point by comparing the constant threshold and the estimated parameters (such as point-line distance, gradient or y-intercept); the third category is based on information such as ground plane elevation, and estimates ground points in real time through deep learning methods.
[0004] However, due to the complexity of real-world scenarios, the first type of method is prone to under-segmentation problems when faced with steep slopes and uneven roads; the second type of method is prone to over-segmentation problems when faced with car bodies, steps, and pedestrians; although the third type of method has a better ground segmentation effect, it requires training of deep learning models and has poor adaptability to various environments.
[0005] To sum up, how to solve the problem of repeated segmentation of ground images in complex scenes, effectively identify and segment ground conditions such as slopes and uneven roads, reduce the amount of ground segmentation calculations, and improve the accuracy of ground segmentation are the technical problems that the present invention aims to solve. Summary of the invention
[0006] The purpose of the present invention is to provide a point cloud ground segmentation method based on elevation map to solve the problems raised in the above background technology.
[0007] The object of the present invention is achieved by: a point cloud ground segmentation method based on an elevation map, characterized in that the method comprises the following steps:
[0008] Step S1: filtering outlier points of pre-input point cloud data based on the initial elevation map;
[0009] Step S2: rasterizing the point cloud data after outlier points are removed, and calculating the grid point cloud variance;
[0010] Step S3: performing ground grid identification on each grid cell according to the grid point cloud data variance;
[0011] Step S4: Calculate ground grid elevation information to update the local elevation map;
[0012] Step S5: estimating non-ground grid elevation information using ground grid elevation information, thereby updating the global elevation map;
[0013] Step S6: The global elevation map provides terrain information near the sensor, which is used to perform point cloud segmentation to obtain the final ground points and non-ground points.
[0014] Preferably, in step S1, outlier filtering is performed on the pre-input point cloud data based on the initial elevation map, specifically:
[0015] Step S1-1: Obtain the elevation map of the previous frame;
[0016] Take the LiDAR sensor as the origin of the Cartesian coordinate system, with coordinates (0,0,0). The coordinates (x,y,z) of any point output by the LiDAR sensor are the coordinates of the point relative to the LiDAR sensor. is the horizontal distance from the radar sensor to the point, and z is the vertical distance from the radar sensor to the point;
[0017] Step S1-2: Filter outliers;
[0018] Take the straight line connecting the sensor position and the target point, and determine whether the intersection of this straight line and the current known elevation map is within the radar beam range. If it is within the radar beam range, keep the point, otherwise remove the point;
[0019] Comparison angle The vertical azimuth angle range θ with the laser radar beam, if If yes, remove the point, otherwise keep the point;
[0020] Wherein, d is the horizontal distance from the radar sensor to the above intersection, Hh is the vertical distance from the radar sensor to the above intersection, and h is the estimated grid height of the elevation map.
[0021] Preferably, in step S2, the point cloud data after outlier filtering is rasterized to calculate the grid point cloud variance, specifically:
[0022] Project the filtered point cloud onto a 2D plane, rasterize the elevation grid map, and set the grid map resolution to r = 0.34m;
[0023] Step S2-1: Project the point cloud onto a two-dimensional plane to generate a regular grid, and compress the data and reduce the complexity by having each grid cell represent the attributes of an area;
[0024] Step S2-2: Calculate the variance of the z-axis point coordinates of each grid using the Welford algorithm;
[0025] Step S2-3: When all data points are processed, calculate the point cloud height variance using the following formula:
[0026] Among them, M is the amount gradually accumulated during the processing, and n is the total number of points processed;
[0027] The final variance indicates the degree of discreteness of the point cloud dataset, that is, the degree of deviation of the height of each point from the overall mean.
[0028] Preferably, the Welford algorithm is used in step S2-2 to calculate the variance of the z-axis point coordinates of each grid, specifically:
[0029] Step S2-2-1: Initialize the point counter n=0, indicating that no data point has been processed, the mean μ=0, and the variance M=0;
[0030] Step S2-2-2: For each point cloud's z-axis height, perform the following operations:
[0031] Increase the counter n = n + 1, that is, each time a new point is processed, the counter is increased by 1, indicating that the number of points processed has increased;
[0032] Calculate the difference between the current data point and the current mean δ = z-μ, where δ is the difference between the current point and the current mean; update the mean The mean is updated in a weighted manner, i.e., the newly added points are taken into account when calculating the current mean;
[0033] The mean is updated recursively, and the variance is updated M=M+δ·(z-μ); the variance update is based on the difference between the current point and the new mean; the recursive update method of the variance allows the variance to be calculated directly when processing each new data without reprocessing all the data.
[0034] Preferably, in step S3, ground grid identification is performed on each grid unit according to the grid point cloud data variance, specifically:
[0035] Use the known grid point cloud height variance to identify grids that only contain ground points. If the variance of the point cloud within the grid is lower than the threshold tf , then this grid is considered to be mainly composed of ground points and is marked as a ground grid;
[0036] If the variance within the grid is greater than the threshold t f , then the grid is considered to contain a more complex structure and is marked as a non-ground grid;
[0037] Threshold t f Changes with distance from the sensor to reduce errors in long-distance measurements:
[0038] t f = k·d pl ; (1)
[0039] Among them, d pl is the Euclidean distance between point p and the sensor origin l, and k is the distance scaling factor, set to k = 10 -5 , which scales the distance to a variance threshold;
[0040] Considering the sparsity of point cloud data, especially in places far away from the sensor, the density of point cloud data will be significantly reduced. Sparsity makes it unreliable to directly rely on the variance of each grid to judge the ground grid. When the number of points in the grid is less than:
[0041]
[0042] Where r is the grid resolution, d gl is the distance to the sensor, d j is the angular distance between the two points of the sensor, d j =0.5°;
[0043] The type of grid is determined by the variance of the grids in the 3×3 or 5×5 range around it, and the size of the range depends on the distance d between the grid and the sensor. ps It depends.
[0044] Preferably, the step S4 calculates the ground grid elevation information to update the local elevation map, specifically:
[0045] Calculate the elevation value of each ground grid, the elevation value g of ground grid i,j i,j The calculation method is as follows:
[0046]
[0047] Among them, D i,j is the point count matrix of ground grid i,j, M i,j is the minimum height value matrix, The operator is the multiplication of the elements at the corresponding positions of the matrix; the elevation value estimate of the ground grid is obtained by calculating the weighted sum of the point count and the minimum height value matrix, and then dividing it by the total number of points;
[0048] The confidence level of the elevation value estimate of ground grid i,j is defined as:
[0049]
[0050] Among them, D i,j is the point count matrix, s is the confidence point count scaling parameter, s=20; that is, each grid must contain at least 20 points with a maximum elevation value confidence of 1;
[0051] The ground grid elevation value and confidence of this step are merged with the ground grid elevation value and confidence of the previous frame. The elevation value of the current frame is:
[0052]
[0053] in, and is the elevation value and elevation confidence of the previous frame; frames with higher confidence have a greater impact on the final result and improve the stability of elevation value estimation; the elevation value confidence of the current frame is:
[0054]
[0055] Among them, z i,j is the height confidence just updated, is the elevation confidence of the previous frame;
[0056] If it is lower than the elevation value of the previous frame, This indicates that the elevation value of the current frame is correct; then the elevation value of the non-ground grid in the current frame is updated to the latest value, that is, And increase confidence The confidence will increase by 0.1, but is capped at a maximum of 0.5.
[0057] Preferably, in step S5, the non-ground grid elevation information is estimated using the ground grid elevation information, thereby updating the global elevation map, specifically:
[0058] The elevation value of each non-ground grid is set to the confidence-weighted sum of the estimated ground elevation value of the grid and the average of the 3×3 neighborhood of the grid:
[0059]
[0060] Among them, Z i,j is a 3×3 confidence matrix, G i,j is a 3×3 elevation value matrix centered at i,j, The operator represents the multiplication operation of elements at corresponding positions in the matrix;
[0061] The confidence of the neighboring points is used to weight the average elevation of the surrounding grids, ensuring that if the confidence of the current grid is low, the information of the neighboring points is more important. If the confidence of the current grid is high, the elevation information of the previous frame is weighted and combined with the current calculation result to further correct the elevation value. The confidence of the elevation value of the non-ground grid is updated as follows:
[0062]
[0063] in, is the confidence of the elevation value of the previous frame i,j of the grid, and the parameter θ is a constant decay factor that gradually reduces the confidence of the non-ground grid over time.
[0064] Preferably, the global elevation map in step S6 provides terrain information near the sensor, which is used to perform point cloud segmentation, that is, to obtain the final ground points and non-ground points, specifically:
[0065] Using the global elevation map, the point cloud is segmented by comparing the z-axis height of each point with the elevation value of the grid where it is located, and two thresholds t are set. o and t g , and t o =0.1m,t g = 0.3m to segment the point cloud, t g Used to segment ground points, t o Used to segment obstacle points;
[0066] For any point p, the difference between its z-axis height and the grid elevation value is Δh. If t o <Δh <t g , p is a non-ground point, if Δh>t g , or Δh <t o , then p is a ground point;
[0067] By setting a larger threshold difference, obstacles and the ground can be accurately distinguished, thereby ensuring that obstacles in the point cloud can be effectively identified; setting a smaller threshold difference helps avoid interference with ground point detection due to slopes or irregular terrain, thereby reducing misjudgments.
[0068] Compared with the prior art, the present invention has the following improvements and advantages:
[0069] 1. By adopting the outlier filtering algorithm of the elevation map, the ground points can be dynamically identified according to the surrounding terrain, the false screening of valid ground points can be reduced, and the situation where the point cloud is too sparse in some element areas can be avoided, thereby improving the distribution uniformity and processing efficiency of the point cloud data, reducing the demand for computing resources, and being suitable for practical application scenarios with limited resources.
[0070] 2. The ground / non-ground grid is classified by using the Welford variance calculation of the grid point cloud to avoid secondary traversal of the point cloud data. The ground / non-ground grid comprehensively considers the sparsity of the point cloud data and the error of the long-distance points, and dynamically sets the grid point threshold and variance threshold, which can more accurately identify and extract ground points.
[0071] 3. The grid elevation value calculation is simple and fast. The non-ground grid elevation value is estimated according to the terrain around the sensor. Global and local elevation maps are introduced, equipped with elevation value confidence, and dynamically updated between frames, which improves the accuracy and robustness of the algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Figure 1 Flow chart of the method of the present invention.
[0073] Figure 2 This is a schematic diagram of the outlier filtering method provided in Example 1 of the invention.
[0074] Figure 3 A schematic diagram of terrain estimation provided in Example 1 of the invention. DETAILED DESCRIPTION
[0075] The present invention is further summarized below with reference to the accompanying drawings.
[0076] Embodiment 1:
[0077] The robot SLAM system is a key technology in the field of robotics. It is used to realize the autonomous positioning and navigation of robots in unknown environments. The SLAM system allows the robot to collect environmental data through its own sensors without prior environmental information, and simultaneously complete its own positioning and environmental map construction during movement.
[0078] During the specific implementation process, the robot collects environmental information through the sensors it carries (such as depth cameras, lidar, inertial measurement units, etc.). These sensors provide the robot with data about the environmental structure, texture, distance, etc. The robot is also equipped with a control terminal, which can process and fuse the collected environmental information through SLAM algorithms. These algorithms are responsible for parsing sensor data, estimating the robot's position, and building an incremental map of the environment to achieve precise navigation control of the robot.
[0079] like Figure 1 As shown, a point cloud ground segmentation method based on elevation map, specifically, includes the following processes:
[0080] Step S1: Filter outliers on the pre-input point cloud data based on the initial elevation map, specifically:
[0081] like Figure 2 As shown in the figure, the laser radar sensor is taken as the origin of the Cartesian coordinate system, with the coordinates (0,0,0). The coordinates (x,y,z) of any point output by the laser radar sensor are the coordinates of the point relative to the laser radar sensor. is the horizontal distance from the radar sensor to the point, and z is the vertical distance from the radar sensor to the point;
[0082] Comparison angle The vertical azimuth angle range θ with the laser radar beam (30° in this embodiment) is If yes, remove the point; otherwise, keep the point;
[0083] Wherein, d is the horizontal distance from the radar sensor to the above intersection, Hh is the vertical distance from the radar sensor to the above intersection, and h is the estimated grid height of the elevation map.
[0084] Take the straight line connecting the sensor position and the target point, and determine whether the intersection of this straight line and the current known elevation map is within the radar beam range. If it is within the radar beam range, keep the point, otherwise remove the point.
[0085] LiDAR measures distance by emitting a laser beam and receiving reflected light. If the laser beam is reflected multiple times between different surfaces, the receiver may receive an erroneous signal, causing the position of the measurement point to deviate from the original beam path. Certain materials (such as high-reflectivity surfaces such as car bodies) may reflect the laser beam in other directions, causing the returned signal to come from an indirect path, causing the LiDAR to misjudge the distance of the point or the laser to be reflected to a neighboring beam receiver. For example, in urban scenes, the reflection of lasers from the car body will produce a point cloud below the ground, and these outliers will cause problems with ground estimation. Therefore, the outlier detection used in this implementation is to filter outliers below the ground.
[0086] Step S2: rasterize the point cloud data after outlier points are filtered out, and calculate the grid point cloud variance, specifically:
[0087] Project the filtered point cloud onto a 2D plane, rasterize the elevation grid map, and set the grid map resolution to r = 0.34m;
[0088] Step S2-1: Project the point cloud onto a two-dimensional plane to generate a regular grid, and compress the data and reduce the complexity by having each grid cell represent the attributes of an area;
[0089] Step S2-2: Calculate the variance of the z-axis point coordinates of each grid using the Welford algorithm;
[0090] Step S2-2-1: Initialize the point counter n=0, indicating that no data point has been processed, the mean μ=0, and the variance M=0;
[0091] Step S2-2-2: For each point cloud's z-axis height, perform the following operations:
[0092] Increase the counter n = n + 1, that is, each time a new point is processed, the counter is increased by 1, indicating that the number of points processed has increased;
[0093] Calculate the difference between the current data point and the current mean δ = z-μ, where δ is the difference between the current point and the current mean; update the mean The mean is updated in a weighted manner, i.e., the newly added points are taken into account when calculating the current mean;
[0094] The mean is updated recursively, and the variance is updated M=M+δ·(z-μ); the variance update is based on the difference between the current point and the new mean; the recursive update method of the variance allows the variance to be calculated directly when processing each new data without reprocessing all the data.
[0095] Step S2-3: When all data points are processed, the point cloud height variance is calculated by the formula Calculate, where M is the amount accumulated step by step during the processing, and n is the total number of points processed;
[0096] The final variance represents the degree of discreteness of the point cloud dataset, that is, the degree of deviation of the height of each point from the overall mean.
[0097] The point cloud data after outlier filtering is rasterized. The original point cloud data is usually a large number of points with disordered distribution in three-dimensional space. The data volume is huge and difficult to use directly. The point cloud density in the original point cloud area is uneven. Rasterization converts the data into a unified format for easy processing; the point cloud is projected onto a two-dimensional plane to generate a regular grid (grid), and each grid cell represents the attributes of an area to compress the data and reduce complexity; the filtered point cloud is projected onto a 2D plane to rasterize the elevation grid map. In order to compromise between algorithm accuracy and computing performance, the grid map resolution is set to r = 0.34m.
[0098] Step S3: Perform ground grid identification on each grid unit according to the grid point cloud data variance, specifically:
[0099] Use the known grid point cloud height variance to identify grids that contain only ground points. If the variance of the point cloud within the grid is below the threshold t f , then the grid is considered to be mainly composed of ground points, so it is marked as a ground grid. If the variance within the grid is greater than the threshold t f , the grid is considered to contain a more complex structure (such as obstacles, buildings, etc.), so it is marked as a non-ground grid; the threshold t fChanges with distance from the sensor to reduce errors in long-distance measurements:
[0100] t f = k·d pl ; (1)
[0101] Among them, d pl is the Euclidean distance between point p and the sensor origin l, and k is the distance scaling factor, set to k = 10 -5 , which scales the distance to the variance threshold; when the point cloud data comes from a place far away from the sensor, the measurement error is usually large, so the point cloud data far away from the sensor may have a higher variance; by adjusting the threshold, the variance threshold of the points far away can be increased, thereby avoiding the points far away from the sensor being misjudged as ground points.
[0102] Considering the sparsity of point cloud data, especially in places far away from the sensor, the density of point cloud data will be significantly reduced. Sparsity makes it unreliable to directly rely on the variance of each grid to judge the ground grid. When the number of points in the grid is less than:
[0103]
[0104] Where r is the grid resolution, d gl is the distance to the sensor, d j is the angular distance between the two points of the sensor, d j =0.5°;
[0105] The type of grid is determined by the variance of the grids in the 3×3 or 5×5 range around it, and the size of the range depends on the distance d between the grid and the sensor. ps It depends.
[0106] In this embodiment, d is set ps =20m, that is, when the grid is 20 meters or less away from the sensor, the grid variance of the surrounding 3×3 range is considered, otherwise the grid variance of the surrounding 5×5 range is considered. When the distance is far, the point cloud is more sparse, and expanding the neighborhood range can provide more point cloud information, so as to more accurately identify the ground grid. By introducing the neighborhood variance, the scarcity of a certain grid data can be compensated by using the data of more surrounding grids, so as to more accurately identify the ground grid; this is the algorithm improvement of the method of the present invention for the sparsity of long-distance point clouds.
[0107] Step S4: Calculate the ground grid elevation information to update the local elevation map, specifically:
[0108] Calculate the elevation value of each ground grid, the elevation value g of ground grid i,j i,j The calculation method is as follows:
[0109]
[0110] Among them, D i,j is the point count matrix of ground grid i,j, M i,j is the minimum height value matrix, The operator is the multiplication of the elements at the corresponding positions of the matrix; the elevation value estimate of the ground grid is obtained by calculating the weighted sum of the point count and the minimum height value matrix, and then dividing it by the total number of points; this method can balance the number of points and height information, thereby reducing the impact of noise and outliers.
[0111] The confidence level of the elevation value estimate of ground grid i,j is defined as:
[0112]
[0113] Among them, D i,j is the point count matrix, s is the confidence point count scaling parameter, s = 20; that is, each grid must contain at least 20 points with a maximum elevation value confidence of 1; when the number of points in the grid is more, the confidence is higher. When the number of points in the grid is less than 20, the confidence will gradually decrease, which can avoid the impact of sparse point clouds on elevation value estimation;
[0114] The ground grid elevation value and confidence of this step are merged with the ground grid elevation value and confidence of the previous frame. The elevation value of the current frame is:
[0115]
[0116] in, and is the elevation value and elevation confidence of the previous frame; frames with higher confidence have a greater impact on the final result and improve the stability of elevation value estimation; the elevation value confidence of the current frame is:
[0117]
[0118] Among them, z i,j is the height confidence just updated, is the elevation confidence of the previous frame; the current frame z i,j The weight of is halved to balance multiple detection results and prevent inaccurate elevation estimation due to detection errors in a certain frame.
[0119] At the same time, the elevation value g of the non-ground grid is calculated according to formula (3): i,j , if it is lower than the elevation value of the previous frame, that is This indicates that the elevation value of the current frame is correct; then the elevation value of the non-ground grid in the current frame is updated to the latest value, that is, And increase confidence The confidence will be increased by 0.1, with a maximum limit of 0.5. This is to avoid over-confidence caused by a single update, ensuring that even if the elevation values of non-ground grids are updated, the increase in confidence is gradual. The purpose of the above steps is to avoid under-segmentation of grids covered by obstacles.
[0120] Step S5: estimating the non-ground grid elevation information based on the ground grid elevation information, thereby updating the global elevation map, specifically:
[0121] The elevation value of each non-ground grid is set to the confidence-weighted sum of the estimated ground elevation value of the grid and the average of the 3×3 neighborhood of the grid:
[0122]
[0123] Among them, Z i,j is a 3×3 confidence matrix, G i,j is a 3×3 elevation value matrix centered at i,j, The operator represents the multiplication operation of elements at corresponding positions in the matrix;
[0124] The confidence of the neighboring points is used to weight the average elevation of the surrounding grids, ensuring that if the confidence of the current grid is low, the information of the neighboring points is more important. If the confidence of the current grid is high, the elevation information of the previous frame is weighted and combined with the current calculation result to further correct the elevation value. The confidence of the elevation value of the non-ground grid is updated as follows:
[0125]
[0126] in, is the confidence of the elevation value of frame i,j on the grid, and parameter θ is a constant decay factor that gradually reduces the confidence of non-ground grids over time; parameter θ is a constant decay factor that gradually reduces the confidence of non-ground grids over time, avoiding over-reliance on the elevation data of a specific frame, which helps to reduce error propagation and improve the stability of long-term estimates.
[0127] like Figure 3 As shown in the figure, the global elevation map reflects the height information near the sensor and provides an overall terrain view to describe the height distribution of the sensor's surrounding environment. This information can describe nearby ground undulations, obstacles, buildings and other features, realizing the terrain estimation function;
[0128] Step S6: The global elevation map provides terrain information near the sensor, which is used to perform point cloud segmentation, that is, to obtain the final ground points and non-ground points, specifically:
[0129] Using the global elevation map, the point cloud is segmented by comparing the z-axis height of each point with the elevation value of the grid where it is located, and two thresholds t are set. o and t g , and t o =0.1m,t g = 0.3m to segment the point cloud, t g Used to segment ground points, t o Used to segment obstacle points;
[0130] For any point p, the difference between its z-axis height and the grid elevation value is Δh. If t o <Δh <t g , p is a non-ground point, if Δh>t g , or Δh <t o , then p is a ground point;
[0131] By setting a larger threshold difference, the system can accurately distinguish between obstacles and the ground, thereby ensuring that obstacles in the point cloud can be effectively identified; setting a smaller threshold difference helps avoid interference with ground point detection due to slopes or irregular terrain, thereby reducing misjudgments.
[0132] In order to better illustrate the advantages of the technical solution of the present invention, the following experiments are disclosed in this embodiment for point cloud ground segmentation and terrain estimation tasks respectively.
[0133] Experimental setup:
[0134] Dataset: The point cloud ground segmentation performance of this method is evaluated using the SemitikKITTI dataset, which is widely used in point cloud ground segmentation; the airborne lidar dataset ISPRS and is used to evaluate the terrain estimation capability. ISPRS includes Vaihingen and Postdam. Vaihingen is a relatively small village with many independent buildings and small multi-story buildings; Postdam is a typical historical city with large buildings, narrow streets and dense settlement structures.
[0135] Evaluation Metrics: We use the following metrics to quantitatively evaluate the performance of point cloud ground segmentation methods:
[0136]
[0137] Among them, TP and FP represent the number of true positive and false positive ground points, and TN and FN represent the number of true negative and false negative ground points. The higher the above values, the better the algorithm is at segmenting the ground point cloud.
[0138] The performance of terrain estimation methods is quantitatively evaluated using the following metrics:
[0139]
[0140] Where n is the number of data points, y i is the actual value, is the predicted value, is the square of the error of each data point. The lower the above value, the better the algorithm is in terrain estimation.
[0141] Experimental details: The SemanticKITTI dataset is used to evaluate the ground point cloud segmentation performance of this method; in the quantitative evaluation, points labeled lane-marking, other-ground, parking, road, sidewalk, and terrain are defined as ground points. Points labeled unlabeled and outlier are ignored in the evaluation because they do not belong to any category. The settings of the main parameters have been described in Example 1.
[0142] The terrain estimation performance of the proposed method is evaluated using the ISPRS airborne lidar dataset. The data is preprocessed by filtering outliers and rasterizing the point cloud to a 0.5-meter grid size.
[0143] Experimental results: This method is compared with the most advanced methods in recent years. The quantitative analysis results of the point cloud ground segmentation task are shown in Table 1, and the quantitative analysis results of the terrain estimation task are shown in Table 2.
[0144] Table 1. Performance evaluation on the SemitikKITTI dataset.
[0145] Precision Recall F1 Accuracy IoU Patchwork++ 95.80 97.41 96.59 95.68 93.41 GndNet 93.51 97.70 95.53 94.33 91.51 JPC 97.08 94.97 95.91 94.91 92.19 Ours 96.98 97.64 97.31 96.61 94.77
[0146] Table 2. Performance evaluation on the ISPRS dataset
[0147] Vaihingen Postdam GndNet 0.297 1.581 Ours 0.197 0.489
[0148] The performance data of these benchmark methods are all from their respective original papers; the average Precision, Recall, F1, IoU and Accuracy of the SemantikKITTI dataset and the average RMSE of the ISPRS dataset are reported. Tables 1 and 2 show that compared with other methods, this method has shown the best performance in most indicators, proving the effectiveness of this method.
[0149] The above description is only an embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of the claims of the present invention.
Claims
1. A point cloud ground segmentation method based on elevation map, characterized by: The method comprises the following steps: Step S1: filtering outlier points of pre-input point cloud data based on the initial elevation map; Step S2: rasterizing the point cloud data after outlier points are removed, and calculating the grid point cloud variance; Step S3: performing ground grid identification on each grid cell according to the grid point cloud data variance; Step S4: Calculate ground grid elevation information to update the local elevation map; Step S5: estimating non-ground grid elevation information using ground grid elevation information, thereby updating the global elevation map; Step S6: The global elevation map provides terrain information near the sensor, which is used to perform point cloud segmentation to obtain the final ground points and non-ground points.
2. The method for ground segmentation of point cloud based on elevation map according to claim 1, characterized in that: In step S1, outlier points are filtered out of the pre-input point cloud data based on the initial elevation map, specifically: Step S1-1: Obtain the elevation map of the previous frame; Take the LiDAR sensor as the origin of the Cartesian coordinate system, with coordinates (0,0,0). The coordinates (x,y,z) of any point output by the LiDAR sensor are the coordinates of the point relative to the LiDAR sensor. is the horizontal distance from the radar sensor to the point, and z is the vertical distance from the radar sensor to the point; Step S1-2: Filter outliers; Take the straight line connecting the sensor position and the target point, and determine whether the intersection of this straight line and the current known elevation map is within the radar beam range. If it is within the radar beam range, keep the point, otherwise remove the point; Comparison angle The vertical azimuth angle range θ with the laser radar beam, if If yes, remove the point, otherwise keep the point; Wherein, d is the horizontal distance from the radar sensor to the above intersection, Hh is the vertical distance from the radar sensor to the above intersection, and h is the estimated grid height of the elevation map.
3. The method for point cloud ground segmentation based on elevation map according to claim 1, characterized in that: In step S2, the point cloud data after outlier points are filtered out is rasterized, and the grid point cloud variance is calculated, specifically: Project the filtered point cloud onto a 2D plane, rasterize the elevation grid map, and set the grid map resolution to r = 0.34m; Step S2-1: Project the point cloud onto a two-dimensional plane to generate a regular grid, and compress the data and reduce the complexity by having each grid cell represent the attributes of an area; Step S2-2: Calculate the variance of the z-axis point coordinates of each grid using the Welford algorithm; Step S2-3: When all data points are processed, calculate the point cloud height variance using the following formula: Among them, M is the amount gradually accumulated during the processing, and n is the total number of points processed; The final variance indicates the degree of discreteness of the point cloud dataset, that is, the degree of deviation of the height of each point from the overall mean.
4. The method for point cloud ground segmentation based on elevation map according to claim 3, characterized in that: In step S2-2, the Welford algorithm is used to calculate the variance of the z-axis point coordinates of each grid, specifically: Step S2-2-1: Initialize the point counter n=0, indicating that no data point has been processed, the mean μ=0, and the variance M=0; Step S2-2-2: For each point cloud's z-axis height, perform the following operations: Increase the counter n = n + 1, that is, each time a new point is processed, the counter is increased by 1, indicating that the number of points processed has increased; Calculate the difference between the current data point and the current mean δ = z-μ, where δ is the difference between the current point and the current mean; update the mean The mean is updated in a weighted manner, i.e., the newly added points are taken into account when calculating the current mean; The mean is updated recursively, and the variance is updated M=M+δ·(z-μ); the variance update is based on the difference between the current point and the new mean; the recursive update method of the variance allows the variance to be calculated directly when processing each new data without reprocessing all the data.
5. The method for ground segmentation of point cloud based on elevation map according to claim 1, characterized in that: In step S3, ground grid identification is performed on each grid unit according to the grid point cloud data variance, specifically: Use the known grid point cloud height variance to identify grids that only contain ground points. If the variance of the point cloud within the grid is lower than the threshold t f , then this grid is considered to be mainly composed of ground points and is marked as a ground grid; If the variance within the grid is greater than the threshold t f , then the grid is considered to contain a more complex structure and is marked as a non-ground grid; Threshold t f Changes with distance from the sensor to reduce errors in long-distance measurements: t f =k·d pl ;(1) Among them, d pl is the Euclidean distance between point p and the sensor origin l, and k is the distance scaling factor, which is set to k = 10 -5 , which scales the distance to a variance threshold; Considering the sparsity of point cloud data, especially in places far away from the sensor, the density of point cloud data will be significantly reduced. Sparsity makes it unreliable to directly rely on the variance of each grid to judge the ground grid. When the number of points in the grid is less than: Where r is the grid resolution, d gl is the distance to the sensor, d j is the angular distance between the two points of the sensor, d j =0.5°; The type of grid is determined by the variance of the grids in the 3×3 or 5×5 range around it, and the size of the range depends on the distance d between the grid and the sensor. ps It depends.
6. The method for ground segmentation of point cloud based on elevation map according to claim 1, characterized in that: In step S4, the ground grid elevation information is calculated to update the local elevation map, specifically: Calculate the elevation value of each ground grid, the elevation value g of ground grid i,j i,j The calculation method is as follows: Among them, D i,j is the point count matrix of ground grid i,j, M i,j is the minimum height value matrix, The operator is the multiplication of the elements at the corresponding positions of the matrix; the elevation value estimate of the ground grid is obtained by calculating the weighted sum of the point count and the minimum height value matrix, and then dividing it by the total number of points; The confidence level of the elevation value estimate of ground grid i,j is defined as: Among them, D i,j is the point count matrix, s is the confidence point count scaling parameter, s=20; that is, each grid must contain at least 20 points with a maximum elevation value confidence of 1; The ground grid elevation value and confidence of this step are merged with the ground grid elevation value and confidence of the previous frame. The elevation value of the current frame is: in, and is the elevation value and elevation confidence of the previous frame; frames with higher confidence have a greater impact on the final result and improve the stability of elevation value estimation; the elevation value confidence of the current frame is: Among them, z i,j is the height confidence just updated, is the elevation confidence of the previous frame; If it is lower than the elevation value of the previous frame, This indicates that the elevation value of the current frame is correct; then the elevation value of the non-ground grid in the current frame is updated to the latest value, that is, And increase confidence The confidence level will increase by 0.1, capped at a maximum of 0.
5.
7. The method for ground segmentation of point cloud based on elevation map according to claim 1, characterized in that: In step S5, the non-ground grid elevation information is estimated using the ground grid elevation information, thereby updating the global elevation map, specifically: The elevation value of each non-ground grid is set to the confidence-weighted sum of the estimated ground elevation value of the grid and the average of the 3×3 neighborhood of the grid: Among them, Z i,j is a 3×3 confidence matrix, G i,j is a 3×3 elevation value matrix centered at i,j, The operator represents the multiplication operation of elements at corresponding positions in the matrix; The confidence of the neighboring points is used to weight the average elevation of the surrounding grids, ensuring that if the confidence of the current grid is low, the information of the neighboring points is more important. If the confidence of the current grid is high, the elevation information of the previous frame is weighted and combined with the current calculation result to further correct the elevation value. The confidence of the elevation value of the non-ground grid is updated as follows: in, is the confidence of the elevation value of the previous frame i,j of the grid, and the parameter θ is a constant decay factor that gradually reduces the confidence of the non-ground grid over time.
8. The method for ground segmentation of point cloud based on elevation map according to claim 1, characterized in that: In step S6, the global elevation map provides terrain information near the sensor, which is used to perform point cloud segmentation, that is, to obtain the final ground points and non-ground points, specifically: Using the global elevation map, the point cloud is segmented by comparing the z-axis height of each point with the elevation value of the grid where it is located, and two thresholds t are set. o and t g , and t o =0.1m,t g = 0.3m to segment the point cloud, t g Used to segment ground points, t o Used to segment obstacle points; For any point p, the difference between its z-axis height and the grid elevation value is Δh. If t o <Δh <t g , p is a non-ground point, if Δh>t g , or Δh <t o , then p is a ground point; By setting a larger threshold difference, obstacles and the ground can be accurately distinguished, thereby ensuring that obstacles in the point cloud can be effectively identified; setting a smaller threshold difference helps avoid interference with ground point detection due to slopes or irregular terrain, thereby reducing misjudgments.
Citation Information
Patent Citations
Ground point cloud segmentation method and system, ground modeling method and medium
CN114820657A
Obstacle detection method based on high-precision map
CN115861966A
Pothole detection system and method for unmanned vehicle
CN116203587A
Point cloud segmentation method and system, and computer storage medium
WO2021097618A1
Cited By
WebGL-based three-dimensional local terrain protrusion weakening method
CN121095496A