邹 宇
(贵州水利水电职业技术学院,贵州 贵阳 551400)
激光雷达系统(LiDAR)是集激光、GPS和INS一身的三维扫描系统,可以快速获取大面积目标表面的高分辨率点云数据,为快速建立物体三维模型提供了一种全新有效的技术手段,是生成DEM和城市三维建模的重要技术手段[1]。道路信息的快速提取是城市三维建模的重要组成部分,也是城市道路安全监测的重要技术方法,直接关系到社会稳定和人民的切身利益。目前,已经有学者基于机载LiDAR、地面LiDAR及卫星航空影像等利用激光反射强度、RGB信息等对地面道路提取进行研究。曾静静[2]采用逐层加密TIN提取数字模型(DTM),根据点云的回波信息从DTM中提取道路信息;李怡静[3]利用点云强度信息、离散度与高分辨率遥感影像信息融合来提取道路网;Aleksey Boyko和Thomas Funkhouser利用点云和相应的道路网图信息提取道路点云[4];龚亮等[5]提出一种利用强度信息聚类提取机载LiDAR点云道路的方法;彭检贵等[6]利用机载LiDAR点云的高程和反射强度属性提取初始道路点云,然后使用基于边长和面积阈值的约束Delaunnay不规则三角网方法初始化道路点云;胡澄宇等[7]基于林间道路形态特征和支持向量机原理,利用形态参数对初始道路区域进行去噪、精化,得出较好的道路区域;杨晓云等[8]提出一种基于扫描线坡度统计的LiDAR滤波算法,设定阈值迭代滤除地物点,并采用局部参数化表面拟合进一步净化候选地面点;还有学者利用点云的反射强度和数字高程模型信息提取道路网络,以及通过高程和反射率对点云进行滤波,并结合点的坡度阈值对点云进行聚类,从而将道路信息提取出来[9-10]。
在已有研究成果的基础上,本文提出基于高程-坡度的包围盒增长算法提取道路信息的方法,首先对点云建立包围盒,根据高程和局部坡度阈值提取地表点云,然后对地表包围盒的高程进行模糊C均值聚类(fuzzy c-means algorithm,FCM),FCM聚类选择种子包围盒,最后根据种子包围盒进行区域增长提取路面点云。
将处理的点云数据作为一个整体,建立一个能包围该点云的最小立方体,然后根据实际需要设定小立方体的边长,将这个大的立方体划分成许多体积相同的小立方体,即建立空间子包围盒(见图1),从而实现对点云数据的空间划分[11]。
1)确定最小包围盒。求取点云数据中X,Y,Z的最大值和最小值,确定最小包围盒的对角顶点Pmax(Xmax,Ymax,Zmax)和Pmin(Xmin,Ymin,Zmin),同时也确定最小包围盒的边长Lx,Ly,Lz。
2)确定子包围盒的边长。子包围盒的边长L决定了空间包围盒的个数和数据处理的效率,子包围盒个数越多,占用计算机内存越多,降低处理速度;但如果子包围盒个数较少又不能达到本实验的目的。根据实际数据特点,可自行确定子包围盒的边长,最小包围盒可被划分成A×B×C个空间子包围盒。用floor表示向下求整运算
A=floor(Lx/L),B=floor(Ly/L),C=floor(Lz/L).
3)确定子包围盒的空间索引。即对空间点云所在的子包围盒进行编码,确定每个点所在子包围盒的编号,方便索引与访问每个点,图2表示顶层和底层包围盒的编码。空间点P(x,y,z)在X,Y,Z3个方向的索引值为IDXP,IDYP,IDZP:
IDXP=floor((x-Xmin)/L),
IDYP=floor((y-Ymin)/L),
IDZP=floor((z-Zmin)/L).
图1 格网(包围盒)结构
图2 子包围盒编码
基于地面LiDAR系统扫描道路获取的点云数据,不仅包含公路面,可能还包括周边房屋、植被、路面噪声,高等级道路还包括隔离带等,提取完整路面点云,就必须对除了路面点云数据外的其他噪声点进行处理和消除。点云数据处理初期可以通过人机交互的方式将道路点云框选出来,并去除明显的噪声点,但公路面和地面是连续的并没有明显的分界,车辆等噪声点都是连续地延伸到道路表面,肉眼并不能精确地分辨出路面的边界,同时也不能完全去除接近路面的噪声点,所以必须采用合理的技术方法对近似路面点云的噪声点进行剔除。本文根据包围盒理论提取地表点云,然后根据点云数据体现的局部高程和坡度特性,再对其进行去噪,提取出精确的地表点云,然后利用区域增长的方式提取路面点云,具体的算法流程如下:
1)建立空间包围盒,对原始点云进行初始去噪(公路上障碍物和路边房屋、树木),计算点云数据中X,Y,Z的最大值和最小值,根据确定的小包围盒的边长对点云数据建立空间包围盒。
2)提取地表包围盒,根据子包围盒的编码规则(见图2),由底层向顶层逐层循环每层包围盒,寻找包含地表点云的包围盒并进行滤波。由i(1≤i≤A)和j(1≤j≤B)控制XY方向,k(1≤k≤C)控制Z方向,从最底层的每个包围盒在Z方向上开始循环。如果包围盒为空,则遍历下一个(k+1)包围盒,如果包围盒非空,对包围盒内的点云进行高程和坡度滤波,则滤波后的点云就是地表包围盒点云。同时计算滤波后包围盒点云的平均高程和平均坡度,并终止Z方向上的循环,开始另一个XY平面上的包围盒在Z方向上的循环,依次循环提取出地表包围盒。
3)地表包围盒滤波,对于每个地表包围盒,首先要求出该包围盒点云的最低点,然后求出各点与最低点的高差与坡度,如果坡度大于给定的阈值则舍弃该包围盒,否则再进行高程滤波得到地面点,遍历所有的地表包围盒,依次对地表包围盒点云进行去噪,得到精确的地面点云。
4)选择种子包围盒,路面点云的高程是在一定的区间内,用FCM算法对地表包围盒的平均高程进行聚类,并对隶属度矩阵的各列求和,求出与最大隶属度对应的聚类中心(高程),在地表包围盒中寻找与聚类中心最近的高程值,则该高程值所在的包围盒就是种子包围盒。
5)路面点云区域增长过程[11-12]。设定高程阈值为H,坡度阈值为slope,种子包围盒点云的平均高程及平均坡度分别为SEEDslope、NEXTslope,遍历下一个包围盒的平均高程及平均坡度分别为SEEDh、NEXTh。对每次循环,遍历所有的包围盒,如果|SEEDh-NEXTh| 为了验证基于高程—坡度包围盒算法的正确性,本文以开滦集团某矿区城镇省级公路和高速公路的两处地面LiDAR点云为实验数据,并基于MATLAB R2012a平台对该算法进行实现。采集数据所用的仪器为riegl VZ4000,省级公路实验点云间隔是1 cm,点总数是131 353,高速公路实验点云的间隔是2 cm,点数是125 329,包围盒的边长均为5 cm。省级公路和高速公路的原始实验数据情况分别见图3(a)和图3(b),其中,省级公路位于居民区,点云中主要包含路面、部分墙面、土地面、植被以及车辆噪声,高速公路所在区域比较空旷,点云中主要包含路面、隔离带和车辆噪声。 图3 实验原始数据 提取地表包围盒时,均采用边长为5 cm的包围盒。由于墙面、车辆、隔离带和植被均有明显的高程纹理特性,墙面点云和隔离带点云基本上位于竖直面上,植被点云基本成空间伞状分布,故可近似认为车辆点云位于垂直面上,地面点云位于缓平面上。因此,可根据点云的高程和坡度特性对地表包围盒点云进行去噪,提取地面点云。由公路工程技术标准(JTG B01-2003)知,高速公路路面坡度为1%~2%,省级公路路面坡度为1.5%~2.5%,由于扫描的路面点云数据一般都会有一定的厚度,在实际应用中采用较大的坡度阈值,故本实验提取地表点云的坡度阈值定为0.15,高差阈值5 mm,提取的地表点云如图4 (a)和图4(b)所示,点云经过高程-坡度滤波的效果,如图5 (a)和图5(b)所示。 由图4可知,原始点云经过高程-坡度滤波提取出地表点云,基本上可以将墙面、植被、电线、车辆和隔离带去除,但是还会有剩余的零星点没有被去除,并且降低了路面点云的密度。这是由于处理数据时是以包围盒为单位进行处理,以电线为例,原始点云被空间包围盒划分后,在Z方向上只有包含电线的包围盒(电线周围没有其它点),因此,就把电线认为是地表点,包含电线的包围盒满足坡度阈值,但是经过高差滤波后保留了这些点,房檐和隔离带上的零散点也是这样形成的。图5表明,该算法可以很好地去除接近地表的车辆噪声点,从而得到不含噪声点的地表。 图4 滤波后的地表点云 图5 路面点云经过高程-坡度滤波前后的效果对比 在提取地表点云后,将地表包围盒的平均高程作为模糊集,采用FCM理论将其分为5个模糊集,根据隶属度矩阵找到种子包围盒。选择的省道路面比较平坦,高速路面横向高差较大,因此,设置种子包围盒区域增长的高程阈值是2 cm(省道)和20 cm(高速路面),坡度阈值均是0.09。路面点云提取效果见图6 (a)和图6(b)。经过种子包围盒的区域增长,路面从地表点云中提取出来,可以有效去除地表点云中的零散点,达到正确提取路面的目的,从图6和图4的对比结果可以看出,将路面从地表点云数据中提取后,路面点云的密度有所减小。 图6 路面点云提取结果 本文通过高程—坡度包围盒算法,实现了对道路点云的提取,并通过对省道和高速公路点云数据提取的实例验证。实验结果表明,本文提出的基于高程-坡度的包围盒增长算法能很好地从地面LiDAR点云数据中提取道路点云,彻底去除人工去噪残留的噪声点,且从地面点云中分割出的路面点云能够保留路面原始的几何特征。该方法可以有效地将完整路面提取出来,对地面LiDAR数据道路提取具有一定的参考价值。3 实验与分析
3.1 地表点云提取结果分析
3.2 路面点云提取结果与分析
4 结束语