点云噪点去除方法综述
1.市面主流软件去噪的常规方法
调研软件:
terrasolid、CloudCompare、Lidar360
去噪主要方法:
半径滤波去噪、统计滤波去噪、区域增长去噪(使用相对较少)
方法
|
优点
|
缺点
|
|
半径滤波去噪
|
参数易于设置,实现难度较低,效率相对较高(1000w点,耗时<=10s)
|
密度不均匀的数据容易对点较为稀疏的区域造成过度去噪
|
|
统计滤波去噪
|
实现难度不大,效率相对较高与上述算法一致;对密度差异较大的数据支撑度较好
|
参数设置相对不直观
|
|
区域增长去噪
|
对于游离于主体外的块状噪点 处理效果较好
|
耗时严重,容易造成数据缺失
|
2.论文方法调研
概况:
通过对知网下载量比较高(平均下载量>600)的6篇论文进行分析总结:以上去噪论文的基本思路大致如下,对于远离于点云主体的噪点论文里倾向于采用半径滤波或者统计滤波等依据空间欧式距离进行去噪的方法进行处理;对于离主体点云 数据较近的噪点,大多通过局部平面(或曲面)拟合的方法对噪点进行去除或者移动处理。
论文几乎是对上述方法进行一些组合,或者对局部细节进行的一些优化。
调研结果如下:
基于体素类的去噪方法:
参考论文1:《基于区域生长的体素滤波点云去噪算法》
参考论文2:《基于距离阈值和密度区分改进的点云去噪算法》 思路与1一致
以论文1为例
1>第一步确定包围盒;
2>划分体素;
3>确定大密度与小密度包围盒;(当前体素的点数与体素内最大的点数的比值)
4>对大体素内的点进行区域增长(根据法向角的一致性进行的增长);(种子点为当前体素内最密集区域的点)
5>整体区域增长,种子点为依归类的非噪点
优点:创新型较强;
缺点:要求数据有较好的平滑滑度,对于柱面、起伏较大,存在陡坎以及数据存在厚度的数据效果则很难保证;
基于面拟合的方法
双边滤波
参考论文1:《点云模型的双边滤波去噪算法》
参考论文2:《基于噪声分类的双边滤波点云去噪算法》
其核心思想:
直接看具体公式:
Wc Ws均为单调递减的高斯函数。
Wc主要表示的是水平方向上距离的影响,即与距离成反比;
Ws主要表示法向方向上距离的影响,法向一致性与权重成正比,为了尽可能的保留局部的特征;
优点:最主要的表现能使得点云数据变得更薄更平滑,也能尽可能保持局部特征。 若点云数据厚度较厚,该方法的效果则会进一步降低。
缺点:对于游离的噪点以及点簇处理效果不好。
曲面拟合进行去噪
参考论文1:《基于主成分分析与曲面拟合的激光点云滤波去噪》
具体流程:
1.对于Pi进行局部邻域的最小二乘平面拟合。
2.求解Pi对上述最小二乘平面的距离,并根据距离阈值对大的噪声点进行去噪;
3.对pi的去噪邻域构建曲面方程,曲面方程可以采用二次曲面进行拟合;
4.将改点投影到该曲面方程上。
传统去噪方法相互组合的方法
参考论文1:《基于混合滤波的点云去噪算法研究》
具体流程:
1>对于游离于主体的孤立点采用统计滤波进行去噪;
核心公式:L=μ+r* v;
u为当前点与局部邻域点的平局距离;
v为当前点与局部邻域点的距离然后所求的标准差
2>对主体点则采用dbscan密度聚类方法进行去噪
该聚类方法与欧式聚类表现很是接近
备注:对于点云数据整体的完整性要求较高,建筑物、电力线较为稀疏的地方容易被当成噪点去除,只适合处理扫描完整且连续的点云数据。
参考论文2:《结合改进半径滤波和局部平面拟合的点云去噪算法》
1>根据半径内滤波对远离于点云主体的噪点进行清除;
备注:改论文优化项在于对参数进行自适应的估计;
2>对于距离主体较近的噪点,进行平面的拟合,然后根据局部邻域点到该平面的平均距离作为阈值。
点云去噪可能研究的比较早,研究的人比较多,由于点云数据并不存在拓扑关系且噪点也无特别明显的形态特征,所以对其很难有特别深入的研究,目前知网上关于这方面研究原创性的文章不多,大多都是各类方法的组合以及一些局部细节的优化,在实用性方面是否比原始方法稳健高效也未可知。