基于DSP的快速公交专用车道检测
基于DSP的快速公交专用车道检测
致芯科技为每位客户提供最科学最合理最低成本的解密方案与解密服务,深受客户的信赖与喜爱。咨询电话:010-57792822;手机:13466687255。
目前,国内外学者已经提出了很多车道线检测算法,主要分为两类:一类是基于图像特征的检测方法,即特征驱动法,是基于道路图像的一些特征(如车道线颜色、宽度以及边缘等特征)将图像的所有点标记为车道线点和非车道线点,这种机制要求道路的车道线颜色较为明显,边缘较为清晰,否则无法得到准确的检测结果;另一类方法是基于模型的检测方法,是根据提取的特征对预先定义好的车道线模型进行匹配,将车道线的提取转化为车道线模型中参数的计算问题。模型的假设主要有直线模型和曲线模型两种,其优点是对噪音不敏感,能较好地处理图像中物体局部被遮挡和覆盖的情况。
本文结合道路的纹理特征并建立模型进行车道检测,既充分利用图像的信息,又在一定程度上保证了算法的鲁棒性。
本文首先对图像进行预处理,然后对图像进行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.1Gabor变换原理
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变换,这样大大减少了运算速度。当图像检测的消失点及车道线上的点少于所设定的阈值时,程序重新初始化。