目前,国内外学者已经提出了很多车道线检测算法,主要分为两类:一类是基于图像特征的检测方法,即特征驱动法,是基于道路图像的一些特征(如车道线颜色、宽度以及边缘等特征)将图像的所有点标记为车道线点和非车道线点,这种机制要求道路的车道线颜色较为明显,边缘较为清晰,否则无法得到准确的检测结果;另一类方法是基于模型的检测方法,是根据提取的特征对预先定义好的车道线模型进行匹配,将车道线的提取转化为车道线模型中参数的计算问题。模型的假设主要有直线模型和曲线模型两种,其优点是对噪音不敏感,能较好地处理图像中物体局部被遮挡和覆盖的情况。本文结合道路的纹理特征并建立模型进行车道检测,既充分利用图像的信息,又在一定程度上保证了算法的鲁棒性。
本文首先对图像进行预处理,然后对图像进行Hough变换或者Gabor变换,得到车道线位置信息,判断出车辆是否在车道内行驶,如果不在则发出预警信号。
1 图像的预处理
图像的预处理主要是对摄像头实时采集的图像进行前期处理,主要包括去除图像的各种噪声,并根据摄像机的位置调节算法中的一些参数提取图像的感兴趣区域(ROI),以及进行边缘检测等,目的是为了加强图像的有用信息,抑制干扰。
标定摄像头以后,选取一定的区域作为车道线检测区域,进行平滑去噪,并对其边缘进行检测。本文采用Canny边缘检测。图1为拍摄的原始道路图像,图2为不同环境下(白天、阴天、夜晚)的检测结果。
2 基于Hough 变换的车道线检测
2.1 传统Hough 变换原理
对于建立的车道线模型为直线的情况下,Hough 变换作为车道线检测的一个方法, 广泛用于车道线识别领域。Hough 变换的实质是对图像进行坐标变换, 使变换的结果更易于识别和检测。Hough 变换的表达式为:
其中, (x,y ) 表示图像空间的某一点, ρ 是图像空间中直线到坐标原点的距离,θ 是直线与x 轴的夹角。传统Hough 变换投票空间ρ 和θ 的选择范围通常为ρ∈(0,r)( 其中r 为图像对角线长度) ,θ∈(0,180 ) .(ρ ,θ)为坐标变换后的参数空间某一点, 其将图像空间(x-y ) 的点转换到参数空间(ρ-θ), 可以证明图像空间中同一直线上的点在参数空间中对应的正弦曲线交于一点(ρ ,θ)。因此对图像空间的目标点进行坐标变换投影到参数空间,通过统计参数空间的总投票次数较多的点, 即可找到图像空间对应的直线方程。
Hough变换作为一种经典的车道线检测算法,具有很强的适应性,然而该算法较为耗时,当车道线外在环境因素较为不清晰,或者受道路上一些其他因素的影响下,结果受干扰较大。Hough变换检测结果如图3所示。
2.2 基于ROI区域改进的Hough变换的车道线检测
针对图像中道路的车道线一般分布在道路左右两边的情况,本文对传统Hough变换的应用进行了改进,限定其投票空间的范围,也就是限定ρ和θ来调整其投票空间的范围。限定其左右车道线的极角和极径,调节好摄像头,通过不断的测试,得到目标点的极角约束区域和极径约束区域,也就得到感兴趣区域(ROI),如图4所示,只检测落在白色区域内的车道线。
通过建立极角、极径约束区域,可以有效地去除大量的干扰点,滤除旁边车道以及路边树木建筑物的干扰,并能够很大程度地提高算法的运行速度。当车道线的极角极径在检测区域内时,可以快速准确地检测车道线的位置;然而当图像在转弯、变道或者摄像头位置偏移时,车道线很容易超出检测区域,使得结果出现很大的偏差。
3 基于Gabor滤波器的车道线检测
针对道路车道线不清晰以及存在一些其他标志干扰的情况,本文提出了改进的车道线检测算法,即基于Gabor滤波器的车道线检测。通过Gabor找到图像的消失点,即图像中两条车道线的交点位置,再对消失点进行Hough变换,这样不仅提高了算法的适用性,还提高了算法的实时性。
3.1 Gabor变换原理
Gabor滤波器与人眼的生物作用相仿,因此经常用于纹理识别,并取得了较好的效果。Gabor滤波器是带通滤波器, 它的单位冲激响应函数(Gabor函数)是高斯函数与复指数函数的乘积。它是达到时频测不准关系下界的函数, 具有最好的兼顾信号在时频域的分辨能力。高斯函数的局部性特征使得Gabor滤波器只在局部起作用, 即具有良好的尺度特性和方向特性。因此,Gabor滤波器被广泛用于图像处理和图像分析领域。
本文通过对车辙印记以及车道线边缘等一些纹理特征进行分析,从而提取出道路的消失点以及车道线的信息。
Gabor滤波器的模板计算方程如式(2)所示,该模板分为实部(式(3))和虚部(式(4))两部分。
通过建立K×K 大小的Gabor 模板,(x,y) 表示图像空间的一点。其中,θ 表示模板的方向, 为确定最后的道路纹理方向, 这里选择范围为0~72 ;λ 表示路面的波长;σ表示噪声容量, 本文取σ=K/9 .
3.2 消失点的求解
本文用不同方向的模板与图像进行卷积, 对于图像任意一点, 即可得到某一个方向上的卷积的结果为最大值, 这个最大值为纹理方向对应的能量, 该方向为纹理的方向。
其中,α 表示模板对应的方向, 对于图像中的任意点I(x,y) 与α 方向的Gabor 模板进行卷积, 得到不同的t(x,y),求取其最大值, 将最大值对应的方向作为图像中(x,y)点的纹理方向, 同时将该最大值作为纹理方向上的纹理强度。
通 过计算可以得到图像中每一点的纹理方向以及能量。为了计算出消失点, 对图像中选取的点进行投票,这里选择图像下方一定的区域点, 如图5 所示。当纹理能量大于设定阈值的点作为投票点,p 表示图像中投票空间的点,θ (p) 表示p 纹理方向,v 表示消失点的候选点,a (p ,v) 表示p 点与v 点的夹角,n 为采用的Gabor 模板方向的个数,R 为定义的投票空间, 即图6 对应的方框区域, 通过vote (p,v) 来统计p 点对v 点的投票结果,votes (v ) 为对R 区域累加进行投票的统计结果,pvote 为最终被投票次数最多的点的坐标, 即消失点。
图6 中的框表示选取的投票区域, 即在该区域内选取400 个点进行Gabor 变换, 求出其纹理方及能量; 圆圈是求出的消失点位置。
3.3 车道线检测
对于传统的Hough 变换, 需要对每个点每个角度进行遍历, 这样比较耗时。本文采用改进的Hough 变换, 对消失点及其周围的有限个像素进行Hough 变换, 求取左右车道线的两个峰值点,并绘制出车道线。该方法能够有效地抑制图像的其他边缘噪声干扰,提高算法的实时性。车道检测结果如图7 所示。
3.4 车道线跟踪
跟踪分为消失点的跟踪和车道线的跟踪。
(1) 消失点的跟踪: 消失点一般较远, 车辆在行进过程中消失点范围变化不是很大,而靠近车道线的道路两边由于车辆轮胎接触较为频繁, 纹理较为明显, 对消失点的贡献较大。因此, 随机选取靠近车道线两边100 个点对消失点及其周围的若干个点( 本文选取36 个点) 进行投票,如图8 所示。
(2)车道线跟踪:根据上一帧测量的结果,限定角度在一定变化范围内(本文限制在10°范围,如图8(b)所示)进行Hough变换,这样大大减少了运算速度。当图像检测的消失点及车道线上的点少于所设定的阈值时,程序重新初始化。
4 车道识别
本文在应用的基础上对合肥以及沈阳的BRT车道进行统计,其BRT车道相对其他车道具有如下特点:其左右车道线都为黄色,一般位于路的两边,道路的两边有栏杆或者路牙等特征。基于此特点,本文实现了BRT车道的识别系统,结合GPS判断其所在位置范围内有无BRT车道,若有则判断车道线颜色是否为黄色,即建立颜色模型,对车道线上的每一点颜色进行标记,并综合判断其左右车道线是否是黄色车道线,对黄色进行标记,如图9左图所示。由于车道线长期受到磨损有一定的失真,且在晚上黄光灯照射下不易准确地识别颜色,本文结合其栏杆、路牙等特征识别车道,对检测的车道线两边的一定区域(图9右图白色矩形区域)进行对比,比较其颜色边缘纹理等特征差别。通过大量的测试,本文得到了判断其是否为BRT车道的先验阈值,当矩形区域差别大于设定阈值时,则判断为公交专用车道,从而准确实现车道检测。
5 实验结果与分析
实现BRT 车道识别的具体流程如图10 所示。
本文首先通过GPS采集车辆所在区域的经纬度信息, 并建立道路经纬度信息库判断车辆所在位置附近是否具备BRT专用车道,若有,则进行车道线检测,找到车辆所在车道的左右车道线,并判断车道线上颜色信息以及车道线左右的边缘亮度等信息,分析其是否具备BRT快速公交车道的特征,如具备,则可以作为监控前方车辆是否违规驶入BRT车道的一个依据。
6 改进应用
该模型不仅适用于公路等有车道线的结构化道路,也可适用于车辙痕迹较为清晰的乡间土路、没有车道线的柏油路等非结构化道路, 能够较为准确地检测道路的消失点。当车辆行进方向偏离其消失点时, 提醒司机采取相应的措施, 从而实现了车道偏离预警, 可以有效地抑制事故的发生。图12 为对白色区域进行Gabor 卷积运算, 将卷积结果较大( 即能量较大) 的点的方向绘制出来, 如图12 右图所示。可以看出, 方向基本指向道路的消失点。图13 为复杂道路的消失点, 其中圆圈表示消失点投票结果。
本文对合肥公交专用车道进行了大量的实验,实验结果表明,该算法具有很强的适用性,能够准确地检测到车辆所在车道的车道线,并对其车道作出正确的判断。车道识别结果如图11所示。
本文提出了基于道路纹理特征的车道线检测方法,将直线模型算法成功移植到DM6437开发平台。通过摄像头实时采集道路图像(25 S/s,图像大小为720×576),实时统计车道线信息,并在城市道路上进行了大量的实验测试,平均每帧图像的算法耗时控制在50 ms以内,能够较为准确地检测出车道线的位置,具有较强的实时性和鲁棒性。