APP下载

基于改进简单图像统计算法的车道线识别

2018-03-19段建民张云飞郑榜贵

计算机工程与设计 2018年3期
关键词:感兴趣车道消失

段建民,张云飞,郑榜贵

(北京工业大学 信息学部,北京 100124)

0 引 言

车道识别技术是汽车安全辅助驾驶系统中的关键技术之一,它可以在车道偏离时进行预警,降低交通事故的发生率。复杂道路情况下(如阴影干扰和沥青路面泛白等)的识别准确率和鲁棒性是车道识别的难点和关键。

许多研究者对其进行了深入的研究。常见的方法是先对图像进行阈值化,然后采用边缘检测算法[1]提取车道轮廓部分,最后利用hough变换[2]或随机抽样一致(RANSAC)算法检测车道线[3]。为了提高算法的实时性,Liu等[4]采用LSD算法[5]检测车道线,但没有考虑线段的相关性,所以在敏感的噪声环境中提取直线时容易受到不相关线段的干扰;Ju等[6]利用所提取线段的强度来表示线段的相关性,但未考虑路面上其它交通标志的干扰的情况。为了提高车道线识别算法的鲁棒性,一些研究者利用Kalman滤波器[7,8]对车道线进行跟踪估计,Shin等[9]利用两个独立的粒子滤波器分别检测左右两个车道线。然而,这些算法通常只考虑左右两个车道线的情况,多车道线的检测依然是个难题。

图像阈值化可去除大量的无用信息,提高直线检测的准确性。在阴影遮挡或路面泛白的情况下,大津法、最大熵阀值分割法等常见的基于直方图的全局阈值算法不能得到好的效果。Bernsen法[10]、局部自适应阈值法等局部阈值算法能取得好的效果,但需要手动设置参数。根据车道环境特点,本文提出一种改进SIS阈值[11]分割算法用于车道线检测。

本文算法主要包括3个方面,算法主要流程如图1所示。第一步,截取道路感兴趣区(如图2所示)并将其灰度化,然后采用阈值算法分割图像;第二步,利用直线段检测(LSD)算法提取直线,然后利用平行直线对估计消失点并根据消失点去除大部分误检;最后,利用车道线的连续性和车道间距建立车道线感兴趣区,然后在感兴趣区内寻找车道线,与传统的基于模型的算法相比,此方法可以根据车道线数量自动调整车道线感兴趣的数量。提出的算法不仅有效提高了车道线识别的实时性,而且提高了在其它车道标志和非道路区域干扰下的鲁棒性。

图1 算法流程

图2 感兴趣区

1 改进SIS阈值算法

SIS(simple image statistics)算法是一种基于图像本身统计特性的自动阈值选择方法。算法过程简单描述如下:

(1)计算每一个像素的水平和垂直方向梯度;

(2)取两个梯度的最大值作为该像素权重;

(3)更新权重之和和加权像素之和;

(4)取加权像素之和和权重之和相除的值为最终阈值。

该算法执行速度快,适应于干扰较少,目标区域与背景区域有明显梯度的图像。其公式如下

(1)

式中:ex=f(x-1,y)-f(x+1,y),ey=f(x,y-1)-f(x,y+1),f(x,y) 是像素点(x,y)的灰度值。

SIS算法的思想是通过降低平滑区域像素权值并提高梯度边缘像素权值来寻找最佳阈值,能在低噪声的图像中取得好的效果。但在有大量噪声干扰的情况下,如果噪声的灰度值在背景和目标之间,阈值会变小。而如果噪声灰度值大于目标区域,阈值会变大。所以在阴影遮挡和路面泛白等复杂情况下,该算法同样难以取得好的效果。

但无论在何种情况下,车道线的亮度都要比其周围的道路更高一些,故可通过分离比邻近点亮的区域来突出车道线。首先计算像素点周围r×r区域灰度值的加权平均,然后用原值减去该值,如果小于零便将该点置零。这种方法的关键是选择合适的参数r。如果取值过大,不仅会影响算法效率,而且不能取得好的效果。取值过小则只能突出边缘,不能滤除噪声。结合车道线检测的具体环境并反复实验,当r=15时可取得最佳效果,图2中感兴趣区域的处理结果如图3所示。

图3 高亮区域分离

图3的灰度直方图曲线如图4(a)所示,这种情况很难通过基于直方图的算法求得理想的阈值。一方面,在高亮区域分离图中,高亮区域周围像素的灰度值均为0,这些像素因为在边缘而获得较大的权值,使得阈值会受此影响而变小。另一方面,一些高亮度的噪点具有很大的权值,使得阈值会受到干扰而变大。为降低这两个方面的影响,本文采用像素本身灰度值的平方根作为该像素的权值。这样既去除了灰度值为0的像素的影响,又降低了高亮度的噪点对阈值的影响。阈值的计算公式如下

(2)

图4 灰度曲线

改进算法与SIS算法相比省去大量计算,因为只需要对原直方图进行计算便可以得到阈值,而不再需要对每个像素进行计算。根据直方图计算阈值的公式为

(3)

式中:i——灰度值,Pi——该灰度值的像素个数。

加权后的直方图曲线如图4(b)所示,改进后的算法与原算法及OTSU算法的效果对比如图5,图6所示,其中图5的原图为图2。图5是在高亮度且有路面泛白和阴影干扰的情形下,SIS算法、OTSU算法和本文改进的算法都取得了好的效果。图6是在低亮度和有阴影干扰的情况下,改进算法尽可能地保留了车道线,取得的效果最好。改进算法对环境的适应性更好,能更灵敏的响应图像亮度和对比度的变化。通过实验测试,SIS算法处理一幅图片需要2.45 ms,OTSU算法需要1.49 ms,本文提出的算法仅需0.96 ms。

图5 路面泛白情形下二值化对比

图6 阴影遮挡情形下二值化对比

2 直线提取和消失点估计

2.1 直线的提取

LSD是一种以梯度特征为基础的直线检测分割算法,它能够在线性时间内提供亚像素级精度的结果。LSD算法首先计算每一个像素的梯度值及梯度方向,然后通过区域生长算法得到线段的外接矩形,之后依据矩形区域的角度和容差将矩形区域分割。最后,对每一个矩形采用Contrario方法和Helmholtz原理进行验证,通过虚警数约束控制线段检测的误检率。

LSD算法的初衷是为了尽可能的准确检测图像中的直线段。但在车道线检测中,需要抑制道路两边栏杆、路灯、树木和路面噪声的干扰。因为车道线都是长度较长的直线,所以可通过调整外接矩形的角度来去除干扰。LSD算法首先会对图像进行高斯下采样。调小采样值,既可以放大外接矩形的角度,又可以减小时间消耗。LSD算法默认采样尺度W=0.8,当W=0.8时可以保留图像的很多细节,但带来了背景和路面的噪声。将采样尺度调小,既减少了时间消耗,又去除了部分噪声。但如果采样尺度过小,直线检测的效果则不能满足要求。通过大量实验对比,将W的值设置为0.4时,取得的效果最好。如图7所示,即可以满足车道线检测的要求,又去除了误检。

图7 直线段检测

2.2 估计消失点位置并去除直线干扰

LSD算法可以将检测所得到的线段的端点坐标直接输出。以横坐标为Y轴,纵坐标为X轴,这条线段所在的直线可以被表示为

Y=kX+b

(4)

式中:k和b——直线的斜率和Y轴截距,对斜率k求反正切值可以得到直线的角度值θ。

道路场景图像中车道线边缘一般是一对平行线,消失点往往是车道线的交点。故可以通过提取平行线对来估计消失点位置。这种方法的关键是筛选合适的直线和合适的交点。根据车道线的特点定义如下规则筛选平行直线对:

(1)去除长度小于5的线段的干扰;

(2)在连续视频图像序列,根据道路方向去除部分干扰;

(3)将夹角不超过2°,Y轴截距相近的两条直线作为平行直线对。

通过以上规则提取平行线对之后,可以求解得到交点集Vc={V1,V2,V3,…,Vn},n为交点个数。

去除交点集里的干扰点是准确估计消失点的关键。由车道线和道路栏杆形成的交点在一定的邻域内密集分布,而干扰点在点集中占比较小,且往往是孤立点。另一方面,车辆变道造成的消失点位移是有规律的,可通过卡尔曼滤波算法来预测消失点的位移。所以估计消失点位置的步骤如下:

(1)采用卡尔曼滤波算法预测当前帧的消失点位置;

(2)去除与预测的消失点距离大于阈值D的交点;

(3)统计剩余每个交点r×r邻域内的交点个数;

(4)找到邻域内交点个数最多的交点;

(5)对该交点邻域内的所有交点求均值,即为最终的消失点。

该方法计算量小,有很强的抗干扰性。选取500张道路场景图像对该方法进行测试,把检测到的消失点位置与真实的消失点位置距离小于10的情况视做检测成功,成功率可达98.17%。在消失点检测成功的情况下,可以去除那些与消失点距离较大的直线,从而去除干扰。

3 确定车道线位置

3.1 车道线连续性

如图8所示,以直行标志为例,车道线与直行标志最大区别是车道线由多条连续线段组成,所以可以计算得出箭头、文字等在感兴趣区内连续出现的帧数P。利用直行标志被检测的位置到车辆的距离、车辆的行驶速度和视频的帧率就可以计算出P值,公式如下

(5)

式中:S——箭头、文字等被检测的位置到车辆的距离,F——视频帧率,v——车辆的行驶速度。

图8 车道线与直行标志

在连续的视频帧中,P值可以作为判断车道线是否存在的阈值。如果一条直线是车道线,那么它至少应该在连续P帧图像中都出现。

3.2 车道间距

IPM图像是将摄像机视图转换为从上到下的俯视视图。假设地面为零,相机分辨率为m×n像素,视场角为2α×2β弧度,θ为摄像机俯仰角,相机到地面距离为h。大地坐标系[u,v]到图像坐标系[x,y]转换关系如下[12]

(6)

图像中的点可通过这个方程得到大地坐标系中的对应点。因为LSD算法的输出结果便是线段的端点坐标,所以不需要将图像转换为俯视图,只需计算两个端点的坐标便可以得到大地坐标系下线段的对应位置。之后就可以计算得出相邻直线之间的间距d。在现实情况中,机动车道的宽度在2.45 m到3.75 m之间,可以以此建立车道宽度约束。

3.3 自适应车道线感兴趣区

采用道路方向和消失点约束并不能去除其它交通标线和非道路区域中与车道线平行的干扰,而一些采用车道模型的方法又限制了车道线的数量,所以本文利用车道线的连续性和相邻车道线之间的间距建立车道线感兴趣区。

在利用消失点去除误检后,利用式(6)得到剩余直线在IPM图中的对应位置,如图9中的左图。在处理第一帧图像时,将距离较近的直线合并成一条直线。然后计算相邻直线的间距,保留那些间距符合车道宽度的直线。最后将间距一致的一组直线作为车道线。在接下来的视频帧中,以第一帧图像检测到的车道线为中心建立感兴趣区,如图9中的右图。再根据如下策略调整车道线感兴趣区:

(1)将直线分成两类,在车道线感兴趣内的为A类,不在的为B类,集合C存放着之前帧的B类直线。当前帧的B类直线首先与集合C中的直线进行匹配,如果两条直线角度θ和Y轴截距b都很接近,就认为匹配成功。集合C中匹配成功的直线继续保留并被标记,匹配失败的直线将被去除。而与集合C中的所有直线都匹配失败的B类直线将加入集合C中。

(2)如果集合C中的一条直线连续P次匹配成功,便计算它跟相邻的车道线感兴趣区中心线之间的间距d,以判断这条直线是否是新车道线。如果距离d在2.5 m和4 m之间,则这条直线是新车道线,并据此建立新的感兴趣区。如果不是新车道线,则判定这条直线是干扰并在集合C中去除这条直线。

(3)在车道感兴趣区内寻找与前帧车道线位置最接近的A类直线,并根据这些直线的位置调整车道线感兴趣的位置。如果在车道线感兴趣内未能找到候选车道线,就标记此车道线感兴趣区。

(4)在一个车道线感兴趣区被连续标记的次数超过P次情况下,如果该车道线为最外侧车道线便直接去除此感兴趣区。如果为内侧车道线,需计算它相邻的两条车道线的距离。小于4 m便去除此感兴趣区,否则继续保留此感兴趣区,并在下一帧中扩大此感性兴趣区的搜索范围。

图9 确定车道线感兴趣区域左:IPM图中的对应直线,右:车道线感兴趣区域

根据以上策略,感兴趣区的数量可根据车道线的数量自动调整。在根据IPM图中的直线调整感兴趣区之后,利用式(6)将车道线的端点再转换到原图像中。

4 实验验证

因为车道线识别的研究往往是针对于某一复杂场景,并没有标准化的测试数据集。为了评估所提出的算法在结构化道路上的性能。首先采用加州理工学院的车道数据集进行验证。该数据集包括4段城市道路视频,共1224帧,分辨率均为640×480,涵盖了树木阴影、其它车道标志、车辆行驶、路面泛白和水泥道路等情况。并且与同样针对多车道线检测的文献[13]作了对比,结果见表1。然后采用在北京高速路拍摄的两段视频对提出算法在高速公路上的性能进行了验证。这两段视频总帧数为7500帧,分辨率同样为640×480,包含多辆汽车干扰、车辆变道和不同行驶速度等情况,结果见表2。测试平台采用VS2013和OpenCV平台。硬件平台采用Intel(R)Core(TM)i5-2400 CPU、GT430显卡和4GB内存。

表1 城市道路实验对比

表2 高速公路测试结果

提出的算法识别误检率低,能适应不同道路环境,在单车道情况下有很高的鲁棒性。算法每帧耗时为16.07 ms,有很强的实时性,能满足每秒60帧的高速摄像头检测。算法在多种工况下的识别效果如图10所示。

图10 各种工况下的车道线识别

5 结束语

本文针对车道线检测时会遇到的光照变化、路面状况不同以及阴影干扰等复杂环境,提出了改进的SIS阈值算法来适应此类情况。采用LSD算法进行直线检测,与采用Hough变换的检测方法相比,LSD算法省去了边缘检测过程,极大地降低了算法的耗时。同时,本文利用消失点和自适应车道线感兴趣区去除了来自阴影、车辆和道路中其它标志的干扰,降低了算法的误检率。实验结果表明,本文提出的改进算法在提高了检测准确率的基础上,同时满足了实时性与鲁棒性的要求,并且对多种工况以及复杂环境的干扰具有很强的适应性。

[1]Li Chuanxiang,Dai Bin,Wang Ruili,et al.Multi-lane detection based on omnidirectional camera using anisotropic steerable filters[J].IET Intelligent Transport Systems,2016,10(5):298-307.

[2]PENG Pai,WANG Yaonan,LING Zhigang,et al.Robust method for urban road detection and departure warning[J].Journal of Electronic Measurement and Instrument,2015,29(5):685-691(in Chinese).[彭湃,王耀南,凌志刚,等.一种适用于城市道路检测及偏离报警的方法[J].电子测量与仪器学报,2015,29(5):685-691.]

[3]FAN Chao,DI Shuai,HOU Lilong,et al.Lane marking detection technique based on improved RANSAC algorithm[J].Automotive Engineering,2014,36(4):503-509(in Chinese).[樊超,狄帅,侯利龙,等.基于改进 RANSAC算法的车道线识别方法[J].汽车工程,2014,36(4):503-509.]

[4]Liu Weirong,Li Shutao,Xu Huang.Extraction of lane mar-kings using orientation and vanishing point constraints in structured road scenes[J].International Journal of Computer Mathematics,2013,91(11):2359-2373.

[5]Grompone G R,Jakubowicz J,Morel JM,et al.LSD:A line segment detector[J].Image Processing on Line,2012,2(4):35-55.

[6]Ju Han,Yoo Dong,Hwan Kim,et al.A new lane detection method based on vanishing point estimation with probabilistic voting[C]//IEEE International Conference on Consumer Electronics.Las Vegas:IEEE,2015:204-205.

[7]CHEN Tao,ZHANG Hongdan,CHEN Dong,et al.Lane detection based on high priority pixels and tracking by Kalman filter[J].Automotive Engineering,2016,38(2):200-205(in Chinese).[陈涛,张洪丹,陈东,等.基于优先像素与卡尔曼滤波追踪的车道线检测[J].汽车工程,2016,38(2):200-205.]

[8]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(5):1454-1465.

[9]Shin BS,Tao JL,Klette R.A superparticle filter for lane detection[J].Pattern Recognition,2014,48(11):3333-3345.

[10]Puneet P,Garg N.Binarization techniques used for grey scale images[J].International Journal of Computer Applications,2013,71(1):8-11.

[11]GAO Fei.Text detection and extraction from document images[D].Tianjin:Hebei University of Technology,2012:7(in Chinese).[高飞.图像中文本信息的检测与提取[D].天津:河北工业大学,2012:7.]

[12]LAI Zhiming.Inverse perspective mapping algorithm suitable for low-resolution[J].Computer Engineering and Design,2013,34(10):3551-3555(in Chinese).[赖智铭.适用于低分辨率的逆透视映射算法[J].计算机工程与设计,2013,34(10):3551-3555.]

[13]PENG Hong,XIAO Jinsheng,SHEN Sanming,et al.A fast algorithm based on RANSAC for vision lane detection[J].Journal of Shanghai Jiaotong University,2014,48(12):1721-1726(in Chinese).[彭红,肖进胜,沈三明,等.一种基于随机抽样一致性的车道线快速识别算法[J].上海交通大学学报,2014,48(12):1721-1726.]

猜你喜欢

感兴趣车道消失
北斗+手机实现车道级导航应用
避免跟车闯红灯的地面车道线
浅谈MTC车道改造
更 正
这样的智能厨房台面,你会感兴趣吗?
低速ETC/MTC混合式收费车道的设计与实现
消失的童年
美永不消失
现在是几点