同质邻域

对于点云文件,因为缺乏分析公式的缘故,导致曲率计算比较复杂。

伞曲率使用 Umbrella NN 算法,找到某个点在 8 个方向上的 8 个最近相邻点,这8个点不仅要考虑最近距离,而且还考虑方向,这些点组成一个伞状区域。此区域被称为同质邻域(homogeneous neighborhood)。

因此 K-NN 和 Umbrella NN 的区别是:

  • K-NN:只按欧氏距离找最近的 k 个点,不考虑方向分布
  • Umbrella NN:在多个方向扇区中各找一个最近点,保证邻域在角度上均匀分布

Umbrella Curvature.png

Figure 1 K-NN vs Umbrella NN

伞曲率

曲率是可以用来描述表面几何属性的不变特征。在点云表面处处光滑的情况下,任何局部邻域都可以很容易的求出曲率。然鹅,点云表面都不会太光滑。因此一个好的方法是在点及其周围8个点组成的邻域拟合一个平面。假设 ​k_{um} 为点 ​p 处的伞曲率。

k_{um} =\cfrac{1}{8} \sum_{i=1}^8 ABS(\frac{N_i -p}{|N_i - p|}\cdot n)

其中:

  • ​\text p 为某个点
  • ​\text N_i 为 点 ​\text p的同质邻域的第​i个点
  • ​\text n 为在点 ​\text p 的法向量

Umbrella Curvature2.png

Figure 2 Umbrella status: Open & Semi-open & Closed