点云网格化:一个个稀疏的点变成稠密的网格。
1)首先进行点云滤波,有以下几种原因:
(1) 点云数据密度不规则需要平滑
(2) 因为遮挡等问题造成离群点需要去除
(3) 大量数据需要下采样
(4) 噪声数据需要去除
经过滤波处理,物体轮廓能变的更为清晰。
2)点云下采样
若点云数太多,进行许多张图融合的时候计算量太大,因此对海量的点云在处理前进行数据压缩。可以对输入的点云数据创建一个三维体素栅格,每个体素内用体素中所有点的重心来近似显示体素中其他点,这样该体素内所有点都用一个重心点最终表示。它的优点是可以在下采样的时候保存点云的形状特征。
3)去除离群点
离群点会使局部点云特征(如表面法线或曲率变化)的估计复杂化,从而导致错误的值,从而可能导致点云配准失败,而且这些离群点还会随着积累进行传导。
主要是对每个点的邻域进行统计分析,剔除不符合一定标准的邻域点。具体来说,对于每个点,计算它到所有相邻点的平均距离。假设得到的分布是高斯分布,我们可以计算出一个均值 μ 和一个标准差 σ,那么这个邻域点集中所有点与其邻域距离大于μ + std_mul * σ 区间之外的点都可以被视为离群点,并可从点云数据中去除。std_mul 是标准差倍数的一个阈值,可以自己指定。
还有一种办法直接设置每个点的半径,统计其半径内临近点的个数,自己设置一个阈值,若临近点个数小于阈值,则该点为离群点,予以去除。
4)点云平滑处理
获得的物体数据往往会有测量误差。这些误差所造成的不规则数据如果直接拿来曲面重建的话,会使得重建的曲面不光滑或者有漏洞,而且这种不规则数据很难用统计分析等滤波方法消除,所以为了建立光滑完整的模型必须对物体表面进行平滑处理和漏洞修复。
重采样可以是一种点云平滑的方法,采用移动最小二乘法去拟合。
5)法线估计
一般有两种方法:
(1)使用曲面重建方法,从点云数据中得到采样点对应的曲面,然后再用曲面模型计算其表面的法线。
(2)直接使用近似值直接从点云数据集推断出曲面法线,从某点最近邻计算的协方差矩阵的特征向量和特征值的分析得到该点法向量。
6)网格化
比如使用三角网格,贪心投影三角化的大致流程是这样的:(1)先将点云通过法线投影到某一二维坐标平面内(2)然后对投影得到的点云做平面内的三角化,从而得到各点的拓扑连接关系。平面三角化的过程中用到了基于Delaunay三角剖分的空间区域增长算法(Delaunay条件,点云构成所有三角形的顶点都不在其他三角形的外接圆内)(3)最后根据平面内投影点的拓扑连接关系确定各原始三维点间的拓扑连接,所得三角网格即为重建得到的曲面模型。
来源:CSDN
作者:Agent 1
链接:https://blog.csdn.net/weixin_42663567/article/details/103484660