Back To List
基于局部特征描述子的点云配准

基于局部特征描述子的点云配准

传统的点云配准算法如icp算法在对两组点云或多组点云进行配准时,一般都需要点云具备比较好的初始对齐姿态,这样再使用迭代最近点的方法对两两点云进行配准。这种点云配准方法在需要对齐点云的应用场景中很常见。但他有比较强的限制条件,需要两组点云有一个好的初始姿态。否则点云的配准会陷入局部最优解,无法完成点云间对齐。但在很多情况下,两组点云没有初始对齐姿态,其初始姿态是完全未知的。这种情况,可以使用局部特征描述子对两组点云进行描述。局部特征描述子与点云姿态无关,仅与点云及其临近点云形成的局部特征有关。利用这种信息,可以有效的完成点云的初始配准,为后续基于迭代最近点的精细配准,提供良好的初始姿态。下面根据不同的特征描述,分别介绍特征直方图(Point Feature Histograms,PFH)、快速点特征直方图(Fast Point Feature Histograms, FPFH)、视点特征直方图VFH(Viewpoint Feature Histogram)。并分析他们的区别及优缺点。

引言

一堆离散的样点,只包含相对于某个坐标系下的位置参数,虽然能在空间中比较好的显示出物体的样子来,但对于视觉来说,这是远远不够的。之所以在文章的题目中提到特征,就是希望能用特征的方法,达到视觉识别的功能。

离散点云,除了坐标信息外,最为直观的特征就是点、法向、曲率,这是最简单的特征,也是最忠实于原始点云的,这些特征包含了点云的最为详细的数据,虽然很少直接的使用,但在这个特征的基础上,可以实现更高层次的识别。计算简单,速度快是这些基础特征的特点之一,但是在进行物体识别的时候,在大场景中,拥有相似法向或曲率的区域太多了,这就从一定程度上削弱了它的作用。

1. PFH

1.1 PFH原理

正如点特征表示法所示,表面法线和曲率估计是某个点周围的几何特征基本表示法。虽然计算非常快速容易,但是无法获得太多信息,因为它们只使用很少的几个参数值来近似表示一个点的k邻域的几何特征。然而大部分场景中包含许多特征点,这些特征点有相同的或者非常相近的特征值,因此采用点特征表示法,其直接结果就减少了全局的特征信息。本小节介绍三维特征描述子中的一位成员:点特征直方图(Point Feature Histograms),我们简称为PFH,本小节将介绍它的理论优势,从PCL实现的角度讨论其实施细节。PFH特征不仅与坐标轴三维数据有关,同时还与表面法线有关。

PFH计算方式通过参数化查询点与邻域点之间的空间差异,并形成一个多维直方图对点的k邻域几何属性进行描述。直方图所在的高维超空间为特征表示提供了一个可度量的信息空间,对点云对应曲面的6维姿态来说它具有不变性,并且在不同的采样密度或邻域的噪音等级下具有鲁棒性。点特征直方图(PFH)表示法是基于点与其k邻域之间的关系以及它们的估计法线,简言之,它考虑估计法线方向之间所有的相互作用,试图捕获最好的样本表面变化情况,以描述样本的几何特征。因此,合成特征超空间取决于每个点的表面法线估计的质量。如图1所示,表示的是一个查询点(Pq) 的PFH计算的影响区域,Pq 用红色标注并放在圆球的中间位置,半径为r, (Pq)的所有k邻元素(即与点Pq的距离小于半径r的所有点)全部互相连接在一个网络中。最终的PFH描述子通过计算邻域内所有两点之间关系而得到的直方图,因此存在一个O(k) 的计算复杂性。

wps3.jpg 

1 查询点 的PFH计算的影响区域

为了计算两点Pi和Pj及与它们对应的法线Ni和Nj之间的相对偏差,在其中的一个点上定义一个固定的局部坐标系,如图2所示


wps4.jpg

2 定义一个固定的局部坐标系

为查询点创建最终的PFH表示,所有的四元组将会以某种统计的方式放进直方图中,这个过程首先把每个特征值范围划分为b个子区间,并统计落在每个子区间的点数目,因为四分之三的特征在上述中为法线之间的角度计量,在三角化圆上可以将它们的参数值非常容易地归一到相同的区间内。一个统计的例子是:把每个特征区间划分成等分的相同数目,为此在一个完全关联的空间内创建有b个区间的直方图。在这个空间中,一个直方图中某一区间统计个数的增一对应一个点的四个特征值。

wps5.jpg 

3 点云中不同点的点特征直方图表示法

1.3 PFH的总结

点特征的描述子一般是基于点坐标、法向量、曲率来描述某个点周围的几何特征。用点特征描述子不能提供特征之间的关系,减少了全局特征信息。因此诞生了一直基于直方图的特征描述子:PFH–point feature histogram(点特征直方图)。

PFH通过参数化查询点和紧邻点之间的空间差异,形成了一个多维直方图对点的近邻进行几何描述,直方图提供的信息对于点云具有平移旋转不变性,对采样密度和噪声点具有稳健性。PFH是基于点与其邻近之间的关系以及它们的估计法线,也即是它考虑估计法线之间的相互关系,来描述几何特征。

PFH的缺点:

计算复杂度高。已知点云P中有n个点,假设点云均匀密度,每点在邻域半径r内平均可以选到k个近邻,该算法对每个点来说计算PFH的时间复杂度为O(k^2),那么它的点特征直方图(PFH)的理论计算复杂度就是 O(nk²)。对于实时应用或接近实时应用中,密集点云的点特征直方图(PFH)的计算,O(nk²)的计算复杂度实在不敢恭维,是一个主要的性能瓶颈。

2. FPFH

2.1 FPFH原理

快速点特征直方图(Fast Point Feature Histograms, FPFH)是PFH计算方式的简化形式。它的思想在于分别计算查询点的k邻域中每一个点的简化点特征直方图(Simplified Point Feature Histogram,SPFH),再通过一个公式将所有的SPFH加权成最后的快速点特征直方图。FPFH把算法的计算复杂度降低到了O(nk) ,但是任然保留了PFH大部分的识别特性。

FPFH计算过程:

只计算每个查询点Pq和它邻域点之间的三个特征元素(参考PFH),在这里不同于PFH:PFH是计算邻域点所有组合的特征元素,而这一步只计算查询点和近邻点之间的特征元素。如下图,第一个图是PFH计算特征过程,即邻域点所有组合的特征值(图中所有连线,包括但不限于Pq和Pk之间的连线),第二个图是FPFH的计算内容,只需要计算Pq(查询点)和紧邻点(图2中红线部分)之间的特征元素。可以看出降低了复杂度我们称之为SPFH(simple point feature histograms)。

wps6.jpgwps7.jpg 

2.2 FPFH与PFH的主要区别

FPFH没有对全互连点的所有邻近点的计算参数进行统计,因此可能漏掉了一些重要的点对,而这些漏掉的对点可能对捕获查询点周围的几何特征有贡献。PFH特征模型是对查询点周围的一个精确的邻域半径内,而FPFH还包括半径r范围以外的额外点对(但不超过2r的范围);因为采用权重计算的方式,所以FPFH结合SPFH值,重新捕获邻近重要点对的几何信息;由于大大地降低了FPFH的整体复杂性,因此FPFH有可能使用在实时应用中

3. VFH

3.1 VFH原理

视点特征直方图VFH(Viewpoint Feature Histogram)描述子,它是一种新的特征表示形式,应用在点云聚类识别和六自由度位姿估计问题。下图展示了VFH识别和位姿估计的一个例子。已知一组训练样本数据(除最左端的点云之外的首行,底行),学习了一个模型,然后使用一个点云(左下方)来查询/测试这个模型。从左下方开始,匹配结果从左到右是按照最好到最坏的顺序排列的。

wps8.jpg 

视点特征直方图(或VFH)是源于FPFH描述子(见Fast Point Feature Histograms (PFH) 描述子)。由于它的获取速度和识别力,我们决定利用FPFH强大的识别力,但是为了使构造的特征保持缩放不变性的性质同时,还要区分不同的位姿,计算时需要考虑加入视点变量。我们做了以下两种计算来构造特征,以应用于目标识别问题和位姿估计:

扩展FPFH,使其利用整个点云对象来进行计算估计(如下图所示),在计算FPFH时以物体中心点与物体表面其他所有点之间的点对作为计算单元。2. 添加视点方向与每个点估计法线之间额外的统计信息,为了达到这个目的,我们的关键想法是在FPFH计算中将视点方向变量直接融入到相对法线角计算当中。

wps9.jpg 

通过统计视点方向与每个法线之间角度的直方图来计算视点相关的特征分量。注意:并不是每条法线的视角,因为法线的视角在尺度变换下具有可变性,我们指的是平移视点到查询点后的视点方向和每条法线间的角度。第二组特征分量就是前面PFH中讲述的三个角度,如PFH小节所述,只是现在测量的是在中心点的视点方向和每条表面法线之间的角度,如下图所示。

wps10.jpg 

因此新组合的特征被称为视点特征直方图(VFH)。下图表体现的就是新特征的想法,包含了以下两部分:

1. 一个视点方向相关的分量

2. 一个包含扩展FPFH的描述表面形状的分量

如有侵权,联系删除

 


Editor:小优智能科技有限公司 Time:Mar 18,2024
给我们Message
验证码