图像语义分割辅助的车载激光点云道路提取方法
摘要
针对车载激光扫描系统获得的点云数据量大,难以获得有效特征进行分割分类提取道路的现状,提出一种深度学习图像语义分割辅助的激光点云道路提取方法。采用二维图像语义分割、数据融合配准粗分类、三维霍夫变换点云平面分割拟合和局部优化点云细分类的四步工作流程对车载激光点云进行道路提取。在2段不同的城市道路点云数据中进行提取与评测,获取的道路数据正确率与完整率均达到99%以上,提取质量优异,可满足实际应用需求。经实验分析,该方法可有效提取不同道路情况的道路点云,对点云数据的原始条件约束较少,相比其他方法在普适性和鲁棒性上都有大幅的提升。
关键词: 道路提取 ; 语义分割 ; 深度学习 ; 融合配准 ; 霍夫变换
本文引用格式
于博, 张军军, 李春庚, 安居白. 图像语义分割辅助的车载激光点云道路提取方法. 国土资源遥感杂志[J], 2020, 32(1): 66-74
YU Bo, ZHANG Junjun, LI Chungeng, AN Jubai. Automated extraction of roads from mobile laser scanning point clouds by image semantic segmentation. REMOTE SENSING FOR LAND & RESOURCES[J], 2020, 32(1): 66-74 doi:10.6046/gtzyyg.2020.01.10
0 引言
道路信息作为基础地理信息不可或缺的组成部分,在自动驾驶、智慧城市、交通控制、道路维护等领域具有重要作用。传统的人工测量手段工作效率低、更新周期长,已经不能满足目前行业对数据数量、数据质量以及数据高可应用性的要求。车载激光扫描系统是以车辆为搭载平台,集成了全球定位导航系统、惯性传感器、激光扫描器、全景相机等多种传感器。具有实时性能佳、采集速度快、数据质量高等特点,可以在不与被测量物体接触、不影响正常交通秩序的情况下,通过传感器同步控制来获取道路、植被、交通标志等公路场景的高质量点云数据。这为道路信息采集提供了全新的技术方案[1-7]。
当前国内外学者对车载激光扫描数据提取道路信息已经开展了广泛的研究,以点云的高程信息为依托来进行道路的分割分类是较为流行的提取方法。其中,国际方面,Jaakkola等[8]提出将点云转换为具有高程信息的图像,利用高程和梯度差异对道路和路边石进行区分,最后使用不规则三角网对道路进行重建; Yuan等[9]利用最大熵值进行模糊聚类,将离散的点云排列为基于时序或角度的扫描线组,然后将扫描线中近似水平长直线的区域作为道路类别; Zhang[10]同样对点云生成扫描线后使用低通滤波处理来寻找不具有强烈变化属性的路面点; Boyko等[11]将二维矢量路网信息和点云高程数据进行融合对模型进行初始化,用局部区域生成的路缘点云作为模型的生长边界,从而对大规模数据实施道路提取; Wu等[12]首先构建垂直于汽车行驶方向的点云切面,然后使用自适应α阈值算法提取候选地面点云,最后使用高程方差滤波器对候选路面点云进行精细提取。在国内方面,方莉娜等[13]同样对点云生成扫描线,利用扫描线上激光点的空间分布特征采用移动窗口法对扫描线上的点进行滤波,最后利用相邻扫描线中的目标具有相似性的特点来实现道路的快速准确提取; 张达等[14]通过对城市环境中道路与邻近区域之间的高程差异进行分析,提出了根据点云数据生成高程梯度特征图像后结合区域生长等图像处理算法来提取城市道路的方法; 刘如飞等[15]提出运用近似平面约束法、有序最小二乘坡度估计法和多尺度窗口迭代分析法进行初始路面种子点提取,然后利用局部坡度滤波方法提取所有的路面点; 并于2017年提出了一种基于扫描线索引的道路路面分类法,通过剖面激光点生长聚类,形成完整的地物剖面目标点集,然后根据点集的几何特征因子判断点集所属类型[16]。随着人工智能的逐步发展,机器学习与深度学习技术越来越多地用在了计算机视觉以及遥感测绘领域。如张康等[17]针对于遥感图像的复杂场景分类,提出了一种基于卷积神经网络模型的分类方法,使其能够自动化提取特征; 周询等[18]提出了一种基于影像窗口子区的耕地类型自动识别算法,通过提取一定大小影像窗口子区的多光谱和多层次特征,利用机器学习算法,实现影像窗口子区耕地和非耕地类型的自动判别。
上述方法大多依靠点云的高程信息来提取道路区域,这对数据精度有着严格的要求,在实际的采集过程中受多种情况影响,较难达到所需要的理想数据。利用扫描线方式的算法没有顾及到路面的局部平面特性,深度学习结果的运用也仅仅局限于图像层面,因此如何将2种数据有效结合进行道路点云分类提取成为了亟待研究解决的重点内容。本文充分利用车载激光扫描系统多传感器的优势,使用点云数据与图像数据融合判断的方法,有效解决了道路点云分类提取的问题,达到了可供实际应用的精度。
1 语义分割辅助的道路点云提取方法
通过对多种传感器获取的数据进行采样分析,本文提出使用二维图像语义分割、数据融合配准粗分类、三维霍夫变换点云平面分割拟合和局部优化点云细分类的四步工作流程,对车载激光点云进行道路的快速提取。本文的算法流程如图1所示。
图1 路面点云提取流程
Fig.1 Flow chart of road point cloud extraction
1.1 图像语义分割
语义分割任务是计算机视觉中一项重要的工作内容,目的是使图像中每个像素都具有对应现实生活场景中有意义的某个类别,赋予具有语义的可解释性。使用一种新型的语义分割网络[19]对全景相机获得的图像提取语义信息,网络结构如图2所示。此网络结构应用了2个新颖的深度网络模块: 深度可分离卷积与空洞空间金字塔池化。
图2 语义分割网络结构示意图
Fig.2 Schematic diagram of semantic segmentation network structure
1.1.1 深度可分离卷积
考虑到下层特征图的一个像素点是由上层每张特征图对应的点运算得到,本文使用的优化深度可分离卷积大致过程为: 首先使用与输入通道数量相同的1×1卷积核进行卷积操作,提取通道间特征关系,得到单通道输出; 再使用单通道3×3卷积核对本层输入做卷积操作,提取二维像素间关系; 最终得到输出特征图。此外还在每步卷积操作后加入了批标准化和修正线性单元(rectified linear unit,ReLU)激活操作。分离过程的2步称为层间关系和像素关系。这种结构不仅减少了参数数量,同时将特征图的通道间关系和区域间关系剥离,更好地表达了特征图间与图内的属性关系,深度可分离卷积与普通卷积的结构对比如图3所示。
图3 2种卷积方式对比
Fig.3 Comparison of two convolution methods
1.1.2 空洞空间金字塔池化
空洞空间金字塔池化在空间金字塔的基础上由空洞(扩张)卷积构成池化结构。空洞卷积通过在每个滤波点之间添加空洞来扩大感受野,让3×3的卷积核在参数数量和计算复杂度不变的情况下获得了5×5大小的卷积核语义信息,代替了传统下采样操作。通过调整扩张率,可以获得多种不同间隔的卷积核,卷积结构如图4所示。
图4 空洞卷积示意图
Fig.4 Atrous convolution diagram
空洞空间金字塔池化结构示意图如图5所示。
图5 空洞空间金字塔池化结构示意图
Fig.5 Structure diagram of atrous spatial pyramid pooling
使用不同扩张率的空洞卷积核对基础特征网络得到的特征图卷积,可以在不改变特征图大小的情况下获得多种语义尺度信息的特征金字塔图像,再结合双线性插值的全局均值池化成为一个维数固定的张量,经上采样及多尺度融合得到最终的像素语义分类图像。
1.2 点云数据的粗分类
1.2.1 基于时序的融合过程
获得二维图像的像素分类图片后,需要将其融合进对应时间的点云数据中进行粗分类。受运动过程中测量系统位置及姿态变化的影响,点云数据的坐标系通常与图像不符,利用共线关系来转换点云坐标系,得到语义分割图像的覆盖区域,最终在确定融合的区域内根据时序进行匹配融合。
1)将世界坐标系转换为当地水平坐标系,计算公式为
2)将当地水平坐标系转换为惯性传感器坐标,计算公式为
3)惯性传感器坐标转换为全景球坐标,计算公式为
4)全景球坐标对应的分割图像二维坐标,计算公式为
1.2.2 粗分类过程
采集过程中,点云信息是连续的,图像信息是间断的。若全景相机的拍摄间隔为1 s,为使所有激光点都有可对应的像素点,使用连续拍摄的3帧图像作为一段特定点云数据的匹配参照。即当前时间若为t时刻,则[t-1,t+1]这2秒产生的点云数据由t-1,t,t+1这3个时间点所拍摄的3帧图像所对应的分割图像进行赋类。同理,一张图像同时也对应了3段点云数据。使用这种多视角方法根据点云生成时间将连续点云数据分段处理后循环进行粗分类。在融合过程中,受图像丢失、定位模糊、时间误差等影响,一个点可能出现同时对应2个类别的情形。此时用3张不同时序的分割图像进行评判,若其中2张在该点为同一类别,将该点划分为此类。这样在考虑最少冗余的情况下,保证了数据精度。
1.3 三维霍夫变换平面分割与拟合
被赋类别的点云结构多样,利用三维霍夫变换从点云数据中提取空间平面找到和道路点云结构相符的点云信息。首先找到经过这一点的所有平面,使用球坐标表示平面方程,即
图6 球坐标变换示意图
Fig.6 Schematic diagram of spherical coordinate transformation
建立三维r,θ,φ空间格网球坐标系,对于一个空间坐标点,经过它的所有平面使用球坐标系表示后可以对应网格坐标系中的每个格子,平面球坐标每落在一个格子中,格子计数器增长一个单位,规定一个点只能归属于一个分割平面,且该分割平面为所属局部连续最大平面。图7为经过点(0,2,0)的所有空间平面对应球坐标下形成的空间曲面(一个周期内)。在统计完所有的空间点后,格子计数器数值最大的格子所对应的坐标就是所找到的其中一个空间拟合平面(旋转角度θ,φ间隔较大,令每个点代表一个方格)。
图7 三维霍夫变换示意图
Fig.7 3D Hough transform diagram
图8为平面霍夫空间。在图8中,红、绿、蓝3个曲面分别代表了经过空间直角坐标值为(2,0,0),(0,2,0),(1,1,2)3个点全部平面的网格球坐标信息,图中标记的白点
图8 平面霍夫空间
Fig.8 Plane Hough space
1.4 局部优化点云细分类
将点云分割为多个平面后,每个分割平面对应一个或多个类别。对于每一个找到的平面,都有一个已知的平面方程与其对应,使用平面法向量相对Z轴的偏转角来判定与道路平面无关联的其他平面。设立阈值Δθ,将偏转角θ大于Δθ的平面作为停止生长标志,θ为待确定平面法向量与相邻已确定路面平面法向量的夹角。在设置好每个分割平面的法向量后,针对路面的分割有2种情况: ①不是道路类的路面点被错分为道路,比如路边石以及部分人行道; ②属于道路类的点被分为其他类别,比如临近路边石的区域。算法首先选择一个最大的分割平面,将该平面所有点置为道路类,直接作为起始种子面。随后开始遍历与它相邻的平面,若属于相同类别,将其并入。若为不同类别或除路面类别外包括其他类别,则开始判断它的偏转角是否在阈值内: 若满足阈值要求则将其并入,并修改为道路类; 若不满足条件,记为其他类。继续遍历剩余相邻平面,当前平面的对比平面为与它相邻的最大道路类平面。循环上述操作直至与道路相邻的所有平面都置为其他类。此时,点云只存在道路类,其他类以及剩余还未被遍历的平面(路边石上方,植被,路灯杆等)。平面生长算法示意图如图9所示。
图9 生长算法示意图
Fig.9 Growth algorithm diagram
2 实验与结果
2.1 实验数据准备及预操作设置
本实验使用的2种主要传感器为Velodyne公司的激光雷达设备和FLIR公司的Ladybug全景相机。使用由北京迪路科技有限公司提供的2段河南省某城市路段点云数据进行实验。第一段点云数据共有1 106 550个数据点,点云密度平均为1 500个/m2,道路宽度平均为12.5 m,道路长度为40 m。第二段点云数据共有22 260 201个数据点,点云密度在道路中央平均为2 000个/m2,道路两侧平均为500~1 000个/m2,道路宽度平均为15.5 m,道路长度为500 m。物体类别包括了街景中的大部分常见物体,如道路、汽车、建筑、路灯、植被等,同时第二段道路存在坡度、转弯和倾角等多种波动情况。在图像语义分割阶段,使用以TensorFlow1.6为基础的深度神经网络框架[20]对城市街景数据集Cityscapes进行训练,数据集共19个类别,几乎涵盖了街景目标类别。在点云图像融合阶段,使用连续的3张图像来对一段点云数据进行匹配融合,确保连续的点云可被离散的图像精确给予类别信息。在分类阶段,使用C++语言以及PCL库编写三维霍夫变换以及平面生长算法。
实验效果展示主要使用第一段较小的点云数据,最终数据对比使用2段点云数据。
2.2 实验过程及效果说明
使用深度分割网络结构对全景图像生成语义图像,其中每个颜色对应一个类别,如图10所示。
图10 全景图像及分割
Fig.10 Panoramic image and segmentation
每张图像根据拍摄间隔可对应连续的3段点云数据,如图11(a)—(c) 所示。使用连续的3张分割图像融合在对应时间的一段点云中,由于图像中存在汽车等移动物体,部分被遮挡及类别冲突的激光点可根据其中2张图像对应的类别来确定,一定程度上减少了错分的概率。点云配准连续3张图像后的结果如图11(d)—(f)所示。
图11 点云与图像的融合配准
Fig.11 Fusion registration of point cloud and image
图12(a)为测试数据中一段点云原始数据,图12(b)为语义影像融合后的粗分类点云,可以看到有很多植被点被分为道路,道路点中也有其他类别的点。图12(c)为平面分割后形成的多个平面,每个平面可能对应一个或多个类别。图12(d)为经过细分类处理后的点云,结果只剩余道路类,其他类和未遍历类。图13为道路点云分类,图13(a)为粗分类的配准,无法对道路点进行精确提取,错误点较多。图13(b)为平面分割结果,道路由于弧度等原因可能存在多个平面,但这些平面具有法向量偏转角相差不大的特性,经过图13(c)步骤处理后,可以精确地提取出道路点,最终道路提取结果如图13(d)所示。
图12 整体点云分类
Fig.12 Overall point cloud classification
图13 道路点云分类
Fig.13 Road point cloud classification
图14为第二段较大点云数据的不同情况分类效果。
图14 第二段点云数据道路分类结果
Fig.14 The second road point cloud classification
2.3 实验结果分析
为对实验结果进行有效评估,本文使用TerraSolid软件手工提取了所测试数据的道路点云,在参考了文献[21]的统计方法后使用道路提取正确率p、道路提取完整率t和道路提取质量q来评价2段数据的道路提取结果(表1),计算公式为
式中: a为道路分类正确的点云数量; b为非道路点分为道路点的点云数量; c为道路点被分为其他类的点云数量。
表1 点云数据精度评价
Tab.1 Point cloud data accuracy evaluation(%)
数据 | p | t | q |
---|---|---|---|
第一段 | 99.93 | 99.88 | 99.81 |
第二段 | 99.78 | 99.52 | 99.31 |
依据效果图展示以及表格数据的统计分析可知,利用本文算法得到的道路点云信息在正确率和完整率上均超过了99%,提取质量可满足实际应用需求。
3 结论
1)本文在对车载激光扫描系统的特点进行细致研究、分析了图像以及三维点云的特征后,提出了一种利用图像语义分割辅助的车载激光点云道路提取方法,将点云数据与深度学习语义分割后的全景数据相融合的方法对点云进行粗分类,通过三维霍夫变换的平面分割拟合以及基于平面区域生长的方法对点云进行细分类,从而精确提取高密度离散点云数据中的道路点云。
2)本文算法充分结合了多种数据传感器的优点,不再依赖传统方法所需的点云高程信息,在保证最少冗余的情况下使得算法适应性强,鲁棒性佳,可快速准确地提取高密度道路点云信息。对2组点云数据进行道路提取实验,本文方法提取的正确率、完整率和提取质量等各项指标均超过99%,提取效果优异,达到可实际应用需求。
后续工作会继续利用该方法,进一步开展提取植被、路灯杆等物体点云信息的可行性研究。
参考文献略
END