一种基于卡尔曼滤波器组的多车道线追踪方法 技术领域 本发明属于数字图像处理技术领域, 主要涉及针对道路视频图像中已检测出的多 条车道线同时进行追踪的方法。
背景技术 车道偏离预警系统 (Lane Departure Warning System, LDWS), 是一种通过报警的 方式辅助驾驶员减少汽车因车道偏离而发生交通事故的系统。社会经济的不断进步, 以及 现代计算机技术的飞速发展, 融合了多传感器技术以及通信控制理论等新技术, 使得 LDWS 的普及应用成为可能, 从而最大限度的提高汽车驾驶的安全性, 将社会经济损失减小到最 低限度。
目前 LDWS 的实现方式都是基于计算机视觉的方法实现, 首先在采集的道路视频 图像中识别车道线, 再根据车辆位置与车道线的关系判断是否发出偏离预警。因为车道线 是对车辆是否发生偏离进行判断的参照, 所以 LDWS 实现的首要条件就是要通过数字图像 处理的方法准确的检测出车道线。然而车辆在行驶过程中由于车身抖动、 光线变化、 路面 污浊以及车道线破损等等情况都会造成采集到的道路视频图像中同一条车道线目标检测 结果不稳定, 从而导致某一帧或某几帧图像完全目标偏差或丢失, 就会影响 LDWS 预警不准 确。
因此, 在采用数字图像处理的方法检测出车道线以后, 必须采用目标追踪的方法, 将已经检测出的车道线作为样本, 进行样本训练, 预测最优估计值, 完成车道线的追踪。最 后输出的最优估计值取代观测值进行预警, 就会使 LDWS 工作状态更加更加平稳, 极大的降 低了因车道线检测误差对 LDWS 性能的影响。因此本发明提出了采用卡尔曼滤波器组同时 对已检测出的多条车道线进行追踪, 可以大大提高车道线检测精度。
目前对车道线进行目标追踪的实现方法有以下几种 :
1、 将完全包含已检测出的车道线在内的四边形区域的坐标作为样本信息输入 卡尔曼滤波器, 从而预测下一幅序列图像中包含车道线的区域, 将其定义为感兴趣区域 (Region of Interest, ROI), 以加快车道线检测速度以及准确度, 利用了单个卡尔曼滤波 器对包含车道线的感兴趣区域进行追踪。虽然本方法加快了检测速度, 但是当在预测结 果 ROI 内检测不出车道线, 系统就不能正常工作。本方法详见文献 : 郑榜贵, 田炳香, 段建 民 . 基于 Kalman 预测及逆投影的车道识别技术 . 计算机工程与设计 .2009, 30(6).
2、 对感兴趣区域小窗口的预测。根据已经检测出来的车道线, 定义一个小区域只 包含了一条车道线的一部分, 将此小区域坐标作为样本信息输入卡尔曼滤波器从而预测下 一个包含本条车道线的小区域, 本方法是对 1 方法的改进, 将感兴趣区域从包含所有车道 线缩小到只包含一条车道线的某一部分, 提高了车道线检测精度, 但是仍然不能完全避免 LDWS 不能正常检测出车道线的问题, 本方法详见文献 : 余厚云, 张为公 . 基于动态感兴趣区 域的车道线识别与跟踪 . 工业仪表与自动化装置 .2009 年第 5 期 .
3、 采用其他滤波器算法来对车道线进行追踪, 如采用扩展卡尔曼滤波器技术和图
像处理技术, 建立车道跟踪的动态视觉窗口, 再提取出车道边界的方法, 详见文献 : 陈莹, 韩 崇昭 . 基于扩展卡尔曼滤波的车道融合跟踪 . 公路交通科技 .Vol.12, No.12, Nov.2004. 也有采用一种基于对比度和大津律法相结合的车道标线有效 ROI 的筛选处理算法, 并对有 效 ROI 进行了自适应阈值图像分割, 通过对 ROI 的有效筛选, 可以降低车道标线不连续处或 破损等影响, 详见文献 : 管欣, 贾鑫, 高振海 . 车道检测中感兴趣区域选择及自适应阈值分 割 . 公路交通科技 .Vol.26, No.6, Jun.2009.
上述各种追踪算法都是采用单一滤波器对车道线 ROI 进行追踪, 接着在 ROI 内识 别车道线从而间接完成车道线的追踪。随着经济社会的不断发展, 高等级路面车道越来越 宽, 同时图像采集设备的成像质量也越来越高, 必然会导致一幅图像出现多条车道线, 此时 采用上述追踪算法难以准确追踪检测到的每一条车道线, 在此背景下, 本发明采用卡尔曼 滤波器组直接对所检测到的多条车道线目标进行追踪, 而不再需要对车道线 ROI 区域进行 追踪。 发明内容
本发明提出一种基于卡尔曼滤波器组的多车道线追踪方法, 该方法不需要预先设 定车道线感兴趣区域, 可以直接对已检测出的多车道线进行追踪。本方法可以极大的提高 车道线检测的准确度, 同时不影响 LDWS 对于实时性的要求。 为了方便地描述本发明内容, 首先对一些术语进行定义。
定义 1 : 卡尔曼滤波。卡尔曼滤波 (Kalman Filter, KF) 是估计线性动态系统状 态的递归数据处理算法, 通过对样本训练的动态更新, 不断预测描述下一状态和测量数据。 卡尔曼滤波器原理及实现过程详见文献 : 何子述 . 现代数字信号处理及其应用 . 清华大学 出版社 . 第七章 : 卡尔曼滤波 .
定义 2 : 霍夫变换。即 Hough 变换, 利用直线平面空间和霍夫平面点、 线间的对偶 性, 即图像直线空间里共线的点对应霍夫平面里相交的直线 ; 反过来, 霍夫平面相交于同一 点的所有直线在图像空间里都有共线的点与之对应。 利用霍夫变换可以将直线特征搜索问 题转化为霍夫平面最大值搜索问题, 是直线特征提取领域中使用最为广泛的算法之一。原 理及实现过程详见文献 : 冈萨雷斯 . 数字图像处理 . 电子工业出版社 . 第 10 章 : 图像分割 .
一种基于卡尔曼滤波器组的多车道线追踪方法, 包括以下步骤 :
步骤 1 : 在车辆行驶过程中, 采用车载视频采集设备采集车辆前方道路图像 ; 并将 采集到的道路图像数据输入计算机, 进行车道线检测。
使用 Hough 变换检测出车道线, 用侧向距离 ρ 和方位角 θ 表示检测出的车道线, 即 (ρi, θi)i = 1, 2, 3L 表示道路图像上检测出的车道线。使用 Hough 变换进行车道线检 测的详细算法参见文献 : 刘叹 . 基于单目视觉的车辆行驶辅助技术研究 . 电子科技大学硕 士学位论文 .2009.09.17.
步骤 2 : 建立车道线追踪的卡尔曼滤波器模型。
步骤 2-1 : 定义车道线状态 ;
由于车辆在连续两帧视频图像采集过程中的运动可视为匀速运动, 对于每一帧道 路图像中检测到的车道线的状态用状态向量 X(k) 表示 :
X(k) = [ρ(k), θ(k), u(k), ω(k)]T
其中表示车辆在状态 k, 即 t 时刻的径向速度,表示车辆在状态 k, 即 t 时刻的角速度。
步骤 2-2 : 定义车道线追踪过程中卡尔曼滤波器的状态方程 ;
因为系统由状态 X(k) 到下一状态 X(k+1) 满足下式 :
设定状态 k 的系统噪声为 : W(k) = [w1(k), w2(k), w3(k), w4(k)]T, 因此卡尔曼滤波 器的状态方程表示为 :
X(k) = AX(k-1)+W(k)
其中
步骤 2-3 : 定义车道线追踪过程的观测方程 ; 由于观测值是实际状态值与噪声影响的结果, 即观测值可表示如下 :因此得到观测方程为 : Z(k) = HX(k)+V(k) 其中测量矩阵 V(k) 为观测噪声、 且 V(k) = [v1(k)v2(k)]T。步骤 2-4 : 定义卡尔曼滤波器迭代更新方程 :
X(k|k) = X(k|k-1)+Kg(k)(Z(k)-HX(k|k-1))
其中 :
Kg(k) = P(k|k-1)HT/(HP(k|k-1)HT+R)
P(k|k) = (I-Kg(k)H)P(k|k-1)
X(k|k) 为卡尔曼滤波器输出的 k 状态的最优化估计值, X(k|k-1) 为利用 k-1 状态 预测出的 k 状态的结果, Kg(k) 是状态 k 下卡尔曼滤波器增益, Z(k) 是状态 k 的观测值, H 是测量矩阵。
步骤 3 : 系统初始化。
步骤 3-1 : 设定状态向量初值 ;
由卡尔曼滤波器基本原理可知, 只要初始状态满足 F[X(0)] = E[X(0|0)], 所得到 的估计值就是无偏的, 因此设定系统初始状态为零向量, 即 T
X(0) =
步骤 3-2 : 设定系统噪声初始值 ;系统噪声 W(k) 为零均值随机过程向量, 并且不同时刻状态下系统噪声是统计独 立的, 其相关矩阵满足下式 :
假定同时刻不同状态噪声间也是统计独立的, 因此矩阵 Q(k) 是对角矩阵。因为系 统噪声由于车辆机动性能引起, 在追踪过程中影响不大, 为了计算方便, 根据经验数据假设 w1(k), w2(k), w3(k), w4(k) 独立同分布, 并且满足 因此设定系统噪声初始值为 :
步骤 3-3 : 设定观测噪声初始值 ; 根据经验数据可知观测噪声比系统噪声影响大, 并且 v1(k), v2(k) 满足独立同分 i = 1, 2, 所以设定观测噪声初始值为 :布, 设定
步骤 3-4 : 设定观测噪声自相关值 ; 为了追踪迅速收敛, 观测噪声自相关值取为 100, 设定初始值如下 :
步骤 4 : 采用 20 组卡尔曼滤波器, 全部采用步骤 3 中设定的初始值, 根据步骤 2-4 定义的卡尔曼滤波器迭代更新方程完成一次卡尔曼滤波器的迭代运算, 输出一组车道线的 最优估计值 (ρi, θi)i = 1, 2, 3, L, 20。
步骤 5 : 对单个滤波器进行使能控制。
步骤 5-1 : 将道路图像中检测到的一条车道线定义为 (ρ, θ), 分别按下式求出 (ρ, θ) 到 (ρi, θi)i = 1, 2, 3, L, 20 的距离 Di
Di = |ρ-ρi|+|θ-θi|*Wimage
其中 Wimage 表示道路图像的像素宽度。
步 骤 5-2 : 求 出 最 小 距 离 Dmin = min(Di), 并且记上一次迭代的距离最小值为 Dmin′。
步骤 5-3 : 每组滤波器对应的使能计数器记为 Ci, 并且满足下式
即当最小距离小于或者等于上一次迭代的最小距离时, 计数值加 1, 反之计数值减1。
步骤 5-4 : 对车道线进行追踪, 设定有效的样本输入数为 25, 即当连续 25 幅道路图 像检测出同一条车道线时, 认为卡尔曼滤波器的最优估计有效, 否则认为正确的样本数不 足, 而不进行追踪。因此将 Ci 通过阀门 [0, 25], 即按下式进行处理 Ci :
步骤 5-5 : 得到每个滤波器的使能 Ei 表示如下 :步骤 6 : 将卡尔曼滤波器输出的最优估计值作为检测结果。
将滤波器组的使能位 Ei = 1 的最优估计值作为检测结果代替检测值, 可以使得车 道偏离预警系统中车道线的检测结果更加稳定, 从而极大降低因车身抖动、 光照变化、 路面 破损等原因引起的车道线检测不准或者漏检。
本发明的创新之处在于 :
1、 对车道线的追踪采用了滤波器组的概念, 根据设定的滤波器的个数, 可以同时 追踪相应的车道线数, 相对单一对车道线感兴趣区域的追踪, 极大的提高了车道线检测的 精度以及抗干扰能力。
2、 加入了滤波器组中单个滤波器的使能位控制, 没有检测出的车道线所对应的滤 波器因此处于不工作状态, 大大提升了追踪算法的运算速度。
附图说明 图 1 为本发明流程示意图。
图 2 为滤波器组输出值与检测值匹配次数计数 ( 通过 [0, 25] 阀门后的 Ci) 图, 通 过 (a), (b), (c) 的 Ci 值可知此时道路图像中检测出两条车道线。
图 3 为测试视频内 t = 30s 内 ρ 检测值、 最优估计值、 预测值曲线图。
具体实施方式
本发明采用以上步骤, 利用 Matlab R2009(a) 中的 Video And Image Tool Box, 实 现了整个算法。 在某高速段选取一段道路图像做测试, 采用了卡尔曼滤波器组进行追踪, 车 道线检测正确率提高 60%, 每幅道路图像平均追踪时间只耗费 0.08s, 取得了非常理想的 检测结果。 需要说明的是 : 下列参数并不影响本专利的一般性。
1、 滤波器组中滤波器的个数, 表明可同时追踪最多车道线的条数, 本算法设定为 20, 但可根据实际情况进行增减。
2、 卡尔曼滤波器使能判断, 样本有效计数值表明输出最优估计值对样本连续有效 性的基本要求, 本算法取值为 25, 但可根据实际需要进行增减。