基于数学形态学算法的机载LiDAR点云数据滤波方法探究
2018-10-11王岩严勇陈功军戚留真
王岩 严勇 陈功军 戚留真
(1.河南省水利勘测设计研究有限公司,河南 郑州 450016;2.国网河南省电力公司商水县供电公司,周口 商水 466100)
1 引言
激光雷达(LiDAR,Light Detection and Ranging)是一种向目标发射激光束,将接收的目标返回信号与发射信号比较,通过处理得到地物三维信息和地面空间特征信息的雷达系统。LiDAR技术可快速获取高分辨率地表三维信息,具备高自动化数据采集效率,广泛应用于地形测绘、城市建模等多个领域。激光雷达所获取的数据是离散三维点云,点云数据的应用明显滞后于激光雷达系统的硬件发展。选择一种高效滤波处理的方法来获取地面的三维信息是非常必要的[1]。
2 点云数据滤波原理
2.1 点云数据处理
机载激光雷达系统点云数据处理主要包括GPS数据定位处理、IMU/GPS组合确定投影中心姿态参数、多传感器数据的时间系统的同步处理、点云数据三维坐标计算、数据滤波分类、建筑物边缘提取以及建筑物三维重建等环节。目前,点云数据的处理还处于研究发展阶段,有关点云数据后处理的算法尚存在一定缺陷。其中点云数据处理的难题是点云数据的滤波,滤波精度对后续分类、地物识别和提取、建筑物三维重建有很大影响,点云数据滤波算法的研究是机载激光雷达数据后处理的难点和关键点[2]。
机载激光雷达激光脚点在三维空间的分布形态是一系列不规则、离散的数据点云,激光脚点在地面的分布形状取决于采用的扫描方式。在这些点云中,有的激光脚点位于真实的地形表面,将这些点称为地面点;而位于地面地物或植被上的点称为非地面点,将位于真实地形表面的激光脚点从点云数据中分离出来,就是点云数据滤波。机载激光雷达系统在数据釆集时具有一定的盲目性,存在丢失地形、地物特征点等问题,这为点云数据处理带来一定难度,因此,在滤波过程中应尽量保留重要的地形特征点,减少滤波分类误差。
2.2 点云数据滤波算法原理
机载激光雷达数据滤波算法原理可分为两类。一类是基于传统航空影像分类,不同目标反射的激光脉冲回波能量不同,回波能量决定了回波强度,将回波强度信息转换为灰度图像,通过分析灰度的分布形态,确定地面点的灰度范围,以灰度值的差异区分地面点和非地面点;另一类是基于高程突变,临近激光脚点间高程突变造成的局部不连续,一般认为并非由地形的自然起伏变化导致,而是因较高的激光脚点位于地物表面或植被上,而较低的激光脚点位于地面,临近激光脚点间的距离越近、高差越大,较高激光脚点位于地面的可能性就越小。
在通过滤波算法判定点是否为地面点时,要考虑该点到参考地面点的距离。随着距离的增加,判断阈值也应相应增加。
目前,机载LiDAR系统获取的回波强度信息噪声较大,基于传统航空影像分类的滤波算法比较少,大多是基于高程突变的原理。基于高程突变原理的滤波算法有两个基本前提:一是临近区域内非地面点高于地面点,即机载激光雷达扫描得到的数据,在经过预处理后,区域内的最低点即真实的地面点。大多数滤波算法基于这一假设,寻找起始地面种子点。二是扫描区域内的地形比较平缓,不会出现剧烈的起伏变化,以这个为前提,依据一定的数学原理,构造出用来判断种子点临近区域内激光脚点是否为地面点的判别函数,判别函数是滤波算法的核心部分[3]。
3 滤波算法
目前机载LiDAR数据滤波算法主要有形态学滤波算法、线性迭代最小二乘滤波算法、基于地形坡度滤波算法、三角网迭代滤波算法、移动曲面拟合滤波算法以及基于数据分割滤波算法等。
3.1 数学形态学滤波算法
德国斯图加特大学Lindegberger教授在1993年提出了适用于数据点有序的剖面式激光雷达数据的数学形态学滤波算法,其主要思想是:选取一个固定大小的窗口,将这个窗口在扫描区域移动,通过数学形态运算找出窗口内的最低点,通过设定一定的阈值,对窗口内的点进行判别,如果窗口内的点在阈值内则为地面点,判别完后,继续移动窗口直到遍历完整个扫描区域[4]。数学形态学滤波法以规则格网组织数据,提出了逐离散点和逐格网滤波法来快速提取地面点。
3.2 迭代最小二乘线性内插滤波算法
维也纳大学的Kraus和Dfeifer教授提出了将LiDAR点云数据进行迭代最小二乘线性内插的滤波算法。该算法的中心思想是使用低维的多项式曲线实现对地形起伏不大的扫描区域内数据的滤波处理,基本出发点是位于地物的激光脚点的高程比对应的地面点的高程高,对激光焦点进行线性最小二乘内插后,拟合一个高程拟合面,激光脚点的高程与该点在拟合面上的拟合高程之差不服从正态分布[5]。
3.3 基于地形坡度滤波算法
Vosselman在2000年提出了基于地形坡度的滤波算法[6],其中心思想是:两临近激光脚点间的高差较大时,由地形剧烈起伏变化引起的可能性较小,最大的可能是一个激光脚点位于地面,一个位于地物上。通过比较目标点与其临近地面点间的高差值与给定阈值间的大小关系,判断是否接受目标点为地面点。给定的阈值是两点间距离的函数,假设地形坡度不超过30%,一般机载激光雷达数据不可避免地带有误差,其标准差为,滤波函数可表示为:
其中d为两激光脚点间的距离,其表达公式为:
3.4 移动曲面拟合滤波算法
随着机载激光雷达技术的不断发展,点云数据的空间采样密度越来越大,能很好地体现激光焦点间的空间关系。激光脚点间的空间关系在一定程度上反映了地形表面的空间起伏变化。基于这个原理,武汉大学张小红教授提出了移动曲面拟合滤波算法[7]。算法的基本思想是:可以用一个简单的二次曲面去逼近拟合任何一个复杂的空间曲面上的局部面元:
以种子区域三个彼此靠近的最低点为初始地面点,将3个初始地面点三维坐标拟合成一个空间平面,然后将临近的备选激光脚点的平面坐标带入拟合的平面方程中计算出拟合高程,如果拟合高程与观测高程间的高差小于给定的阈值,则接收该备选点为地面点;否则就将其作为非地面点滤掉。用新接收的地面点与3个初始地面点重新拟合成一个空间曲面,对临近的激光脚点进行同样的判定处理。当拟合的地面激光脚点为6个时,保持曲面的拟合点数不变,以后每接收一个地面激光脚点就丢掉一个最远的地面脚点,直到判断完所有的激光脚点[8]。
4 实验分析
4.1 实验过程
数学形态学滤波方法要注意坡度阈值的人工选取和细节地形的方块效应,主要根据地形的起伏大小和高程变化自适应,调整滤波窗口。实际应用中,Lindenberger将数学形态学方法引入机载雷达数据滤波,采用水平结构单元度机载激光测高数据进行开运算,过滤剖面式激光扫描数据,再利用自回归改善开运算结果。
实验采用的数学形态学滤波,利用MATLAB平台对这组8列314288行的点云数据进行滤波处理。实验所用到的区域为混合区域,其中包括一片森林、一条倒V字形河流、一处密集型住宅区,住宅区内建筑物形状大小不同。图1是该区域的正射影像,左边中部包含聚集的居民地,居民区房子大小不一,四周围绕农田,茂密的植被林地,河流穿插其中。图2是该区域原始机载点云数据平面分布,共有314288个离散点。
图1 该区域清晰影像图
要先去除z值粗差,图3为滤除粗差后的地形地貌。可以看出,明显植被上的非地面点,中间空白区为河流,将点云分成两部分,上下两块的高差相差较大,坡度变化较明显。中部明显低洼,并有一定的平整性连接一个坡度较大的山丘地貌。再进行滤波粗差点后,根据原始数据中的首次回波脉冲强度及地物信号反射率标定结果进行首次非地面滤除。图4是首次滤波后的图像,大部分植被和少数建筑物成功滤除。
图2 原始机载点云数据平面分布
图3 滤波粗差后点云数据三维分布图
图4 首次滤波后的图像
滤波后的点云数据与原始点云数据相比较为稀疏,但是和真实的地形特征保持一致。然后再逐渐缩小滤波窗口和阈值,从而将点云数据中的植被和建筑物等非地面点成功滤除,真实的地面都完整地展现出来,整体滤波较为满意。滤波完成后的地形如图5所示。
4.2 实验结论
通过实验可知,数学形态学算法用于机载LiDAR点云数据滤波通过变窗口和阈值滤波,与传统的形态学算法相比,可以适应不同的区域,同时提高了自动化精度,保证了局部复杂区域滤波的可靠性,执行率高,实用性强。
图5 滤波完成后的地形
此次实验还存在一些不足,比如,在滤波结果中细化地面点分类还比较欠缺等。对于三维激光扫描点云数据滤波技术,接下来将会进一步研究。
5 结束语
激光雷达数据的滤波算法研究虽然有很多种,但是都有其自身的优点和缺陷,有待于改进。传统的激光雷达数据滤波处理,单纯应用激光雷达的深度信息,并不能充分提取点云数据信息,因此将激光雷达深度数据和强度信息有机结合,是未来激光雷达点云数据技术的运用。随着计算机视觉研究的新发展,可以将近年来比较突出的面向对象提取技术、人工神经网络、机器学习等智能科学发展引入LiDAR数据处理。