一种基于Edline线特征的车道线识别算法
2020-06-11姬广奥刘志强
姬广奥 刘志强
摘要:为了提升车道线检测的准确性和实时性,改良车道偏离预警系统的性能,提出了一种新的车道线识别算法。首先应用投影法对采集到的图像设立感兴趣区域,以此来减少图像中存在的干扰信息;其次应用一种改进后的自适应高斯滤波算法对采集所得图像进行平滑处理,减少图像中不必要的细节;最后采用边缘绘制算法进行边缘检测,在此基础上,提出一种线段检测算法——Edline算法提取边缘线,对检测到的直线段进行筛选和聚类。利用引用计数法对车道线进行跟踪和预测。结果表明,新算法的平均处理时间为17.1 ms,准确率为96.19%,将其应用在车道偏离预警系统中可以有效地提高预警效率,提升预警的准确性和响应速度。研究结果丰富了车道线识别理论,可为车道偏离预警系统的应用及基础研究提供参考。
关键词:公路标志、信号、监控工程;高斯滤波算法;车道线检测;Edline;车道线跟踪
中图分类号:TP3914文献标识码:A
doi: 10.7535/hbgykj.2020yx03006
Abstract:
In order to improve the accuracy and realtime of lane detection and the performance of lane departure warning system, a new lane recognition algorithm was proposed in this paper. Firstly, the projection method was used to set up the region of interest for the collected images, so as to reduce the interference information in them. Then an improved adaptive Gauss filtering algorithm was applied to smooth the collected images and reduce unnecessary details. Finally, edge drawing algorithm was used for edge detection. On this basis, a line segment detection algorithm was proposed: Edline, which extracted the edge line, then filtered and clustered the detected line segments. The lane line was tracked and predicted by using the reference counting method. Experimental results show that the accuracy of the new proposed algorithm reaches 96.19% and the average processing time is 17.1 ms. The efficiency, accuracy and speed of lane recognition have been greatly improved by applying this algorithm to lane departure warning system. The research results enrich the theory of lane line recognition, and provide reference for the application and basic research of lane departure warning system.
Keywords:
highway sign, signal and monitoring works; Gaussian filtering algorithm; lane line detection; Edline; lane line tracking
近年來中国机动车交通事故的发生数量呈下降趋势,但是总量还是比较大[1]。造成交通事故的原因有很多,在众多原因中,由司机引起的非故意车道偏离排在第4位。因此对车道偏离预警系统的研究成为安全辅助驾驶研究的重点,其中对车道线的检测以及实时跟踪是车道偏离预警系统的重点内容。
车道线的检测是通过采集图像中车道线的特征,将车道线与背景分离,获取车道线相对于车辆的位置等信息。
国内外研究人员针对车道线检测方法主要分为基于特征和基于模型的车道线检测方法。车道线的颜色特征、几何特征、边缘分布特征等是基于特征检测车道线的主要依据。杨智杰[2]提出通过RGB色彩空间中车道线的特征设计转移函数,并以此检测道路图像的车道线区域,提取出车道线的边缘点检测车道线,但当车道线附近干扰较多时,容易引起误检。通过建立数学模型,并对模型参数求解来拟合车道线就是基于模型的车道线检测方法。其中钱怡[3]提出了基于Hough变换的车道线检测方法,但是这种方法在复杂道路环境下的检测效果较差。
针对传统检测技术的局限性,为满足车道线检测的鲁棒性和实时性,笔者提出一种基于边缘绘制线(edge drawing lines,Edline)算法[4]的车道线识别算法。该方法首先对采集图像进行预处理,使用边缘绘制算法进行边缘检测,在此基础上应用Edline算法进行线段检测,然后运用机器学习概念对检测到的直线段进行筛选和聚类,得到一条直线段表示为车道线检测结果。
1车道线检测与跟踪的方法架构
在图像采集阶段,主要有2种使用摄像机的方法:单摄像机方法[56]和多摄像机方法[7]。在单摄像机方法中,将一个摄像机固定在挡风玻璃后面。在多摄像机方法中,在车辆的前部和后部使用2个或多个摄像机,由于它们提供大量的数据,因此获得的图像精度更高。
车道线检测过程中,在对图像进行预处理阶段,需要对摄像机采集到的图像进行增强处理。道路环境充满了干扰物和细节,它们被视为系统的噪音。通过应用图像滤波器(例如高斯滤波器和中值滤波器[8]),执行图像平滑来减少不必要的细节。图像可能包含一些与车道线相似的线。因此,使用感兴趣区域(region of interest,ROI)提取来设定图像的有效部分。当在较小的图像上完成工作时,应用感兴趣区域可以减少计算时间。
车道线边缘检测分为边缘检测和线段检测。许多图像处理技术被用于边缘检测[910],线段检测的方法也很多。其中Hough变换可以在一个步骤中完成这2项工作。在此基础上使用跟踪算法來跟踪从一帧到另一帧的车道线。这种方法依赖于方程形式y=mx+c中的跟踪线。使用最小二乘法直线拟合来创建直线方程。利用车道线跟踪算法对车道线进行实时跟踪,并可在一帧或多帧丢失时提前判断车道线的位置。
2车道线识别算法
首先对ROI进行提取,采用改良的高斯滤波算法[11]进行图像平滑,实现对图像的预处理。使用边缘绘制算法进行边缘检测,然后采用一种实时的、非常强大的线段检测技术——Edline算法,进行车道线边缘提取。通过运用机器学习概念对检测到的线进行筛选和聚类,以此得到一条线段表示车道线。在此基础上,提出了一种改进的参考计数算法,用于跟踪连续帧之间的车道线,实现对车道线的跟踪。其中车道线的识别流程图如图1所示。
2.1图像预处理
在检测车道线过程中,首先需要对采集的图像进行预处理。设立感兴趣区域,使处理项最小化,从而有效缩短处理时间,并且尽可能减小图像中的干扰因素,提高图像处理的精度。图像的预处理分为感兴趣区域提取和图像平滑过程2个阶段。
2.1.1ROI的提取
ROI的提取是图像预处理的主要阶段,在采集到的图像中存在很多干扰信息,会影响检测的准确率和处理时间。对感兴趣区域的划分可以过滤掉影响后续阶段的外部因素。利用投影法,设像素点(α,β)的灰度值为F(α,β),在采集图像中,高为H,宽为W。方程如下所示:
2.1.2图像平滑过程
图像平滑过程可以减少图像不必要的细节,从而缩短处理时间。在此阶段,应用一种改良的高斯滤波算法,在应用传统高斯滤波算法时,需要对图像进行加权平均,每个像素点的值均由其本身和邻域内的其他像素值加权平均,并进行二维高斯滤波函数离散化[12],高斯核中的权值系数即所得到的函数值。在应用二维高斯滤波进行图像平滑处理的过程中,对标准差的选取是最重要的,高斯滤波器的频带宽度与选取的标准差的大小成正比,即标准差越大,平滑程度就越好。改良的高斯滤波器可动态确定具体的标准差,针对图像不同位置像素值的方差,确定不同的高斯核,形成一种自适应高斯滤波算法[1314],该算法不需要人为设定标准差,可以有效提高后期车道线图像处理的精确度。
在此算法中,高斯核中每个参数都将作为图像像素矩阵某一区域内对应位置灰度值的权重,根据自身及其周围灰度值与高斯核中的参数对应相乘,求和平均后得到中心点灰度值的平滑结果。高斯核的确定直接受到标准差影响。在图像中,如果区域内像素点离散程度越小,相对应的像素值方差就越小,标准差就要越大,则平滑程度就越好。
使用上述自适应高斯滤波算法平滑后,图像中的噪声抑制效果很明显,如图3所示,可以有效提高图像处理的精准度。
2.2Edline算法检测车道线
为了提高车道线检测的速度和精度,提出一种新的车道线检测算法——Edline算法。与Hough变换检测车道线的过程类似,车道线边缘检测阶段可分为边缘检测和线段检测2个阶段。
2.2.1边缘检测
边缘检测用于检测图像中亮度发生急剧变化的点[14]。使用基于图像一阶导数的算法来确定这些点。现有的边缘检测器有很多,与这些检测器相比,边缘绘制算法[15]是一种新颖的边缘检测算法,它以像素链的形式实时生成每一条边缘。
现存的边缘检测器检测到的边缘像素通常是不连续、不相交的实体,而边缘绘制算法生成的边缘段是连续的、干净的边缘像素链。与其他边缘检测器相比,它的运行速度也非常快。
给定图像经过预处理得到平滑图像,然后通过边缘绘制执行边缘检测,如以下3步所示。
- 计算图像的梯度,如式(2)所示,其中i(x,y)代表坐标(x,y)像素点的灰度值。
2.2.2线段检测
Edline算法是在边缘绘制算法的基础上,提出的一种基于最小二乘法的线段检测方法[16]。
Edline算法由3个步骤组成。
1)给定一个灰度图像,运行边缘绘制算法,生成一组干净、连续的像素链。
2)遍历边缘像素链,用最小二乘法进行拟合,其原则是偏差绝对值之和最小:
3)通过添加更多像素来扩展该线段,当误差超过某个阈值时,生成一个新的线段。然后,该算法递归地处理链中所剩余的像素,直到所有像素都被处理完成。
2.3线段的筛选和聚类
在所提出的算法中,使用5个特征(斜率、截距、起点、终点和长度)来定义线段。这种算法只用2条线段来定义车道:左线和右线,是通过筛选后对线段进行聚类完成的。
2.3.1线段的筛选
对检测到的直线段进行筛选是为了方便选择与车道线相关的线段并将其传递到下一阶段。将框架左侧的线与右侧的线分开是有用的,如图4所示。
分离后,使用3个特征值(斜率、起始点和长度)执行选择过程。要选择作为车道线的线段特征的范围,W表示宽度,m和Sx分别是线段起始点的斜率和坐标值,通过实验数据可得特征值,如表1所示。
2.3.2线段的聚类
同一方向上2条车道之间的车道边界是具有一定厚度的虚线,这使得直线检测器将其检测为2条平行线,如图5所示。
2.4车道线的实时跟踪
在车道线检测的基础上,提出了一种改进的引用计数法,用于跟踪连续帧之间的车道线,实现对车道线的跟踪。跟踪主要是为了达到2个目的:从检测到的直线中选择与车道线相关的直线;如果它们没有被列出,则预测车道线的位置。如果不了解前几帧中车道线的历史,就无法达到这2个目的。存在车道线信息可用和没有足够的信息2种情况。当系统运行时,因为某些帧可能会错过车道线,它可能会从第1种情况跳到第2种情况。因为相邻时刻的情况并不会发生突变,这一时刻的输出与前一时刻的输出相对接近。
在第n帧中,重点是要确定从前一帧中需要什么信息。每一条被检测的直线都由其斜率和截距来确定。为每一条线增加额外的参数:数值、验证标志、斜率误差和截距误差。这些参数在每一帧中都会更新,并从一帧传递到下一帧。此外,它们被收集在一个称为跟踪列表的列表中。
从第1种情况开始,在所有关于前一帧的信息都可用的情况下,将当前帧中检测到的直线与跟踪列表中的直线进行比较。因此,在检测到的直线中寻找与跟踪线的最佳匹配,有3种情况。
1)跟踪线有最佳匹配的检测线路,参数将通过被跟踪的车道线的检测值进行更新,逐一递增。
2)跟踪线在检测到的直线中没有最佳匹配,跟踪线的参数保持原样,但数值会减1。
3)被检测到的直线与任何跟踪线都不匹配,该直线被添加到跟踪列表中,其数值、验证标志值、斜率误差和截距误差为0。
验证标志被更新,如果数值大于设定阈值,则验证值将从0更改为1。这意味着这条线在许多帧中被检测到,并且它与车道线相关的概率很高。在此阶段中,数值小于阈值的跟踪线会从跟踪列表中删除。
在第2种情况下,如果没有足够的关于前一帧的信息,则跟踪列表会被初始化为空,并且所有检测到的线都被添加到跟踪列表中。如果没有检测到线,则绕过跟踪阶段,直到在图像中检测到线为止。
3实验结果与分析
笔者通过车载摄像机获取车道线图像,利用Matlab R2014a在CPU为3.7 GHz,RAM为8 GB的Windows系统上进行本文相关算法的实验,最终被识别的车道线用实线标注。选择在不同的条件下进行测试以验证车道线检测的效果。无干扰的车道线识别效果如图6所示。
图8展示了不理想条件下车道线的提取结果,在第87帧和第88帧由于右线信息严重缺失,使右线检测出现了一定程度的偏差。但在接下来的车道线跟踪中,很快又得到了准确的检测结果,说明即使在检测过程中场景发生一定的变化,也会在短时间内恢复稳定,表明车道线的跟踪识别具有很强的鲁棒性。
为了对比新提出的算法与传统的Hough变换检测识别车道线的效果,在不同的场景下进行了实验并对2种算法的效果进行对比。如图9所示,文献[3]是采用Hough变换得到识别结果,车道线被遮挡,导致单边漏检(见图9 a))。如图9 c)所示,受到栏杆的干扰,导致误检。本研究的车道线识别算法可以很好地克服干扰,将左右车道线准确地提取出来。
将场景分为良好环境条件下的无干扰车道线和受到环境干扰的有干扰车道线,分别选取2 816个检测样本和1 147个检测样本,使用本检测算法进行检测,表2为所获取的样本在实验中得到的检测结果,由实验数据可得,在不同的条件下车道线的平均检出率为96.19%,同时,可以得到没有被干扰的样本线的平均处理时间为16.6 ms,在存在干扰的被检测线的平均处理时间为18.4 ms,所有车道线平均处理时间为17.1 ms。
与文献[3]的Hough变换的车道线识别准确率进行对比,如表3所示,笔者提出的算法相较于传统Hough变换在准确率和检测时间上都有较大的改善。
4结语
应用所提出的车道线识别新算法在不同复杂环境中进行实验,并与传统车道线识别算法检测效果进行对比分析,结果表明,新算法比传统算法具有更好的准确性,鲁棒性好,且具有良好的实时性。
1)提出的算法可以准确地识别阴雨、夜晚等复杂环境下的车道线。
2)在车道线缺失的情况下可以準确跟踪和预测下一帧车道线,提高了车道线识别的准确性。
3)该方法的平均检出率为96.19%,平均处理时间为17.1 ms,检测性能良好。
综上所述,笔者提出的车道线实时识别算法可应用于车道偏离预警系统中,对安全辅助驾驶技术的发展具有积极意义。对干扰路段车道线的识别速度和精度进行优化是未来的研究方向。
参考文献/References:
[1]公安部交通管理局.中华人民共和国道路交通事故统计年报[R]. 北京:公安部交通管理局,2018.
[2]杨智杰.基于RGB彩色通道的结构化道路车道线检测[J].电子科技,2015,28(1):9598.
YANG Zhijie.Lane detection based on RGB channels[J].Eelectronic Science and Technology,2015,28(1):9598.
[3]錢怡.基于 Hough 变换的车道线检测[J]. 山东工业技术,2017(10):272273.
[4]AKINLAR C, TOPAL C. Edlines: Realtime line segment detection by edge drawing (ed)[C]//2011 18th IEEE International Conference on Image Processing. [S.l.]:IEEE, 2011: 28372840.
[5]IRSHAD A, KHAN A, YUNUS I, et al. Realtime lane departure warning system on a lower resource platform[C]//2017 International Conference on Digital Image Computing: Techniques and Applications (DICTA).[S.l.]: IEEE, 2017: 18.
[6]KORTLI Y, MARZOUGUI M, BOUALLEGUE B, et al. A novel illuminationinvariant lane detection system[C]//2017 2nd International Conference on AntiCyber Crimes (ICACC).[S.l.]: IEEE, 2017: 166171.
[7]BORKAR A, HAYES M, SMITH M T. A new multicamera approach for lane departure warning[C]//International Conference on Advanced Concepts for Intelligent Vision Systems. [S.l.]:[s.n.], 2011: 5869.
[8]顾桂梅,冉建民,周咏.基于高斯中值的钢轨表面缺陷图像滤波研究[J]. 铁道科学与工程学报,2018,15(8):19431949.
GU Guimei,RAN Jianmin,ZHOU Yong. Image filtering of rail surface defects based on gaussmedian[J]. Journal of Railway Science and Engineering,2018,15(8):19431949.
[9]KODEESWARI M, DANIEL P. Lane line detection in real time based on morphological operations for driver assistance system[C]//2017 4th International Conference on Signal Processing, Computing and Control (ISPCC).[S.l.]: IEEE, 2017: 316320.
[10]CHO N G, YUILLE A, LEE S W. A novel lineletbased representation for line segment detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 40(5): 11951208.
[11]黄玉龙,张勇刚,李宁,等. 一种改进的高斯近似滤波方法[J].自动化学报,2016,42(3):385401.
HUANG Yulong,ZHANG Yonggang,LI Ning,et al. An improved Gaussian approximation filtering method[J]. Acta Automatica Sinica,2016,42(3):385401.
[12]戴嘉程,曾文涵,杨文军,等.高阶高斯滤波和Radon变换结合的缸体特征提取[J].西安交通大学学报,2019,53(4):18.
DAI Jiacheng,ZENG Wenhan,YANG Wenjun,et al. Cylinder surface feature extraction combining highorder Gaussian filter with Radon transform[J]. Journal of Xian Jiaotong University,2019,53(4):18.
[13]邵党国,邓阳阳,相艳,等. 基于自适应高斯滤波的超声斑点降噪[J]. 数据采集与处理,2017,32(4):746753.
SHAO Dangguo,DENG Yangyang,XIANG Yan,et al. Speckle reduction based on adaptive Gauss filtering[J]. Journal of Data Acquisition and Processing,2017,32(4):746753.
[14]BEHRENS T, SCHMIDT K, MACMILLAN R A, et al. Multiscale contextual spatial modelling with the Gaussian scale space[J]. Geoderma, 2018, 310: 128137.
[15]TOPAL C,AKINLAR C,GENC Y. Edge drawing: A heuristic approach to robust realtime edge detection[C]// 2010 20th International Conference on Pattern Recognition.[S.l.]:[s.n.], 2010:24242427.
[16]AKINLAR C, TOPAL C. EDLines: A realtime line segment detector with a false detection control[J]. Pattern Recognition Letters, 2011, 32(13): 16331642.