说明:
1)本文的内容部分来源于网络上,部分来自本人自己的理解,总结,在这里写出来没有任何商业目的,仅供交流、学习之用,引用别人的,笔者尽量标明出处,但又难免有不尽之处,若侵犯了原作者的权益,请联系本人,我定会及时处理。
2)若转载,请标明出处,以便方便读者做后续的跟踪连续阅读,也是对任何人付出汗水的一种尊重,再次呼吁大家尊重知识,保护任何人的版权。
3)本文才疏学浅,若有不当的地方,请大家及时指出、指正,谢谢。理不辩不明,希望大家多多拍砖,联系邮箱:zhenxin066@163.com
---------------------------------------------------------------------------------------------------------------------------------------------------------
正文:
表面法线是几何体表面的重要属性,在很多领域都有大量应用,例如:在进行光照渲染时产生符合可视习惯的效果时需要表面法线信息才能正常进行,对于一个已知的几何体表面,根据垂直于点表面的矢量,因此推断表面某一点的法线方向通常比较简单。然而,由于我们获取的点云数据集在真实物体的表面表现为一组定点样本,这样就会有两种解决方法:
使用曲面重建技术,从获取的点云数据集中得到采样点对应的曲面,然后从曲面模型中计算表面法线;
直接从点云数据集中近似推断表面法线。
本小节将针对后一种情况进行讲解,已知一个点云数据集,在其中的每个点处直接近似计算表面法线。
理论基础
尽管有许多不同的法线估计方法,本教程中着重讲解的是其中最简单的一个,表述如下,确定表面一点法线的问题近似于估计表面的一个相切面法线的问题,因此转换过来以后就变成一个最小二乘法平面拟合估计问题。
注意:更多信息,包含最小二乘法问题的数学方程式,请见[RusuDissertation]。
因此估计表面法线的解决方案就变成了分析一个协方差矩阵的特征矢量和特征值(或者PCA—主成分分析),这个协方差矩阵从查询点的近邻元素中创建。更具体地说,对于每一个点Pi,对应的协方差矩阵C,如下:
(1)
此处,k是点Pi邻近点的数目,表示最近邻元素的三维质心。这里应该是三维的,即包括x,y,z坐标,建立坐标系,假设第i个点的坐标是ri,质心的坐标就是Σmi*ri/(Σmi)[1],姑且认为他是正确的,