储开斌, 郭俊俊, 朱 栋
(常州大学信息科学与工程学院,江苏常州213164)
基于机器视觉的车道识别是无人驾驶的重要组成部分,在车辆的自主导航系统中发挥着重要的作用[1]。车辆在行驶过程中受到各种环境因素的影响,如何提高车道线检测的效率及准确性,对无人驾驶汽车的安全及可靠行驶至关重要。目前,常见的车道识别方法有两类:①基于特征的车道线识别方法,该方法采用边缘[2]、颜色[3]、纹理[4-6]等特征,将图像分割成几个部分,再利用相应算法得到车道线。②基于模型的车道线识别方法,该方法采用直线模型[5]或者二次曲线模型[6]表示车道线,可有效去除车道线中产生的噪声,同时对缺损的车道线有较好的补偿。
Cheng等[7]对公路以及车道线的RGB通道进行线性的分析,从而提取出车道线。该方法在没有外界因素的影响下对各种道路形状下都有较好的适应性。Aly等[8]利用霍夫变换来统计特征点的灰度直方图,再进行RANSAC验证以提取车道线,该方法在直线车道时具有很好的鲁棒性,但是在弯车道和车道污损等条件下鲁棒性降低。毕雁冰等[9]利用LMedSquare曲线拟合技术进行弯曲车道线检测,该方法有较好的鲁棒性,但在拟合时计算量较大,实时性低。Meng等[10]采用基于粒子群算法的导航线检测可快速准确地提取出导航路径,但未对弯曲道路的情况进行分析。
车辆在行驶过程中受到车道线、障碍物、光照等环境信息的影响,路径情况复杂。基于特征的识别方法受外界因素影响较大,对复杂路况鲁棒性低。基于模型的方法能很好地识别出车道线但实时性较低。为了解决复杂情况下道路信息复杂,车道不易提取的问题,同时减少计算的复杂性,提高车道识别速度,本文提出了一种结合自适应感兴趣区域的新边缘噪声消除方法,可以更有效地消除图像中类车道噪声,提高车道识别精度及速度。
本文提出的车道线检测方法包括图像预处理、边缘噪声消除及车道识别等,检测流程如图1所示。图像预处理首先从获取的车辆图像信息中找到最有效的感兴趣区域,缩小图像处理尺寸,从而减小图像处理时间。再将感兴趣区域图像灰度化,得到图像的灰度信息。在此基础上对图像进行适当的滤波,滤除灰度化后明显的噪声。经过滤波后的灰度图像利用Canny的边缘检测方法提取图像的边缘信息。提取出的边缘信息中还包含部分边缘噪声,再将图片分割成若干个子图像,通过计算子图像的边缘方向来消除噪声边缘。最后扫描可能的边缘链接对,找到满足车道标记的边缘信息,通过直线拟合出车道线,从而实现车道信息的提取。
图1 车道线检测流程
为了提高图像处理的实时性,同时减少非车道区域噪声对结果的影响。本文对采集的图像进行了感兴趣区域(Region of Interest,ROI)划分,将ROI分为初帧ROI和车道线ROI两类[11-12]。在采集到的图像中,道路有用信息一般位于图像的底部,因此当上一帧图像未检测出车道线时,选取图像底部1/3区域作为初帧ROI,如图2所示。图中红色方框表示初帧ROI划分区域。
图2 感兴趣区域划分
当车道线检测成功后,根据车道线位置来划分车道线ROI。因为相邻两帧图像之间的车道线相近,所以根据前1帧检测到的车道线位置可以自适应构造出一个多边形区域。将该区域作为下1帧图像处理时的ROI,本文称该ROI为车道线ROI,图中黄色虚线包围的区域是上1帧车道线检测成功后,下1帧图像对应的车道线ROI,这样大大减少了图像处理的复杂度,提高了图像处理的速度。
为了减小图像原始数据量,便于后续处理时的快速性,将划分好ROI后的图像灰度化。灰度化采用RGB颜色空间模型[13],转换公式为
式中:R代表红色分量;G代表绿色分量;B代表蓝色分量。由于车道线的颜色一般是黄色和白色,为了增强车道线的特征信息,采用
提高车道标记强度,从而提高图像处理的准确性,灰度化结果如图3所示。
图3 图像灰度化
双边滤波是一种可以保持边缘同时去噪的滤波器,双边滤波器的系数是由几何空间距离和像素差值决定的。相比于高斯低通滤波器只考虑了空间域和α-截尾均值滤波器(去掉百分率为α的最小值和最大之后剩下像素的均值作为滤波器)只考虑了值域,双边滤波器同时考虑了空间域与值域的差别,因此具有更好的边缘保存效果[14]。
本文对灰度化后的图像采用双边滤波来减少噪声点的干扰。在双边滤波器中,输出像素值依赖于邻域像素值的加权组合,
式中:k、l为像素所在位置;f(k,l)为对应像素点的强度;ω(i,j,k,l)为权重系数,
d(i,j,k,l)为定义域核,r(i,j,k,l)为值域核,
式中,σd、σr分别为定义域和值域的方差。结果如图4所示。
图4 双边滤波
边缘检测的性能对图像的后续处理非常重要。即使在恶劣环境条件下,或者对于可能出现的潜在道路线复杂场景,边缘检测算法也必须是稳健的。在众多流行的边缘检测方法中,Canny的边缘检测方法[15]对于低对比度图像也能很好地工作。经Canny边缘检测结果如图5所示。
图5 Canny边缘检测的结果
在获得图像边缘信息之后,由于复杂路况会引起较多的噪声边缘,为此通过以下3个步骤得到有效的边缘信息:噪声边缘消除,假边消除和边缘补偿。
本文提出了一种噪声边缘消除方法以消除具有异常方向的边缘链路。在文献[16-17]中提出的传统方法仅在车道标记边缘纯净时才有效。然而,在复杂路况下,车道标记边缘噪声将在各种条件下出现,例如镜头上的阴影、污垢或雨滴。本文中,将获得的边缘图像划分为若干个子图像,并使用霍夫变换计算每个子图像的边缘方向。
霍夫变换是将图像从图像空间变换至参数空间,其变换
在平面直角坐标系中,直线可以用函数y=kx+b表示,其转换思想是将x、y作为坐标系已知量,k、b作为变量,将平面问题转化为参数空间坐标系下的极坐标ρ、θ[5]。则直线方程表示为变换以后图像空间中的一点在参数空间是一条曲线,而图像空间共线的各点对应于参数空间交于一点的各条曲线。基于霍夫变换的边缘噪声消除流程为:
(1)将获得的边缘图像划分为若干个子图像。
(2)对每个子图像进行Hough变换,建立参数极坐标ρ—θ;搜索子图像上需要变换的目标点(x,y),利用ρ=xcos θ+ysin θ计算参数遍历θ,对目标进行累加,直到全部转换完成,得到Hough变换矩阵;统计累计数组θ的峰值。
(3)根据交通法规规定,车辆不得在车道线横向行驶,因此车道标记边缘链路方向将在一定的范围内。本文设置子图像的主要方向不在[40°,165°]时,那么它将作为噪声边缘链接被丢弃。
为了减少处理时间,对于当前图像仅计算从前1帧作为候选边缘链接的子图像。同时还制作了一个方向表来存储每个子图像的角度,如果它被作为噪声边缘丢弃,那么它在表格的相应块中被设置为零。结果如图6所示。
图6 消除噪声边缘
在初始消除噪声边缘过程中,可能存在一些和车道标记边缘链路的方向相同的噪声,如图6所示。针对上述问题提出了一种假边消除的方法。假边消除步骤:
(1)在正常行驶过程中,左右车道分别位于图像中心的左右两边,因此扫描从图方向表的底部中间开始,并从中间到两边和从下到上扫描。
(2)对于存在边缘方向的点,以它为核心建立如图7所示的九宫格。因为噪声点和边缘点的区别在于噪声点不具有连续性,为此本文以存在边缘方向的点为核心,在其上下左右进行搜索查找,左侧车道边缘点的判断标准为:右上角(TR),顶部(T),右侧(R)或者左下角(BL),下部(B),左侧(L)有两个存在方向点,其余则为噪声点。右侧车道边缘点的判断标准为:左上角(TL),顶部(T),左侧(L)或者右下角(BR),下部(B),右侧(R)有两个存在方向点,其余则为噪声点。
图7 假边消除九宫格
(3)将存在噪声的子图像清除,生成新的边缘图像,如图8所示。
图8 假边消除
在噪声边缘消除的过程中由于阴影或污垢的影响,在某些子图像中,车道标记可能被视为噪声,从而切断车道边缘。为了恢复被切断的车道边缘,本文设计了一个掩模,用于与假边消除后的方向表进行卷积,来实现缺损边缘的补偿。卷积的掩模如图9所示。
图9 边缘补偿掩模
图9 中,左上角(TL),顶部(T),右上角(TR)和中心(C)表示掩模中点的位置。卷积从方向表的左下角开始,并从左到右,从下到上进行卷积,如果方向表中的中心没有方向点,并且“TL”“T”或“TR”存在方向点,则将方向表的中心块设置为“True”并恢复边缘点,补偿结果如图10所示。通过消除边缘噪声,大部分噪声边缘已被消除,同时保留了潜在的车道标记边缘。
图10 边缘补偿
经过图像预处理和边缘噪声消除后,得到所有车道线的边缘坐标,并将其设置为连续集合SP。为了减少直线拟合的时间,假设车道模型由每个左右车道标记边缘的顶点和底点建立。本文使用此候选车道模型通过
与其他边缘点进行匹配。其中dp-ij表示为点p与线段之间的距,并将dp-ij的值存放到累加器中。
对于连续集合SP,如果超过80%的车道标记边缘点的dp-ij<3个像素,那么将使用该候选模型作为车道模型。直线拟合实验结果如图11所示。
图11 直线识别
为验证本文提出的车道检测系统的可靠性和实时性,本文在Windows 7和Matlab环境下进行实验仿真,该计算机平台具有Intel i5 2.3 GHz核心和8 GB内存。为了评估所提算法的性能,本文利用所提出的算法来测试包含各种道路环境的若干图像序列。
图12(a)中,原始图像在受到路肩阴影的影响和挡风玻璃反光的影响下,本文方法仍然能够清楚地标记出车道线的位置。图12(b)显示了在夜间低光条件下的车道场景,结果表明,即使在这些情况下本文的方法也能正常工作。图12(c)显示了中午光照强,路面受树木阴影的影响明暗不一,且存在车道标志线的车道场景,结果显示本文所提出的方法也可以准确地工作。图12(d)显示了雨天路面湿滑反光情况下的车道场景,结果表明本文方法仍然可靠。图12(e)显示了汽车前方有车辆将车道标记覆盖,虽然图像中只留有一小部分车道痕迹,本系统仍然可以精确地检测车道。
图12 不同天气路况下的实验结果
本文所提方法的耗时如表1所示,与其他方法相比,可以看出在更低处理速度的情况下达到其他方法的处理时间。结果表明,本文提出的该方法鲁棒性高、实时性好。
表1 不同方法的时间对比
由于受到光照、天气、障碍物等影响,道路情况复杂,为准确快速地检测出车道线,本文提出了一种车道线检测方法。首先,对采集到的图像进行预处理,设置自适应ROI,并进行灰度化、双边滤波和边缘提取;对于边缘噪声复杂的情况,本文将边界图像划分为子图像并计算每个块的局部边缘方向并删除边缘方向异常的边缘。然后,对缺失的边缘块进行补偿。最后,设计出简单的直线拟合算法拟合出车道线。实验结果表明,本文所设计的检测方法在各种路况下具有较高的性能和精度。