基于机器视觉之汽车行驶道路状况感知技术研究
第一章 绪 论
1.1研究背景与意义
随着经济的发展,汽车因其在社会生活的舒适性与高效性而得到普及,世界范围内汽车保有量也大幅增加。与此同时,也衍生了一系列相关问题。舒适性而带来的城市道路车辆拥堵问题,高效性而带来的汽车行驶中的驾驶安全问题,其中驾驶安全问题是一个尤为突出的问题。据公安部交通管理局数据近年的统计结果如表 1-1 显示,过去 10 年间近 90 万人因车祸丧生。因此交通安全性是人们在享受驾驶舒适便捷高效性过程中的一个严重威胁。根据 2004 年道路交通事故[1]数据表明,在交通事故中发生率最大的是机动车之间的碰撞,约占 77.3%,其中高速公路每万公里死亡 1823 人,远远高于二三级公路每万公里死亡水平。从高速公路事故的原因来看,主要由未保持安全车距与行驶过程中驾驶轨迹偏离造成。针对这个持久的安全问题,早在 1994 年首届智能交通系统 ITS 会议上,提出了智能交通系统的概念,即用高新科技,如信息化等手段研究一种智能化信息化的新型交通系统。随后在未来的 20 年中智能交通系统发展迅速,并在车辆 GPS 导航系统与车辆辅助驾驶系统中得到了应用。其中车辆辅助驾驶系统中前方路面状况的分析,即道路状况感知技术,正是为了解决车辆行驶中的前方车辆预警与行驶过程中驾驶轨迹偏离问题。
.
1.2国内外研究现状
在过去 20 年时间里,国内外都在开展智能车辆方面的研究。目前主要的道路状况感知技术的算法有用于道路上车辆检测的多传感器检测算法,非特征学习类图像检测算法,特征学习类图像检测算法,以及用于路面检测的车道线检测与偏离警告算法。在多传感器检测方向,美国的卡耐基梅隆大学(CMU)研究所的 NavLab 系列车辆[2]以及美国军方的 DEMO 智能车辆是多传感器检测识别的最初代表。中国军方也在此领域做出了快速发展,以国防科技大学贺汉根教授带领的无人车为代表。目前此方向上国际上的杰出代表当属美国 Google 公司的无人驾驶汽车,并已经行驶超过 30 万公里。其中谷歌无人驾驶汽车通过摄像机、激光测距仪和雷达传感器来看到;其他车辆,并使用手动驾驶获得详细的地图来进行导航。但由于众多传感器的成本以及与车辆本身电子系统的融合成本,该辅助驾驶技术还存在推广瓶颈。在车辆辅助驾驶领域,采用非特征学习类的图像检测算法往往用于识别车道线以及部分非恶劣环境下的车辆检测。西安交通大学研制的智能车辆检测试验系统采用双目 CCD 摄像机实现了车辆的定位与测距。重庆大学研究的基于单目视觉的智能辅助驾驶系统,在车道偏离预警方面做出了不错的表现。非特征学习类图像检测算法主要利用车辆的水平或垂直边缘、底部阴影、车体颜色、对称性、车辆尾部拐角、车灯等信息来检测车辆,利用车道线的直线特性以及灰度边缘来检测车道线以判断车道偏离。其中 Charari 等[3]的研究显示车辆底部往往拥有类矩形阴影,通过灰度差异计算可用于检测车辆,通过大量数据的验证,是一种较准确的车辆检测方法。一系列的非特征学习图像检测算法具有检测速度快且硬件易实现的优点,但是在背景复杂,天气状况不佳的情况下算法检测效果会下降很多。
.
第二章 课题相关理论与技术路线
2.1 机器视觉
机器视觉是指利用机器代替人眼来获取目标的信息,对目标通过计算机等运算系统做进一步处理,并将得到的处理结果用于对目标判断与测量。机器视觉也就是通过外部设备获得信息并进一步处理以得到有用可理解的信息的系统,这里的信息就是指香农信息论中的信息,也就是外部获得的图像信息和经过处理分析得到的信息。这些信息通过计算机等运算系统的处理,会提取出更多有意义的内容,而这些内容就是我们对目标判断与测量的基础。可以说机器视觉就是获取信息,对信息进行感知的科学。机器视觉与图像处理、图像分析、计算机视觉均是相近学科,并彼此紧密联系。这些相近学科由信号处理、机器学习、物理学、人工智能等科学为基础而衍生出来的。其中图象处理、图像分析的研究对象主要是二维图像,研究内容主要是图像的转化,往往针对图像像素上的操作,如图像色域的变换、图像边缘的提取、去噪声、几何变换、图像的分割等,这些操作一般是无需理解图像的内容。而计算机视觉、机器视觉主要是针对图像内容的理解,如图像中目标的检测识别、图像中目标行为的理解等,属于图像处理与分析基础上发展起来的学科。
2.2 图像预处理
图像预处理是将摄像头采集的数据通过处理作为后续处理与识别的输入信息的过程。预处理会直接影响后续过程的效果,一个好的预处理能够使后续的过程得以按照算法而执行,而不会因为一些错误的信息而使算法无法有效执行甚至失效。所以图像预处理是机器视觉的一个重要过程。在本文中,用于检测的道路状况由车载彩色摄像设备采集,为了后面模块的快速与准确处理,需要采用图像灰度化、图像降噪、图像分割、图像边缘提取等方法进行预处理。将摄像头采集的图像用于后续处理时,由于采集到的是 RGB 彩色图像,而图像中彩色信息对后续的处理与识别作用不大,而运算量会大了很多,无法实现实时的处理分析图像。对于彩色图像,采用 RGB 模型进行描述,表示每个像素对应的颜色由 R、G、B 三个分量决定,不同的 R、G、B 值所表示的颜色不同,对于三个分量每个分量有 0-255 共 255 个等级可取,这样就使得一个颜色像素点可以有 1600 多万(255*255*255)个颜色等级的变化。而灰度图像是 R、G、B 三个分量按照一定的比例叠加在一个分量上构成的特殊的彩色图像,其一个像素点只有一个分量,即变化范围为 0-255 级。故本文中的车道线检测、车辆检测都是对灰度图像的计算而得到的。本文中图像预处理的第一步就是图像灰度化,从而直接减少了后续预处理与模块中的运算量。其中图像灰度化的方法针对不同的分量权值分为平均值法灰度化和加权平均法灰度化。
.
第三章 基于随机霍夫变换的车道线检测算法........18
3.1 车道线检测算法流程 .... 18
3.2 截取道路 ROI...... 18
3.3 约束条件下的车道线检测 ...... 18
3.3.1 随机霍夫变换 ...... 19
3.3.2 区域与角度约束下的随机霍夫变换 ..... 20
3.4 本章小结 ........ 22
第四章 基于机器学习的车辆检测.......23
4.1 车辆特征概述...... 23
4.2 机器学习算法概述 ........ 24
4.3 基于 Haar-lie 和 AdaBoost 的车辆假设产生....... 26
4.3.1 Haar-lie 特征提取 ........ 27
4.3.2 AdaBoost 法训练 Haar-lie 特征 ....... 33
4.4 基于 HOG 和 SVM 的车辆假设验证..... 38
4.5 本章小结 ........ 47
第五章 算法实现与评估........48
5.1 算法平台 ........ 48
5.2 算法模块与实现流程 .... 48
5.3 算法的分类器训练实现 ..... 51
5.4 算法准确性与实时性评估 ...... 55
5.5 本章小结 ........ 58
第五章 算法实现与评估
5.1 算法平台
本文的实现平台的软件环境为 Windows 7 操作系统, Visual Studio2021 和 IntelOpenCV 视觉开发处理库。其中 OpenCV 是计算机视觉领域的开源函数库,包含图像处理、机器学习相关的函数,方便高效地应用在图像处理、计算机视觉、视频编解码相关的算法的研究与实际应用上。经过 Intel 团队的维护与优化,在提高算法稳定性的前提下使开发周期大大缩短。同时OpenCV库在多个平台上均可使用,如Linux、MacOS、Android 等。本文所使用的 OpenCV 为 OpenCV 2.4.3 版本。同时本文在图像样本的采集过程中用到了 Matlab2021b 软件用于样本的截取与大小的转换,ACDSee 软件用于图像的对称变换。如上图所示,本系统主要由五个模块构成,包括图像输入与预处理、车道线检测、基于 AdaBoost 的车辆假设产生、基于 SVM 的车辆假设验证、反馈判决信息模块。1、图像输入源为含有车辆的视频,经过视频帧提取、图像灰度化、图像降噪技术、图像分割等预处理技术转化,由输入与预处理模块到达车道线检测模块。
结论
长期以来汽车保有量的持续增加,也带来了汽车行驶中的安全问题,正是这个原因也就使得汽车辅助驾驶系统的需求越来越紧迫。本文所研究的基于机器视觉的汽车行驶道路状况感知技术是辅助驾驶系统的重要组成部分,主要针对行驶中的安全问题很大原因与驾驶员未注意前方车辆与行驶轨迹不规范造成。本文利用摄像头采集到的图像进行车辆检测与车道线检测的方法作为道路状况感知技术的关键部分来向辅助驾驶系统反馈辅助信息。车道线检测与车辆检测作为本文所研究技术的关键部分,本文在以上两个部分均做了详细而深入的研究。本文的主要工作与研究成果包括:
1. 在进行车道线检测与车辆检测之前,首先需要对摄像头获得的图像进行预处理,主要包括图像灰度化、图像降噪、图像分割。本文采用高斯降噪的方法以降低由于摄像头电子部件与车辆震动带来的噪声,以减少噪声对后续处理模块的影响。采用 Roberts 算子、Canny 算子结合大津法的二值化处理分别进行车道线与车辆的边缘提取。
2. 车道线检测部分,首先对图像进行 ROI 截取,截取图像的下部以减少天空等背景与车辆遮挡所带来的影响。然后采用随机霍夫变换的方法,在区域与角度约束的条件下,用直线模型对车道线进行拟合,最终得到车道线的位置信息。
3. 车辆检测部分,采用基于机器学习的车辆检测方法,本文中采用假设产生于假设验证的两步策略检测。首先采用基于 AdaBoost 与 Haar-lie 特征的假设产生方法,大量减少了车辆检测的范围,同时级联 AdaBoost 的对非车辆的快速排除与Haar-lie 积分图快速计算法也大大降低了假设产生的时间。然后采用基于 SVM 与HOG 特征的假设验证方法,对上一级中的假设区域进行验证,从而降低了假设产生部分的误检率。
........
参考文献(略)