张婕,吕楠,苟永刚,龙川
(1.重庆市勘测院,重庆 401121; 2.重庆数字城市科技有限公司,重庆 401121;3.重庆市移动测量工程技术研究中心,重庆 401121)
车载移动测量系统高度集成GNSS、IMU、激光雷达、全景相机等传感器,能够在快速移动的状态下获取道路及道路两侧地物表面的高精度三维坐标数据,具有全天候、速度快、高精度等优点,已成为空间数据快速获取的一种重要手段,被广泛应用于地形图测量[1~3]、交通[4]、数字城市[5]、公安[6]等领域。
车载移动测量系统获取的激光点云数据具有目标多样、点密度分布不均、存在因遮挡而引起的缺失等缺点,给激光点云数据的要素提取带来了巨大挑战。针对以上问题,国内外学者开展了大量的研究工作,目前从激光点云数据中提取要素的方法主要分为4类。一是直接对散乱的激光点云数据进行分割、分类,再根据要素的几何形态与空间分布提取要素的方法[7~9]。二是对激光点云数据进行格网划分投影为图像,然后利用图像处理技术进行要素提取的方法[10,11]。三是将激光点云数据生成体素,再进行目标的提取[12~13]。四是以扫描线为单位,根据要素的分布特征进行分割与提取的方法[14,15]。总体而言,目前激光点云数据要素提取方法主要存在以下几个方面的问题:①车载移动测量系统记录的信息在数据处理过程中没有得到充分的挖掘、利用;②点云数据处理耗时、效率低下;③转化为图像和体素的方法降低了精度,容易导致错提或者漏提。
针对目前存在的问题,本文提出一种基于拓扑关系的激光点云数据要素提取方法,该方法在充分挖掘车载移动测量系统记录有效信息的基础上,为点云数据构建了空间拓扑关系,基于拓扑关系对路沿线要素进行了提取。
车载移动测量系统在数据采集过程中记录了激光点的扫描角度、扫描距离、采集时间等信息,根据车载移动测量系统以线性扫描方式为主的点云数据获取特点,系统记录的点按照激光脚点返回的时间先后或者角度大小顺序排列。同一条扫描行上相邻点之间的扫描角度差值为一个固定值(通常为激光扫描仪的角度分辨率),当激光扫描仪视口朝向天空的时候,无激光点返回,当前扫描行的最后一个点Pti和下一扫描行的第一个点Pti+1之间存在扫描角度差值的突变(Pti和Pti+1为记录的两个激光点),同理,两点的采集时间差值也会出现一个突变。因此,根据下列公式计算相邻两个扫描点的时间差或角度差可以将原始离散点云数据分割为一系列按照时间排序的扫描行,如图1所示。
图1 移动测量系统线性扫描方式示意图
fabs(Pti+1(angle)-Pti(angle))>△(angle)
(1)
或:
fabs(Pti+1(gps_time)-Pti(gps_time))>△(gps_time)
(2)
式中,Pti+1(angle)和Pti(angle)为相邻激光点的扫描角度,相应的,Pti+1(gps_time)和Pti(gps_time)为相邻激光点的GPS时间。其中,△(angle)和△(gps_time)分别为扫描行的扫描角度差和GPS时间差的阈值,该阈值与激光雷达的角度分辨率和脉冲频率有关。
在将原始点云数据划分扫描行后,根据扫描点之间的行间及行内关系,进一步为扫描点之间建立空间上的关联关系,如图2所示。
如图2所示,激光点P与A、B、C相邻,点D为无回波点,可为激光点P建立如下拓扑关系:
(3)
式中,P、A、B、C为4个相邻的激光点,Ppreline表示与P点相邻的上一行激光点,Pnextline表示与P点相邻的下一行激光点,Pprepoint表示与P点在同一扫描行的上一激光点,Pnextpoint表示与P点在同一扫描行的下一激光点,图中Pnextpoint对应的激光点D为无回波点,用0来标记。
此外,根据原始的点云数据特点,为每一个激光点增加如下属性描述,以便于后续数据的处理,属性描述如表1所示。
其他点云拓扑属性描述 表1
结合车载激光点云扫描地面道路数据及地物点各自特征与地物点的拓扑关系,将点云数据根据点云侧方距分为左右两部分,对左右两部分点云数据分别根据路沿的几何特征使用1×N的移动窗口进行路沿提取。算法流程如图3所示。
图3 路沿线提取流程图
(1)点云划分
为了提高路沿线提取效率,将点云数据按照下式划分为左右两个部分:
(4)
式中,PProfileDist表示点P的侧方距,按照点云拓扑中记录的每个点的侧方距值,可将点云数据划分为左右两部分,分别从左右部分点云中提取左右路沿线。
(2)点云过滤
为了提高路沿点检测效率,过滤划分的左右点云。根据测区道路宽度等信息结合侧方距对超出路沿外的点云数据进行过滤,结合采集平台高度及地面高数据对超出路沿高度的数据进行过滤,过滤条件如下式所示:
(5)
式中,WidthMin与WidthMax分别定义为采集平台位置到路沿线垂直距离的最小值与最大值,根据点云数据中道路的实际情况设置,HeightMax表示地面高过滤值,结合路沿高度设置。PHeight表示P点的地面高。
(3)移动窗口法检测路沿点
使用1×N(N通常为奇数)的窗口,分别在左右侧扫描线上移动检测路沿特征点,如图4所示。
图4移动窗口路沿点检测示意图
如图4所示,根据点云侧方距将点云数据分为左右两侧,然后分别对左右两侧点云采用由窗口1、检测点P及窗口2构成的1×7窗口从路面开始向路沿方向移动,检测路沿点,当检测到路沿候选点时窗口停止移动,继续下移扫描行中路沿点的检测。在窗口移动过程中,对窗口1及窗口2的以下两个条件进行计算:
(6)
其中:
AVG(ProfileDist)=(ProfileDistP1+ProfileDistP2+…+ProfileDistPi)/i
(7)
式中,ProfileDistPi表示Pi点的侧方距,△ProfileDist为侧方距的阈值,为一个经验阈值,根据路沿具体特征设定。
(8)
其中:
AVG(Height)=(HeightP1+HeightP2+…+HeightPi)/i
(9)
式中,HeightP1为Pi的地面高,△Height为地面高阈值,为一个经验阈值,根据路沿具体特征设定。P1,P2,…,Pi为窗口1或2中的点云。
当条件C1成立时,表示窗口内点的侧方距值变化不大,可认为是路沿立面上的点;当条件C2成立时,表示窗口内点的地面高值变化不大,可认为是路面上的点。
以检测左侧点云下路沿点为例,根据下路沿点的特征,当检测点P移动到路沿点时,移动窗口应符合以下两个特征:
①窗口1的C2条件成立;
②窗口2的C1条件成立。
当以上两个条件均成立时,认为点P为候选的路沿点。对左侧点云中扫描行逐行检测路沿点,可得到初始的路沿线数据。
(4)异常点删除
由于道路上车辆遮挡等原因可能造成路沿线错提,产生一些异常点,可根据路沿线的线性延伸特点,对异常点进行删除。
(5)抽稀与光滑
按照扫描行逐行提取的路沿点数据密度较大,可按照一定的距离间隔对路沿点进行抽稀,得到较为离散的路沿线。
抽稀后的路沿线数据因为点间距的增加,可能存在不平滑的现象,可再次使用三次Bezier曲线[16]或三次B样条曲线[17]对路沿线数据进行光滑处理,得到最终的路沿线数据。
本实验采用重庆数字城市科技有限公司的DCQ-MMS-X1型系统采集的城市街区数据。城市街区的扫描范围大致为 100 m×650 m,共 8 938 361个数据点。城市街区道路环境包括大量的高层建筑、茂盛的行道树、路灯、花台、栅栏等地物,如图5所示。
图5 城市街区点云数据
城市街区数据采用的DCQ-MMS-X1型移动测量系统的激光扫描仪角度分辨率为0.1667°,扫描频率 25 Hz,本文中的△(angle)取25°,即连续150个点没有返回可确定激光扫描仪的视口朝向天空,以完成对点云数据扫描行的分割。
该城市街区数据中道路最大宽度约 30 m,最小宽度约 15 m,由于采集平台基本沿着道路中心线位置行驶,取平台位置到路沿线的最大宽度值WidthMax为 30 m,最小宽度值WidthMin为 0.5 m,该区域路沿高度不超过 0.3 m,因此,取HeightMax为 0.3 m,对点云数据进行过滤。路沿立面与路面基本垂直,取△ProfileDist为 0.02 m,设置△Height为 0.02 m,采用1×7的窗口对路沿点进行检测。使用本文方法,采用以上参数设置,该城市街区数据的路沿线提取结果如图6所示。
图6 城市街区点云数据
如图6所示,本文算法对路沿线的提取得到了很好的效果,提取错误的区域主要是车辆的遮挡或者道路分叉口处。车辆遮挡造成了路沿线位置点云的缺失,而在道路分叉口处的点云分布较为稀疏以及预先设置的窗口的大小对提取结果造成了影响。但总体而言,本文算法提取的准确率及完整性较高。
为了进一步直观展示本文算法提取效果,将路沿数据转换为KML,与Google地图进行叠加,如图7所示:
图7 路沿线与Google地图叠加效果图
从图7可以直观看出,路沿与Google地图匹配度较高,在局部细节上(如道路分叉口位置)的路沿也提取较为完整。实验结果表明,该方法能够有效地提取路沿线,且路沿提取的完整度及准确率较高。
本文在充分研究车载移动测量系统获取的激光点云数据基础上,为点云数据建立了拓扑关系,提出了基于拓扑关系的路沿线提取方法。本文详细论述了拓扑关系构建过程及基于该拓扑关系的路沿线提取方法,并且通过实验验证了本文算法的有效性。本文算法能够从点云数据中较为完整、准确地提取出路沿线数据,算法简单,易于实现,为从点云数据中提取其他地物要素(如灯杆、行道树、道路标线等)信息提供了新的解决思路和方法,有助于推动基于激光点云数据的快速成图等技术的发展。