论文Review 地面分割 GroundGrid
基本信息
题目:GroundGrid: LiDAR Point Cloud Ground Segmentation and Terrain Estimation
来源:IEEE ROBOTICS AND AUTOMATION LETTERS 2024
机构:Dahlem Center for Machine Learning and Robotics (DCMLR), Department of Mathematics and Computer Science, Freie Universit ̈at Berlin, Germany
作者:Nicolai Steinke, Daniel Goehring and Ra ́ul Rojas
开源:GitHub - dcmlr/groundgrid: Source code for the article "GroundGrid: LiDAR Point Cloud Ground Segmentation and Terrain Estimation"
背景
LiDAR传感器在自动驾驶汽车领域应用广泛。LiDAR传感器在该领域的许多应用都需要去除地面点。这特别适用于目标检测和分类算法,其中地面分割通常是先于高级感知功能的第一个处理步骤,例如,目标检测和分类。
审稿人非要加上这篇文章进行对比,也不知道这个文章好在哪。要比就比吧!
GROUND SEGMENTATION AND TERRAIN ESTIMATION
GroundGrid 是一种基于栅格的地面分割与地形估计算法,其核心思想是通过动态更新高程图(Elevation Map)实现鲁棒的地面分割。算法流程如下:
-
异常值过滤:剔除传感器视线被遮挡的噪声点。
-
点云栅格化:将点云转换为网格地图,并计算统计特征。
-
地面单元分类:基于方差和邻域信息识别地面单元。
-
地面高程计算:加权融合历史与当前观测,更新高程估计。
-
地形插值:对无数据区域进行置信度加权插值。
-
点云分割:根据高程图分离地面与非地面点。
A. Outlier Filtering
去除地面以下的地面反射点。基于传感器视线检测。若某点与传感器连线和当前高程图存在遮挡,则该点为异常值。通过射线与高程图的几何相交检测,判断是否存在遮挡(类似光线追踪)
B. Point Cloud Rasterization
将点云转换为网格地图,计算每个单元的统计特征,计算每个栅格的高程最大值、最小值、平均值、点数、方差(采用Welford算法递推计算)。
C. Classification of Ground Cells
假设地面平坦,地面栅格的方差低于障碍物存在的栅格。方差的差距根据阈值判断,此阈值会随着距离缩放。
每个栅格内点数必须达到要求才能作为地面栅格,预期点数 n 通过传感器几何估算,实际点数需超过 0.25n。
D. Ground Elevation Calculation
首先根据每个cell的最小高度,根据数量加权平均得到cell内部的地面高度。(这部分论文里解释的不清楚,得看代码)。我理解是,根据点的数量多少加权平均得到地面数量。如果大部分点为地面点,少部分点为障碍物,也可以得到贴近地面的最低高度点,也避免了地面区域有坑的情况。一般处理。
点数占比决定当前观测的可信度,为了计算全局地面点时采用。
加权更新高程和置信度。地面栅格高度是不停更新的,这一点挺巧妙的。 设计意图:降低单次高点数观测的权重,强调多次检测的一致性。
E. Terrain Interpolation
对于没有地面点的cell,采用地面高程差值的做法。从传感器原点向外扩展,优先处理近邻区域。
F. Point Cloud Segmentation
双阈值分割策略:
地面阈值 hg:允许较大高度差(适应斜坡)。
障碍阈值 ho:更严格(ho<hg),确保障碍物完整分割。
分割逻辑:若点高度与对应单元高程的差值超过阈值,则分类为障碍物。
实验
实验表现上看,结果还是挺好的。