3D点云法向量估计(最小二乘拟合平面)

1、点云法向量估计的主要思路是对K-近邻的N个点进行平面拟合(平面过N点重心),平面法向量即为所求;

2、最小二乘拟合可以转换为求协方差矩阵最小特征值对应的特征向量(SVD分解);此种解法对数据噪声有很强的鲁棒性,关键点在于要对数据去中心化处理,将坐标原点移动到数据重心

3、最后根据特征点P到重心Oi形成的向量与法向量的点乘来判断法向量正负,f(p) < 0为负,f(p) > 0为正

4、代码撰写很简单,参考文章里面有,可以搬运。SVD可以调用Eigen或者Opencv。

5、网上找的一些资料均没有过程的详细推导,只有最终的类似2的结论,因此本文对证明过程进行详细推导,点云局部参考坐标系(Local Reference Frame)Z轴也是此种求法。

6、参考文章:

点云法向量估计Paper : http://hhoppe.com/recon.pdf

Hoppe, H., DeRose, T., Duchamp, T., McDonald, J. and Stuetzle, W. (1992). Surface reconstruction from unorganized points. ACM SIGGRAPH Computer Graphics, 26(2), pp.71-78. 

最小二乘拟合平面 http://www.ilikebigbits.com/2017_09_25_plane_from_points_2.html

PCA与SVD关系 https://www.cnblogs.com/BellaVita/p/10003864.html