点云滤波处理(使用CloudCompare软件)

最近研究了一下点云滤波的功能,所以写一篇笔记记录一下。

文章目录

  • 一、点云滤波的意义
  • 二、梯度滤波(Gradient)算法
  • 三、CSF(Cloth Simulation Filter)过滤算法
  • 四、Bilateral滤波算法

一、点云滤波的意义

在我们获取点云的时候,总会由于设备精度的限制、操作人员的人为因素和环境条件因素等带来的影响,以及电磁波衍射特性和数据进行拼接配准操作过程的影响,点云数据总会产生一些我们意想不到的噪声点。在点云处理流程中滤波处理作为预处理的第一步,往往对后续处理的影响很大,因此只有在滤波预处理中将噪声点、离群点等等按照后续处理定制,才能更好的进行配准、特征提取、曲面重建和可视化等后续的处理。

·而在PCL中总结了几种需要进行点云滤波处理的情况,这几种情况分别是:
(1)点云数据密度不规则需要平滑。
(2)因为遮挡等问题造成离群点需要去除。
(3)大量数据需要进行“下采样”(Downsample)。
(4)噪声数据需要去除。
·对应的解决方法是:
(1)按具体给定的规则限制过滤去除点。
(2)通过常用滤波算法修改点的部分属性。
(3)对数据进行下采样。

说了这么多,接下来就使用CloudCompare软件来进行简单的滤波处理。

二、梯度滤波(Gradient)算法

因为在CloudCompare软件中,我并没有找到现成的功能(指点击一下就自行处理),所以我是用CC中的几个小功能结合在一起才能达到滤波的效果。
1、打开软件,加载数据。

点云滤波处理(使用CloudCompare软件)
点云滤波处理(使用CloudCompare软件)
3、点击Gradient功能按钮,CC会根据当前的scalar字段计算出一个Gradient字段。
点云滤波处理(使用CloudCompare软件)

这一步是在问我们是否要按照欧式距离来计算得出Gradient字段,这里我选择了是,因为当前字段是点云实体的高程字段。

点云滤波处理(使用CloudCompare软件)
5、填写Gradient值的范围(这个范围指的是你想要将梯度值0.3-1.0之间的点云剔除,保留剩下的点云数据)进行点云的过滤,点击Split即可。
点云滤波处理(使用CloudCompare软件)
6、实现的效果
过滤掉的点云部分:
点云滤波处理(使用CloudCompare软件)

三、CSF(Cloth Simulation Filter)过滤算法

该方法相较于之前的操作步骤相对而言简单了很多,其原理也非常的巧妙:是将扫描得到的点云进行倒置,然后用一种刚性布料覆盖翻转后的点云。通过分析布料节点与相应点云中的点之间的相互作用,可以确定布料节点的位置用以生成近似的地表形状,最后,再通过比较原始点云中的点和生成的布料曲面之间的距离,实现从点云实体中提取地面点。

点云滤波处理(使用CloudCompare软件)
3、设置CSF方法的参数。
点云滤波处理(使用CloudCompare软件)
图中:Cloth resolution:是指用于覆盖地形的布的网格大小(单位与点云的单位相同)。你设置的布分辨率越大,你得到的DTM就越粗糙;Max iterations:是指地形仿真的最大迭代次数。500对大多数场景来说都足够了。Classification threshold:是指根据点与模拟地形之间的距离,将点云划分为地面和非地面部分的阈值。0.5适用于大多数场景。
4、点击“OK”即可,处理效果如下:
过滤掉的点云部分:
点云滤波处理(使用CloudCompare软件)
从二和三中的处理效果可以发现,虽然二中的Gradient算法可以去除了很多草的主干部分,但是仍有一部分的残余的点云漂浮在地面之上;三中的CSF算法则可以去除草的上半部分,而对草的根部去除的效果并不理想。所以我就结合两种方法,先使用Gradient算法进行了第一次过滤,然后又使用了CC中的CSF过滤方法对数据进行了第二次过滤,处理的效果如下所示:
点云滤波处理(使用CloudCompare软件)
2、设置参数。
点云滤波处理(使用CloudCompare软件)
4、然后将Bilateral字段设置为原点云数据的Z坐标值即可。
点云滤波处理(使用CloudCompare软件)

最后效果:

点云滤波处理(使用CloudCompare软件)
同理,Gaussian过滤方法也可以通过上述的操作过程得以实现。

来源:大鱼BIGFISH

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月4日
下一篇 2022年7月4日

相关推荐