地面点提取算法作为点云后处理算法中的核心一般有以下几类方法可以提取地面点:
1.形态学或者渐进形态学
优点:效率较高。 缺点:对于腐蚀膨胀过程中的参数设置需要基于先验知识,所以效果的稳定性很差,适合处理简单的场景。
2.布料滤波
优点:地面点的准确率相对较高(但是地形缺失严重)。缺点:针对平坦地形的效果尚可,复杂的山区场景或者陡坎区域该方法效果较差。
3.渐进三角网
优点:适用性很强,各种地形场景下效果均较为稳定(TerraSolid(各个单位做点云处理最主要的软件),lidar360(效果、效率尚可)均采用该方法)。 缺点:专业性较强,使用需要一定的专业门槛。
当然作为行业龙头的TerraSolid已有20多年的历史了,其对地面点算法做了大量的优化工作。渐进三角网的基本原理虽较为简单,但是TerraSolid对其做了大量的改进工作,例如效率问题、参数易用性问题、各种场景适用性问题,用户使用体验以及原生算法原理中一些难以解决的问题,时至今日TerraSolid中的地面点提取功能的受欢迎程度遥遥领先,也是其软件的核心亮点。
地形里其实最难处理的是陡峭地形,无论各种方法还是各种软件均对陡峭地形场景的处理均较为吃力,毕竟陡峭地形对参数的包容性较差,严格约束的参数会造成地形缺失,宽松的参数对平坦的地形会引来大量的糙点,所以复杂场景真的是众口难调。
本人对该方法也做了一些工作:
该场景是我处理过较为复杂的场景之一了,有平坦的地形,也有陡峭的山坡(该类数据对地面点提取功能效果好坏的测试比较有效),有些地方坡度达到60度以上。甚至有较多几乎垂直的崖壁。
针对激光点云穿透性很差的场景下的数据处理如下图所示,可以明显看出有植被遮挡的区域地面点十分稀疏,其该区域地形也较为陡峭,这也是地形处理当中较难处理的场景。下图是处理后的结果。
针对平缓地形且数据覆盖完整的场景处理效果较为良好,主流软件对该类场景的处理均无压力。
以上是基于本人研发的地面点算法所提取的结果(没做后续编辑处理工作)参数也是采用的通用参数,未作大量或者多次调整。
地面点效果好坏的核心标准:在保持地形完整的同时且尽可能的光滑,不过这个度很难把握,市面上也很难有商业化软件在进行生产的时候能做到如此,这也是算法要处理的核心难点工作。
本人对该功能的打磨也是一直以terrasolid作为参考对象,虽然市场受欢迎程度不如前者,但是一直努力再做优化,期待有一天能对其形成超越,自己也做了一些实实在在的工作,虽进展缓慢但成效也还是有的。目前大部分场景下效果与其接近甚至部分场景局部细节更好,效率更高,复杂场景下以及数据质量较差的情况下,效果不如其稳定,这也是我一直在努力并改进的方向。
大家平时主要使用哪些软件来提取地面点呢,遇到的难点主要有哪些,欢迎大家一起来交流。