车道线跟踪

在完成车道线检测后,接下来要做的就是车道线的跟踪,这也是智能汽车辅助驾驶的关键技术。

在此领域的研究中,产生了多种车道线算法,如AURORA的自适应的模板相关法,该方法只能在路面状况缓慢变化时工作良好;LOIS的变形模板法,能处理图像中车道边缘比较弱的情况,而且还能排除路面阴影、污水等的影响;RALPH 系统从前方道路中提取梯形区域,对此区域进行二次采样并将其变换到平面道路图中;MOB-RAB系统假设道路是平坦的,通过把透视图变换为平面图得到车道线;SCARF系统利用颜色视觉及单线和双线的语义;Waxman 等人采用两步图像处理的方法提高道路识别跟踪速度;Redmill 运用匹配滤波和Kalman滤波检测道路,其中Kalman 滤波被用来保持平滑,并预测下一帧图像中的车道线参数。

本文研究在小波图像边缘检测得到车道线后,利用Hough变换对噪声不敏感并能较好地处理直线的优点,采用Hough变换的方法在图像序列的各帧中提取车道线的参数,然后利用Kalman 滤波来一帧帧地依次跟踪这些参数。这样,就将车道线的跟踪转化成车道线参数的跟踪,不仅提高了跟踪的速度,而且将Kalman跟踪的方法引入,提高了跟踪的准确度。

1 基于Hough变换的车道线参数提取

Hough变换具体步骤如下:
(1)在ρ和θ 合适的最小值、最大值之间建立一个离散的参数空间,以及一个累加器A(ρθ) ,并把每个元素置0。
(2)利用先验知识,限定参数的ρ和θ 的取值范围,对二值图像上满足条件的像素点做Hough 变换,即算出该点在每个ρ - θ 网格上的对应曲线,并在相应的累加器上加1,即:
A(ρθ) = A(ρθ) + 1
(3)找出对应图像平面共线点的累加器上的最大值,这个值提供了图像平面上共线点所在直线的参数。由此算法可知,可以把在x-y 平面上寻找共线的点(即寻找直线)的问题转化成在参数空间(即Hough 变换的空间)中寻找峰值的问题。为此,编写函数houghtrans 来实现直线型车道线参数的提取,得到Hough 变换域的直线参数rodetect 和tetadetect,即ρ 和θ 的值。

2基于Kalman的车道线参数跟踪

由上节的Hough变换得到基于直线模型的车道线的参数 ρ和θ后, 就可以用Kalman滤波对其进行跟踪了。
Kalman跟踪的算法描述如下: 
(1)编写函数initialk():其主要功能是由序列图像中的前5幅求取待跟踪参数的维数的平均值Mr,以此作为与其他帧的参数维数相比较的基础。 
(2)设定Hough变换相关的参数。
(3)设定Kalman跟踪的相关参数。 
(4)依次载入序列帧图片,此处的图片为240×320的RGB序列图像。
(5)对载入的图像进行小波边缘检测,得到二值化的边缘图像。
(6)对得到的边缘图像进行Hough变换的直线参数提取,得到ρ-θ变换域的直线参数ρ和θ。
(7)矩阵维数匹配判断:由于每个序列帧车道线的不同,所检测的直线参数ρ和θ的维数也不同,为利用Kalman进行跟踪,参数的维数必须统一。为此,需利用矩阵维数匹配判断,当前帧的参数维数Xr大于平均值Mr时,舍弃后边的Xr-Mr维;当当前帧参数的维数Xr小于平均值Mr时,后边的Mr-Xr维补0。这样,任何一帧的待跟踪参数的维数都是Mr,这样就可以利用Kalman来实现跟踪了。
(8)Kalman跟踪计算:Kalman跟踪的核心是它的5个公式,实现此功能。参数初值和协方差P的初值设为单位阵,本状态的预测值是上一状态的跟踪结果,本状态的真实值是当前读入的序列帧,由此可得到本状态的跟踪值(即最优估计结果)。此值又作为下一状态的预测值,实现车道参数的循环估计,即跟踪。

车道线跟踪_第1张图片

你可能感兴趣的:(车道线,算法)