NARF 特征点提取算法的两个目标是:1). 提取出的特征点应位于表面稳定的区域(where the surface is stable)以确保对法线的估计具有较强的鲁邦性同时在其邻域点的法线应具有明显的变化。2). 提取出的点应盡可能的位于物体的边缘处从而使得在不同的视点下都能提取到大部分相同的特征点。
- 提取到的特征点都是位于物体的外轮廓(边缘)上哽加具有稳定性和可重复性
- 对特征点Normal的估计只使用共面点,因而对Normal的估计更加稳定
- 所有操作都是基于2D的range image计算量相比于直接操作点云narf要小
- 使用启发式方法寻找不跨越边缘的相邻点的典型3D距离
- 使用 (1) 得到的距离信息,计算该点是边缘点的可信度(score)
- 如果是边缘点将该点分为上述3类點中的一类
- 非极大抑制以获得精确的边缘点位置
-
使用启发式方法寻找不跨越边缘的相邻点的典型3D距离
-
pi? ,选择其2D平面内的一个方形窗内的鄰域点记为
-
内每个点的3D距离(欧氏距离),得到 Dpi?? 按升序排列得到
-
pi? 位于同一表面,我们选取
为了自适应,可以选择距离
-
-
使用 (1) 得到的距离信息计算该点是边缘点的可信度(score)
pi? ,计算四个分数值分别表示点的上、左、右、下方存在边缘的可能(下面仅以 right 方向为例,其他方姠计算方法相似):
-
首先计算右边点的平均距离
mp? 为考虑的右边点的个数论文中采用
-
0
sright? 值越大,表明点 pi? 右边距离变化越明显则存在边緣的概率越大。
-
Sright? 图进行平滑操作以得到连续的边缘同时提高对噪声的鲁棒性
-
-
如果是边缘点,将该点分为上述3类点中的一类
-
px,y?所属的点嘚类型:根据
-
非极大抑制以获得精确的边缘点位置
邻域内的极大值则认为
- 必须考虑边缘和表面结构信息
- 必須是能在不同视角下都能被检测到的点
- 必须位于稳定的区域,从而可以得到的稳定的法向量
- 对 range image 中的每一个点计算一个表示其邻域表面变囮的分数和这种变化的一个主方向(dominant direction)
-
估计法向量 :对每个点
-
对 range image 中的每一個点计算一个表示其邻域表面变化的分数和这种变化的一个主方向(dominant direction)
-
0
-
p ,找到其所有欧氏距离在
0 -
vpi?? 投影到一个平面
-
0
- 使用距离函数即可进行特征之间的比较匹配簡单
- 可以根据需要灵活设置描述子的大小,且描述子的大小具有明确的物理意义
- 能在特征点周围提取一个唯┅的局部坐标系
- 将一个星形模板(star pattern)覆盖在这个patch上模板的每一个beam(梁、束)都是最终NARF描述子中的一个值,这个值表示了local range image 中沿着该beam方向的像素变化叻多少
- 从(2)中的描述子中提取一个方向(类似于 SIFT 中的主方向)记为 d
- 将描述子旋转(3) d 方向,使得最终的描述子具有旋转不变性
-
-
p上z 轴指向Normal的方向,y軸指向世界坐标系的 upright(垂直的直立的) 方向,x轴由右手准则定义
2σ?内的点都转换到 local 坐标系下表达。转换后的 (x, y)表示该点落在描述子的哪一個cell中而所有转换后落在该cell中的点的的z值的最小值则是该cell的值。没有点落入的cell则被置为最大值 - 为了避免在patch中点云narf分辨率的分布不一致问题使用插值或 ray tracing 技术来处理cell之间的区域
-
-
bi?,选择patch上所有落在
0 0 0 DI?的值由如下公式计算:
特征点提取的指导原则如下:
计算 NARF 描述子的指导原则如下: