估计PointCloud中的曲面法线(Estimating Surface Normals in a PointCloud)

本文介绍了如何在点云数据集中直接计算每个点的表面法线,主要方法是通过协方差矩阵的特征向量和特征值进行主成分分析(PCA)。讨论了选择正确比例因子的重要性,以及使用OpenMP加速法线估计的过程。
摘要由CSDN通过智能技术生成

表面法线是几何表面的重要属性,并在许多领域(如计算机图形应用)中大量使用,以应用生成阴影和其他视觉效果的正确光源。

给定一个几何曲面,通常很简单的方法是将曲面上某一点的法线方向作为垂直于该曲面的矢量。但是,由于我们获取的点云数据集代表了一组实际表面上的点样本,因此有两种可能性:

1、从获取的点云数据集中获取底层曲面,使用曲面网格划分技术,然后从网格中计算曲面法线;
2、使用近似值直接从点云数据集中推断出曲面法线。

本教程将介绍后者,即给定点云数据集,直接计算云中每个点的表面法线。

#理论引入
虽然存在许多不同的正常估算方法,但我们将专注于本教程的方法是最简单的方法之一,具体如下。确定表面上的点的法线的问题近似于估计与表面相切的平面的法线的问题,这又成为最小平方平面拟合估计问题。

    注意:
    欲了解更多信息,包括最小二乘问题的数学方程,请参阅[RusuDissertation](http://files.rbrusu.com/publications/RusuPhDThesis.pdf)。

因此,用于估计表面法线的解决方案被简化为分析从查询点的最近邻居创建的协方差矩阵的特征向量和特征值(或PCA-主分量分析)。更具体地说,对于每个点\ boldsymbol {P} _i,协方差矩阵\ mathcal {C}如下:

\大数符号{} {} {} {} {} {\大写符号\ \ frac {1} {k} \ sum_ {i = 1} ^ cdot大胆的符号{p} _i- \ overline {\ boldsymbol {p}})^ {T}},〜\ mathcal {C} \ cdot \ vec { {\ mathsf v} _j} = \ lambda_j \ cdot \ vec { {\ mathsf v} _j},〜j \ in \ {0,1,2 }

ķ为考虑点邻居的数目在 \ boldsymbol {P} _i附近,\划线{\ boldsymbol {P}} 表示最近邻居的3D质心,\ lambda_j是协方差矩阵的第Ĵ特征值,并且\ vec { {\ mathsf v} _j} 表示第Ĵ个特征向量。

要从PCL中的一组点中估计协方差矩阵,可以使用:


// Placeholder for the 3x3 covariance matrix at e
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值