王超,王欢,赵春霞,任明武
(南京理工大学计算机科学与工程学院,江苏南京210094)
车道线检测是先进驾驶辅助系统(ADAS)的核心技术之一,是实现车辆辅助安全驾驶的重要前提。近年来,各大科研机构不断深入研究车道线检测方法,并实现了车辆在高速公路、城市道路等环境下的自动巡航行驶,然而在一些车道线不清晰的路面上还存在较高的漏检率。在中国,很多公路上的车道线存在着老化、污损、遮挡等情况,从而导致模糊、弱化等问题,之间还夹杂着虚线的干扰,因而给基于机器视觉的车道线检测带来了挑战,因而具有重要的研究意义。车道线检测方法一般包括3个步骤:1)特征提取:常用的特征有颜色特征[1-4],梯度特征[5-7]以及多种特征的融合[1];2)模型拟合:如Spline 模型[8-9]、B 样条[10-11]、Clothoid 模型[12-13]、Parabola模型[14]以及 Hyperbola 模型[15-16]等;3)车道线跟踪[17-19]。在以上3个步骤中,特征提取是最重要的一步,也是解决弱线问题的关键。很多学者基于车道线与道路的颜色通道差异性来进行车道线检测,如文献[20]通过经验性的设定R、G、B权重增大车道线与道路的亮度差异;文献[1,4]中分别采用HSI与HSV颜色空间,增加饱和度图像来补偿亮度图像的不足;文献[21]利用直方图均衡化增强车道线与道路区域的对比度。然而上述方法都是固定地选取亮度通道或对亮度通道做修正,难以适应光照多变的室外环境,而文献[9]采用了一种基于线性鉴别分析的图像自适应变换方法用于车道线的增强,通过提取车道线和道路样本,结合线性鉴别分析可获得RGB到灰度空间的最优变换系数,从而有效实现车道线与道路的对比度增强,然而,该方法稳定性较差,极大地依赖于样本选取的好坏。
本文提出了一种基于梯度增强和逆透视验证的车道线检测方法,以解决高速公路和城市道路上复杂条件下的弱线漏检问题。针对弱线特征不显著问题,在梯度增强变换基础上,利用车道线的结构特性提取车道线,在此基础上进行车道线和道路样本的选择,基于模糊线性鉴别分析使得图像在RGB空间到灰度空间变换后的车道线和道路像素间的灰度差异最大,有效突出了道路上的弱线,最后利用逆透视变换对候选车道线间的空间位置关系进一步验证,以此找回漏检的虚线。
车道线的颜色、亮度、边缘,梯度等信息被广泛的用来提取车道线。本节利用车道线结构和对比度信息进行车道线提取,出发点是:车道线是线型结构,具有固定的线宽,经过透视投影后,由近至远,车道线逐渐变细,且无论是黄线还是白线,亮度都比其两侧局部道路区域亮度大。
首先,将RGB彩色图像转化为灰度图像,本文取R、G、B3个通道的等比例平均作为灰度图像,即f=(R+G+B)/3。对灰度图像的每一行使用如下的滤波算子计算每个点梯度,即计算每个像素与水平方向左右两侧与其相距d的像素点的灰度差值:
式中:f(x,y)、gl(x,y)和 gr(x,y)分别表示(x,y)处的灰度值、左侧和右侧灰度差值;(x±d,y)表示距离像素位置(x,y)左右距离为d的像素位置;d表示图像某一行车道线最大宽度,是一个随图像行的不同而不同的常数,通过一个查找表记录道路区域中每行车道线的可能最大宽度。实验中,等间隔手工获得车道线的最大宽度,然后,其他图像行上的车道线的最大宽度通过线性插值计算得到。
前面提到的车道线像素特点可总结如下:
1)gl(x,y)>0 且 gr(x,y)>0。
3)图像的每行中,会连续出现若干个车道线像素,令图像每一行中出现的连续车道线像素集合称为一个线段,记作RL。
4)在图像相邻的行中,会连续出现垂直方向相连的多个RL。
特点1、2是车道线与道路的亮度和对比度关系,即车道线必须比周围的局部道路像素亮,且亮度差异越大越可能是车道线。特点3、4则反映的是车道线的结构特性。利用这4个特点,设计了如下车道线提取方法:
1)生成一幅全0图像R,利用式(1)、(2)对图像进行滤波,对于满足特点1的像素,计算特点2中的,将赋予R中对应的像素;
2)设定车道线与道路的最小灰度差异阈值T1,实验中T1取固定值10,即小于10认为是噪声,对R二值化,将>T1的像素赋值为255。对区域利用基于链码的区域轮廓跟踪,保留满足如下条件的区域即为车道线提取结果:
①区域面积大于10;②区域的高度大于5;③区域的实际面积与外接矩形面积小于0.7。
图1给出了2幅在不同场景下利用基于结构和对比度特征提取车道线的结果。结果表明,在光照条件不佳或者车道线较弱时,车道线的漏检问题较为明显。
图1 基于结构和对比度特征的车道线提取Fig.1 Lane extraction based on structure and contrast
利用结构和对比度特征进行车道线提取是在R、G、B3个通道简单平均后得到的灰度图像上处理的,但这一灰度图像并没有考虑到车道线与道路的可分性。文献[9]为了突出车道线和路面的亮度差异,在RGB图像到灰度图像的转换过程中采用:
找到使投影后车道线和道路两类样本灰度差异最大的投影系数w,即使下式达到最大:
式中:pr和pl分别为道路和车道线在RGB空间中的值,而yr和yl分别为道路和车道线经过式(4)转换后的灰度值。
而使2类样本经过线性投影后保证分离性最大问题恰可以使用线性鉴别分析进行求解,即计算道路和车道线每一类的样本均值mi与全体样本均值,并计算出类内距离SB与类间距离Sw:
式中:c是类别个数,本文只研究道路和非路2类,ni表示第i类的样本个数,xj表示样本。最优投影系数的计算使用的准则是:同类样本的类内离散度尽可能小,类间离散度尽可能大,即:
满足式(8)的解析解w即为RGB空间到灰度空间的最优转换系数。
实验发现,基于LDA梯度增强方法受样本选择好坏的影响很大,文献[9]给出的样本选择方式是利用前几帧车道线检测结果获得本帧的样本,但帧间不确定性因素较多,如光圈调整、采集间断,通讯延迟等均会导致帧间发生很大的变化,此外,没有考虑到样本中噪声干扰问题,取样中难以保证样本标签不发生颠倒,即车道线样本取到了道路上,反之亦然,使最优变换系数的计算得不到理想结果。本文在基于结构和对比度特征进行车道线提取的基础上,设计了单帧样本选取的方法,同一帧样本选择同一帧检测,具体方法是,对每个区域,以区域内的所有像素作为车道线样本,在区域的每一行RL线段左右两侧间隔一定像素分别提取L/2个像素作为道路样本(L是RL线段的长度),针对样本噪声干扰问题,采用了模糊LDA方法[22],通过给样本增加隶属度来抑制样本中噪声。模糊LDA方法的样本隶属度计算公式为
式中:k表示近邻个数,即对每个样本,从所有样本中找出与自己欧式距离最小的k个最近邻样本;nij是第j个样本的k个最近邻样本中属于第i类的样本个数。通过给每个样本赋予隶属度后,按下式重新计算每类样本的平均值:
并使用代替式(6)、(7)中的mi,其他与 LDA 方法一样。
模糊LDA可以降低样本的噪声,特别是在双黄线附近,如果对其中一条黄线采用以上给出的样本选取方式,则由于另一条黄线离得很近,会被误取为道路样本。如果直接使用LDA,变换的结果会受到严重影响,而如果使用模糊LDA,被误认为道路像素的黄线样本属于黄线的隶属度大,属于道路的隶属度小,避免了这部分样本对LDA变换的影响。
上文利用提取出的可靠车道线附近提取车道线和道路像素样本,并利用模糊LDA方法抑制所提取样本中的噪声干扰,保证了LDA投影变换的有效性。而在2.2节给出的车道线提取方法的有效性受车道线与道路对比度的制约,利用该方法在RGB 3个通道等权重平均得到的灰度图像上进行处理,只能得到比较明显的部分车道线,本节利用这些部分车道线作为线索,利用改进LDA梯度增强方法进一步突出其他车道线部分,即弱线部分与道路的对比度,使得增强后弱线部分与道路的灰度差异也很大,再次利用2.2节给出的车道线提取方法,可以获得更为完整的车道线提取结果。具体方法是:
对R、G、B3个通道等比例平均得到灰度图像,利用结构和对比度特征提取出候选车道线区域,以每个候选区域内的像素作为车道线样本,区域外的局部区域提取道路样本,然后利用模糊LDA进行最优投影系数计算,并在周围设定一个变换区域进行梯度增强,的范围由如下方式获得:提取的每一行RL线段的中点位置,使用最小二乘法预测出一条直线,的左右边界由该直线分别向左右各平移10个像素获得,的上下边界则与的高度hi有关,分别沿着预测直线向上下两方向各扩展hi/2个像素,并不超过兴趣区域4个边界。
将内的所有像素从RGB空间变换到最优投影空间,并在空间变换后的数据上再次使用基于结构信息的车道线提取方法进行处理,提取出可能的车道线区域。图2展示了上述过程。统计图2(g)给出了增强结果图2(f)中车道线像素灰度值与原灰度图像2(a)对应像素灰度值的曲线比较。不难发现,通过梯度增强,道路与非路像素的灰度差异变大,使用基于结构和对比度特征更易于将弱线提取出来。
图2 梯度增强与增强后车道线检测结果Fig.2 Results of gradient enhancement and lane marker detection after gradient enhancement
对于车道线的形状描述,主要有直线和曲线模型2种,直线模型虽然简单,不利于描述曲率很大的曲线,但考虑到直线模型抗噪声能力很强,为此,本文使用了直线模型对车道线线形状进行描述,对增强后提取出的车道线使用Hough变换进行直线检测。Hough变换描述了图像空间中线和参数空间之间的线与点对应关系,通常使用极坐标表示直线方程:
图3 车道线检测结果Fig.3 Lane markers detection results
通过每个车道线像素图像坐标对应的参数空间中参数点的计数器进行累加,所有点累加完后,求出局部最大值,并对局部最大值做如下约束,累加值必须大于阈值T2(本文取T2为2倍的道路区域高度),对应的参数 θ方向必须在[0,80]和[95,175]之间。满足条件的所有局部最大值就对应一条可能的车道线。图3给出了使用Hough变换得到的车道线结果。
车道线梯度增强保证了弱线的可靠提取,但对于其中的虚线,由于2条线段之间间隔比较远,即使车道线像素全部被准确的提取出了,Hough变换时累积器的局部最大值也有可能很小,达不到给定阈值,容易造成漏检,为此,本节提出了一种基于逆透视变换(IPM)的车道线确认方法,既可以有效找回虚线,又可以排除虚假的车道线。
IPM是一幅消除摄像机成像导致的透视投影的场景俯视图,它借助于摄像机标定中的本质矩阵进行变换。IPM图的特点是,每个像素都有空间尺寸,都对应于三维空间中的特定区域,从而利用车道线在三维空间上的相互距离约束来实现漏检的找回。图像坐标[U,V]到实际世界坐标系[X,Y,Z]间的变换关系如下所示:
式中:K为3×3的摄像机内参矩阵,R、T为摄像机外参,其中R表示3×3的旋转矩阵,T为3×1的平移向量,S为一个系数常量。假设地面为Z=0路面,则K·[R|T]就可以由3×4列简化为3×3列的矩阵,令H=K·[R|T],则有:
通过对摄像机进行标定,可以得到摄像机内外参数K、R、T,代入式(12)则可得到转换矩阵H,从而得到图像平面中的点到路面中点的一一对应关系,并转换原图像为IPM图。本节方法的优势在于并不需要计算IPM图,而只针对k条候选车道线进行变换,从而大大缩短了矩阵变换的计算时间。通过在每条车道线上取2个图像坐标点,投影到IPM图的坐标上,在这些直线中选取置信度最大的k/2条直线,并判断它与其他候选直线的距离关系,如果2线间距满足路宽约束(中国标准道路一个车道宽约为d=3.75 m),即2条直线的距离D1恰好是路宽长度d的倍数,则该直线的配对指数加1。在计算完所有直线的配置指数后,保留拥有最大配对指数的直线组,并确认为车道线。
对已确认的车道线,再分析它们之间的距离关系,如果2条车道线之间的距离D相对于路宽d有,则表示介于这2条车道线之间存在着r-1条车道线。如果处于中间的车道线不够r-1条,则判定存在漏检的虚线,到置信度排在后k/2的集合中寻找能够匹配上的车道线,并将该车道线召回。
如图4所示,4(b)为IPM图,以原图的逆透视结果来显示方便说明,其中2条已确认直线La、Lb之间距离为D=7.3 m(IPM中图像每一像素表示0.05 m实际长度,两线间距145像素),则D≈2d,判断中间存在一条虚线,从而在候选车道线中找回,并在4(c)图中表示,其中高亮线段表示找回的车道线。
图4 基于IPM的弱点召回Fig.4 Weak lane finding back based on IPM image
实验测试序列是通过无人车平台采集的,采集的摄像机安装于车顶前部正中央,采集RGB彩色图像,分辨率为352×288,帧率为25帧/s,镜头焦距为4 mm。
为了定量分析算法性能,从车载摄像机采集的27个典型序列中选出500幅典型场景图像作为实验测试图像,其中包含各种不同环境条件,有城市道路、乡村道路、高速、林荫道等不同路况,其中大部分包含虚线或者不够清晰的车道线,还有晴天(强阴影)、阴天等不同天气条件下的图像。
对500幅道路图像都手工标记出图像中所有车道线,并与本文算法及相关比较算法在这500幅图像上的检测结果进行比对。比对的方法是:以图像行为单位,统计每一行中算法检测的车道线上的点与标记的车道线上的点在图像列方向上的误差,以列方向的平均误差进行线的匹配,如果2条线平均误差小于15个像素则认为匹配上,以此判据分别统计出虚检(FP)、漏检(FN)和正确检测(TP)的车道线条数、通过计算准确率(P)、查全率(R)和F量测(F)3个指标进行综合评判:
式中:准确率P评价算法的虚检率,查全率R评价算法的漏检率,F量测反映算法的综合性能。
表1中给出本文算法与文献[9]算法的性能对比结果。表明本文方法比文献[9]提高了6.3%,梯度增强和逆透视验证进一步提高了本文方法的性能。图5给出了本文算法部分检测结果图像。
表1 车道线检测算法性能对照Table 1 Comparison of lane detection methods
图5 不同场景下本文算法对车道线检测的结果Fig.5 Lane detection experiments in different scenes
本文针对车道线检测中弱线问题进行了研究,提出了采用梯度增强来实现弱线提取,同时利用逆透视验证来进行弱虚线的找回,从而显著提高了车道线检测的可靠性,并适应于不同的光照环境,在弱线环境中达到了88%以上的准确性,为车辆安全辅助驾驶提供了必要的保障。
[1]SUN T Y,TSAI S J,CHAN V.HSI color model based lane-marking detection[C]//Proc.IEEE Intelligent Transportation System Conf. Toronto, Canada, 2006:1168-1172.
[2]CHIU K Y,LIN S F.Lane detection using color based segmentation[C]//IEEE Intelligent Vehicle Symposium.Hawaii,USA,2005:706-711.
[3]ROTARU C G,ZHANG T J.Extracting road feature from color image using a cognitive approach[C]//IEEE Intelligent Vehicle Symposium.Parma,Italy,2004:298-303.
[4]MARGRIT B,ESIN H,LARRY S D.Real-time multiple vehicle detection and tracking from a moving vehicle[J].Machine Vision and Applications,2000,12(2):69-83.
[5]HUNJAE Y,UKIL Y,KWANGHOON S.Gradient-enhancing conversion for illumination-robust lane detection[J].IEEE Transactions on Intelligence Transportation Systems,2013,14(3):1083-1094.
[6]SOUTHHALL J B,TAYLOR C.Stochastic road shape estimation[C]//Computer Vision. Vancouver, Canada,2001:205-212.
[7]YU B,JAIN A K.Lane boundary detection using a multiresolution Hough transform[C]//Image Processing,Washington DC,USA,1997:748-751.
[8]BORKAR A,HAYES M,STMTH M T.Detecting Lane markers in complex urban environments[C]//IEEE 7th International Conference on Mobile Adhoc and Sensor Systems.San Francisco,USA,2010.
[9]YOUNG U K Y,OH S Y.Three-feature based automatic lane detection algorithm for autonomous driving[J].IEEE Transactions on Intelligent Transportation System,2003,4(4):219-224.
[10]WANG Y,TEOH E K,SHEN D.Lane detection and tracking using B-Snake[J].Image and Vision Computing,2004,22(4):269-280.
[11]YAGI Y,BRADY M,KAWASAKI Y,et al.Active contour road model for smart vehicle[C]//15th International Conference on Pattern Recognition.Barcelona,Spain,2000:819-822.
[12]SOUTHBALL B,TAYLOR C J.Stochastic road shape estimation[C]//ICCV Vancouver,Canada,2001:205-212.
[13]EIDEHALL A,GUSTAFSSON F.Obtaining reference road geometry parameters from recorded sensor data[C]//IEEE Intelligent Vehicle Symposium. Tokyo, Japan,2006:256-260.
[14]MCCALL J C,TRIVEDI M M.Video-based lane estimation and tracking for driver assistance:survey,system,and evaluation[J].IEEE Trans Intell Transp Syst,2006,7(1):20-37.
[15]GUIDUCCI A.Camera calibration for road application[J].Comput.Vis.Image Underst,2000,79:250-266.
[16]CHEN Q,WANG H.A real-time lane detection algorithm based on a hyperbola-pair model[C]//Intelligent Vehicle Symposium.Tokyo,Japan,2006:510-515.
[17]RUYI J,REINHARD K,TOBI V,et al.Lane detection and tracking using a new lane model and distance transform[J].Machine Vision and Applications,2011,22(4):721-737.
[18]DANESCU R,NEDEVSCHI S.New results in stereovision based lane tracking[C]//Intelligent Vehicles Symposium.Baden,Germany,2011:230-235.
[19]KAPLAN K,KURTUL C,AKIN H L.Fast lane tracking for autonomous urban driving using hidden Markov models and multiresolution Hough transform[J].Industrial Robot,2010,37(3):273-278.
[20]CHENG H Y,JENG B S,TSENG P T,et al.Lane detection with moving vehicles in the traffics scenes[J].IEEE trans on Intelligent Vehicle Symposium,2006,7(4):571-582.
[21]WANG J,WU Y,LIANG Z,et al.Lane detection and tracking using a layered approach[C]//IEEE Int Conf Inf.Autom.Harbin,China,2010:1735-1740.
[22]KWAK K C,PEDRYCZ W.Face recognition using a fuzzy fisherface classifier[J].Pattern Recognition,2005(38):1717-1732.