中国矿业大学信息与控制工程学院 王 超 王宇雷 姚 峰
车道线检测作为先进驾驶员辅助系统(ADAS)乃至智慧交通的重要组成部分,极大地改善了传统驾驶模式中“道路-驾驶员-汽车”的信息获取流程,提供有效的驾驶决策信息,提高行车安全性。目前,基于车道线特征的算法主要利用车道线的颜色以及边缘梯度等信息,通过Canny算子、Sobel算子或转换到其它颜色空间如HSL等进行检测,而后利用Hough变换或最小二乘法进行车道线的提取[1-4];但这类方法易受到复杂的路面环境如阴影、积水等因素的影响,对路面状况要求比较高。基于模型匹配的算法主要通过建立道路模型,当检测到的参数与模型相匹配时便将其当作车道线[5-6];但该方法的时间复杂度较高,且易受到模型自身的影响。针对基于车道线特征算法对路面状况要求高以及基于模型的算法时间复杂度高的缺点,本文设计出一种结合基于特征检测方法与基于模型匹配检测方法两种算法优点的高效的车道线检测算法。实验表明,该系统检测效果优良并具有较好的鲁棒性,克服了阴影等不利因素的影响,同时具有一定的实时性。
图1 系统检测流程图
系统检测流程图如图1所示,首先在预定区域内利用概率霍夫变换(HoughlinesP)和最小距离法求解出消失点,以此为基础建立梯形DROI,该过程除去掉大量无效与干扰区域,有效地降低后续过程的运算量,提高了算法的实时性;其次进行视角转换与图像预处理,包括通过在HLS和LAB颜色空间的光强和色度等参数分别建模,并根据模型在道路图像中准确识别出白色和黄色车道线区域[7];最后,通过小窗口直方图搜索获得车道线位置坐标以后进行拟合,获取其模型参数,将该参数与前N帧获取的模型参数进行比较,若差值超过所设阈值,则将该组参数抛弃,用前N帧模型的参数拟合车道线,若未超过所设阈值,则更新模型参数,拟合车道线。
图2 消失点及梯形DROI示意图
在结构化的公路上,车道线信息主要集中在图像的中下部[8],然而在实际过程中所采集的图像会因路况以及摄像头安装角度的不同而产生一定差异,基于先验知识的图像分割可能会丢失有效信息或保留干扰信息,不利于后续过程进行车道线检测。
图2中蓝线区域是通过消失点检测以及先验知识而建立的梯形DROI,其过程分为如下几步:
1)基于先验知识预先设定一个大梯形ROI区域,然后将图像转换到HLS空间,利用Canny算子对L通道进行边缘检测 。
2)利用霍夫概率变换(HoughlinesP)提取直线。
3)利用公式(1)、(2)求取消失点:
其中,I为成本函数,Vp为消失点,Pi为Hough直线上的点,ni为与Hough直线垂直的线,然后利用公式(2)最小化我们的成本函数即可得到消失点的坐标。
4)如图2所示,声明2个从Vp均匀偏移且更靠近车辆的点P1,P2,基于先验知识设置另外两个的P3,P4的共同纵坐标y,利用公式(3)、(4)分别求解出其横坐标,这样找P3,P4分别在Vp和P1以及Vp和P2所在的直线上。构成了上图中蓝色线以内的DROI区域。
图像预处理主要分为三个部分:颜色空间变换(从RGB空间变换到HSL、LAB空间);在变换后的颜色空间中针对颜色的特征进行滤波操作;利用自适应阈值检测算法准确提取出车道线边缘轮廓。第一部分,由于不同的颜色空间凸显颜色不同的特征,在RGB颜色空间中难以表达的特征可以方便地在其他空间表达[9],将上文找到的梯形DROI区域进行颜色空间变换,这样做大大减小了后续提取车道边缘的难度与计算量;第二部分,在HSL、LAB空间中对白色与黄色进行建模,利用它们与路面和自然景物的不同特征分层滤波,准确识别出黄色与白色车道线区域;第三部分,利用自适应阈值检测算法实现图像的二值化,提取出车道线的边缘轮廓。
本系统将图像从RGB空间转换到HSL、LAB空间,通过对图像的亮度、色相和饱和度等分别建模和滤波,可以有效解决算法对光照条件敏感的问题,大大增强算法的鲁棒性。
车道线的颜色,几何边缘与路面都有较大的差异,车道线颜色主要有白色和黄色两种。白色反射光线能力强,在相同光照条件下,白色的光亮度最高,结合本文的调试结果,当选取光亮度值(luminance)大于190时,以图3(a)为研究对象,得到白车道线如图3(b)(图中黄色部分):
图3 HSL空间光亮度滤波结果
实际生活中,车道线的颜色会选取杂色较少的黄色(饱和度高),这样有利于驾驶员从灰黑色的路面中分辨出车道位置,结合具体图片的调试,设定饱和度(saturation)大于50;当光亮度大于190时,通过上文我们认为是白色的区域,因此设定光亮度小于190。以图3(a)为研究对象,得到包含黄色车道线在内的自然景物区域,如图4所示:
图4 包含黄色车道线的自然景物
为了把黄车道线从上述处理过的图中分离,把在HSL空间中滤波后的图片转换到LAB空间,利用B通道值大于190时表示黄色的特点,对转换后的图片进行滤波,有效滤去周围景物,提取出黄色车道线。
HSL色彩空间是极坐标空间结构,其中光强度分量与色度分量独立,描述颜色更加直观,非常适合依靠人的颜色感知特性对图片进行处理和分析;LAB色彩空间具有感知均匀性,与人对色彩的感知非常接近,将两个区域合并,可以达到最佳的处理效果。将得到的图3(b)与图(4)合并[10]得到去掉周围景物的DROI区域,如图5所示:
图5 去掉周围景物后的DROI区域
图6 自适应阈值算法得到的二值图像
图像边缘是指图像周围像素灰度急剧变化的区域,传统的车道线边缘检测常利用Sobel算子、Canny算子、Prewitt和Log等,其中,Sobel算子由于简单易操作,可以提供检测边缘方向信息而被广泛使用。但是Sobel算子检测精度不足,常常出现漏检、伪边缘的问题。Canny算子以其三个严格的边缘检测标准:(a)好的信噪比、(b)高的定位精度、(c)单边缘响应而被广泛应用,但是Canny算子需要人为地设定阈值,当路面光照等情况发生变化时,如果仍然单一地使用Canny算子进行边缘检测,一方面,难以自动确定阈值大小;另一方面,对每一帧图像都使用相同的阈值,很大可能会造成边缘信息的丢失甚至是出现伪边缘问题[11]。本文采用自适应阈值检测算法来避免单一阈值造成的问题。
在实际操作中,我们利用3×3的模板作为核与图像中相同大小的区域做卷积运算,再在运算后的图像中利用中值滤波与加权平均法实现自适应阈值来实现图像的二值化[12]。图6为通过自适应阈值算法得到的二值图像。
图7 5×5的核处理后的结果
图8 3×3的核处理后的结果
我们首先选用5×5的模板作为核,如图7所示,图像中出现了许多噪点,说明我们选取的核太大了。当我们选用3×3的核时,可以明显发现图中的噪点非常少,而得到的车道边缘比较令人满意,如图8所示。
图9 直方图小窗搜索
如图9所示,取图像底部垂直的一半,并通过直方图计算像素值的垂直和,找到最大的位置,并将该点作为车道线的起始点;然后自下而上沿着小框搜索最大像素密度的位置,该位置即为车道线的位置。利用最小二乘法拟合左右两侧车道线的参数方程,得到其曲线方程y = ax2+ bx + c 中的参数a,b,c。
在对序列图像进行实时处理时,由于摄像机采集速度较快(如30帧/s),连续采集的两帧图像中车道位置偏差不会太大(在车速为120km/h时,采集一帧图像车向前行驶约1m),因此车道边缘点的位置具有一定的可预测性[13]。在车道线检测这样一个连续过程中,前T帧的车道线模型参数对第(T+1)帧车道线参数具有良好的预测与约束作用。本文所设计的系统将会保存T(T=20)帧的有效车道线模型有关信息。当系统处于初始化状态则将当前帧的候选车道线当作稳定车道线,即作为最终检测结果[14]。
当第(T+1)帧检测出的车道线模型与其之前T帧模型平均值差异较大时并超过所设阈值时,舍弃该帧所得参数模型,采用第T帧的模型进行拟合;否则,采用此帧的车道线参数进行车道线拟合并更新已获得的车道线模型。
为了验证所设计系统的有效性与实时行,笔者在徐州某市外高速公路,枣庄某市内公路以及某森林公园内等地进行了行车视频提取与车道检测,部分检测效果统计如下:
表1 实验结果统计表
通过对高速公路、枣庄市区道路、徐州郊区道路以及某环山公路进行车道线检测实验,结果如表1所示,本系统的综合检测精确度可达到94%以上,基本实现了车道线的有效检测,满足了结车道线检测需求;同时由于梯形DROI的设立,有效的减少了运算量,一定程度上提高了实时性。
本文首先通过求解出消失点建立梯形DROI,有效的减少了后续算法的运算量,提高了系统的实时性;同时利用结构化车道的特征,将图像分别转换到LAB与HSL颜色空间提取车道线,有效的克服了阴影等不良因素的影响,提高了算法的鲁棒性;最后通过直方图小窗搜索找到车道线的位置以及与已获得车道线模型进行匹配,进行车道线模型的更新与车道线的拟合。实验表明,该系统能够对结构化车道进行有效的检测。下一步将进一步提高系统的实时性以及对于曲率较大的公路的拟合程度。
[1]孙伟,张小瑞,唐慧强,等.Hough变换和最小二乘拟合的车道线协调检测[J].光电工程,2011,38(10)∶13-19.
[2]赵颖,王书茂,陈兵旗.基于改进Hough变换的公路车线快速检测算法[J].中国农业大报,2006,11(3)∶104-108.