天天看点

点云库从入门到精通ch11——点云配准

点云库PCL入门到精通ch11——点云配准

1.为了得到被测物体的完整数据模型,需要确定一个合适的坐标转换,将从各个视角得到的点集合并到一个统一的坐标系下,形成一个完整的数据点云,然后就可以方便地进行可视化操作,这就是点云数据的配准。通常用到的点云配准技术即是自动配准技术:通过一定的算法或统计学规律,利用计算机计算两块点云之间的错位,从而达到把两片点云自动配准的效果。其实质是把在不同坐标系下测量得到的数据点云进行坐标变换,以得到整体的数据模型。问题的关键是如何求得坐标变换参数R(旋转矩阵)和T(平移向量),使得两个视角下测得三维数据经坐标变换后的距离最小。目前配准算法按照实现过程可以分为整体配准和局部配准。配准用到的关键技术有关键点选取,特征描述与提取。

1.1 一对点云配准

一对点云数据集的配准问题为两两配准(pairwise registeration),通常通过应用一个估计得到的表示平移和旋转的4X4刚体变换矩阵来使一个点云数据集精确的与另一个点云数据集进行完美配准。具体实现步骤如下:

1.首先从两个数据集中按照同样的关键点选取标准,提取关键点。

2.对选择的所有关键点分别进行计算其特征描述子。

3.结合特征描述子在两个数据集中的坐标位置,以两者之间特征和位置的相似度为基础,来估算他们的对于应关系,初步估计对应点对。

4.假定数据有噪声,出去对配准有影响的错误对应点对。

5.利用剩余的正确对应关系来估算刚体变换,完成配准。

点云库从入门到精通ch11——点云配准

从上述整个流程可以看出,在整个配准过程中,关键点的提取与关键点的特征描述,影响着整个配准的准确性与效率。

1.2 对应估计

假设我们已经得到由来给你此扫描的点云数据获得的两组特征向量,在此基础基础上,我们必须找到,相似特征再确定数据的重叠部分,然后才能进行配准,根据特征的类型PCL使用不同的方法来搜索特征之间的对应关系。

使用点匹配时(使用点的XYZ的坐标作为特征值),针对有序点云和无序点云数据的不同的处理策略:

1.穷举配准(brute force matching)

2.kd—树最近邻查询(FLANN)

3.在有序点云数据的图像空间中查找

4.在无序点云数据的索引空间中查找

进行特征匹配时(不使用点的坐标,而是某些由查询点邻域确定的特征,如法向量、局部或全局形状直方图等),有以下几种方法:

1.穷举配准

2.kd—树最近邻查询(FLANN)

除了查询之外,对应估计也区分了两种类型:

1.直接对应估计(默认):为点云A中的每一个点搜索点云B中的对应点,确认最终对应点对。

2.相互对应估计:首先为点云A中的点到点云B搜索对应点,最后只取交集作为对应点对。

所有这些在PCL类设计和实现中都以函数的形式让用户自由设定和使用。

1.3 对应关系去除

由于噪声的影响,通常并不是所有估计的对应关系都是正确的,由于错误的对应关系对于最终的刚体变换矩阵的估算会产生负面的影响,所以必须去除它们,可以采用随机采样一致性估计,或者其他方法剔除错误的对应关系,最终使用对应关系数量只使用一定比例的对应关系,这样既能提高变换矩阵的估计精度也可以提高配准点的速度。

遇到有一对多对应关系的特例情况,即目标模型中的一个点对应源中的若干个点与之对应。可以通过只取与其距离最近的对应点,或者检查附近的其他匹配的滤波方法过滤掉其他伪对应关系。同样的针对对应关系的去除,PCL有单独设计类与之对应。

1.4 变换矩阵估算

估算变换矩阵步骤如下:

1.在对应关系的基础上评估一些错误的度量标准。

2.在摄像机位姿和最小化错误度量标准下估算变换

3.优化点的结构

4.使用刚体变换把源旋转/平移到目标所在的同一坐标系下,用所有点、点的一个子集或者关键点运行一个内部ICP循环。

5.进行迭代,直到符合收敛性判断标准为止。

1.5 迭代最近点算法(Iterative CLosest Point简称ICP算法)

ICP算法对待拼接的2片点云,首先根据一定的准则确立对应点集P与Q,其中对应点对的个数为n。然后通过最小二乘法迭代计算最优的坐标变换,即旋转矩阵R和平移矢量t,使得误差函数最小,ICP处理流程分为四个主要的步骤:

1.对原始点云数据进行采样

2.确定初始对应点集

3.去除错误对应点对

4.坐标变换的求解

1.6 采样一致性初始对齐算法

配准算法从精度上分为两类,一种是初始的变换矩阵的粗略估计,另一种是像ICP一样的精度的变换矩阵估计。对于初始的变换矩阵粗略估计贪婪的初始配准方法工作量很大,它使用了点云数据旋转不变的特性。但计算复杂度高,因为在合并的步骤需要查看所有可能的对应关系。此外,因为这是一个贪婪算法,所以有可能只能得到局部最优解。因此我们采用采样一致性方法,试图保持相同的对应关系的几何关系而不必尝试了解有限个对应关系的所有组合。相反,我们从候选对应关系进行大量的采样并通过以下的步骤对他们中的每一个进行排名:

1.从p中选择s个样本点,同时确定他们的配对距离大于用户设定的最小值d(min)

2.对于每个样本点,在Q找到满足直方图和样本点直方图相似的点存入一个列表中。从这些点中随机选择一些代表采样点的对应关系

3.计算通过采样点定义的刚体变换和其对应变换,计算点云的度量错误来评价转换的质量。

我们计划通过查看非常大量的对应关系,快速找到一个好的变换。重复这三个步骤,直到取得存储了最佳度量错误,并使用暴力配准部分数据。最后使用一个Levenberg——Marquardt算法进行非线性局部优化。

继续阅读