车辆辅助驾驶系统中的三车道检测算法*
2014-02-27王家恩陈无畏汪明磊谈东奎
王家恩,陈无畏,汪明磊,谈东奎
(合肥工业大学机械与汽车工程学院,合肥 230009)
前言
车道识别技术作为驾驶员高级辅助驾驶系统(ADAS)中的关键技术之一,能有效减少因车辆偏离车道而发生的横向碰撞事故。实时性和复杂情况下(如阴影干扰、标志线模糊等)的可靠性是车道识别技术的难点和关键。近年来,许多学者对其进行了深入的研究。在边缘检测方面,常用的边缘检测算子对于模糊边缘的车道线检测效果不明显,且易产生大量噪声。Canny算子虽然检测效果好,但其中的高斯滤波、极大值抑制和边缘链接等过程均比较耗时[1]。方向可调滤波器可以抑制非车道边缘点,增强实际边缘点,但一般须预知车道线的实际方向,且在车道边缘模糊时和其他常用边缘检测算子一样无法检测出车道线边缘,而当减小边缘阈值时又会产生大量噪声[2-4]。在检测直线方面,传统的Hough变换耗时严重,不能满足车道识别实时性的要求[5-6]。为提高车道识别的可靠性,一般在车道识别过程中加入先验知识,如采用车道模型和车道边缘检测结果进行匹配[7-9]。其中,消失点检测的准确性和实时性均直接影响到车道线参数值的确定。文献[10]和文献[11]中采用先检测直线再根据检测的直线来检测消失点,准确性高但实时性不佳。文献[12]~文献[14]中采用边缘点的位置和方向角信息对消失点进行投票,并在全局范围内对消失点进行搜索,可较快定位消失点。
为使模糊的车道边缘能够被检测且不产生大量的噪声,本文中提出一种基于车道线宽度和边缘点数量统计的边缘检测算法,能有效抑制噪声的产生。同时针对传统直线检测比较耗时的问题,提出基于车道模型的消失点投票定位检测方法,并将投票于消失点的边缘点进行分类和统计,在此基础上实现车道线的快速检测。
1 识别算法流程
车道识别算法流程如图1所示。
将整个车道识别算法分为车道线预提取和车道线跟踪两部分。车道线预提取阶段初步获得可能存在车道线的区域,分为高斯平滑滤波、边缘检测、消失点检测、直线检测和模型匹配多个过程,为车道线识别界定感兴趣区域(ROI),提高算法实时性。若车道线预提取成功则表明道路可能存在车道线,此时进入车道线跟踪阶段,否则重新对下一帧图片进行车道线预提取。车道线跟踪阶段在ROI内分别进行滤波、分方向边缘检测、局部消失点重定位、直线提取、标志线特征确认、模型匹配和参数寻优等处理过程。若标志线确认成功则进行车道模型匹配,否则转入第一阶段对下一帧进行车道线预提取。若标志线确认和车道模型匹配成功,则对车道线参数进行寻优;否则转入第一阶段对下一帧图片进行车道线预提取。如此反复循环,完成车道识别过程。
2 车道线预提取
2.1 坐标系定义
道路视频信息通过安装在车辆前方的CCD摄像机实时获取,试验所用的图像大小为640像素×480像素,每个像素代表一个单位长度,令图像的行数和列数为M和N。建立的图像坐标系见图2。
2.2 图像预处理
图像预处理通过对图像进行平滑滤波处理,减少噪声点的影响,并通过边缘检测突出道路边缘。
2.2.1 高斯平滑滤波
将下述高斯型函数与图像进行卷积以模糊该图像,图像的模糊程度由σ值决定。
(1)
式中:G(Dx,Dy)为对应点权重系数,Dx、Dy为当前点到对应点的距离。
2.2.2 边缘检测
对常用的几种边缘检测算子进行图像边缘检测时发现,二值化时梯度阈值的大小对边缘检测的效果影响很大,具体表现为:当梯度阈值选择过大时,很难检测出对比度小的图像边缘;当梯度阈值选择过小时会明显增加噪声点的数量,不利于图像边缘的提取。因而阈值的合理选择比较困难。由于车道线具有一定的宽度,且宽度大小沿着图像x轴正方向逐渐增加,但其最大宽度不会超过一最大值。而车道线边缘灰度值分别存在x和y方向上的灰度跃变的特点,因而车道线边缘点与同一行或列上的其它车道线点仍然构成灰度跃变特性,且这样的点数在y方向上一般不少于车道线的宽度(即车道线的像素数)或大致相等。根据这一特点,边缘检测时若灰度跃变图像像素个数不符合标志线宽度条件则将其剔除,这样可以减少非车道线边缘噪声的影响。
当标志线边缘由于磨损等较为模糊时,车道线边缘则形成一梯度很小的斜波数字边缘模型,如图3所示。常见的几种边缘检测算子由于梯度阈值的限制,难以检测出模糊车道线边缘,而采用Laplace算子虽然可以准确定位边缘,但对噪声极其敏感一般不作为原始边缘检测,采用Canny算子则耗时较多。仔细分析可以发现,虽然模糊车道线边缘y轴上前后像素的对比度小,但是当两像素y轴位置较远时二者之间的对比度仍然较大,这是因为即便斜波梯度小,但二者的y轴坐标之差较大从而使得对比度增加。因此,通过计算y轴坐标相邻较远的两像素灰度值之差来计算梯度值,则仍能检测出较为模糊的车道线边缘。
当车辆在道路上正常行驶时,靠近道路消失线的远视野车道标志线与x轴趋近于垂直,而远离道路消失线的近视野车道线与y轴的夹角随着视野的靠近逐渐增大,因而这里在图像的近景处和远景处分别采用不同扫描方向以获得边缘点。根据以上分析,总结出如下边缘检测算法。
在近景处(0~N/2像素长)和远景处(N/4~N/2像素长)内进行y正轴方向扫描,算法步骤如下。
其中,Tmin取较小的阈值,目的是为检测到对比度小的车道线边缘。车道线最小宽度wmin是为保证在滤掉噪声的基础上能检测到宽度较小的车道线,其大小随着像素点在x轴上坐标的增大而增大。初始跳跃长度p的大小决定能够检测到的车道线模糊程度,若取得过大则可能会检测不到宽度窄的标志线,因而p的取值不宜过大且小于wmin。沿y轴反方向的边缘扫描与上面类似,在近景处y轴(N/2~N像素长)和远景处(3N/4~N)内进行y轴反方向扫描,此时将边缘点的灰度值置为200以区别扫描方向。
在远景处进行x正轴方向扫描。
由于x正轴方向上车道线的两边缘点之间不能构成车道线的宽度信息,且原图像在远处的噪声远比近景处的要小,因而这里不利用车道线的宽度信息,仅利用x轴方向上间隔像素点之间的灰度阈值之差进行分析。算法步骤如下。
完成边缘点检测后在边缘点处计算梯度角,并根据梯度角计算其方位角,方位角方向与梯度角方向垂直。这里不计算整幅图像而计算边缘点处的梯度角是为了减少算法执行时间,同时为后面的直线和消失点检测做准备。
梯度角度计算公式为
αG(x,y)=arctan(Gy/Gx)
(2)
(3)
式中:Gx、Gy为利用Sobel算子计算得到的边缘点处的x方向和y方向的梯度值。
图5为边缘检测点对应的方向角分布结果。
2.3 消失点检测
消失点的检测对于整个车道识别过程尤为重要,消失点不仅代表道路的延伸方向,还为各车道线提供参数信息。为提高实时性,这里不采用常见的Hough变换检测直线后根据直线检测消失点的方法,而是根据采用边缘点对未知消失点进行投票选择的方式进行消失点定位。为提高实时性和可靠性,将消失点的位置圈定在消失线上,而消失线的x轴坐标可以根据CCD相机安装参数经过坐标变换得到[12]。
边缘点对候选消失点的投票函数为
本实验发现,BCRD小鼠血浆中CORT、ACTH和CRH含量显著增高,且肾上腺皮质细胞间隙变宽,细胞增大,核深染,提示BCRD小鼠HPA轴处于功能亢进状态,另外海马DG区和CA3区神经元出现明显损伤,由此推测,BCRD小鼠的发病与HPA轴亢进导致海马海马损伤密不可分。
(4)
式中:xVP为消失点的x轴坐标;αD(x,y)为边缘点坐标为(x,y)处的方向角;αA(xVP,yj)为坐标为(xVP,yj)的候选消失点与边缘点之间连接线的方向;τ为方向角度偏差的阈值。经过边缘点对候选消失点投票选择后,消失点的位置坐标为得票最多的候选消失点坐标,其表达式为
vp=maxvote(xVP,yj);j∈(0,N)
(5)
消失点检测结果如图6所示。可以看出,不同工况下的消失点定位准确性高。
2.4 直线检测
在检测到消失点后,本文中不采用Hough变换检测直线,而通过对投票于消失点的边缘点进行分类和统计,以缩短车道识别算法的计算时间。当边缘点对候选消失点投票有效时,候选消失点记录下边缘点的方向角并对当前方向角进行统计。当遍历完所有边缘点后,所有候选消失点均已记录下不同方向角的边缘点数量,这时对其进行排序即可获得直线的参数信息。不同工况下的车道线检测效果如图7所示。
2.5 车道模型匹配
检测出的直线为车道线提取提供了参考,从检测出的直线中筛选出候选的车道线也成为下一帧图片中车道线跟踪的目标区域。由于车道线满足车道模型的匹配关系,即车道线之间的距离应满足车道宽度的要求。
根据高速公路的设计准则,当车道由大地坐标系经过多重坐标系转换投影到像素坐标系下时,车道线方程[7]可近似表示为
(6)
式中:fe为摄像机等效焦距;C0为道路曲率;φ为摄像机安装俯角;H为摄像机安装高度;d为车道线与道路中心的距离;θ为车道线与摄像机光轴在水平面投影的夹角;yVP为消失点在图像坐标系下的y坐标;xVP为消失点在图像坐标系下的x坐标;c0为图像物理坐标原点在像素坐标下的纵坐标。
由于车道模型匹配的为直线型车道,故车道模型可简化为
y-yVP=B(x-xVP)
(7)
由于消失点的坐标(xVP,yVP)和代表直线的斜率B均在检测直线时已经获得,而参数摄像机安装俯角φ和摄像机安装高度H在标定的过程中也已获得,因而通过比较不同直线之间的斜率即可判断不同直线之间的距离,从而对其是否为候选车道线进行判断。这里首先对每条直线进行候选车道线的置信度计算,找出其中置信度最高的直线,然后以此直线为基础,根据车道宽度的要求对其它直线是否成为候选车道线进行筛选。
第i条直线的候选车道线置信度函数为
(8)
(9)
式中:DISj为在消失点检测过程中第j条直线上的边缘点统计数量;NOL为检测直线的总数量;vij为第i条直线与第j条直线之间满足车道宽度的标志;d为车道的宽度,分别取单车道、双车道、三车道的宽度,单车道的标准宽度为3.5m;λ为车道宽度的判断阈值。找出CLi中的最大值并将其视为最合理的车道线,同时在此基础上根据车道宽度搜索剩余的其他候选车道线,若车道线缺失则补充相应的候选车道线,这样即可实现候选车道线的搜索过程。不同工况下的候选车道线搜索结果如图8所示,可以看出,根据车道宽度的要求能够准确检测出所有候选车道线。
3 车道线跟踪
若车道线预选取成功,则在下一帧图片处理时以第一帧图片中车道线的位置为基础,进行车道线的跟踪检测,主要分为以下几方面。
3.1 预处理
车道线跟踪阶段的预处理包含局部区域平滑滤波和基于车道线方向的边缘检测两部分。平滑滤波图像位置为图9中箭头所指区域。显然滤波的区域比初帧检测的要小,而对应的边缘检测区域也相应缩小。
边缘检测方向如图9所示,在当前车道(即中车道)左右两侧的直线周围采用y轴双方向扫描方式检测车道线边缘点,而在左车道和右车道分别进行x轴的正方向扫描,这是因为当前车道两侧车道线与y轴趋近于垂直而左车道的左侧车道线与右车道的右侧车道线与x轴趋近于垂直。相应的平滑滤波算法和边缘检测算法与车道线预提取阶段相同,这里不再重述。图10为跟踪阶段的边缘检测图,可以看出,跟踪阶段的边缘检测能检测到当前车道两侧车道线的双边缘,避免了其它非车道边缘检测带来的噪声干扰。
3.2 消失点重定位和直线检测
消失点的重定位方法依然与前面直线预提取时相同,只是投票的候选点区域发生了变化。预提取直线时候选点的区域为消失线一整行上,而由于车辆在行驶过程中会发生上下颠簸或者道路上下坡等情况时道路消失线在图像坐标系中会发生微小变化,因此这里将消失点的候选点区域设定为前帧消失点周围矩形框内,实现消失点的跟踪检测,如图9所示。
同理,在消失点检测的基础上对汇聚于消失点的边缘点进行分类统计即可检测出不同方向的直线。图11为跟踪阶段的直线检测结果,可以看出,当前车道左右侧车道线的边缘均被检测为直线。
3.3 车道标志线确认和模型匹配
为减少阴影对车道识别算法的影响,针对阴影和车道线在边缘检测方向上的区别,加入车道标志线进行确认。仔细分析可以发现,车辆正常行驶时车道标志线一般应满足如下关系:当前车道左侧车道线的左侧边缘点应满足Gx≥0且Gy>0,当前车道左侧车道线的右侧边缘点应满足Gx≤0且Gy<0,当前车道右侧车道线的左侧边缘点应满足Gx≥0且Gy<0,当前车道右侧车道线的右侧边缘点应满足Gx≤0且Gy>0。根据投影可知,两条平行的车道线边缘投影到像素坐标系中会相交,且车道左侧边缘直线的方向角要比右侧的小,二者的差值范围可根据车道标志线的宽度和相机标定后估计得到。根据这一特征,可排除阴影边缘直线对车道检测的影响。
若车道标志线确认成功则对检测直线进行车道模型的匹配,匹配的算法和前面类似,只是将车道标志线两侧的直线用内侧直线代替。跟踪阶段的车道线检测结果如图12所示。
3.4 车道参数寻优
若车道线匹配成功则对车道线进行参数寻优。当前方车道为曲线型车道时,须在直线型车道的基础上对车道的曲率等参数进行寻优,以获得更加准确的车道信息。
寻优的过程即为搜索式(6)中K和B使车道线上分布的边缘点在满足方向角度条件的情况下最多,保证非边缘点被剔除。图13为不同K和B值下的车道线分布图。根据三车道的边缘车道线参数可以很容易找出三车道中线,图14为三车道的检测结果,灰白色线为各车道的中心线。通过K和B的寻优结果即可换算出车道的曲率和三车道各自的横向距离及其方向偏差,并作为车辆辅助控制系统的控制参数。
4 试验
对提出的三车道识别算法进行实车试验,以验证算法的实时性。算法的运行环境为labvIEW PXI 8196,labvIEW上的图像采集卡为PXI 1411。C代码程序编译环境VC++6.0,通过labvIEW中的CIN节点模块调用VC++6.0中生成的动态链接库文件(.dll)来实现车道识别算法,由笔记本电脑将程序下载至labvIEW主机中执行并实时显示结果。
图15为三车道识别系统的软件运行界面,其中左图为三车道识别结果显示,右图为边缘检测结果显示,图中最右侧为三车道参数信息输出。视频输出速率为30帧/s,经过测试,文中车道预提取阶段的处理速度约为27ms/帧,跟踪阶段的处理速度约为15ms/帧,满足车辆应用的实时性要求。
5 结论
(1) 提出一种基于车道线宽度和边缘点统计的边缘检测方法,与常见的几种边缘检测方法相比能够准确检测较为模糊的车道边缘,检测的边缘细腻且能抑制噪声。
(2) 根据车载视觉传感器安装位置的不同,采用边缘点对图像的局部区域进行消失点投票来检测消失点,在多种路况条件下能准确定位消失点。
(3) 对投票于消失点的边缘点进行分类统计来检测直线,在多种路况条件下能准确检测直线。
(4) 根据车道模型中的车道宽度等信息设计车道线置信度函数能准确提取车道线,避免了非车道线的干扰。
[1] Sharifi M. A Classified and Comparative Study of Edge Detection Algorithms[C]. International Conference on Information Technology:Coding and Computing,2002:117-120.
[2] Jung H G, Lee Y H, Kang H J. Sensor Fusion-Based Lane Detection for LKS+ACC System[J]. International Journal of Automotive Technology,2009,10(2):219-228.
[3] McCall J C, Trivedi M M. An Integrated, Robust Approach to Lane Marking Detection and Lane Tracking[C]. IEEE Intelligent Vehicles Symposium,2004:533-537.
[4] 郭磊,李克强,王建强,等.应用方向可调滤波器的车道线识别方法[J].机械工程学报,2008,44(8):214-218.
[5] Song Jiqiang, Lyu M R. A Hough Transform Based Line Recognition Method Utilizing both Parameter Space and Image Space[J]. Pattern Recognition,2005,38(4):539-552.
[6] Song Jiqiang, Cai Min, Lyu M R, et al. A New Approach for Line Recognition in Large-size Images Using Hough Transform[C]. Pattern 16th International Conference on Recognition,2002,1:33-36.
[7] Zhou Yong, Xu Rong, Hu Xiaofeng, et al. A Robust Lane Detection and Tracking Method Based on Computer Vision[J]. Measurement Science and Technology,2006,17(4):736-745.
[8] Wang Yue, Teoh Eam Khwang, Shen Dinggang. Lane Detection and Tracking Using B-Snake[C]. IEEE International Conference on Intelligent Vehicles,1998:51-57.
[9] Liu Xin, Xu Xin, Dai Bin. Vision-based Long-distance Lane Perception and Front Vehicle Location for Full Autonomous Vehicles on Highway Roads[J]. Journal of Southeast University,2012,19:1454-1465.
[10] Longjard C, Kumsawat P, Attakitmongkol K, et al. Automatic Lane Detection and Navigation Using Pattern Matching Mode[C]. International Conference on Signal, Speech and Image Processing,2007:15-17.
[11] Liu Huajun, Guo Zhibo, Lu Jianfeng, et al. A Fast Method for Vanishing Point Estimation and Tracking and Its Application in Road Images[C]. International Conference on ITS Telecommunications,2006:106-109.
[12] Wu Qi, Zhang Wende, Chen Tsuhan, et al. Prior-Based Vanishing Point Estimation Through Global Perspective Structure Matching[C]. IEEE International Conference on Acoustics Speech and Signal Processing,2010:2110-2113.
[13] Zhou Shengyan, Jiang Yanhua, Xi Junqiang, et al. A Novel Lane Detection based on Geometrical Model and Gabor Filter[C]. IEEE Intelligent Vehicles Symposium,2010:59-64.
[14] Rasmussen C. Texture-Based Vanishing Point Voting for Road Shape Estimation[C]. Rasmussen-British Machine Vision Conference,2004:1-10.