基于车载激光扫描数据的城区道路自动提取*
2018-12-11赵海鹏习晓环
赵海鹏,习晓环,王 成,雷 钊
(1 中国科学院遥感与数字地球研究所 中国科学院数字地球重点实验室,北京 100094; 2 中国科学院大学资源与环境学院, 北京 100049)
道路信息在城市精细制图、基础设施管理、道路安全监测和无人驾驶技术应用中具有重要作用。传统的测量手段或人工检测道路、路沿、路灯、交通指示牌及人行道等设施,人力财力消耗大,精度和效率有待提高。激光雷达系统集成激光扫描仪、IMU、GNSS和CCD相机,能够快速、直接获取目标表面的精细几何信息,为提取道路及道路两旁细小地物提供了新途径[1],如车载激光扫描系统(mobile laser scanning,MLS)更靠近地物,能够采集物体表面垂直方向的信息,并且可在平台移动的同时记录4 000点/m2密度的点云数据[2]。尤其在城市地区,地物类型复杂多样,往往包含大量不同类型的地物,如建筑、绿地、道路、路灯、指示牌、人行道、车辆等,其中道路点占原始数据的比例通常大于50%[3]。有效分离出路面点,不仅可以减少数据量,还能提高路面标识线提取与地物分割的效率,因此从原始点云数据中快速、准确地提取道路点云是车载数据处理的关键环节。
国内外学者在利用车载点云数据提取道路方面开展了很多研究,如利用点云数据的高程差提取路沿作为道路边界,进而提取出道路点,其提取结果的精度较高[2,4-5],前提是要求原始点云中存在与路面具有明显高差的路沿,设置的高差阈值难以自适应有一定高低起伏的路面环境,算法鲁棒性较弱。另外在乡镇道路或公路桥梁等路沿相对较矮甚至没有路沿的情况下难以应用。一些学者将原始点云生成二维特征图像,利用传统的图像分割算法提取路面[6-8]。由于转化二维图像的过程中会丢失点云垂直方向的信息,被车辆或行道树遮盖的部分路面无法得到有效提取,破坏了路面提取的完整性,且对道路边界的识别度较低,无法实现道路精提取。还有学者基于地形拟合的方法,在路面平整的假设下,利用RANSAC(random sample consensus)和3D Hough变化检测目标平面,再计算所有点到该平面的距离,把距离阈值内的点归为路面点[9-10]。该方法在空间和时间上开销较大,并且容易将道路两旁与路面高程相近的地物点错分为地面点。Kumar等[11]以及Boyko与Funkhouser[12]利用参数化活动轮廓模型(snake),结合影像地图、点云的反射强度、脉冲宽度以及平台的导航信息等辅助数据,提取道路两侧的边缘线,不同的道路环境具有较强的适应性,但较依赖于外部数据,而且需要先验知识以确定初始参数,可操作性较低。可以看出,MLS数据提取道路特征存在以下几个难点:1)点云分布不均匀、无组织、数据量大;2)缺少辅助数据,由于车载平台的移动,激光会从不同方向、不同角度被接收,因此如RGB色彩信息和强度信息在未经校正的情况下并不稳定;3)除道路及邻近区域外,还包含大量不同类型的地物,如建筑、植被、车辆等,增加了道路边界准确识别的难度。
本文针对无明显路沿的道路环境,提出一种基于道路边缘线检测的城区道路点云提取方法,即在对路面进行分段预处理后,通过分析边缘线与两侧路面存在的反射强度梯度与点云密度分布特点,提取特征点,再拟合生成边缘线从而提取路面,最后利用车载扫描数据验证算法的有效性。
1 方法
1.1 基本原理
为了剔除车载激光扫描数据中非道路点云,本文首先根据路面平均高程设定阈值,对原始数据进行高程滤波,再利用行车轨迹数据完成道路分段。单段路面可近似为平面,因此利用RANSAC平面拟合算法对路面建模,实现路面点粗提取,再利用道路边缘线的反射强度梯度与密度分布特征提取边缘线点,最后拟合生成边缘线完成道路精提取,具体流程如图1所示。
图1 基于边缘线的道路点云提取流程Fig.1 Flow chart of road surface extraction based on road boundary
1.2 高程阈值滤波与道路分段
1.3 道路粗提取
经过高程滤波后的单个路段点云数据具有如下特点:1)路面点占数据总体的比例大于50%;2)分段后的路面近似为平面。利用RANSAC算法,首先随机选取3个种子点,计算拟合平面参数,再统计点云中到该平面距离在阈值内的点数,迭代取点数最多的平面为最终结果。在道路坐标系中,Z坐标方向与路面法向量方向一致。因此,在每次迭代中,如果α>ε,则该平面一定不是路面,直接进入下次迭代,α为拟合平面法向量与坐标Z轴的夹角,ε为阈值。计算满足条件的拟合平面方差,取其中点数最多、方差最小的平面为路面。
1.4 道路边缘线提取
城市地区一般以路沿作为道路边界,但在乡镇或桥梁公路等道路环境中,往往无可识别的路沿。道路边缘通常是指位于路面与人行道之间的连接区域,边缘线的材质区别于两侧表面,因此对激光具有不同的反射特性。为了获取无明显高差特征的道路边缘线,本文通过分析边缘线的形状特征与反射强度特性提取特征点。以每个点pi为中心,通过邻域搜索计算局部区域内点云的平均强度值与密度值。
1.4.1 边缘线点云提取
本文基于点云的反射强度和密度分布特征提取边缘线点云。
1)反射强度特征
(1)
对每个点计算其所在邻域与垂直道路方向两侧邻域内的强度平均值,边缘线上的点云将满足以下约束条件:
(2)
2)密度分布特征
统计以pi为中心、r为半径的体元素vi内所含的点云个数,记为DoVP(density of voxel points)[13],再从pi出发沿道路方向分别移动一个距离di,以r为半径统计各体元素内的点数,点云密度梯度可表示为:
(3)
设定最小密度容差σ,对边缘上的点云满足
(4)
1.4.2 道路边缘线拟合
不同区域的道路边缘线在形态和反射强度上存在差异,无法利用固定阈值提取出所有边缘点,造成结果中存在一定的稀疏性和间断性。另外,带有噪声的观测点也会影响路面提取的质量,因此需要对提取出的离散边缘点进行矢量化,确定连续的道路边界。由于道路边缘线几何性质不均一,提取出的边缘线离散点往往存在间断与突变,加之误差点,致使一般的曲线拟合方法如,多项式拟合、分段拟合,无法有效保留道路线的局部特征,并且受局部特征点影响会降低整体的拟合精度。相比之下B-spline是一种基于多项式方程、由多段曲线连接而成的曲线,具有局部数据点变化不影响整体形状的特点,利用这一特点可以实现边缘线的分段拟合,保留其局部特征。本文通过B-spline曲线拟合从包含噪声的散乱点云中给出一条光滑曲线,从而确定道路边缘线。
2 结果与分析
2.1 实验数据
实验数据为某一城市大桥周边两部分道路区域,每部分覆盖道路长约400 m,数据1为直线道路,路面起伏较小,路宽较一致,共有5 000 520个点;数据2在道路中央存在岔口,其余为直线路段,共有5 000 037个点。两段数据均包含大量路灯、交通指示牌、行道树、灌木、防护栏等地物;另有一段山区道路数据用以验证算法在道路具有较大起伏情况下的有效性,图2为山区道路按高程显示下的效果。
图2 山区道路激光点云数据Fig.2 LiDAR data of road in mountain area
2.2 实验结果
根据最小间隔应大于岔路口宽度且相对平整的路面可适当增加间隔大小的原则,本文先对两份数据分别以30和20 m间隔进行分段,再利用不同路段的路面高程信息设置最小和最大高程阈值,完成高程滤波预处理。
RANSAC道路粗提取的目的是保留完整路面的同时剔除道路两旁的细小物体,如低矮围栏和植被等。路面点数最大值和点到平面的距离阈值是粗提取中的两个关键参数,前者决定算法的迭代次数,次数越多,获得目标平面的概率越大,后者过小会影响路面点提取的完整性。通过对单个路段数据进行实验,确定路面最大点数为总点数的0.6倍,距离阈值为0.22 m。
在提取边界点之前,首先需要确定邻域搜索的最佳半径r,r过大容易引入非边界点,这里根据边缘线的宽度范围取0.15~0.2 m。确定强度梯度阈值和密度梯度阈值需要考虑不同的扫描仪、采集方式以及激光入射角和路面材质等因素。本文通过对单段数据进行试验,确定边缘线与两侧路面的强度梯度和密度梯度范围分别为10~15和5~10,最终分别取10和5作为参数阈值。由于两组数据由相同仪器采集,采集方法相同,且路面状况相似,因此该参数阈值对于两份数据均适用。城区道路与山区道路的边缘线提取结果见图3。
最后根据道路的分段数均匀划分B-spline曲线的参数域,对边缘点进行3次B-spline曲线拟合。
综合上述实验参数对两组数据进行处理后,最终得到的路面提取结果如图4所示。
为了对实验结果进行评估,通过手工选取实验数据中的路面点作为参考数据,再根据Wang等[14]提出的方法计算完整度p、准确度r与提取质量q,进行算法的定量评估,如下:
(5)
式中:TP表示正确分类的路面点个数;FN表示遗漏的路面点个数,即属于路面点但未被归为路面点的个数;FP表示错误分类的路面点个数,即不属于路面点而被归为路面点的个数。
图3 道路边缘线提取结果Fig.3 Results of road boundary extraction
表1为本文方法的精度评价指标,可知算法对路面的提取结果较好,其中完整度、准确度与提取质量均超过90%,证明绝大部分的路面点均得到有效提取。
表1 道路提取结果精度分析Table 1 Accuracy analysis of road extraction results %
2.3 分析与讨论
当道路面存在起伏时会降低分段的准确度,影响算法有效性,尤其在山区等地势变化较大的地区。通过山区道路的实验结果,如图4,大部分道路边缘点得到有效提取,可见算法在路面具有较大高程起伏的环境下仍然有效。
与高差阈值法[2]和特征图像法[6]在无路沿环境下的道路边缘检测效果相比,由于道路边界与路面不存在明显高差,且路面不平整的特点容易造成路面点被检测为边缘点,因此高差阈值法对道路边缘的检测几近失效。而特征图像法通过将三维点云转换到二维平面,极大提高了算法的时间效率,在3类方法中处于最优。但应用二维图像的边缘检测方法容易将草坪边缘、人行道等物理边缘作为道路边界,且容易将路面上方的地物归为路面,因此在准确率方面较低。本文提出的算法则具有较高的准确性和稳定性。
路面粗提取采用具有迭代过程的方法,是算法预处理部分中的主体,其运行时间大约为每段20.6 s。道路边缘提取作为算法流程中的主要步骤,要求通过遍历所有点以求得最终结果,其在实验中的运行时间大约为3.5 min。
在边缘线提取部分,算法需要遍历输入点搜索出满足条件的特征点,因此需要较大的时间开销。通过建立kd树索引以及引入多线程并行编码可在数据量较大的情况下有效提高搜索效率,降低运行时间。
3 结束语
本文以车载激光点云数据为研究对象,提出一种基于道路边缘线识别的路面提取方法,并利用实际获取的城区车载激光扫描数据验证方法的有效性,特别是在无明显路沿存在的道路环境下,本文方法也可以精确识别出道路边缘线,为复杂道路环境中的道路提取问题提供了一个新的解决思路。同时本文方法充分利用点云数据固有的三维信息,流程简单,无需辅助数据的支持。
由于城区道路的复杂性,加上本文方法涉及的参数较多,其中阈值参数无法在不同的道路环境中实现自适应,特别是复杂的道路环境提取道路边缘点精度有待提高,如对具有岔口的道路边缘线拟合效果较差,降低了路面提取的质量。针对本文方法的不足之处,今后将在以下几个方面展开进一步研究:1)根据不同的道路环境,设计具有自适应能力的阈值;2)优化搜索半径,提高边缘点的识别准确率;3)探索新的道路线拟合方法,提高复杂道路环境的边缘线拟合质量。
本文所用的车载激光扫描点云数据由易图通科技(北京)有限公司提供,作者在此表示感谢。