Rotational Projection Statistics for 3D Local Surface Description and Object Recognition
本博客是针对论文《Rotational Projection Statistics for 3D Local Surface Description and Object Recognition》的一篇学习笔记。该论文介绍了一种在存在噪声和遮挡的情况下进行特征提取并创建描述符Rotational Projection Statistics (RoPS)的方法。该方法包括三个模块:定义局部参考帧(LRF),RoPS特征描述和3D对象识别。其中实现部分作者分别采用如下方法:
- 通过计算位于局部表面上的所有点的散射矩阵来定义LRF
- 通过将特征点的相邻点旋转投影到2D平面上并计算这些投影点的分布的一组统计(包括低阶中心矩和熵)来获得RoPS特征描述符。
- 使用所提出的LRF和RoPS描述符建立了分层三维物体识别算法。
一、物体识别
目的:正确识别场景中存在的物体并恢复它们的姿势(即位置和方向)。
存在问题:在有噪声、网格分辨率变换、遮挡和杂乱的情况下识别来自距离图像的对象仍然是一项具有挑战性的任务。
目前基于3D对象识别的算法主要包括:基于全局特征和基于局部特征。 基于全局特征的算法构造了一组特征,这些特征对整个3D对象的几何属性进行编码。结合全局特征来进行3D对象识别主要是使用深度学习来完成,例如PointNet、PointNet++、PointCNN等方法。而基于局部特征的算法定义了一组特征,这些特征编码特征点的局部邻域的特征。基于局部特征的算法对于遮挡和杂乱是鲁棒的,因此可以很好地进行物体识别。
目前提出的基于局部特征的算法论文主要有Point Signature、Using spin images for efficient object recognition in cluttered 3D scenes、Three-dimensional model-based object recognition and segmentation in cluttered scenes、3D geometric scale variability in range images: Features and descriptors。这些算法都包括三个阶段:特征匹配、假设生成和验证、姿态细化。对于局部特征描述符,根据是否使用本地参考帧(LRF)可以分为两类:(没有任何LRF的特征描述符情况下)使用直方图、局部几何信息(例如,法线,曲率)的统计来形成特征描述符。
这篇论文中提出的Rotational Projection Statistics (RoPS)方法是一种用于局部特征描述和物体识别的方法,通过特征分解和符号重构来完成的LRF构造。
二、局部曲面特征描述
(一)Local Reference Frame
作者在此通过对位于局部表面上的所有点的散射矩阵执行特征值分解来确定LRF的三个轴。 通过将方向与点散射的区域对齐来消除每个轴的符号。作者在这里用球体的局部表面网格和网格中的点来进行的例证:
给定特征点p和支撑半径r,对于以p为中心、半径为r的球体,从距离图像中裁剪包含N个三角形和M个顶点的局部表面网格S。 对于具有顶点,
和
的第
个三角形,位于三角形内的任意一点可以表示为:
①。
位于第i个三角形内的所有点的散射矩阵可以计算为:
②。将①代入公式②中可以得到散射矩阵
表示为:
③。对于整个局部表面网格S,它的总散射矩阵C被计算为所有三角形的散射矩阵的加权和,即:
④,其中N是S中三角形的个数,
是第
个三角形的面积和局部表面S面积之间的比率,即:
⑤,其中“×”代表叉积的运算;
是与特征点到第
个三角形的质心的距离相关的权重,即:
⑥。在这里,第一权重
将会提升LRF在面对变换的网格分辨率的表现,而第二权重
则是用来改善LRF面对遮挡和杂波的滤波性能。
为了构造LRF,在这里作者首先对散射矩阵进行特征值分解,即: ⑦。其中,
是矩阵
的特征值
的对角矩阵,
包含着三个正交向量
,且特征向量对应的特征值从大到小排列。
为了更好的构造LRF(由于局部曲面的对称性,所以这里只用特征分解的方法并不能消除LRF的符号模糊性),作者在这里又引入了一种新的符号消歧技术,在下面会剖析一下作者所引出的符号消歧技术。
(二)Sign Disambiguation
为了消除LRF的符号模糊性,每个特征向量应指向散射矢量的主方向(从特征点开始,并指向位于局部表面上的点的方向)。 因此,每个特征向量的符号由特征向量的内积和散射向量的符号确定。因此,在这里作者采用将特征向量模糊定义为:
的方法。其中,函数
代表提取实数的符号,而h的计算为:
同样,将特征向量定义为:
。在这里将
定义为
。这里,p是原点,v1,v2和v3分别是x,y和z轴。此时生成LRF,使用此LRF可以生成唯一、姿势不变且高辨别性的局部特征描述符。
(三)对LRF的优化(实验部分)
作者为了评估提出的LRF的可重复性和鲁棒性,计算了场景和模型中点对之间的LRF误差。
实验中使用的六个场景是通过对原始的网格数据降采样了,然后将高斯噪声和0.1的网格分辨率标准差加到原始数据中。在每个模型中随机选择1,000个点,并将这些点称为特征点。然后通过搜索与模型中的特征点的距离最小的点来获得场景中的对应点。对于每个点对
,我们计算两个点之间的LRF,并将值定义为
和
。对于第
个点对两个LRF之间的误差,作者提出的计算公式为:
,其中
代表两个LRF之间的旋转误差量,在没有错误的情况下为零。
作者通过五次随机选择1,000个不同的点对来测试每个方法的总LRF,每种技术的总LRF误差显示为直方图。
图中部分LRF误差大于80°,主要是由于场景中存在局部对称表面(例如,平坦或球形表面)。 对于局部对称曲面,由于其分布,其LRF存在固有的符号模糊性,因为点的分布在所有方向上几乎相同。 为了处理这种情况,作者采用了一种特征点选择技术,该技术使用特征值的比率来避免局部对称的表面。确定LRF后,下一步是定义局部表面描述符。
(四)RoPS描述符
作者对于RoPS描述符通过执行局部表面旋转、相邻点投影和统计计算进行求解。
作者通过上图给出了整个RoPS方法的说明。首先,图a和图b分别给出了模型和局部表面重构的网格图像。由于已经为p定义了LRF,并且将局部表面S中三角形的顶点构成了一个点云,然后相对于Q进行LRF变换以便实现旋转不变性,新的点云为
。将点云围绕x轴旋转角度
,从而产生旋转的点云
。然后将该点云
投影到三个坐标平面(即xy,xz和yz平面)上以获得三个投影点云
,i = 1,2,3,如图d。对投影点云
,获取其2D边界矩阵,然后计数落入每个箱中的点的数量以产生L×L矩阵D,如图e。矩阵D称为“归属矩阵”,它表示相邻点的2D分布。分布矩阵D被进一步归一化,使得所有区间的总和等于1,以便实现网格分辨率的变化的不变性。
为了进一步压缩分布矩阵D中的信息以便实现计算和存储效率,作者从分布矩阵D中提取了一组统计数据,包括中心矩和香农熵,中心矩被用于它们的数学简单性和丰富的描述性,而香农熵被选择用于测量概率分布中包含的信息的功能。矩阵D的阶m + n的中心矩可以被定义为:
,其中
,
。香农熵e计算为:
。这些选定的中心矩与香农熵一起用于形成统计向量,即图f。然后将来自xy,xz和yz平面的三个统计矢量连接起来以形成子特征
,表示围绕x轴的第k次旋转的总统计量,即图g。然后通过将所有旋转的子特征连接成向量来生成整体特征描述符,即:
RoPs描述符有4个参数:
- 统计数的组合(文章中通过列举不同的组合找到了最佳的组合方式)
- 分区L的数目(本文中推荐设置为5)
- 每个坐标系中的旋转系数T(本文中推荐设置为3)
- 支撑半径r(取15mr)
对于这些参数的取值作者在论文中有所讲解,在这里就不一一陈述了。
描述符通常通过准确率和召回率来进行评估,召回率的定义为:,精准度的定义为:
。通过改变阈值,可以生成RP曲线。理想情况下,RP曲线将落在图的左上角,这意味着该特征可以获得高召回率和精度。
(五)物体识别流程图