基于点密度与卡尔曼滤波的路面标识线提取方法*

2023-11-08 08:09李晓宇周梅王金虎姚强强
中国科学院大学学报 2023年6期
关键词:扫描线轮廓卷积

李晓宇,周梅,王金虎,姚强强

(1 中国科学院空天信息创新研究院 中国科学院定量遥感信息技术重点实验室,北京 100094;2 中国科学院大学光电学院,北京 100049) (2022年2月17日收稿; 2022年3月28日收修改稿)

路面信息的精确检测是自动驾驶技术的重要组成部分[1],其中线型交通标识线(包括车道边缘线和车道分界线)的检测可对车辆行为起到引导、规范和禁止作用[2]。车载激光扫描系统是一种集成全球卫星导航系统、惯性导航系统、激光扫描仪和数码相机等多种传感器的移动三维激光扫描系统(mobile laser scanning, MLS)[3],该系统不受光照限制,可高效获取路面高精度稠密三维点云数据,为线型交通标识线的检测提供了可靠数据基础。

当前基于点云数据的路面交通标识线提取方法可分为两类:将点云投影为特征图像再提取的方法;基于离散点云的方法。第1类方法是根据点云回波强度或空间分布特征将点云投影为特征图像,再结合阈值分割[4]、语义分割[5]和神经网络模型[6]等方法提取路面交通标识线。该类方法提取的路面交通标识线往往缺乏高程信息[7]且将点云投影为图像的过程容易造成精度损失。第2类方法直接基于离散点云提取路面交通标识线,Yu等[8]和Kim等[9]提出基于点云回波强度的多阈值分割方法,通过沿行车轨迹垂直方向分割点云并结合Otsu[10]方法自适应设定强度阈值提取路面交通标识线,该方法通过对点云数据分段设定阈值,减少了扫描距离对路面交通标识线提取精度的影响,但其中点云分段方法的鲁棒性不佳,容易漏提取强度较低的交通标识线。尹辉增和方莉娜[11]对点云回波强度进行直方图统计,根据统计结果划定强度阈值提取交通标识线点,并结合交通标识线的几何、语义特征细化提取结果。邹晓亮等[12]根据交通标识线点的回波强度分布范围划定强度阈值,并利用扫描角和扫描距离等信息判定点的交通标识线类型。上述两种方法自动化程度较低,难以识别受遮挡或磨损的路面交通标识线。Yan等[13]提出基于扫描线的路面交通标识线提取方法,通过检测每条扫描线内相邻两点间的强度变化确定交通标识线点,该方法精度和自动化程度较高,但提取精度易受噪声影响,此外提取结果的完整性因点云缺失或交通标识线的磨损而降低。

针对上述问题,提出一种基于邻域点密度和卡尔曼滤波[14]的路面线型交通标识线提取与补全方法。首先,为避免入射角和扫描距离变化造成的点云密度不均现象对提取结果精度的影响,以一阶微分算子为卷积模板,根据单条扫描线内每个点邻域内的点密度分布自适应生成对应尺寸卷积核,通过对邻域点的强度值进行卷积以提取交通标识线轮廓点。随后,在轮廓点提取结果基础上利用最小二乘算法拟合线型交通标识线轮廓,并结合卡尔曼滤波算法补全点云数据缺失或标识线磨损造成的轮廓提取结果不完整的区域,以提高线型交通标识线提取结果的完整度。

1 方法原理

本文提出的路面线型交通标识线提取算法总体流程如图1所示,在预处理模块,根据扫描点的时间信息将路面点云数据分割为多条扫描线。随后在轮廓点提取模块,计算扫描线内每个点对应的卷积核,对点的强度值进行自适应卷积;根据每条扫描线卷积结果生成的阈值和强度变化规律确定交通标识线轮廓点位置,利用空间密度聚类法(density-based spatial clustering of applications with noise, DBSCAN)[15]剔除轮廓点提取结果中的噪声。最后在轮廓拟合与填补模块中,基于轮廓点提取结果和最小二乘法拟合标识线轮廓,并结合卡尔曼滤波算法预测缺损区域的轮廓位置,最终实现线型交通标识线的完整提取。

图1 路面标识线提取与填补算法总体流程Fig.1 Overall workflow of the proposed road marking extraction and completion algorithm

1.1 路面交通标识线轮廓点提取

图2(a)为某城区路面点云数据,经预处理后的扫描线分割结果如图2(b)所示,其中每条扫描线被随机赋色;图2(c)中红色线为路面中某条扫描线数据,矩形框内为该扫描线中经过路面标识线的部分,其对应的强度分布曲线如图2(d)所示,强度曲线中路面交通标识线点回波强度(图2(d)矩形框内点)明显高于沥青路面点的回波强度,在二者衔接处点的回波强度会出现明显的上升或下降。本文以此为依据,提取交通标识线轮廓点(图2(d)中红色点)。

1.1.1 自适应卷积

使用以一阶微分算子为模板的卷积核,对每条扫描线点及其邻域内点的强度值进行卷积,卷积结果中数值绝对值较大的极值点对应交通标识线轮廓点。由于一阶微分算子对噪声敏感,在卷积之前使用高斯滤波器抑制噪声。如图3(a)中路面点云数据所示,一条扫描线分别经过宽度相同的车行道边缘线(区域①)和车道分界线(区域②),由于扫描距离与入射角度的影响,区域①中点分布较稀疏,而区域②中点分布更为密集。若使用单一尺寸的卷积核提取轮廓点,容易降低提取结果的位置精度。为验证不同尺寸卷积核对轮廓点提取精度的影响,本文采用尺寸为1×5、1×15的卷积核分别对区域①和区域②中扫描线点进行卷积,区域①和区域②的卷积结果如图3(b)、3(c)所示,在区域①中1×5卷积核卷积结果的极值点(图3(b)中三角形)更准确对应原始强度曲线的标识线轮廓点位置,然而在区域②中1×15卷积核卷积结果的极值点(图3(c)中五角星)更准确对应原始强度曲线的标识线轮廓点位置。由此可得,在提取轮廓点位置的过程中,扫描线内不同的点密度适用于不同尺寸的卷积核,在密度分布不均的扫描线内使用单一尺寸卷积核进行卷积,将使得轮廓点定位精度下降。

图3 路面中某条包含交通标识线的扫描线及其对应的强度卷积结果Fig.3 A scan line containing multiple road markings and its corresponding intensity convolution result

因此,本文提出一种根据邻域点密度自适应确定卷积核尺寸的方法,简称为自适应卷积。以单条扫描线的卷积过程为例,具体流程如下所示:

1) 单条扫描线内有n个点{p1,p2,…,pn},以其中第i个点pi为圆心、距离r为半径,搜索此邻域内的所有点{pi1,pi1,…,pin}共m个。为保证轮廓点提取结果精度,本文设定搜索半径r长度等于扫描线中标识线宽度。

2) 确定邻域内每个点的相对位置

(1)

其中xj为邻域内第j个点在所有邻域点中的相对位置。

3) 将邻域内每个点的相对位置代入下式,计算其对应的初始卷积核数值

(2)

图4 扫描线中某点pi处根据高斯一阶导函数模板生成卷积核的示意图Fig.4 Schematic diagram of convolution kernel at a point piin a scan line according to the Gaussian first-order derivative function template

4) 为避免卷积核尺寸变化对结果的影响,将邻域内点对应的初始卷积核数值进行归一化,得到点pi邻域内m个点对应的最终卷积核{k0,k1,…,km}

(3)

式中kj为kj′归一化后的结果。

5) 对点pi邻域内m个点的强度值进行卷积,得到点pi对应的卷积结果ci

(4)

式中Ij为邻域内第j个点的强度值。

6) 重复上述步骤直至得到扫描线内n个点的卷积结果{c1,c2,…,cn}。

1.1.2 轮廓点提取

路面交通标识线轮廓点在卷积结果中表现为数值绝对值较大的极值点,因此本文通过设定阈值在卷积结果中提取可能的交通标识线轮廓点,具体方法如下:

1) 计算扫描线卷积结果{c1,c2,…,cn}的均值μ、方差σ2。

2) 由于扫描线卷积结果近似满足正态分布,根据3σ准则,本文设定阈值T=μ+a×σ2,其中常数a与扫描线内标识线点和沥青路面点的数量相关。经多次试验发现,当扫描线内标识线点数远小于路面点数时,常数a为3的提取效果最佳。此外可根据比例关系适当调整。

3) 若点pi对应的卷积结果ci大于阈值T,则点pi为可能的交通标识线轮廓点。

经上述阈值提取的点为强度发生明显变化的点,然而该类点中除交通标识线轮廓点,还包含如路面裂缝或路面拼接处强度发生明显变化的点。因此,本文通过交通标识线轮廓点的强度变化规律和空间距离信息进一步优化提取结果。如图2(c)、2(d)所示,每个交通标识线在扫描线内均存在一对强度的上升点和下降点(图2(d)中红色点),在卷积结果中则对应为一个极小值和一个极大值,且一对强度变化点之间的欧式距离应近似等于交通标识线的宽度。经上述规则优化后,提取结果中的点即可基本确定为路面交通标识线轮廓点。最后,为保证提取结果的精确性,本文选择DBSCAN算法进一步滤除提取结果中的噪声点。

1.2 路面交通标识线轮廓拟合与填补

由于路面交通标识线受磨损区域与沥青路面的强度对比度低、物体遮挡造成的路面点云数据缺失等原因,路面交通标识线提取结果往往存在缺失。为提高提取结果完整性,本文在路面交通标识线轮廓点提取结果基础上利用最小二乘算法拟合路面中线型交通标识线轮廓,并结合卡尔曼滤波算法预测缺失区域的标识线轮廓位置,进而提取出缺失区域的路面交通标识线点。

以图5(a)的路面点云数据为例,路面中的交通标识线包含2条车行道边缘线和2条车道分界线,按图中方向自上而下分为4条车道线Line1~Line4。图5(b)为交通标识线的轮廓点提取结果,其中Line1、Line2和Line4中存在遮挡或漏提取造成的轮廓点缺失。经轮廓拟合后(图5(c)中黑色矩形框所示),Line1和Line4中的缺失部分可以直接通过拟合步骤进行填补,而Line2中缺失的虚线标识(图5(c)中Mloss所在位置)仍存在缺失。

图5 路面交通标识线拟合与填补方法示意图Fig.5 Schematic diagram of road marking fitting and completion

因此本文使用卡尔曼滤波算法进行进一步填补,具体流程如下:

(5)

(6)

(7)

(8)

(9)

5) 重复步骤2)到4)对后向搜寻的标识线点集进行相同操作,获取Mloss后向预测得到的轮廓角点位置。

6) 按前向和后向迭代预测次数对前向、后向预测的角点位置进行加权,获得最终的缺失区域标识线轮廓位置。

2 结果与分析

2.1 实验数据

为验证本文提出的线型标识线提取与补全方法的可行性,采用RIEGL VMX-2HA双扫描仪测图系统采集的北京城区道路点云数据进行实验(实验数据由中测瑞格公司提供),并通过人工去除部分路面信息后作为原始实验数据(图6(c)所示)。实验数据的路面全长约为500 m,宽15 m。数据中点密度由路中央向道路两侧逐渐递减,在路中央处点密度最高可达10 000 pts/m2(pts为点的个数),而在道路两侧点密度约为3 000 pts/m2;在单条扫描线内,点密度在路中央处可达120 pts/m,在道路两侧仅为20 pts/m。路面包括车道分界线(虚线)和车道边缘线(长实线),同时还存在多个裂缝(如图6(c)中区域①)和道路拼接造成的标识线中断(如图6(c)中区域②);在该路面区域,车道分界线(图6(c)中区域③)与车道边缘线宽度(图6(c)中区域④)相同,但车道边缘线处点云分布更为稀疏。

图6 实验数据Fig.6 Test data

2.2 实验结果分析与精度评价

2.2.1 标识线轮廓点提取结果

图7(a)为实验的路面点云数据,使用大小为1×5、1×15的固定尺寸卷积核和本文提出的基于邻域点密度的自适应尺寸卷积核提取标识线轮廓点,提取结果分别如图7(b)、7(c)、7(d)所示,并通过轮廓点提取内部标识线点(内部标识线点提取效果如图7(e)所示),以人工提取的标识线点为参考数据进行精度评价,以准确率P、召回率R和F1-Measure作为评价指标,间接评价单一尺寸卷积核与自适应卷积核提取轮廓点的精度差异(如表1所示)。

表1 基于不同尺寸卷积核的路面交通标识线轮廓点提取精度Table 1 The extraction accuracy of road marking points based on convolutional kernels of different size %

图7 实验数据的标识线轮廓点提取结果和标识线点提取效果示意图Fig.7 Contour points extraction result (blue points in the figure are contour points) and the extracting effect of road marking point

(10)

(11)

(12)

式中,TP为正确提取的标识线点数,FP为错误提取的标识线点数,FN为未被提取的标识线点数。

如图7与表1所示,在使用1×5尺寸卷积核的轮廓点提取结果中,由于小尺寸的卷积核对噪声敏感,因此路中央点分布密集区域存在大量噪声点,其准确率仅为63.14%,路面上侧的车道边缘线点由于分布稀疏而被漏提,召回率(即被正确分类的点)仅为55.28%;当卷积核尺寸增大为1×15时,噪声点的减少使得准确率提升为97.24%,然而尺寸过大的卷积核使得道路两侧的车道边缘线漏提现象更明显,召回率仅为41.03%;使用自适应卷积的轮廓点提取结果中,在保证准确率的同时,轮廓点提取结果的完整性明显提高,召回率为93.10%,综合评价指标F1-Measure可达到96.03%。

2.2.2 标识线轮廓拟合与填补结果

在轮廓点提取结果之上,本文对标识线轮廓进行了拟合与填补,如图8所示,为验证其效果,自上而下分将标识线分为Line1~Line4,以标识线中心点偏差ΔL(绝对误差)、标识线方向偏差Δd(绝对误差)和标识线拟合完整度δ(即标识线拟合长度与真实长度的相对误差)作为精度评价指标,对轮廓拟合(如图8(a))和填补结果(如图8(b))进行精度评价,结果如表2所示。

表2 标识线轮廓拟合与填补后的精度Table 2 The accuracy of road marking fitting and completion results

蓝色点为标识线轮廓点,区域①~④为需要填补的区域。图8 轮廓拟合与填补结果Fig.8 Contour fitting and completion results

如表2所示,标识线Line1~Line4的轮廓拟合结果中,平均的中心点偏差约为0.04 m,拟合方向与真实方向之间平均的方向偏差为0.03°,由于Line1与Line4的缺失区域可通过拟合直接填补,其标识线拟合完整度达到99%以上,而Line2与Line3中的拟合完整度仅为91.14%和90.73%。经卡尔曼滤波方法填补后,标识线Line1~Line4中平均的中心点偏差为0.04 m,平均的方向偏差为0.04°,无明显变化,而Line2与Line3的拟合完整度提升为99.28%和99.68%,总体平均拟合完整度从填补前的95.42%提升至99.69%。为进一步验证填补方法的准确性,将缺失区域的填补结果(图8(b)中区域①~④所示)和该区域的真实路面标识线进行比较,如表3所示,在区域①~④的填补结果中,平均的中心点偏差和方向偏差分别为0.03 m和0.21°,平均拟合完整度为99.37%。上述结果表明,经过轮廓拟合和卡尔曼滤波方法填补后的标识线轮廓精度较高,且能够有效提取缺损区域的标识线轮廓,减少数据缺失对提取结果完整性的影响。

表3 标识线缺失区域的填补精度Table 3 The accuracy of road marking completion results in missing areas

上述实验通过对数据中的全部扫描线进行处理以提取轮廓点,进而对标识线轮廓进行拟合与填补。但当数据量较大时,为保证该方法运算效率,可以对扫描线进行抽稀,由于扫描线排列紧密,因此数据抽稀后的轮廓点提取结果对后续轮廓拟合与填补精度影响较小。如图9所示,本文方法运算时间随着数据量的减少而逐渐下降,与对所有扫描线进行处理的时间相比,每间隔1条和2条扫描线进行数据抽稀后,其运算时间明显降低;当间隔2条以上扫描线抽稀数据后,其运算时间仍随数据量减少而降低,但时间变化不明显。因此,在实际应用中为保证运算效率,可根据数据量和提取精度的需求对数据进行抽稀。

图9 不同数据量的运算时间对比Fig.9 The comparison of computing time for different data sizes

2.2.3 标识线提取方法对比分析

本文提出的方法与已有方法的对比如表4所示。在提取路面标识线前,Cheng等[16]和Ma等[6]提出的方法需要在将路面点云数据栅格化为二维图像,并结合图像增强和去噪算法提高图像对比度以提取多种路面标识,提取结果的F1-Measure为94.00%和92.43%;Yang等[17]提出的方法需要将路面点云数据进行体素化,再结合机器学习分类器进行线型标识线的提取,提取结果的F1-Measure为95.10%;Yang等[18]提出的方法需预先将路面数据分块,且不同的分块策略极大影响标识线提取结果的精度,鲁棒性不强,文中多种路面标识提取结果的F1-Measure为95.70%;相比于上述方法,本文提出的方法仅需要对点云进行扫描线分割,实现简单,且对后续步骤的提取精度无影响。Yan等[13]提出的线型标识线提取方法的F1-Measure为94.00%,该方法虽与本文具有相似之处,但本文方法还考虑了点密度分布不均、标识线磨损等因素,适用于多种道路环境。此外,上述方法未考虑缺损标识线的填补问题,且提取的标识线结果多为像素或点集的形式,而本文提出了缺损标识线填补策略,经填补后的最终标识线提取结果为多个独立的对象实体。综上所述,本文方法具有较强的鲁棒性,可在不同质量的道路环境下进行标识线的完整提取,具有一定的工程应用价值。

表4 本文方法与已有方法对比Table 4 Comparison of the proposed method with existing approaches

3 结论

为降低点云密度不均匀对路面交通标识线提取精度的影响,本文提出一种新的标识线提取及补全算法。该方法根据邻域点密度自动生成对应尺寸卷积核,通过卷积实现了点云强度变化位置(即标识线轮廓点)的检测;针对点云数据缺失和标识线磨损造成的提取结果不完整的问题,本文在标识线轮廓点基础上结合最小二乘方法拟合标识线轮廓,并结合卡尔曼滤波算法填补缺损标识线信息。经验证,本文提出的标识线轮廓点提取方法的准确率可达 99.15%,经卡尔曼滤波填补后,文章提取的标识线轮廓的平均拟合完整度可达99.69%,与真实标识线的中心点位置和方向相比,拟合结果中平均的中心点偏差和方向偏差仅为0.04 m和0.04°。综上所述,本文提出的方法有效改善了路面标识线磨损、车辆遮挡、点云密度分布不均等因素对路面标识线提取结果精度的影响,实现了线型路面标识线的快速、精确提取。目前本文仅讨论了线型标识线的拟合与填补方法,如何基于标识线轮廓点实现多种类型的路面标识线拟合与填补有待进一步研究。

猜你喜欢
扫描线轮廓卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种基于线扫描的受损一维条形码识别方法
OPENCV轮廓识别研究与实践
基于实时轮廓误差估算的数控系统轮廓控制
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于扫描线模型的机载激光点云滤波算法
扫描线点云数据的曲面重构技术研究
在线学习机制下的Snake轮廓跟踪
一种新型鱼眼图像轮廓提取算法