基于区域增长的LiDAR点云数据DEM提取
2015-03-16张齐勇
张齐勇
(中铁第一勘察设计院集团有限公司,陕西西安 710043)
Extracting DEM from LiDAR Data Based on Region Growing
ZHANG Qiyong
基于区域增长的LiDAR点云数据DEM提取
张齐勇
(中铁第一勘察设计院集团有限公司,陕西西安710043)
Extracting DEM from LiDAR Data Based on Region Growing
ZHANG Qiyong
摘要机载LiDAR系统能够快速获取数字表面模型,通过滤波处理,可以获取数字高程模型(DEM)。提出一种从机载LiDAR点云数据获取DEM的方法,首先对点云数据建立网格分块索引,然后逐行逐列按照一定的间距选取地面点作为种子点,使用区域增长算法增长地面点,获得地面点集,最后通过逐点内插生成DEM。选取机载LiDAR数据进行实验,结果表明该方法得到的DEM质量较高。
关键词LiDAR区域增长滤波DEM
1概述
机载激光扫描(LiDAR)系统可以快速获取地球表面三维数据信息[1],从而生成数字表面模型(DSM),在DSM中,不仅含有地面点,还包含建筑物、树木、电线、桥梁、车辆、行人等非地面信息,通过剔除这些非地面信息,即可保留地面点,该项工作称为滤波。
目前,国内外学者已经提出了许多滤波算法:基于坡度的滤波方法[2]通过考虑地形变化情况,根据相邻两点的高差与距离的关系判断地面点与非地面点,在坡度变化剧烈或者陡峭的地方具有一定局限性;迭代线性最小二乘内插法[3]则使用线性最小二乘法内插激光脚点,其拟合残差不服从正态分布,通过迭代线性最小二乘内插法逐渐逼近和修正真实地面,该算法适宜地形变化较小且激光点云数据分布较为均匀的区域,而对于地形变化较大的区域,其参数设置比较复杂,滤波时间较长,效果不是太好;基于形态学的滤波方法[4、5、6]主要是通过数学形态的开运算逐步滤除非地面点,该类算法关键在于结构元素的选取与阈值的确定;基于双次回波的滤波方法[7]利用双次回波高程之差分类激光脚点,适用于分类植被激光脚点;多级移动曲面拟合滤波方法[8]通过建立二次多项式完成参考曲面的拟合,使用不同窗口大小获得不同层次的拟合曲面,通过设置自适应阈值,完成地面点与非地面点的判断,该方法在植被茂密地区滤波的精度较低;基于自适应TIN迭代加密滤波方法[9]能够有效滤除错误点和近地点并得到DEM数据,但是对于小面积房屋的滤波效果不是很好,同时在动态构建不规则三角网过程中时间复杂度较高。
考虑地形的变化特征,提出了基于区域增长的LiDAR点云数据滤波方法:通过自动选取合适的地面种子点,按照高程一致性的原则进行区域增长,获取整个地面点云,并内插出DEM。实例验证了该方法能较好地提取地面点,具有较好的实用性与精度。
2研究方法与实现
基于区域增长的LiDAR点云数据滤波方法主要思想为根据地面点高程一致的原则,选取地面种子点进行区域增长,实现地面点集的提取,滤除掉树木与建筑物等地物信息,最后内插出DEM,主要技术路线见图1。
图1 LiDAR点云滤波与DEM提取主要流程
2.1 点云索引的建立
机载LiDAR点云数据密度很高,在对其进行处理前,需要对LiDAR点云数据建立空间索引。这是因为处理离散点云数据时(如滤波或逐点内插DEM),经常需要在当前点的邻域内搜寻满足符合条件的点,若对点云数据进行全局搜寻,效率极低,无法满足实际需求,通过建立点云索引机制即可解决邻域搜寻的效率问题。目前空间数据索引方法较多,较为典型的有基于网格分块的方法、基于KD-Tree的方法等。对于分布较为均匀的点集通常采用网格分块的方法建立空间索引,该空间索引的基本思想是将空间区域划分为大量的方形小块,对某一参考点进行邻域搜寻时,判断该参考点位于哪一数据块,获取其行列号,按行列号进行邻域搜寻,效率大为提高。网格分块空间索引建立方法如下[10]:
(1)计算LiDAR数据点范围与点云平均间距,使用一个合适的二维矩阵覆盖在点云数据上,二维矩阵的格网间距与点云平均间距相当,将二维矩阵赋初值为-1。
(2)遍历LiDAR数据点,根据二维矩阵与LiDAR点云数据的关系计算当前LiDAR点对应二维矩阵的行列号,若该单元格未被赋值,则将该单元格赋值为该点所在点云数据中的点号;若该单元格已被赋值,则比较当前点与已赋值点的高程,由于低点为地面点的概率更大,则选择高程较低数据点的点号作为该单元格值。
2.2 种子点选取
LiDAR点云数据包含有地面点、树木、建筑物等信息,根据数据高程一致的原则直接对LiDAR点云数据进行分割,则地面点形成一个大的区域或者若干小区域,建筑物由于屋顶通常为平面或斜面或连续的曲面,其高程变化通常较小,因此也会分割为若干小区域,而树木点高程变化较大,则会分割成较小区域。在分割的这些区域中,虽树木与建筑物区域较临近的地面点区域高,若仅依靠相邻区域的高程判别地面区域与建筑区域,容易造成相邻建筑物区域的误判。一个有效的方法是在区域分割之前设定地面种子点,依据地面种子点进行地面点区域增长,从而获取地面点集。常规的地面种子点选取方法是在全部点云数据内搜寻高程最低点作为地面点,此方法的缺点在于搜索的高程最低点也可能是粗差点,仅仅依靠最低点进行区域增长,可能无法增长或者增长为一个较大的地面连通区域,而对于非连通区域的地面则无法进行增长。在实际情况中,种子点需要选取具有一定的代表性且分布较为均匀的点,考虑到在一定区域内的最低点通常为地面点,可以根据建立的网格分块索引逐行扫描数据点,每隔一定的间距选取高程最低点作为种子点,再逐列扫描,再选取每一列一定间距内的最低点作为种子点。通过此方法选取种子点,能在点云数据分布区域内获得较为均匀的地面种子点。
2.3 地面点区域增长
LiDAR点云数据的一致性体现在高程上,通过对地面种子点进行区域增长,可把高程一致的LiDAR数据点合并为一个区域,即地面点集。区域增长算法使用堆栈实现,首先对原始LiDAR点云数据进行标记,将种子点标记为地面点,其余点标识为未分类点,然后即可进行地面区域增长,步骤如下:
(1)将所有种子点压入堆栈。
(2)实行出栈操作,获取当前种子点,将该种子点的高程同周围的8-邻域的数据点高程进行比较,若邻域点未被分类,且邻域点与当前种子点的高程差小于给定的阈值,则将该邻域点标识为地面点,并对该邻域点进行入栈操作,否则将该点标记为地物点。
(3)反复执行第(2)步的操作,直至堆栈容量为0结束,此时地面点皆已增长完毕,算法终止。
通过区域增长,得到地面点的集合,可用于其后的DEM内插,从而生成DEM。
2.4 DEM内插
经过区域增长得到地面点集,由于树木与建筑物及其他地物点被滤掉,因此地面点集会存在大量的数据空洞,要得到DEM,还需要内插出被标识为地物点的地面高程(主要为空洞数据区域的高程)。在内插的算法中,逐点内插法能较好地保留局部地形,应用较为广泛,该方法以待定点为中心,定义一个局部函数去拟合周围的数据点,数据点的范围随待插点位置的变化而移动。逐点内插法采用的拟合函数常为二次曲面,表达式为
(1)
要内插出地物点的地面点高程,需要以该地物点为半径,在一定距离内搜寻地面点,为了与空洞周围的地形尽量保证一致,需要在该点的四象限邻域内均匀搜寻地面点,每个象限以2至3个点为宜,将搜寻的k个点按照式(1)进行曲面拟合,求解参数,从而内插出该点的地面高程。遍历点云数据,直至所有的地物点皆内插完毕。
3试验结果分析
使用C#对滤波算法进行实现。实验数据为城市郊区的一块950 m×500 m大小的原始LAS点云数据,版本为1.0,该区域总激光脚点数为532 721个,每平方米的平均脚点数为1.1个,点云平均间距为0.9 m。根据实验原始LiDAR点云数据生成DSM,见图2。从图2中可以看出,实验区域内南边地物较多,多为建筑物,并含有少量的树木,北边区域地形起伏较大,有大量的建筑物。
图2 实验区的数字表面模型(DSM)
首先对原始LiDAR点云数据建立网格分块索引。点云的平均间距为0.9 m,网格索引分块大小设置为1 m。根据给定的种子点选取算法自动生成地面种子点12 491个。种子点选取后,对地面种子点进行区域增长,在区域增长中,高程增长阈值的设定极其重要,当阈值设定过大,则会增长过多的地物点,而阈值设定过小,又会造成地物的过度滤除,经反复试验,在网格索引分块大小为1 m时,设置增长阈值0.3 m能较好地滤除掉地物点。区域增长的搜寻范围为8邻域,通过区域增长,共增长地面点265 246个,根据得到的地面点生成灰度影像图(见图3)。
图3 区域增长获得的地面点灰度影像
图3中的大块黑色区域即为空洞数据区域,主要为树木、建筑物被滤除的部分,要生成DEM,还需要对空洞数据区域进行内插。使用二次曲面拟合地形内插DEM,最终生成的DEM如图4所示。
图4 滤波后内插生成的DEM
从图4中可以,建筑物、树木等地物绝大部分已经被滤除,同时生成的DEM能较好地保留地面特征,质量较高,算法较为理想。
4结束语
通过分析LiDAR数据点的特征,提出了基于区域增长的LiDAR点云数据DEM提取方法,并通过实验数据进行验证,结果表明该滤波方法较为理想,生成的DEM质量较高。该算法的关键在于地面种子点的选取与区域增长阈值的确定,通过逐行逐列均匀选取最低点作为种子点,能最大程度的避免非连通地面区域种子点的漏选,但是对于建筑物极为密集的区域仍然无法较好地选取地面种子点,进而影响影响滤波精度,需要进一步研究并改进。
参考文献
[1]李瑞林,李涛.一种从LIDAR点云数据中提取DTM的方法[J].铁道勘察,2007(5):53-54
[2]Vosselman G. Slope based filtering of laser altimetry data[J]. IAPRS, 2000,33(B3):935-942
[3]Kraus K, Pfeifer N. Determination of Terrain Models in Wooded Area with Airborne Laser Scanner Data[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 1998,53:193-203
[4]李勇,吴华意.基于形态学梯度的机载激光扫描数据滤波方法[J].遥感学报,2008,12(4):633-639
[5]陶金花,苏林,李树楷.一种保护细节的从机载激光点云中提取城区DTM的方法[J].遥感学报,2008,12(2):233-238
[6]孙美玲,李永树,陈强,等.基于开重建的LiDAR数据形态学滤波方法[J].大地测量与地球动力学,2014,34(2):90-94
[7]张小红.利用机载LIDAR双次回波高程之差分类激光脚点[J].测绘科学,2006,31(4):48-50
[8]苏伟,孙中平,赵冬玲,等.多级移动曲面拟合LiDAR数据滤波算法[J].遥感学报,2009,13(5):1-7
[9]殷飞,齐华,薛晓滨,等.一种自适应TIN迭代加密滤波算法[J].铁道勘察,2010(4):41-54
[10]JOHN SECORD, AVIDEH ZAKHOR. Tree Detection in LiDAR Data[C]//Image Analysis and Interpretation, 2006 IEEE Southwest Symposium on. Denver: Institute of Electrical and Electronics Engineers( IEEE ), 2006:86-90
[11]贾永红.数字图像处理[M].武汉:武汉大学出版社,2003:150-151
[12]李志林,朱庆.数字高程建模[M].武汉:武汉大学出版社,2003:102-104
中图分类号:P225
文献标识码:A
文章编号:1672-7479(2015)02-0014-03
作者简介:张齐勇(1983—),男,2009年毕业于西南交通大学地图制图学与地理信息工程专业,工学硕士,工程师。
收稿日期:2015-01-20