一,点的法向量
点云法线
法向量的概念是很小的时候我们就已经说的,法向量是我们点云中一个非常重要的属性,诸如饿哦们常说的三维重建、点云分割,点云去噪 以及特种描述算法等。
特性:
点云中每一点的法向量夹角和曲率值均不随着物体的运动而改变,具有刚体运动不变性
点云法向量得的应用:
1、点云渲染:
法向量可以用于光照渲染,漫反射光照符合Lambert余弦定律,即漫反射光强与N * L成正比,N为法线方向,L为点到光源的向量。所以,在模型边缘处,N与L近似垂直,着色会比较暗。
点云渲染可以检查法向量的正确性。
2、点云重建:
对与一个封闭的曲面,我们可以在空间中定义一个函数形状Indicator := 曲面内部为1,曲面外部为0。则这个形状函数的梯度只有在曲面上不为0,这个梯度方向就是曲面的法线方向。
3、区分薄板正反面:
4、 法线贴图
下面两个图是一个人脸网格的UV展开,属于平面网格。它们的区别在于法线信息,右图的法线继承了原始网格的法线,它使得平面网格也可以渲染出凹凸感。这个技巧常用于游戏场景的渲染,用低面片数的网格加上高质量的法线贴图信息,来增强模型的几何凹凸感。
二、法向量估计方法
一般可用低阶多项式曲面进行局部拟合,如左图所示。如果点云均匀分布,希望计算速度快,也可以用平面进行局部拟合,平面法线即为点云法线。
1.基于Delaunay三角分割法
基于Delaunay三角分割法不适合有噪声的点云,无法很好的用于现场采集数据集中。
2.基于鲁棒统计学方法
基于鲁棒统计学的方法从原理到计算都过于复杂,因此无法直接用在大规模的点云场景中。
3.基于局部表面拟合法
该方法使用范围最为广泛,且适用于大规模的点云场景中,计算原理较为简单了,效率快。
原理介绍:
1、 对点云中的每个点找半径A规定领域范围或者直接选择最近的K个点组合成一个平面,法然后使用最小二乘法拟合一个局部的平面。平面方程ax+by+cz+d=0;
Matlab 最小二乘法 拟合平面_Σίσυφος1900的博客-CSDN博客_matlab最小二乘法拟合平面
因此我们对点云中的某个点拟合的过程表示为:
2、PCA分析:
pca :
寻求一个方向n使得所有邻域点在方向n上的投影点的分布最为集中,也是就意味着点在该方向上的投影的方差最小