基于视频分析技术的车距测量及预警系统设计
王传钦1,曹江涛1,姬晓飞2
【摘 要】车距测量及预警是汽车主动安全技术中的一个重要组成部分,而基于视觉的车距测量及预警系统一直是智能车系统和辅助安全系统中研究的热点。为了提高车距测量的精确度和实时性,以Visual C++6.0集成开发环境和OpenCV开源计算机视觉库为实验平台,设计并实现了一种基于视频分析技术的车距测量及预警系统。该系统具有车辆检测、车辆跟踪、距离测量及预警等功能。以Haar-like特征作为图像描述,结合Adaboost算法训练分类器实现道路中车辆的检测;采用CamShift和Kalman相结合的方法实现目标车辆的跟踪及预测;提出一种基于RBF神经网络的车距测量及预测方法。实验结果表明,该系统能较准确地实现1~15 m范围内的车辆检测及车距测量,且具有良好的实时性。
【期刊名称】计算机技术与发展 【年(卷),期】2016(026)009 【总页数】4
【关键词】车辆检测;Haar-like特征;Adaboost算法;跟踪;RBF神经网络
0 引言
绝大多数的交通事故都是因为驾驶员注意力不集中,在危险来临时不能及时采取相应的措施,从而导致惨剧的发生。如果驾驶员能够实时地得到与前方车辆的距离,当距离小于安全距离时得到语音提示,这样就能及时地提醒驾驶员,从而避免很多交通事故的发生。因此,车距预警系统得到了越来越广泛的应用[1-2]。文献[3]提出的超声波车距预警系统,优点是原理简单、成本低,
解决了障碍物的二维定位问题,但可测量的范围比较小,对于高速行驶的车辆很难起到预警的作用。随着计算机视觉技术的不断发展,它在智能交通系统中的作用不断完善,把计算机视觉技术应用在预警系统和防碰撞系统中,对智能交通系统性能的提高起到了极其重要的作用[4]。文献[5]中提出在DM642平台上,采用双目测距的方法实现的车距预警系统,能够较为准确地实现车辆检测识别和测距功能,但是计算量大,实时性差,需要特殊硬件的支持。 基于视频分析技术的车距测量系统的核心为车辆检测算法。目前常用的方法大致可归结为三类:基于运动的方法、基于知识的方法和基于外形的方法。文献[6]提出的光流法,优点是光流场携带了有关物体运动和景物三维结构的丰富信息,但该方法处理速度较慢,不能满足实时处理的要求,且抗噪性能差;文献[7]提出的帧差法是以背景固定不变为前提的,而文献[8]提出的背景消减法对光照的变化和阴影的干扰非常敏感,对于不断变换的复杂背景情况,这两种方法就不适用了;文献[9]提出的基于知识的方法,在障碍物数量较少的情况下检测效率较高,但复杂环境下的错误识别率有所增加。
从应用的角度来讲,预警系统要具有良好的实时性,测量的距离要足够远,要满足安全距离的要求。文中采用一种基于Haar特征和Adaboost分类器的车辆检测算法[10],并利用CamShift和Kalman相结合的方法实现目标车辆的跟踪,具有识别性能好、误识率低、实时性好等优点,能够满足系统的设计需求。同时,文中提出了基于RBF神经网络算法的车距测量及预测方法,当车距小于设定值时进行警报,应用前景较好。
1 系统概述
该系统选用索尼HDR-XR550E摄像机拍摄实际道路上车辆,以Visual
C++6.0和OpenCV为实验平台进行实验验证。系统主要包括车辆检测、车辆跟踪和车距测量及预警3个基本部分。采用基于Haar-like特征[11-13]的 Adaboost分类器进行车辆检测;利用CamShift和Kalman相结合的方法实现目标车辆跟踪;采用RBF神经网络算法进行车距测量和预测,并设定报警最小阈值,当测量距离小于设定值时进行报警提示以实现预警功能。系统结构框图如图1所示。
2 系统的功能模块设计及实现
2.1 车辆检测模块
图2所示的车辆检测流程包括三个部分:通过摄像机采集视频图像,并对图像进行灰度化、滤波等预处理,以降低光照环境变化对特征提取带来的不利影响;根据多尺度扫描机制扫描图像获取子窗口;把子窗口作为分类器的输入进行检测,若检测结果为车辆,则保留,否则舍弃,直至遍历完整张待识别图像,并将检测区域进行合并处理,最终得到目标车辆区域。这里使用的分类器为基于Haar-like特征的Adaboost分类器,该分类器以含有边缘特征、线特征、中心特征和对角特征四大类15种特征的Haar-like特征为图像描述,根据Adaboost算法针对同一训练集训练不同的弱分类器,然后把这些弱分类器集合起来而构成。检测结果表明,基于分类器的车辆检测算法能够很好地检测出不同路况、不同环境下的多种类型车辆,且具有良好的实时性和较高的准确度。 2.2 车辆跟踪模块
近年来,CamShift跟踪算法因其良好的实时性和鲁棒性得到了广泛应用。该算法在简单背景下具有较好的跟踪效果,然而,当背景中含有大面积相似颜色干扰时,CamShift算法的跟踪效果将不再准确,而且有可能丢失跟踪目标,导致