A Point Cloud Ground Segmentation Method Based on Elevation Map

By using a point cloud ground segmentation method based on elevation maps, the problems of accuracy and computational load in ground segmentation under complex scenarios are solved. This method achieves efficient and accurate identification of ground points on slopes and uneven roads, and is suitable for resource-constrained application scenarios.

CN119941756BActive Publication Date: 2025-10-31NANJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510035349.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-10-31
Estimated Expiration
2045-01-09

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively identify and segment ground conditions such as slopes and uneven roads in complex scenarios, resulting in high computational complexity and low accuracy in ground segmentation.

Method used

A point cloud ground segmentation method based on elevation maps is adopted, which includes steps such as outlier filtering, point cloud rasterization, calculation of grid point cloud variance, ground grid identification, and local and global elevation map updates. Ground points are dynamically identified through elevation information, reducing false filtering and computational resource requirements.

Benefits of technology

It improves the accuracy and computational efficiency of ground point recognition, adapts to complex environments, reduces computational resource requirements, and is suitable for resource-constrained practical application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119941756B_ABST
    Figure CN119941756B_ABST
Patent Text Reader

Abstract

This invention discloses a point cloud ground segmentation method based on elevation maps, belonging to the field of ground segmentation and modeling technology. The method includes: filtering outliers from point cloud data; rasterizing the point cloud data and calculating the variance of the grid point cloud; identifying ground grids for each grid cell based on the variance of the grid point cloud data; calculating the elevation information of the ground grids to update the local elevation map; estimating the elevation information of non-ground grids and updating the global elevation map. This invention, by employing an outlier filtering algorithm based on elevation maps, can dynamically identify ground points according to the surrounding terrain, reducing the false screening of effective points and avoiding excessively sparse point clouds in some meta-regions. This improves the uniformity of point cloud data distribution and processing efficiency, reduces the demand for computing resources, and is suitable for resource-constrained practical applications. Dynamically setting grid point thresholds and variance thresholds enables more accurate identification and extraction of ground points.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of ground segmentation and modeling technology, specifically relating to a point cloud ground segmentation method based on elevation maps. Background Technology

[0002] Video anomaly detection is a crucial computer vision task, widely used in security monitoring, intelligent transportation systems, and public transportation. In recent years, mobile robots have been increasingly used to perform specific tasks in various complex environments. Among these, Simultaneous Localization and Mapping (SLAM) has gradually become a research hotspot for solving perception problems in complex indoor and outdoor environments. A robust SLAM system needs to be able to handle dynamic environments, identify and process dynamic objects, and avoid these objects interfering with localization and map building. The key to identifying dynamic objects lies in eliminating interference items such as ground points to reduce false matches.

[0003] Common laser point cloud ground segmentation methods can be mainly divided into three categories. The first category filters the point cloud based on the relative height from the sensor to the actual ground, and then uses the RANSAC method to estimate the ground point cloud. The second category introduces two-dimensional line fitting on a uniform polar coordinate grid representation to estimate the line equation on each grid. Then, in each grid, a point is determined to be a ground point by comparing a constant threshold with estimated parameters (such as point-to-line distance, gradient, or y-intercept). The third category estimates ground points in real time using deep learning methods based on information such as ground plane elevation.

[0004] However, due to the complexity of real-world scenarios, the first type of method is prone to undersegmentation when faced with steep slopes and uneven roads; the second type of method is prone to oversegmentation when faced with vehicles, steps, and pedestrians; and the third type of method, although it has good ground segmentation results, requires training of deep learning models and has poor adaptability to various environments.

[0005] In summary, the technical problem this invention aims to solve is how to address the issue of repetitive segmentation of ground images in complex scenes, effectively identify and segment ground conditions such as slopes and uneven roads, reduce the computational load of ground segmentation, and improve the accuracy of ground segmentation. Summary of the Invention

[0006] The purpose of this invention is to provide a point cloud ground segmentation method based on elevation maps to solve the problems mentioned in the background art.

[0007] The objective of this invention is achieved as follows: a point cloud ground segmentation method based on elevation maps, characterized by the following steps:

[0008] Step S1: Filter outliers from the pre-input point cloud data based on the initial elevation map;

[0009] Step S2: Rasterize the point cloud data after outlier filtering and calculate the variance of the grid point cloud;

[0010] Step S3: Identify the ground grid for each grid cell based on the variance of the grid point cloud data;

[0011] Step S4: Calculate ground grid elevation information to update the local elevation map;

[0012] Step S5: Estimate 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. It is used to perform point cloud segmentation, which yields the final ground points and non-ground points.

[0014] Preferably, in step S1, outlier filtering of the pre-input point cloud data based on the initial elevation map specifically involves:

[0015] Step S1-1: Obtain the elevation map of the previous frame;

[0016] Taking the lidar sensor as the origin of the Cartesian coordinate system with coordinates (0,0,0), and the coordinates (x,y,z) of any point output by the lidar sensor as the coordinates of that point relative to the lidar sensor, then... is the horizontal distance from the radar sensor to that point, and z is the vertical distance from the radar sensor to that point;

[0017] Step S1-2: Perform outlier filtering;

[0018] Take the straight line connecting the sensor position and the target point, and determine whether the intersection of this straight line and the currently known elevation map is within the radar's beam range. If it is within the radar's beam range, keep the point; otherwise, discard the point.

[0019] Comparison angle The vertical azimuth angle range θ of the lidar beam, if If the point is not removed, it is removed; otherwise, it is retained.

[0020] Where d is the horizontal distance from the radar sensor to the intersection point, Hh is the vertical distance from the radar sensor to the intersection point, and h is the height of the estimated grid on the elevation map.

[0021] Preferably, in step S2, the point cloud data after outlier filtering is rasterized, and the variance of the grid point cloud is calculated, specifically as follows:

[0022] The filtered point cloud is projected onto a 2D plane, and a rasterized elevation grid is created, with the grid resolution set to r = 0.34m.

[0023] Step S2-1: Project the point cloud onto a two-dimensional plane to generate a regular grid. Compress the data and reduce complexity by using the attribute that each grid cell represents a region.

[0024] Step S2-2: Calculate the variance of the z-axis coordinates of each grid using the Welford algorithm;

[0025] Step S2-3: After all data points have been processed, calculate the point cloud height variance using the following formula:

[0026] Where M is the amount that accumulates gradually during the processing, and n is the total number of points processed;

[0027] The variance obtained at the end represents the degree of dispersion of the point cloud dataset, that is, the degree of deviation of the height of each point from the overall mean.

[0028] Preferably, in step S2-2, the Welford algorithm is used to calculate the variance of the z-axis coordinates of each grid point, specifically as follows:

[0029] Step S2-2-1: Initialize the point counter n = 0, indicating that no data points have been processed yet, mean μ = 0, variance M = 0;

[0030] Step S2-2-2: For the z-axis height of each point cloud, perform the following operations:

[0031] The counter is incremented by n = n + 1, meaning that the counter is incremented by 1 for each new point processed, 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, meaning that newly added points are taken into account when calculating the current mean;

[0033] The mean is updated recursively, and the variance M = M + δ·(z-μ) is updated accordingly. The variance is updated based on the difference between the current point and the new mean. The recursive update method of variance allows the variance to be calculated directly when processing each new data point, without having to reprocess all the data.

[0034] Preferably, in step S3, ground grid identification is performed on each grid cell based on the variance of the grid point cloud data, specifically as follows:

[0035] The known variance of the grid point cloud height is used to identify grids that contain only ground points. If the variance of the point cloud within the grid is below a threshold t, the grid is considered a valid grid.f If so, 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 If the grid contains a relatively complex structure, it is considered to contain a non-ground grid.

[0037] Threshold t f It varies with the distance from the sensor to reduce errors in long-distance measurements:

[0038] t f =k·d pl (1)

[0039] Where, d pl It is the Euclidean distance between point p and the sensor origin l, and k is the distance scaling factor, set to k = 10. -5 It scales the distance to a variance threshold;

[0040] Given the sparsity of point cloud data, especially in areas far from the sensor where the density decreases significantly, this sparsity makes relying directly on the variance of each grid cell to determine the ground grid unreliable. When the number of points within a grid cell is less than:

[0041]

[0042] Where r is the grid resolution, d gl It is the distance to the sensor, d j d is the angular distance between two points of the sensor. j =0.5°;

[0043] The type of grid is determined by the variance of the surrounding 3×3 or 5×5 grid, the size of which depends on the distance d between the grid and the sensor. ps And so on.

[0044] Preferably, in step S4, calculating the ground grid elevation information to update the local elevation map specifically involves:

[0045] The elevation value of each ground grid is calculated, and the elevation value g of ground grid i,j is calculated. i,j The calculation method is as follows:

[0046]

[0047] Among them, D i,j M is the point counting matrix of ground grid i,j. i,j It is a matrix of minimum height values. The operator is a multiplication operation based on the corresponding elements of the matrix; by calculating the weighted sum of the point count and the minimum height value matrix, and then dividing by the total number of points, the elevation value estimate of the ground grid is obtained;

[0048] The confidence level of the elevation value estimation for ground grid i,j is defined as follows:

[0049]

[0050] Among them, D i,j is a point counting matrix, and s is a confidence point counting 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 values ​​and confidence levels from this step are fused with those from the previous frame. The elevation value for the current frame is:

[0052]

[0053] in, and This refers to the elevation value and elevation confidence level of the previous frame; frames with higher confidence levels have a greater impact on the final result, improving the stability of elevation value estimation; the elevation value confidence level of the current frame is:

[0054]

[0055] Among them, z i,j This is the newly updated elevation confidence level. It is the elevation confidence level of the previous frame;

[0056] 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; therefore, the elevation value of the non-ground grid in the current frame will be updated to the latest value. And increase confidence. The confidence level will increase by 0.1, but the maximum value is limited to 0.5.

[0057] Preferably, in step S5, the elevation information of non-ground grids is estimated based on the ground grid elevation information to update the global elevation map, specifically as follows:

[0058] The elevation value for each non-ground grid is set as the confidence-weighted sum of the estimated ground elevation values ​​for that grid and the average of the 3×3 neighborhood of that grid:

[0059]

[0060] Among them, Z i,j It is a 3×3 confidence matrix, G i,j It is a 3×3 elevation value matrix centered at i,j. The operator represents a multiplication operation based on the corresponding elements of the matrix;

[0061] The elevation values ​​of surrounding grids are weighted and averaged using the confidence scores of neighboring points. This ensures that if the current grid has a low confidence score, the information from neighboring points is more important; if the current grid has a high confidence score, its elevation information from the previous frame is weighted and combined with the current calculation result to further refine the elevation value. The confidence scores of the elevation values ​​of non-ground grids are updated as follows:

[0062]

[0063] in, It is the confidence level of the elevation value of frame i,j on the grid. The parameter θ is a constant decay factor that gradually reduces the confidence level of non-ground grids over time.

[0064] Preferably, in step S6, the global elevation map provides terrain information near the sensor, which is used for point cloud segmentation to obtain the final ground points and non-ground points, specifically:

[0065] Using a global elevation map, the point cloud is segmented by comparing the z-axis elevation of each point with the elevation value of its corresponding grid, with two threshold values ​​t set. o and t g , and t o =0.1m,t g =0.3m for point cloud segmentation, 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 Let p be a non-ground point, and if Δh > t g , or Δh <t o If p is a ground point, then p is a ground point.

[0067] By setting a larger threshold difference, obstacles and the ground can be accurately distinguished, thus ensuring that obstacles in the point cloud can be effectively identified; setting a smaller threshold difference helps to avoid interference from slopes or irregular terrain on ground point detection, thereby reducing false positives.

[0068] Compared with the prior art, the present invention has the following improvements and advantages:

[0069] 1. By adopting an outlier filtering algorithm based on elevation maps, ground points can be dynamically identified according to the surrounding terrain, reducing the false screening of effective points and avoiding excessively sparse point clouds in some meta-regions. This improves the uniformity of point cloud data distribution and processing efficiency, reduces the demand for computing resources, and is suitable for resource-constrained practical application scenarios.

[0070] 2. By using Welford variance calculation to classify ground / non-ground grids, secondary traversal of point cloud data is avoided. The ground / non-ground grids take into account the sparsity of point cloud data and the error of distant points. By dynamically setting grid point thresholds and variance thresholds, ground points can be identified and extracted more accurately.

[0071] 3. The grid elevation values ​​used are simple and fast to calculate. The elevation values ​​of non-ground grids are estimated based on the terrain around the sensor. Global and local elevation maps are introduced, along with elevation value confidence scores, and the data is dynamically updated between frames, which improves the accuracy and robustness of the algorithm. Attached Figure Description

[0072] Figure 1 This is a flowchart of the method of the present invention.

[0073] Figure 2 This is a schematic diagram of the outlier filtering method provided in Embodiment 1 of the invention.

[0074] Figure 3 This is a schematic diagram of terrain estimation provided in Embodiment 1 of the invention. Detailed Implementation

[0075] The invention will be further summarized below with reference to the accompanying drawings.

[0076] Example 1:

[0077] SLAM (Simultaneous Localization and Mapping) systems are a key technology in the field of robotics, used to enable robots to autonomously locate and navigate in unknown environments. SLAM systems allow robots to collect environmental data through their own sensors without prior environmental information, and simultaneously complete self-localization and environmental map construction during movement.

[0078] In practice, the robot collects environmental information through its onboard sensors (such as depth cameras, LiDAR, and inertial measurement units). These sensors provide the robot with data on environmental structure, texture, and distance. The robot is also equipped with a control terminal, which processes and fuses the collected environmental information using 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 and control of the robot.

[0079] like Figure 1 As shown, a point cloud ground segmentation method based on elevation maps specifically includes the following process:

[0080] Step S1: Filter outliers from the pre-input point cloud data based on the initial elevation map, specifically:

[0081] like Figure 2 As shown, taking the lidar sensor as the origin of the Cartesian coordinate system with coordinates (0,0,0), and the coordinates (x,y,z) of any point output by the lidar sensor as the coordinates of that point relative to the lidar sensor, then... is the horizontal distance from the radar sensor to that point, and z is the vertical distance from the radar sensor to that point;

[0082] Comparison angle The vertical azimuth angle range θ of the lidar beam (30° in this embodiment), if If the point is not removed, it is removed; otherwise, it is retained.

[0083] Where d is the horizontal distance from the radar sensor to the intersection point, Hh is the vertical distance from the radar sensor to the intersection point, and h is the height of the estimated grid on 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 currently known elevation map is within the radar's beam range. If it is within the radar's beam range, keep the point; otherwise, discard the point.

[0085] LiDAR measures distance by emitting a laser beam and receiving the reflected light. If the laser beam reflects multiple times between different surfaces, the receiver may receive incorrect signals, causing the measured point's position to deviate from the original beam path. Some materials (such as highly reflective surfaces like car bodies) may reflect the laser beam in other directions, resulting in returned signals from indirect paths, leading to misjudged distances by the LiDAR or the laser being reflected to nearby receivers. In urban scenarios, for example, laser reflections from car bodies can create point clouds below the ground level, and these outliers can cause problems with ground estimation. Therefore, this implementation uses outlier detection to filter out these outliers below the ground level.

[0086] Step S2: Rasterize the point cloud data after outlier filtering and calculate the variance of the grid point cloud, specifically:

[0087] The filtered point cloud is projected onto a 2D plane, and a rasterized elevation grid is created, with the grid resolution set to r = 0.34m.

[0088] Step S2-1: Project the point cloud onto a two-dimensional plane to generate a regular grid. Compress the data and reduce complexity by using the attribute that each grid cell represents a region.

[0089] Step S2-2: Calculate the variance of the z-axis coordinates of each grid using the Welford algorithm;

[0090] Step S2-2-1: Initialize the point counter n = 0, indicating that no data points have been processed yet, mean μ = 0, variance M = 0;

[0091] Step S2-2-2: For the z-axis height of each point cloud, perform the following operations:

[0092] The counter is incremented by n = n + 1, meaning that the counter is incremented by 1 for each new point processed, 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, meaning that newly added points are taken into account when calculating the current mean;

[0094] The mean is updated recursively, and the variance M = M + δ·(z-μ) is updated accordingly. The variance is updated based on the difference between the current point and the new mean. The recursive update method of variance allows the variance to be calculated directly when processing each new data point, without having to reprocess all the data.

[0095] Step S2-3: After all data points have been processed, the point cloud height variance is calculated using the formula... The calculation is performed, where M is the amount that accumulates gradually during the processing, and n is the total number of points processed.

[0096] The variance obtained at the end represents the degree of dispersion 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 typically consists of a large number of randomly distributed points in 3D space, resulting in a massive dataset that is difficult to use directly. The point cloud density is also uneven within the original region. Rasterization converts the data into a uniform format for easier processing. The point cloud is projected onto a 2D plane to generate a regular raster (grid). The data is compressed and complexity reduced by using the attribute that each raster cell represents a region. The filtered point cloud is then projected onto a 2D plane to create a rasterized elevation grid map. To balance algorithm accuracy and computational performance, the grid map resolution is set to r = 0.34m.

[0098] Step S3: Perform ground grid identification for each grid cell based on the variance of the grid point cloud data, specifically as follows:

[0099] Use the known variance of the grid point cloud height to identify grids that contain only ground points. If the variance of the point cloud within the grid is below a threshold t... f If the variance within the grid is greater than a threshold t, then the grid is considered to consist primarily of ground points and is therefore labeled as a ground grid. f If the threshold t is not met, the grid is considered to contain a relatively complex structure (such as obstacles, buildings, etc.), and is therefore marked as a non-ground grid; fIt varies with the distance from the sensor to reduce errors in long-distance measurements:

[0100] t f =k·d pl (1)

[0101] Where, d pl It is the Euclidean distance between point p and the sensor origin l, and k is the distance scaling factor, set to k = 10. -5 It scales the distance to a variance threshold; when point cloud data comes from a location far from the sensor, the measurement error is usually large, so point cloud data far from the sensor may have a high variance; by adjusting the threshold, the variance threshold of distant points can be increased, thereby preventing points far from the sensor from being misclassified as ground points.

[0102] Given the sparsity of point cloud data, especially in areas far from the sensor where the density decreases significantly, this sparsity makes relying directly on the variance of each grid cell to determine the ground grid unreliable. When the number of points within a grid cell is less than:

[0103]

[0104] Where r is the grid resolution, d gl It is the distance to the sensor, d j d is the angular distance between two points of the sensor. j =0.5°;

[0105] The type of grid is determined by the variance of the surrounding 3×3 or 5×5 grid, the size of which depends on the distance d between the grid and the sensor. ps And so on.

[0106] In this embodiment, d is set. ps =20m, meaning that when the grid is 20 meters or less from the sensor, the variance of the surrounding 3×3 grid area is considered; otherwise, the variance of the surrounding 5×5 grid area is considered. At greater distances, the point cloud sparsity is stronger, and expanding the neighborhood range can provide more point cloud information, thus enabling more accurate identification of ground grids. By introducing neighborhood variance, data from more surrounding grids can be used to compensate for the scarcity of data from a particular grid, thereby more accurately identifying ground grids; this is an algorithmic improvement of the method in this invention for addressing the sparsity of point clouds at long distances.

[0107] Step S4: Calculate ground grid elevation information to update the local elevation map, specifically:

[0108] The elevation value of each ground grid is calculated, and the elevation value g of ground grid i,j is calculated. i,j The calculation method is as follows:

[0109]

[0110] Among them, D i,j M is the point counting matrix of ground grid i,j. i,j It is a matrix of minimum height values. The operator is a multiplication operation based on the corresponding elements of the matrix; by calculating the weighted sum of the point count and the minimum height value matrix, and then dividing by the total number of points, the elevation value estimate of the ground grid is obtained; this method can balance the number and height information of points, thereby reducing the influence of noise and outliers.

[0111] The confidence level of the elevation value estimation for ground grid i,j is defined as follows:

[0112]

[0113] Among them, D i,j This is the point count matrix, and 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 more points in the grid, the higher the confidence. When the number of points in the grid is less than 20, the confidence gradually decreases, which can avoid the impact of sparse point clouds on elevation value estimation;

[0114] The ground grid elevation values ​​and confidence levels from this step are fused with those from the previous frame. The elevation value for the current frame is:

[0115]

[0116] in, and This refers to the elevation value and elevation confidence level of the previous frame; frames with higher confidence levels have a greater impact on the final result, improving the stability of elevation value estimation; the elevation value confidence level of the current frame is:

[0117]

[0118] Among them, z i,j This is the newly updated elevation confidence level. It is the elevation confidence of the previous frame; the current frame z i,j The weight is halved to balance the results of multiple detections and prevent inaccurate elevation estimation due to detection errors in a single frame.

[0119] Simultaneously, 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; therefore, the elevation value of the non-ground grid in the current frame will be updated to the latest value. And increase confidence. The confidence level will increase by 0.1, with a maximum limit of 0.5. This is to avoid excessively high confidence levels due to a single update, ensuring that the increase in confidence is gradual, even when elevation values ​​of non-ground meshes are updated. The purpose of these steps is to avoid insufficient mesh segmentation due to obstacles.

[0120] Step S5: Estimate non-ground grid elevation information using ground grid elevation information to update the global elevation map, specifically as follows:

[0121] The elevation value for each non-ground grid is set as the confidence-weighted sum of the estimated ground elevation values ​​for that grid and the average of the 3×3 neighborhood of that grid:

[0122]

[0123] Among them, Z i,j It is a 3×3 confidence matrix, G i,j It is a 3×3 elevation value matrix centered at i,j. The operator represents a multiplication operation based on the corresponding elements of the matrix;

[0124] The elevation values ​​of surrounding grids are weighted and averaged using the confidence scores of neighboring points. This ensures that if the current grid has a low confidence score, the information from neighboring points is more important; if the current grid has a high confidence score, its elevation information from the previous frame is weighted and combined with the current calculation result to further refine the elevation value. The confidence scores of the elevation values ​​of non-ground grids are updated as follows:

[0125]

[0126] in, It represents the confidence level of the elevation values ​​of frame i,j on the grid. The parameter θ is a constant decay factor that gradually reduces the confidence level of non-ground grids over time. The parameter θ is a constant decay factor that gradually reduces the confidence level 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 estimation.

[0127] like Figure 3 As shown, the global elevation map reflects the height information near the sensor, providing a holistic terrain view to describe the height distribution of the environment surrounding the sensor. This information can describe features such as nearby ground undulations, obstacles, and buildings, thus enabling terrain estimation.

[0128] Step S6: The global elevation map provides terrain information near the sensor, which is used for point cloud segmentation to obtain the final ground points and non-ground points, specifically:

[0129] Using a global elevation map, the point cloud is segmented by comparing the z-axis elevation of each point with the elevation value of its corresponding grid, with two threshold values ​​t set. o and t g , and t o =0.1m,t g =0.3m for point cloud segmentation, 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 Let p be a non-ground point, and if Δh > t g , or Δh <t o If p is a ground point, then p is a ground point.

[0131] By setting a larger threshold difference, the system can accurately distinguish between obstacles and the ground, thus ensuring that obstacles in the point cloud can be effectively identified; setting a smaller threshold difference helps to avoid interference from slopes or irregular terrain on ground point detection, thereby reducing false positives.

[0132] 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] Datasets: The performance of this method in point cloud ground segmentation is evaluated using the SemantikKITTI dataset, which is widely used for point cloud ground segmentation; the airborne LiDAR dataset ISPRS 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 building complexes, narrow streets and dense settlement structure.

[0135] Evaluation metrics: We use the following metrics to quantitatively evaluate the performance of the point cloud ground segmentation method:

[0136]

[0137] Here, TP and FP represent the number of true positive and false positive ground points, while TN and FN represent the number of true negative and false negative ground points. Higher values ​​indicate better performance of the algorithm in segmenting the ground point cloud.

[0138] The following metrics are used to quantitatively evaluate the performance of terrain estimation methods:

[0139]

[0140] Where n is the number of data points, y i This is the actual value. It is a predicted value. This is the square of the error for each data point. The lower the value, the better the algorithm performs in terrain estimation.

[0141] Experimental Details: The ground point cloud segmentation performance of this method was evaluated using the SemanticKITTI dataset. In the quantitative evaluation, points labeled lane-marking, other-ground, parking, road, sidewalk, and terrain were defined as ground points. Points labeled unlabeled and outlier were ignored in the evaluation because they did not belong to any of these categories. The settings of the main parameters have been described in Example 1.

[0142] The terrain estimation performance of this method was evaluated using the ISPRS airborne lidar dataset. Outliers were filtered out and the point cloud was rasterized to a 0.5-meter grid size to preprocess the data.

[0143] Experimental Results: This method was compared with the most advanced methods in recent years. Table 1 shows the quantitative analysis results of the point cloud ground segmentation task, and Table 2 shows the quantitative analysis results of the terrain estimation task.

[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] Performance data for these benchmark methods are derived 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 our proposed method exhibits best performance in most metrics compared to other methods, demonstrating its effectiveness.

[0149] The above description is merely an embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention should be included within the scope of the claims of the present invention.

Claims

1. A point cloud ground segmentation method based on elevation maps, characterized in that: The method includes the following steps: Step S1: Filter outliers from the pre-input point cloud data based on the initial elevation map; Step S2: Rasterize the point cloud data after outlier filtering and calculate the variance of the grid point cloud; Step S3: Identify the ground grid for each grid cell based on the variance of the grid point cloud data; Step S4: Calculate ground grid elevation information to update the local elevation map; Calculate ground grid elevation information to update the local elevation map, specifically: The elevation value of each ground grid is calculated. elevation value The calculation method is as follows: ;(3) in, It is a ground grid The point counting matrix, It is a matrix of minimum height values. The operator is a multiplication operation based on the corresponding elements of the matrix; by calculating the weighted sum of the point count and the minimum height value matrix, and then dividing by the total number of points, the elevation value estimate of the ground grid is obtained; Ground grid The confidence level for elevation estimation is defined as: ;(4) in, It is a point counting matrix. It is the confidence point count scaling parameter. That is, each grid must contain at least 20 points with a maximum elevation value and a confidence level of 1. The ground grid elevation values ​​and confidence levels from this step are fused with those from the previous frame. The elevation value for the current frame is: ;(5) in, and This refers to the elevation value and elevation confidence level of the previous frame; frames with higher confidence levels have a greater impact on the final result, improving the stability of elevation value estimation; the elevation value confidence level of the current frame is: ;(6) in, This is the newly updated elevation confidence level. It is the elevation confidence level of the previous frame; If it is lower than the elevation value of the previous frame, that is If the elevation value in the current frame is correct, then the elevation value of that ground grid in the current frame will be updated to the latest value. And increase confidence. The confidence level will increase by 0.1, with a maximum limit of 0.

5. Step S5: Estimate non-ground grid elevation information using ground grid elevation information, thereby updating the global elevation map; The elevation information of non-ground grids is estimated from ground grid elevation information to update the global elevation map, specifically as follows: The elevation value for each non-ground grid is set as the confidence-weighted sum of the estimated ground elevation values ​​for that grid and the average of the 3×3 neighborhood of that grid: ; in, It is a 3×3 confidence matrix. Therefore A 3×3 elevation matrix centered on the center. The operator represents a multiplication operation based on the corresponding elements of the matrix; The elevation values ​​of surrounding grids are weighted and averaged using the confidence scores of neighboring points. This ensures that if the current grid has a low confidence score, the information from neighboring points is more important; if the current grid has a high confidence score, its elevation information from the previous frame is weighted and combined with the current calculation result to further refine the elevation value. The confidence scores of the elevation values ​​of non-ground grids are updated as follows: ; in, The previous frame on the grid Elevation confidence level, parameters It is a constant decay factor that gradually reduces the confidence level of non-ground grids over time; Step S6: The global elevation map provides terrain information near the sensor. It is used to perform point cloud segmentation, which yields the final ground points and non-ground points.

2. The point cloud ground segmentation method based on elevation map according to claim 1, characterized in that: In step S1, outlier filtering is performed on the pre-input point cloud data based on the initial elevation map, specifically as follows: 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 as follows: The coordinates of any point output by the lidar sensor Let the coordinates of this point be relative to the lidar sensor, then It is the horizontal distance from the radar sensor to that point. It is the vertical distance from the radar sensor to that point; Step S1-2: Perform outlier filtering; Take the straight line connecting the sensor position and the target point, and determine whether the intersection of this straight line and the currently known elevation map is within the radar's beam range. If it is within the radar's beam range, keep the point; otherwise, discard the point. Comparison angle Vertical azimuth range of the lidar beam ,like If the condition is met, then the point is removed; otherwise, the point is retained. in, The horizontal distance from the radar sensor to the intersection point mentioned above. This is the vertical distance from the radar sensor to the aforementioned intersection point. It is an elevation map that estimates the grid height.

3. The point cloud ground segmentation method based on elevation maps according to claim 1, characterized in that: In step S2, the point cloud data after outlier filtering is rasterized, and the variance of the grid point cloud is calculated. Specifically: The filtered point cloud is projected onto a 2D plane, and a rasterized elevation grid is created, with the grid resolution set to [resolution value missing]. ; Step S2-1: Project the point cloud onto a two-dimensional plane to generate a regular grid. Compress the data and reduce complexity by using the attribute that each grid cell represents a region. Step S2-2: Calculate the value of each grid cell using the Welford algorithm. The variance of the axis coordinates; Step S2-3: After all data points have been processed, calculate the point cloud height variance using the following formula: ,in, It is the amount that accumulates gradually during the processing. It represents the total number of points processed. The variance obtained at the end represents the degree of dispersion of the point cloud dataset, that is, the degree of deviation of the height of each point from the overall mean.

4. The point cloud ground segmentation method based on elevation maps according to claim 3, characterized in that: In step S2-2, the Welford algorithm is used to calculate the value of each grid cell. The variance of the axis coordinates is as follows: Step S2-2-1: Initialize the point counter This indicates that no data points have been processed yet, and the mean is the mean. ,variance ; Step S2-2-2: For the z-axis height of each point cloud, perform the following operations: Increase counter That is, each time a new point is processed, the counter is incremented by 1, indicating that the number of points processed has increased; Calculate the difference between the current data point and the current mean. , It is the difference between the current point and the current mean; update the mean. The mean is updated in a weighted manner, that is, when calculating the current mean, newly added points are taken into account; Update the mean and variance using a recursive approach. The variance is updated based on the difference between the current point and the new mean. The recursive update method of variance allows the variance to be calculated directly when processing each new data point, without having to reprocess all the data.

5. The point cloud ground segmentation method based on elevation maps according to claim 1, characterized in that: In step S3, ground grid identification is performed on each grid cell based on the variance of the grid point cloud data. Specifically: The known variance of the grid point cloud height is used to identify grids that contain only ground points. If the variance of the point cloud within the grid is below a threshold... If so, 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 If the grid contains a relatively complex structure, it is considered to contain a non-ground grid. threshold It varies with the distance from the sensor to reduce errors in long-distance measurements: ;(1) in, It is a point and sensor origin Euclidean distance, It is the distance scaling factor, set to It scales the distance to a variance threshold; Given the sparsity of point cloud data, especially in areas far from the sensor where the density decreases significantly, this sparsity makes relying directly on the variance of each grid cell to determine the ground grid unreliable. When the number of points within a grid cell is less than: ;(2) in, It's the grid resolution. It is the distance to the sensor. It is the angular distance between two points of the sensor. ; The type of grid is determined by the variance of the surrounding 3×3 or 5×5 grid, the size of which depends on the distance between the grid and the sensor. And so on.

6. The point cloud ground segmentation method based on elevation maps according to claim 1, characterized in that: In step S6, the global elevation map provides terrain information near the sensor, which is used for point cloud segmentation to obtain the final ground points and non-ground points, specifically: Using a global elevation map, compare each point The point cloud is segmented using the axis height and the elevation value of its corresponding grid, with two thresholds set. and ,and , To segment the point cloud, Used to segment ground points, Used to segment obstacle points; For any point ,That The difference between the axis height and the grid elevation value is ,like , If it is a non-ground point, ,or ,but For ground points; By setting a larger threshold difference, obstacles and the ground can be accurately distinguished, thus ensuring that obstacles in the point cloud can be effectively identified; setting a smaller threshold difference helps to avoid interference from slopes or irregular terrain on ground point detection, thereby reducing false positives.

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