基于增量高斯分布的Lidar点云分割算法
论文:On the Segmentation of 3D LIDAR Point Clouds
1. 引言介绍
本研究提出了一套针对各种密度的3D点云设计的分割方法。 它说明了在密集数据背景下对物体分割之前,对地面提取的好处。Cluster-All
方法在简单性,准确性和计算时间方面实现了最佳折衷。其局限性存在于稀疏数据的背景下,并且针对后一种情况提出了两种新的分割方法:
- 用于概率地建模的
GP-INSAC
算法,可用于由几个传感器得到的稀疏或密集的任何3D点云的处理。 - 基于网格的技术,针对距离图像的处理进行了优化。
使用两个新的度量标准对所有算法在几组人工标记的数据上进行评估。
2. 算法介绍
2.1 框架
本研究从三个方面考虑了点云的分割问题。首先,它研究各种类型的3D数据,从密集(例如从Riegl传感器进行3D扫描)到稀疏(单个Velodyne扫描)。 其次,使用不同类型的模型来表示和分割地面。探索了三种主要的地面模型:grid based
(如标准高程图[1],第III-B节),Gaussian Process based
(第III-C.1节)和 mesh based
(第III-C.2节))。第三,测试了几种类型的3D聚类技术,特别是评估了具有各种聚类连接标准的基于3D网格的分割。得到的算法是地面模型和3D聚类方法的组合。本研究评估了哪种算法可以为每种数据类型提供更好的分割性能。
密集和稀疏数据的概念在此基于具有恒定分辨率的世界的离散化来定义。 如果可以利用非空单元(接收至少一个数据点的单元)的连通性捕获大多数扫描表面的连通性,则认为数据集是密集的。 对于较稀疏的数据,空单元的数量增加,这导致对象被过度分段。 用于分割密集数据的算法涉及基于网格的恒定分辨率模型,而用于处理稀疏数据的算法使用具有非恒定粒度的地面表示,并实现各种类型的插值机制作为桥接数据中的孔的方法。
稠密数据的处理 (Grid Based)
- Ground Segmentation
- Cluster-All Method
- Base-Of Method
- Base-Of With Ground Method
稀疏数据的处理(Gaussian Process based + mesh based)
- Gaussian Process Incremental Sample Consensus (GP - INSAC)
- Mesh Based Segmentation
Gaussian Process Incremental Sample Consensus (GP-INSAC)
高斯过程增量样本共识(GP-INSAC
)算法是一种概率性,迭代的连续地面估计方法,用于稀疏混乱的非地面物体的三维数据集。在[17]中探讨了使用高斯过程(GP)方法来建模稀疏地形数据。这些方法有三个对分割有用的属性:(1)它们对稀疏数据进行操作;(2)它们是概率性的,因此可以严格指定分割的决策边界,(3)它们是连续的,避免了一些密集方法中的网格约束。然而,GP
方法通常假设大多数数据属于地形表面而不是物体或杂乱点;即他们认为几乎没有异常值。在这里,GP
方法可以被重新表述为一种基于模型的异常值拒绝方法,其中内点是属于地面的点,异常值属于混乱的非表面对象点,最终将其进行分类。 GP-INSAC
算法保持了GP
地形建模的特性,并添加了对异常点的区分能力。
异常点分类,原文是outlier rejection,在这个人理解是进行区分分类。
在这异常点可以理解为“非地面点(外点)”
异常点区分的常见方法是Random Sample Consensus(RANSAC
)算法[12]。 随着模型复杂性的增加,指定它所需的假设内点的数量也会增加,从而导致RANSAC
的计算性能降低。 对于包括GP
的复杂模型,提出了一种称为增量样本一致的替代方法。 尽管动机是RANSAC
不够实用,但INSAC
并不像在[12]那样是RANSAC
的变体。执行确定性迭代,逐步地从高概率内点的单个种子拟合模型,而不是在随机选择的种子上迭代解。
INSAC
方法由算法2指定。从一组数据和高置信度内容的先验种子子集开始,INSAC
算法将一个模型拟合到种子,然后对剩余的数据点进行评估(类似于第一个RANSAC
的迭代)。将所有非内点与该模型进行比较(使用算法2中的Eval)。INSAC
使用概率模型来估计其预测的不确定性,从而产生两个阈值:\(t_{model}\) 描述了模型必须在内/外域进行处理的确定程度。随后,\(t_{data}\)指定数据(\(x\))与模型预测(\(μ_{model}\))的归一化接近度,该数据被认为是内部所需的。在给定数据和模型中噪声的估计值(分别为\(\sigma_{data}\),\(\sigma_{model})\)的情况下,使用马氏距离的变量对该度量进行归一化来完成。这两个规则如下表达:
如果第一个不等式失败,则将一个点归类为未知。 通过第一个不等式的点如果它们也通过第二个不等式则被分类为内部,否则它们是异常值。从种子开始,每次迭代累积内点。 这允许INSAC
“搜索”数据以查找内部数据,而不允许未知点破坏模型。 执行迭代直到找不到更多的内点。 该过程结合了模型的外推和插值,但仅限于确定性足够高的区域。这可以在图2中GP-INSAC
的迭代序列中看出。第一次迭代推断但是错过了一个点,因为数据不确定性太大。 通过第三次迭代,一旦模型/数据协议可能性更大,它就使用插值捕获了这一点。 与RANSAC
一样,此方法可以与任何核心模型一起使用,但是对于诸如GP
这样复杂概率模型而言,这样做的理由最充分。
在算法3中给出了使用GP
进行地形估计的定制INSAC
算法。该算法包括四个关键步骤; 数据压缩,种子计算,INSAC
和数据解压缩。 图2显示了模拟2D数据的基本算法的三次迭代,以说明该过程,不包括压缩。
GP
模型处理稀疏数据的能力允许压缩数据这个可选步骤,以减少计算时间。 在算法3的第1行和第2行中以两个阶段执行压缩。首先将数据分配给具有恒定单元尺寸 \(r\)米的固定 \(3D\) 网格结构。在每个单元格中,内容由其 \(3D\) 平均值表示。在第二阶段,通过在网格平均值的每 \(d\) 中保持 \(1\) 来抽取数据。第一阶段将数据压缩到均匀密度,通过计算均值来避免网格量化误差。 第二阶段允许进一步压缩,而不需要更大(更不精确)的单元尺寸。
一旦执行可选的压缩,一个可能的接地点的初始种子可以使用特定的种子功能来确定。对于这项研究,选择这样的点,在传感器的固定半径 \(R_s\)内也低于传感器基准高度 \(B_s\) (\(| x | <R_s\) 和 \(x_z <B_s\)),假设该区域在非地面物体上局部整齐。然后根据算法2在抽取的网格平均值上执行INSAC
。这将抽取的网格平均数据分为三类:内点,异常值或未知数,并根据内点提供表示连续地面的GP
模型。然后在算法3的第5和第6行中对数据进行解压缩。使用来自算法2的第7行中的INSAC
方法的相同函数,使用GP
模型(来自抽取装置)对所有未抽取的装置进行分类。公式III-C.1。最后,使用 GridMeanDecompress
,通过单元格对应将网格平均类应用于完整输入数据。输出是原始数据的完整分类,如内部(属于地面),异常值(属于对象)或未知(无法高度确定地分类)。
对于稀疏分段,算法3中GP-INSAC
产生的地面数据被视为一个分区。 然后,SegmentVoxelGrid
使用第III-B.2节中的Cluster-All
方法处理非地面数据,以产生剩余的非地面数据。 未知点仍然归类为此类。 在第五节中,使用不同的参数值来表示算法的性能,并且通过与手分区数据的比较给出最佳参数选择。