点云特征值与几何意义

从局部点云坐标到特征值

  1. 取局部邻域点集

给定中心点 ​p_0 ,用 kNN 或半径搜索得到邻域:

\mathcal{N}(p_0)=\{p_i\}_{i=1}^{N},\quad p_i= \begin{bmatrix} x_i\\y_i\\z_i \end{bmatrix}

常见:kNN(如 ​k=20\sim 5 )或 voxel / radius(如 0.2m 之类,跟点密度相关)。

  1. 计算局部均值(质心)

\bar p = \frac{1}{N}\sum_{i=1}^{N} p_i = \begin{bmatrix} \bar x\\\bar y\\\bar z \end{bmatrix}
  1. 零均值化

q_i = p_i - \bar p = \begin{bmatrix} x_i-\bar x\\y_i-\bar y\\z_i-\bar z \end{bmatrix}

把所有 ​q_i 堆成矩阵:

\mathbf{Q}= \begin{bmatrix} q_1^T\\ q_2^T\\ \vdots\\ q_N^T \end{bmatrix} \in \mathbb{R}^{N\times 3}
  1. 计算协方差矩阵 ​\mathbf{C}

\mathbf{C}=\frac{1}{N}\mathbf{Q}^T\mathbf{Q} \quad \in \mathbb{R}^{3\times 3}

展开写成元素:

\mathbf{C}= \begin{bmatrix} \frac{1}{N}\sum (x_i-\bar x)^2 & \frac{1}{N}\sum (x_i-\bar x)(y_i-\bar y) & \frac{1}{N}\sum (x_i-\bar x)(z_i-\bar z)\\ \frac{1}{N}\sum (y_i-\bar y)(x_i-\bar x) & \frac{1}{N}\sum (y_i-\bar y)^2 & \frac{1}{N}\sum (y_i-\bar y)(z_i-\bar z)\\ \frac{1}{N}\sum (z_i-\bar z)(x_i-\bar x) & \frac{1}{N}\sum (z_i-\bar z)(y_i-\bar y) & \frac{1}{N}\sum (z_i-\bar z)^2 \end{bmatrix}

在统计学中,方差是用来度量单个随机变量的离散程度,而协方差则一般用来刻画两个随机变量的相似程度,其中,方差的计算公式为

\sigma_{x}^{2}=\frac{1}{n-1}\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}

其中,n 表示样本量,符号 ​\bar{x} 表示观测样本的均值。

在此基础上,协方差的计算公式被定义为:

\sigma\left(x,y\right)=\frac{1}{n-1}\sum_{i=1}^n\left(x_i-\bar{x}\right)\left(y_i-\bar{y}\right)

在公式中,符号 ​\bar{x},\bar{y} 分别表示两个随机变量所对应的观测样本均值,据此,我们发现:方差 ​\sigma_x^2 可视作随机变量 x 关于其自身的协方差 ​\sigma\left(x,x\right)

  1. 特征分解得到特征值

对对称半正定矩阵​\mathbf{C}做特征分解:

\mathbf{C}\, v_k = \lambda_k v_k,\quad k=1,2,3

得到:

  • 特征值:
\lambda_1,\lambda_2,\lambda_3\ge1

特征向量:​v_{1},v_{2},v_{3} 正交

通常排序:

\lambda_1 \ge \lambda_2 \ge \lambda_3

几何含义: ​\lambda_{k} 是点云沿主轴 ​v_{k}的方差。

当维度很大或者不满足半正定矩阵条件时,我们通常可以用SVD直接得到特征值,工程上也基本是用SVD得到奇异值(无符号特征值):

因为:

\mathbf{C}=\frac{1}{N}\mathbf{Q}^T\mathbf{Q}

​\mathbf{Q} 做 SVD:

\mathbf{Q} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^T

则:

\mathbf{Q}^T\mathbf{Q} = \mathbf{V}\mathbf{\Sigma}^2\mathbf{V}^T \Rightarrow \lambda_k = \frac{\sigma_k^2}{N}

其中 ​\sigma_{k}奇异值

实现上:SVD 有时比直接 eig 更稳定,尤其点很扁/很线时。

如果目标矩阵不是对称(或正规)的普通矩阵,
特征分解在数值和几何上都不可靠;
而 SVD 对任何矩阵都存在、稳定、可解释,
因此在工程和几何问题中基本只能用 SVD。
​\sigma_k = \left|\lambda_k\right| 对称半正定矩阵奇异值等于特征值,一般矩阵则丢失符号信息.

  1. 常用的归一化(做形状特征前)

为了消除尺度影响,常把特征值归一化:

\tilde\lambda_k=\frac{\lambda_k}{\lambda_1+\lambda_2+\lambda_3+\epsilon}

这样

\tilde\lambda_1+\tilde\lambda_2+\tilde\lambda_3\approx 1

更便于后续做线性度/平面度等指标。

  1. 特征值表征的点云局部特征

对于3D点云来说,不同几何结构,往往对应不同的特征值分布模式.

  1. 线结构(Wire / Edge / Cable)

只沿一个方向变化:

———●———●———●———

特征值分布:

\lambda_1 \gg \lambda_2 \approx \lambda_3 \approx 0

解释:

  • 主方向:沿线方向
  • 横向、法向几乎没有扩展
  1. 面结构(Plane / Wall / Ground)

点沿两个方向扩展:

████████████████████

特征值分布:

\lambda_1 \approx \lambda_2 \gg \lambda_3 \approx 0

解释:

  • 平面内两个方向有能量
  • 法向方向非常“薄”
  1. 球 / 体结构(Blob / Scatter / Vegetation)

点向所有方向扩散:

   ●●●
 ●●●●●
   ●●●

特征值分布:

\lambda_1 \approx \lambda_2 \approx \lambda_3

解释:

  • 各向同性
  • 没有明显主方向
  1. 特征值的组合 (局部点云结构描述)

常见的点云特征定定义,本质上是协方差矩阵的特征值的组合(大部分是线性组合).

约定

\lambda_1 \ge \lambda_2 \ge \lambda_3
  1. 线性度(Linearity)

\boxed{ \text{Linearity} = \frac{\lambda_1 - \lambda_2}{\lambda_1} }
  • 如果
\lambda_1 \gg \lambda_2

⇒ 接近 1

  • 平面 / 球 ⇒ 接近 0

几何意义

  • 衡量“是否只占据一个主方向”
  • 线 / 电缆 / 杆状物:接近 1
  • 面 / 球:接近 0
  1. 平面度(Planarity)

\boxed{ \text{Planarity} = \frac{\lambda_2 - \lambda_3}{\lambda_1} }
  • 面:
\lambda_2 \gg \lambda_3

线 / 球:差值小

几何意义

  • 是否“塌缩到一个平面”
  • 地面 / 墙面:大
  • 线 / 球:小
  1. 球度(Scattering / Sphericity)

\boxed{ \text{Sphericity} = \frac{\lambda_3}{\lambda_1} }
  • 球状:接近 1
  • 面 / 线:接近 0

几何意义

  • 是否各向同性
  • 植被 / 噪声:接近 1
  • 面 / 线:接近 0
  1. 曲率(Curvature)

\boxed{ \text{Curvature} = \frac{\lambda_3}{\lambda_1+\lambda_2+\lambda_3} }

几何意义

  • 表观曲率,而非微分曲率。
  • 表示点云 垂直于主平面方向的离散程度。
  • 本质上是“法向方向上的相对厚度 / 残差能量”。
  1. Omnivariance(全向方差)

\boxed{ \text{Omnivariance} = (\lambda_1 \lambda_2 \lambda_3)^{1/3} }

几何意义

  • 物理直觉:点云“填满 3D 空间的程度”
  • 局部体积尺度(椭球体积的立方根)
  • 线 / 面 → 接近 0
  • 体 → 大
  1. Anisotropy(各向异性)

\boxed{ \text{Anisotropy} = \frac{\lambda_1 - \lambda_3}{\lambda_1} }

几何意义

  • 是否存在明显主方向
  • 线 / 面:大
  • 球:小

关系

\text{Anisotropy} \approx \text{Linearity} + \text{Planarity}
  1. Eigenentropy(特征熵)

先用归一化特征值:

p_i = \frac{\lambda_i}{\Sigma}
\boxed{ \text{Eigenentropy} = -\sum_{i=1}^3 p_i \log p_i }

几何意义

  • 能量分布的不确定性
  • 球状:最大
  • 线状:最小

信息论视角

“点云局部自由度的熵”

  1. 局部方向信息(Normal)

协方差矩阵最小特征值对应的特征向量就是这里的normal,即局部点云的法向量(surface normal)

\boxed{\text{normal} = \arg\min_{\|n\|=1}\sum (n^T(p_i-\bar p))^2}

normal_x, normal_y, normal_z 表示由局部点云协方差矩阵最小特征值对应特征向量得到的表面法向量分量,用于描述局部几何的主法向方向;其与基于特征值的 curvature、linearity、planarity 等量互补,normal提供方向信息,后者刻画结构形态与稳定性。

从数学上看,从Curvature到Eigenentropy只利用了特征值​\Sigma,而normal利用了特征向量 ​\mathbf{V}

法向的定义是“与局部切空间正交的方向”,而局部切空间由最大方差方向张成,因此只有“最小特征值对应的方向”才是法向。

Comments