PCL中3D特征描述子Shot详解
上周点云公众号开始分享群友们的反馈分享,由博主分配任务,半个月甚至一个月参与学习小伙伴的反馈给群主,并在微信交流群中进行学术交流,加强大家的阅读文献能力,并提高公众号的分享效果。已经有一些开始陆续反馈中,在此期待之前参与任务的小伙伴赶紧将你们的分享发送给群主吧,同时也希望更多的同学能参与进来,参与我们下一轮学习!
SHOT概述
SHOT(Signature of Histogram of Orientation)是一种基于局部特征的描述子,在特征点处建立局部坐标系,将邻域点的空间位置信息和几何特征统计信息结合起来描述特征点。Tombari 等人将现有三维局部特征描述方法分为两类,即基于特征的描述方法与基于直方图的描述方法,并分析了两种方法的优势,提出基于特征的局部特征描述方法要比后者在特征的描述能力上更强,而基于直方图的局部特征描述方法在特征的鲁棒性上比前者更胜一筹。
计算3D表面之间的相似程度(表面匹配)是计算机视觉任务尤其是3D对象识别和表面对齐的关键。通过匹配3D描述符建立的局部对应关系可以用于解决更高级别的任务,例如3D对象识别。这种方法以有效地处理诸如遮挡,杂乱和视点变化等问题。
SHOT步骤
The first category, that includes earliest works on the subject, describes the 3D surface neighborhood of a given point (hereinafter support) by defining an invariant local Reference Frame (RF) and encoding, according to the local coordinates, one or more geometric measurements computed individually on each point of a subset of the support.
一方面,通过定义不变的局部坐标系(RF)并根据局部坐标单独编码计算一个点的支撑区域的几何特征,来描述给定点的3D表面邻域(下文称为Support)。
On the other hand, Histogram-based methods describe the support by accumulating local geometrical or topological measurements (e.g. point counts, mesh triangle areas) into histograms according to a specific quantized domain (e.g. point coordinates, curvatures) which requires the definition of either a Reference Axis (RA) or a local RF.
另一方面,基于直方图的方法通过根据特定的量化域(例如点坐标,曲率)将局部几何或拓扑测量(例如点数,网格三角形区域)累积到直方图中来描述支撑区域,这需要定义参考轴Reference Axis(RA)或局部RF。(local Reference Frame)
step1: 根据特征点球邻域信息建立局部参考坐标系LRF,对特征点的球邻域分别沿径向(内外球)、经度(时区)和纬度方向(南北半球)进行区域划分。通常径向划分为2,经度划分为8,纬度划分为2,总共32个小区域。
step2:分别统计每个小区域内的法向量夹角余弦值分布情况,法向量划分为11个bin。最终SHOT的长度为:32x11=352。
分解步骤1:建立坐标系
法向估计 得到Z轴一般使用的PCA
计算该点K近邻组成类似平面的XYZ方向上的特征值就是它的法线。通过主成分分析法(PCA)来计算它的方向也具有二义性,无法对整个点云数据集的法线方向进行一致性定向。
本文中添加了一个距离参数,给邻域内较远的点分配较小的权重,协方差矩阵的构造过程和深度图中某点的法向计算类似,不同的是,该方法在构造协方差矩阵时加上了距离权重。离特征点距离近的点对协方差矩阵构造的贡献大,距离特征点远的点对协方差矩阵构造的贡献小,这样增强了局部参考系在复杂场景中的可重复性。
为了计算方便,设置特征点P为质心,设置半径为R的球形支撑区域。
另外本文还解决了法线二义性的问题,将由上式得到的特征值从大到小排列,与其对应的三个特征向量分别称为x +,y +和z +轴。
这个公式大致意思是说特征点P邻域内点Pi满足点到P的距离小于R并且该点减去特征点,与x+同向,满足这两个条件的点数较多,X+就是X轴的正向。也就是说必须使各向量的方向指向局部表面点分布的高密度方向。Y轴由Z和X叉乘得到。
分解步骤2:直方图特征描述
提出了一种3D描述符,其对基本一阶微分实体(即支撑区域内的点的法线)的直方图进行编码,与平面3D坐标相比,其更能代表表面的局部结构。
SHOT描述在纹理上的扩展
由于最初提出的SHOT描述子是不针对纹理和颜色信息的,单纯的几何信息编码影响识别的准确率,因此后来SHOT加入了颜色信息。SHOT中的颜色编码主要是LAB空间(CIELAB计算)中的颜色;直方图31级,因此颜色描述子长度32x31 = 992;添加颜色信息的SHOT描述子共1344维。
参考文献
[1] http://docs.pointclouds.org/trunk/structpcl_1_1_s_h_o_t1344.html
[2] http://www.vision.deis.unibo.it/research/80-shot
[3] https://blog.csdn.net/FireMicrocosm/article/details/78059151
[4] https://www.cnblogs.com/BellaVita/p/10019409.html
[5] F. Tombari *, S. Salti *, L. Di Stefano, "Unique Signatures of Histograms for Local Surface Description", 11th European Conference on Computer Vision (ECCV), September 5-11, Hersonissos, Greece, 2010.
[6] F. Tombari, S. Salti, L. Di Stefano, "A combined texture-shape descriptor for enhanced 3D feature matching", IEEE International Conference on Image Processing (ICIP), September 11-14, Brussels, Belgium, 2011.
[7] S. Salti, F. Tombari, L. Di Stefano, "SHOT: Unique Signatures of Histograms for Surface and Texture Description", Computer Vision and Image Understanding, May, 2014.
[8] 邓俊文,基于二值描述符的三维目标识别研究 。重庆大学硕士学位论文.
此分享来自北京工业大学的闫同学,在此感谢她为公众号的分享,并号召大家积极分享共同营造良好的交流分享的氛围,并且此文章已经上传至github组群。同时文章中若有疑问或者错误请留言指正。