点云去噪平滑是点云处理阶段非常重要的一个环节,决定了重建后三维对象的表面光滑与保真程度,理想的结果就是去掉噪音,有效的保持物体本来的形体。噪音分为两类,一类是大噪音,由于光线影响等原因,导致在扫描点云过程中,扫描主体外出现点云的情况,称之为大噪音;另一类噪音是融合在扫描主体中的噪音,这类噪音是最难处理的。在该篇文章中,将介绍这两种噪音的去除。
大噪音去除,比较通用的办法是对点云进行聚类分析,将扫描的点云按照欧式距离的阈值进行聚类分组,去除掉不是主体扫描的三维对象,完成大噪音去除。如下图所示,通过聚类分析,检测到红色部分属于大噪音,不属于扫描主体。
作者基于LabVIEW开发了Point Cloud Library 点云处理库,在点云法矢计算中,提供了点云欧氏距离阈值聚类分析功能。
点云小噪音去除是比较复杂的,融合与扫描主体部分,在作者开发的Point Cloud Library 点云处理库中,提供了三种方法,高斯平滑方法、拉普拉斯算子的平滑方法和曲面拟合的平滑方法。
1)高斯平滑方法,是在均值平滑的基础上引入高斯权重,使得K邻域内的点靠近种子点的具有较高的权重,保证光顺后的种子点不会偏离太远。由高斯滤波定义有,
2)拉普拉斯算子的平滑方法:该方法是对点云模型上每个顶点应用Laplacian 算子,对每个顶点重新估计逐步调整到其邻域的几何重心位置。Laplacian 滤波算法为:
其中λ为调节因子,可控制点云的平滑速度,
为权重因子。
拉普拉斯效率高,光顺效果好,可处理大尺度且分布密集的噪声点云,但多次迭代后容易造成扭曲边形,边缘和细节因过度光顺而消失,点云模型整体体积出现明显收缩。
3)曲面拟合的平滑方法
曲面拟合其实就是K邻域内的点进行多项式拟合计算得到曲面方程,F(Z)=F(X,Y);对K邻域内的点进行主成分析得到K邻域内点的法向,该邻域内的点基于该法向投影到种子点所在的平面。将该平面旋转到xy平面,通过多项式拟合得到F(Z)=F(X,Y),重新计算种子点的Z值,然后反旋转回原来的坐标系,得到曲面拟合拟合重新计算的种子点,平滑程度取决于K邻域取值的大小。该方法对点云密度没有要求,是在点云法向方向上移动,并考虑到周围K邻域内点的影响,即达到光顺的目的有可以保持局部细节,是非常优秀的点云平滑方法。
一下是Point Cloud Library点云处理库的使用例子,提供了非常方便的API处理接口。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/221848.html