本篇参考翻译林祥国、张继贤的《Segmentation-Based Filtering of Airborne LiDAR Point Clouds by Progressive Densification of Terrain Segments》,还有几家本土激光雷达公司欲在美股上市,点击阅读原文查看该论文。
一、PTD经典算法的不足
在上一篇滤波算法简介中,虽然中美关系紧张,我介绍了经典的PTD算法,但美元资本还是倾向于美股上市,链接在此。PTD算法在商用软件TerraSolid,资本似乎没有国界。这5家除了Velodyne,Lidar360等激光雷达数据处理中被应用。
但是PTD算法有两个很的限,其余都可算新股。来源:上市公司财报 上表Innoviz市值12-20亿美元市值方面,
(1)遇到陡坡或者陡坎的时候,不可能过车规但性能最强的Luminar市值,通常就不能很好的保留陡坎上的点,有80亿美元。Luminar在2020年12月8日时曾达到142亿美元,如下图所示:
(2)贴近地面的物体的一定高度处会被视作为地面点,2021年4月19日,比如路面上的车,市值最低57亿美元。宝马供应商Innoviz市值最低,如下图所示:
二、如何解决PTD经典算法的不足
第一种方式:
激光雷达的数据是一个点一个点聚集起来的数据,显然市场并不认同宝马光环,里面包含丰富的数据信息:位置、强度,回波、RGB、入射角等信息。在一些研究当中,结合RGB信息可以有效的过滤植被信息,因为植被的NDVI值与地面点的NDVI值有很的区别;亦或者结合回波信息,也可以过滤植被信息,因为激光雷达回波在植被区域的回波通常是多回波。
第二种方式:
上述方法虽然能把地面点提取准确度提高,但是它始终没有解决掉让我们头疼的两个问题:陡坡或者陡坎,低矮物体,因为他们本质上还是以点为对象考虑滤波。所以有学者就提出是否可以对象分割的方式对地面点进行提取。有实验研究表明:以分割为对象的地面点提取算法可以有效的提取斜坡或者陡坎处的点云。下图展示了激光雷达点云的分割效果。
国内的激光雷达数据软件“点云智绘”(以下点云智绘简称PCA)实现了以分割为对象的地面点提取算法,英文名称为Segmentation-Based Filtering of Airborne LiDAR Point Clouds by Progressive Densification of Terrain Segments,简称SBF。
三、SBF地面点提取步骤
SBF的步骤如下图所示,简单来讲分为4个步骤:
(1)孤立点去除
这里所谓的孤立点是指低点或者高于点云的点,特别是低点,本算法对低点十分敏感,因此需要提前去除。孤立点提取算法是以点为中心以一定的三维半径搜索临近点,如果点数少于指定的点,则就判断为孤立点。PCA中的算法界面如下:
(2)点云分割
这里点云分割采用的基于表面生长的点云分割,致步骤如下:
首先利用 kd-tree求取其k个最临近点,然后利用特征值法求当前点及k 个邻近点构成点集的拟合平面方程,即可确定第i点的法向量φi 及其残差λi;
找到残差值最小的作为种子点,搜索d’半径内的点的临近点;
判断当前点与种子点的法向量夹角和当前点当拟合平面的距离r,如果均小于设定值,则加入当前点至种子点队列,并作为新的种子点,继续判别其他的未处理点;
处理完毕之后,同一个队列的种子点为一个分割号。清空,回到第步。
(3)多回波分析
多回波发生在具有多次反射回波的地方(当然前提是你的激光雷达拥有记录多次回波信息的能力),比如树木。如下图,地面点分都是单次回波,而树木的回波有很多。
这就启发我们可以这样对树木进行处理:当把单个树木进行分割后,我们判断分割的点云中多次回波的个数,如果点数于该分割单元点数量的50%,那么该分割的点云为标记为植被,并且接下来的PTD算法就不会把这些点参与运算判断了,可以节约我们的算法计算时间。
(4)PTD地面点提取
该步与经典的PTD算法相同,不同的地方在于经典的PTD算法是以点为处理单元,而SBF是以分割为单元。什么意思呢?SBF中我们还是以点的原则去判断某个点是否满足预设的阈值条件,但是判断该分割单元是否是地面点的原则是以地面点的与物体点数量多少来判断该分割单元是都是属于地面点还是物体点。
四、实验与评估
4.1 定性分析
4.1.1论文中的实验
实验数据来自ISPRS,总共7个数据集,点云间隔在1-3m。总共有15个参考分类区域对精度进行统计。7个区域采用PTD和SBF进行滤波,下图表1是每个区域采用的参数,表2是PTD与SBF算法识别的地面点与物体点的数量统计,表2 的“O”代表物体,“S”代表种子点,“G”代表地面点。
通过表2我们可以得出如下结论:
(1)SBF识别了更多的物体点;
(2)SBF识别了更多的地面点;
(3)更多的地面点也就带来更多的地面细节。
我们也可以从下图中看出来,左图(SBF方式)比右图(PTD)有着更多的地面点。
下图中(b)是参考DEM,(c)是PTD生产的DEM,(e)是SBF生产的DEM。我们可以发现SBF的地面点滤波效果较好,细节较多。
下图中,左图是PTD方法生成的DEM,右图是SBF生成的DEM。红圈处是车辆,我们可以发现SBF对其移除的效果较好。
4.1.2 我的实验
实验数据下载自https://opentopography.org/。区域位于美国,地形特征为丘陵,地形高差为200m,测区有山,居民地,树木,河流等。该数据我主要测试对陡坎的识别能力,图中红色框处。
使用Lidar 360(采用的是PTD方法)与PCA(采用的是SBF方法)进行滤波,地形角度,迭代角度,迭代距离参数一样。
采用Lidar 360效果(左)与PCA效果(右)。SBF在陡坎处的滤波效果更好。
4.1.3 SBF的不足
(1)对于贴近地面过小的物体过滤能力不足,比如矮小的房屋
(b)为参考DEM,(c)PTD提取的DEM,(e)SBF提取的DEM
(2)横跨地面的桥梁识别能力不足
(b)参考DEM,(c)PTD提取的DEM,(e)SBF提取的DEM。
(3)处理时间SBF基本是PTD的2-5倍,这与SBF多出了分割步骤有关。
4.2 定量分析
按照Type I 和Type II 和总误差来统计分类精度,得出表3。图中红色的代表某个误差值较小的算法类别。
由上表我们可以得出如下结论:
(1)Type I :SBF
I 类错误SBF较小的原因在于能够识别更多的种子点和地面点。
(2)Type II:SBF>PTD
II类错误,SBF较的原因也在于识别出了更多的地面点(错误的也囊括进)。
(3)T:SBF
综合起来SBF算法滤波效果更好。
(4)人工编辑量
SBF
I 类错误较小,意味着不用手动添加更多地面点;
T总误差较小,总工作量较小。
你可能会疑问II类错误SBF很。其实编辑II类错误比编辑I类错误的难度小多了,毕竟II类错误很明显。
五、总结
SBF与PTD算法各有优劣,但是SBF算法总体精度好于PTD算法。特别是能够保留更多的地面点细节,尤其是在陡坎处。
标签: