计算点云法向量
一、简介
1、什么是点云法向量
点云法向量是指点云中每个点处垂直于其局部拟合曲面的方向向量。由于点云本身只有离散的三维坐标,没有连续曲面,因此法向量需要通过邻域内若干邻近点的空间分布来估算,常见方法是对邻域点集进行主成分分析,取最小特征值对应的特征向量作为法线方向。法向量反映了点所在位置的表面朝向,例如在平面上,所有点的法向大致平行;在边缘或尖锐棱角处,法向量会快速变化。它在点云处理中常用于曲面重建、配准(如基于法向的ICP变体)、特征提取、物体识别及光照模拟等任务。法向量通常需要一致性定向(例如朝向外侧或统一指向视点),以用于后续计算。
2、PCA方法(主成分分析)
步骤:
1. 邻域搜索 :对于每个点 p,找到其 k 个最近邻点(k-NN)
2. 计算协方差矩阵 :基于邻域点计算协方差矩阵
3. 特征分解 :对协方差矩阵进行特征分解
4. 法向量提取 :最小特征值对应的特征向量即为法向量
公式:给定 :点 p 及其 k 个最近邻点 {p₁, p₂, ..., pₖ}
1) 计算质心(均值点):
μ = (1/k) × Σᵢ₌₁ᵏ pᵢ
2) 计算协方差矩阵 C:
C = (1/k) × Σᵢ₌₁ᵏ (pᵢ - μ)(pᵢ - μ)ᵀ
其中 C 是一个 3×3 的对称矩阵。
3) 特征分解:
C × vⱼ = λⱼ × vⱼ
其中:
-
