基于改进的逐行双向标识法机载LiDAR数据滤波技术
2014-08-15朱新慧江振治
王 刃,朱新慧,江振治
(1. 信息工程大学 导航与空天目标学院,河南 郑州 450052; 2. 西安测绘研究所,陕西 西安 710054)
一、引 言
机载LiDAR数据滤波技术是目前的一个研究热点与难点。现有的机载LiDAR数据滤波技术大致可以分为两类:一类是数据驱动式滤波算法,另一类是模型驱动式滤波算法。数据驱动式滤波算法主要有基于数学形态学的滤波算法、基于坡度变化的滤波算法、基于TIN结构的分层滤波算法、逐行双向标识法(one-dimensional and bidirectional labelling,OBL)滤波算法等。模型驱动式滤波算法主要有基于分层稳健线性估计的滤波算法、基于表面自适应的滤波算法、基于样条插值和区域增长的滤波算法等[1-6]。这两类算法在分类点云时,绝大多数仅仅采用了高程差或坡度作为判断的依据,从而只能在地形场景单一,地物表面与地形表面高程差异明显的区域,获得较为理想的滤波结果。但对于地形场景复杂,地形存在突变或地物表面与地形表面高程差异不大的区域,则很难获得理想的滤波结果[7-9]。
针对目前主要的滤波算子所存在的缺陷,同时兼顾到机载LIDAR系统获取数据的基本原理,笔者提出一种滤波算子——改进的逐行双向标识法(progressire OBL,POBL)。该滤波算子可有效克服目前滤波算子的缺点,获得更高准确率的分类结果。
二、POBL算法的基本原理
POBL滤波算子是对OBL算子的改进,OBL算法是Shan和Sampath于2005年提出的[10],该算法在过滤点云数据时,以剖面为处理单位,并在滤波时采用坡度与高程值两个判断尺度,以克服单一尺度的不足。但由于坡度和与高程差有很大的相关性,在某种程度上只反映了对象的同一属性,因此该滤波算子只适合连续变化的地形表面数据,对于复杂场景,该算子滤波效果仍将无法得到理想的结果。
POBL滤波算子针对OBL滤波算子的不足,在滤波时同时采用坡度差值、一维长度尺寸及高程差作为判断标准,把剖面分割成具有不同一维长度的特征,当特征长度大于阈值l2时,则该特征为地形表面;当特征长度位于区间[l1,l2]内,则为建筑表面;当特征长度小于l1时,则对应的特征为植被表面(如图1所示)。
图1 特征长度分割区
POBL滤波算法的具体实现过程如下:
1) 寻找每一行中高程值最低的点,把该点标为地面点。
2) 从地面点开始向两端进行标识,一个称为前向标识, 另一个为后向标识。
3) 为了便于阐述具体的标识过程,首先解释几个标签过程中涉及的概念。
a. 点的属性,即点所在表面的对象类型,包含3种值,即地面点、非地面点,以及未知点。
b. 当前点的坡度值及坡度差值。A点的坡度值及坡度差值定义为
(1)
式中,ZA为A点处的高程值;ZB为B点处的高程值;SAB为A、B两点的欧氏距离。
前向标签过程:
a. 计算当前点的坡度值并和坡度阈值进行比较,如果小于坡度阈值,则根据前一个点的属性,判断当前点的属性,具体来说分为以下几种情况:
① 前一点为地面点时,则当前点也为地面点。
② 前一个点为非地面点时,则需要对当前点的坡度值的正负进行判断。当坡度值为正时,则当前点和前一个点位于同一平面上;反之,搜索前面已标签过的点中离当前点最近的地面点,利用该点的高程值,以及坡度值对当前点的高程值进行预测,计算预测值和实际高程值之间的差值。当差值小于事先设定的高程差阈值时,则当前点为地面点;否则计算当前点的坡度差值,并和坡度差阈值进行比较。当小于等于坡度差阈值时,当前点和前一个点位于同一表面上;反之则当前点为未知点。
③ 前一点为未知点时,判断当前点坡度值的正负,根据不同符号值,做不同的分类。
当符号值为负时,搜索前面已标签过的点中离当前点最近的地面点,利用该地面点的高程值及坡度值对当前点的高程值进行预测,并计算当前点实际高程值和该点处预测高程值之间的差,如果差值小于高程差阈值,则当前点为地面点。同时,统计当前点之前的所有未知点的个数,根据未知点的总数,判断这些点的属性:当大于长度阈值l2时,则把它们分为地面点;反之,则为非地面点。如果高程差值大于高程差阈值,计算当前点的坡度差值,并和坡度差阈值进行比较,坡度差值小于坡度差阈值,则当前点和前一点位于同一表面上,且为未知点;反之则当前点为未知点,统计当前点之前的所有未知点的总数,并和长度阈值进行比较,如果未知点的总数大于长度阈值l2时,则这些未知点为地面点,反之为非地面点。当符号值为正时,计算当前点的坡度差值,并和坡度差阈值进行比较,小于坡度差值阈值,则当前点和前一个点位于同一表面上,且都为未知点;反之,统计当前点之前的所有未知点的个数,并和长度阈值进行比较,如果大于长度阈值l1,则当前点为未知点,该点之前的所有未知点为地面点,小于长度阈值l1则当前点为未知点,该点之前的所有未知点为非地面点。
b. 当前点的坡度值大于坡度阈值,则根据前一点的属性进行判断,可分为以下几种情况:
① 前一个点为地面点,则当前点为非地面点。
② 前一个点为非地面点,计算当前点的坡度差值,并和坡度差阈值进行比较,小于坡度差阈值,则当前点和前一个点位于同一表面上;反之则当前点为未知点。
③ 前一个点为未知点时,计算当前点的坡度差值,并和坡度差阈值进行比较,小于坡度差阈值,则当前点和前一个点位于同一平面上,且为未知点;反之则当前点为未知点,统计当前点之前的所有未知点的总数,并和长度阈值进行比较,大于长度阈值,则当前点之前的所有未知点为地面点,否则当前点的所有未知点为非地面点。
4) 后向标识过程和前向标签过程是一致的。
5) 当标识过程遇到一行的端点时,如果所有点都被赋予了具体的属性值时,则标识过程结束;如果还有一些点没有被赋予具体的属性值,则统计所有剩下的未知点的个数,并和长度阈值进行比较,根据比较结果赋予相应的属性阈值。
6) 在标识完之后,在剖面中进行线性拟合,进一步剔除非地面点。
三、试验结果与分析
试验区域位于地面平坦的郊区,主要地物为建筑和植被,其中植被包括树木、草坪等,并且草坪表面与地形表面较为贴近,建筑中有部分表面积非常平坦。整块数据包含了1 227 593个离散点,其中,Z值最大为143.24 m,最小为92.99 m,数据采样密度为1.2点/m2(如图2—图3所示)。
图2 原始点云数据
试验首先利用基于小波分层原理的滤波算子、基于渐进窗口尺寸的数学形态学滤波算子,以及分层稳健线性估计滤波法,分别对试验数据进行滤波处理,并获取相应的滤波结果;然后把经典滤波算子获取的滤波结果和POBL滤波算子获取的滤波结果进行比较。与此同时,还利用TerraScan软件通过人工编辑的方式获取了对应区域的DEM作为参考,并通过比较其他滤波方式获取的DEM与参考值之间的差异,获取对应的统计结果,这里的DEM高程差异阈值设为15 cm,试验结果如图4—图7所示,表1为对应的精度统计结果。
图3 对应的航空照片
图4 POBL滤波获取的地面点
图5 渐进窗口尺寸数学形态学滤波算子获取的地面点
图6 小波分层滤波获取的地面点
图7 分层稳健线性估计滤波获取的地面点
试验中各滤波算子的参数设置为:POBL算子坡度差阈值为8o,高程差阈值为0.3 m,坡度阈值为10°,长度阈值为100 m;小波分层滤波算子最大窗口尺寸为100 m,坡度阈值为10°;渐进窗口尺寸的数学形态滤波算子高程差值阈值为0.3 m,最大窗口尺寸为100 m,坡度阈值为10°;分层稳健线性估计滤波算法C(0)为1,c为60,坡度阈值为10°。分析对比图4—图7可以发现,经典滤波算法对试验数据进行滤波时,位于几个建筑物屋顶表面面积较大的激光脚点出现了错误分类的情况(深灰色圆圈内),而POBL滤波算子则有效地避免了这一情况的出现。这主要是因为前3种滤波算子受限于窗口尺寸与地形细节保留之间的矛盾,当滤波窗口尺寸较小时,就会导致错误分类;而当滤波窗口尺寸较大时,则会导致地形细节被忽略。而POBL滤波算子则可以同时兼顾地形细节保留与大面积建筑物表面点的有效剔除,各类滤波算子的性能统计见表1。
表1 各类滤波算子的性能统计表
由表1可以发现,POBL算法获取的滤波结果内插的DEM精度为0.61 m,而其他3种滤波方法获取的DEM精度在0.91 m左右。
四、结束语
POBL滤波算法从原理上基本能够适应各类地形背景下的数据滤波,特别是对低矮植被点及地形突变的环境可以取得较好的滤波结果。同时,该算法有效摆脱了对最大窗口尺寸的依赖,可同时兼顾地形细节保留与大面积建筑表面点的有效剔除。
参考文献:
[1] 黄先锋,李卉,王潇,等.机载LiDAR数据滤波方法评述[J].测绘学报,2009,38(5):466-469.
[2] 王金亮,陈联君. 激光雷达点云数据的滤波算法评述[J].遥感技术与应用,2010(25):632-637.
[3] 王明华,张小红,曾涛,等. 机载LiDAR数据滤波预处理方法研究[J].武汉大学学报:信息科学版,2010,35(2):224-227.
[4] 蒋晶钰,张祖勋,明英. 复杂城市环境的机载LiDAR点云绿波[J].武汉大学学报:信息科学版,2007,32(5):402-404.
[5] 成晓倩,赵红强. 基于区域生长的LIDAR点云数据滤波[J].国土资源遥感,2008(4):6-8.
[6] 李卉,李德仁,黄先锋,等.一种渐进加密三角网LiDAR点云滤波的改进算法[J].测绘科学,2009(34):39-41.
[7] 张玉方,程新方,欧阳平,等. 机载LiDAR数据处理及其应用综述[J].工程地球物理学报,2008(5):119-123.
[8] 熊娜,程新文. LiDAR数据特点及其滤波分类方法[J].中国水运,2008(8):151-154.
[9] 刁鑫鹏,吴侃. 改进的移动窗口曲面拟合法点云数据滤波处理[J]. 现代矿业,2011(6):59-61.
[10] Jie Shan, Aparajithan Sampath. Urban DEM Generation from Raw LiDAR Data: A Labeling Algorithm and Its Performance[J]. Photogrammetric Engineering & Remote Sensing,2005,71(2):217-226.