基于OpenCV的AEB系统车辆检测和预警研究
2018-07-02杨俊华YangJunhua
杨俊华Yang Junhua
(重庆车辆检测研究院 国家客车质量监督检验中心,重庆 401122)
0 引 言
目前,国内外学者对前方车辆检测研究较为深入,Charkari[1]利用阴影区域的特征检测得出车辆底部类似矩阵阴影区域比路面亮度数值低,虽然此方法的检测速度较快,但是容易受到路面因素的影响。Aarthi[2]采用贝叶斯分类器,通过结合角点算法有效解决了样本干扰问题,在一定程度上提高了车辆识别检测的效率,这一方法虽然识别效果好,但耗时较长。我国学者王海[3]等提出两步法对车辆进行检测,检测率高但实时性较低。关于车辆检测预警的研究主要从时间与距离进行判断,孙晓艳[4]在考量目标车辆横向距离后提出了车辆碰撞时间(Time to Collision,TTC)前撞预警算法,但这一算法容易受到相对速度的影响。在综合国内外最新研究的基础上,提出了基于Open CV的 AEB系统的车辆防撞算法,并利用Haar-like+Adaboost分类器与粒子滤波原理实现车辆跟踪,然后基于车辆测距几何模型对车辆防撞预警进行测试,测试结果表明即碰时间的TTC算法性能最佳,有效提升对前方车辆检测预警的精确率。
1 前方车辆检测
1.1 车辆检测流程
1.1.1 分类器训练过程
车辆的正、负样本分别为512张和4 500张。利用 Open CV提供的基于 Haar-like特征的Adaboost训练器,对样本进行特征分类训练[5]。
基于Open CV的分类器训练主要有2个步骤:
1)准备正、负样本文件。采用MIT-CBCL项目作为车辆样本图像库。
2)利用Create Samples建立正样本,统一将createsamples.cpp制作文件转化为vec文件,然后设定统一的分辨率。训练时间与样本的数量有关,当样本图片满足上限需求时,样本训练耗时较短,样本训练过程如图1所示[6]。
1.1.2 车辆检测过程
通过训练得到的级联分类器进行视频图像检测,并判断图像中车的位置、大小。如下为车辆检测的2种重要方式[7]。
(1)等比例缩小图像;
(2)等比例放大分类器检测窗口。
车辆预警防撞对实时性要求较高,因此,为了提高检测性能,采用等比例放大分类器检测窗口的方法。
1.2 基于粒子滤波的车辆跟踪
若将车辆检测视为动态随机系统,则目标车辆位置、大小就是随机系统状态,对随机系统状态X的估计就是跟踪目的[8]。测量值Y对应具体的图像信息,通过巴氏距离对目标颜色进行比较,实现跟踪。分别计算各个粒子与目标的巴氏距离系数,从而获得各个粒子的权重[9]。
图1 Haar特征训练流程图
2 车辆防撞预警算法
2.1 基于单目视觉的距离测量
计算机视觉在三维信息方面的应用通常有单目、双目和多目3种方式。选择具有显著性优势的单目视觉对车辆、车道进行检测[10]。
2.1.1视觉的测距模型
(1)基于小孔成像原理的成像模型。
当物体在视网膜中的成像大小、距离比值保持不变时,遵循欧几里得定律。
式中,S为成像物体大小,为物体到视网膜的距离;s为视网膜物体成像大小。基于小孔成像原理,通过成像物体实际大小推算出物体的实际距离D。
物体实际距离计算式为
式中,h为像的高度;f为焦距;H为成像物体的高度;D为待测量距离。
(2)基于单帧静态图像的测距模型。
以水平放置的摄像机为轴心,利用摄像机三维投影形成的二维图像,依据小孔成像原理测算物体到摄像机的距离。
式中,f为摄像机的有效焦距;h为摄像机的安装高度;y为路面上的物体在图像中的坐标点;y0为图像平面的原点坐标。
(3)基于序列图像的测距模型。利用前后图像透视原理测距。
将4个方程联立得到式(5)
由于H远大于h2,则h2+H≈H,因此式(5)简化整理得
式中,d1为实际测量距离;z1为物体实际像距;f为摄像机的有效焦距;d2为物体成像像距离;z2为物体成像像距;h1为像的实际高度;h2为像的高度;H为成像物体的高度。
2.1.2 前方车辆距离测量
针对车辆大小差异,基于小孔成像模型和序列图像测距模型无法获得车辆的实际尺寸,因此,采用基于车辆测距几何模型对前方车辆距离进行测量。
图2 车辆测距几何模型
式中,D为前方车辆距离;u为待测目标水平方向像素点坐标;u0为摄像机标定得到的水平方向主点坐标;h为摄像机的安装高度;δ为摄像机的俯仰角度。
2.2 报警算法
2.2.1 安全距离的确定
基于OpenCV的AEB系统车辆检测和预警主要通过检测车辆前方障碍物,判断车辆的安全距离并预警[11]。
从驾驶员发现障碍物到刹车停止分为 4个阶段:第1阶段从驾驶员发现障碍物到采取行动反应的时间;第2阶段为驾驶员踩刹车制动的时间;第3阶段为车辆制动持续的时间;第4阶段为驾驶员放松制动踏板解除制动的时间。根据本次车辆检测预警的特点,只需要考虑前3个阶段。
计算整个制动过程中车辆的行驶距离,需要对每一阶段的行驶距离进行计算。假设驾驶员发现前方障碍物时的初速度为v0,汽车制动产生的最大减速度为amax。
(1)驾驶员反应时间及制动器作用时间的确定。
驾驶员发现障碍物后迅速做出反应能极大提高行车安全性。在实际行驶过程中,除了驾驶员的身体素质、心理素质对行车安全性具有显著的影响外,还有汽车行驶速度的影响,当汽车行驶速度过大时,增加了驾驶员获取路面信息的难度与心理负担。根据相关研究,汽车行驶速度为40 km/h时,驾驶员的反应时间为0.6 s,行驶速度为80 km/h时,反应时间为1.0 s。在此将驾驶员的反应时间t1取为 0.9s,消除间隙为0.3 s,制动力增长阶段时间为0.5 s。
(2)汽车最大制动减速度的确定。
汽车制动减速度与车辆制动器的制动力、轮胎材料、路面条件等有关,为了简化检测难度,重点考虑汽车制动减速度对安全距离的影响。道路路面以及道路材料与汽车制动减速度密切相关,干燥水泥路面、潮湿水泥路面和积雪路面与制动减速度的关系见表1。
表1 路面条件与附着系数及制动减速度关系
为了提高可靠性和行车安全性,在计算安全距离时,取制动减速度值为7 m/s2。
(3)停车安全距离的确定。
为了提高车辆安全性,将5 m作为停车安全距离。当汽车安全停止后与障碍物保持的一定距离就是停车安全距离。通常停车安全距离设定为2~5 m,为提高车辆检测报警的时效性,选择5 m作为停车安全距离。基于OpenCV的AEB系统能识别障碍物,并通过判断车辆前方的距离实现报警。
2.2.2 碰撞时间预测
计算得出车辆前方与车辆行驶的安全距离,汽车是否会有发生碰撞的危险取决于车辆距离与速度。
车辆避撞模型主要有Mazda模型、Honda模型、Berkeley模型、Seungwuk Moon 模型和TTC模型。
Mazda模型危险距离制动公式为
式中,v为己车速;vrel为相对车速;a1、a2分别为己车与前车最大减速度;t1、t2分别为驾驶员反应时间与制动器延迟时间;d0为最小停车距离;dbr为危险制动距离。
Honda模型危险距离制动公式为
式中,v为己车速;v2为前车车速;a1、a2分别为己车与前车的最大减速度;t1、t2分别为系统延迟时间和制动时间。
Berkeley 模型碰撞预警公式为式中,t1、t2分别为驾驶员反应时间和制动系统延迟时间。
Seungwuk Moon模型碰撞预警公式为
式中,Tdelay、f(μ)、amax分别为系统延迟时间、制动因数和最大制动减速度。
TTC模型碰撞预警公式为
式中,dbr为制动距离;D为两车相对距离;d0为安全停车距离。
针对碰撞时间预测,采用即碰时间TTC模型来估计驾驶员与前方车辆碰撞时间,帮助驾驶员及时做出反应,避免追尾事故发生。
3 基于AEB系统车辆防撞预警测试
3.1 AEB仿真测试场景构建
为了测试基于 OpenCV的车辆检测和预警算法的性能, AEB系统仿真测试场景主要由显示器、主机、罗技转向盘、前风挡玻璃和座椅构成驾驶辅助系统(Advance Driving Assistance System,ADAS)仿真平台,如图3所示。
图3 ADAS 仿真平台
在一条825 m直线道路上建立车辆紧急制动(Autonomous Emergency Braking,AEB)仿真场景,使用PreScan独立传感器。传感器1设定的最大探测距离为150 m,俯仰角为9°,水平角为10°;传感器2设定的最大探测距离为30 m,俯仰角与传感器1相同,水平角为80°。
测试工况选择欧洲新车评价规程中前车静止、前车急刹2种不同的工况。
CCRs(Car to Car Rear stationary,前车静止工况):以10 km/h的梯度逐渐递增为80 km/h。前车为Euro-NCAP车辆目标模型,并保持静止。
CCRb(Car to Car Rear braking,前车减速工况):以50 km/h车速,Euro-NCAP车辆目标模型相距本车为12 m和40m,并以6 m/s2和2 m/s2的减速度急减速。
2种工况仿真测试场景如图4所示。
图4 AEB仿真测试场景
3.2 仿真测试结果
利用PreScan、Simulink 软件得出测试结果,汽车行驶车速为10~80 km/h时,Honda、Mazda、Seungwuk Moon模型都能实现车辆避撞。在车速为70 km/h时,TTC模型与Berkeley模型不能避免碰撞,因此,需要调整模型的时间阀值。
将TTC模型中预警时间、部分制动时间、全力制动时间阀值设为2.9 s、1.9 s、0.9 s后能成功避免碰撞。调整后各模型仿真算法如图5所示。
图5 各算法仿真结果
由图 5可知,在不同工况下,自动制动结束时,TTC避撞算法的相对车距最为集中,并且所需输入参数少,只需要相对车速vrel与相对车距D,而且避撞公式简单,方便调整即碰时间阀值,可以适应不同车型的避撞算法开发。
4 结 论
基于OpenCV的AEB系统车辆检测和预警算法,利用Haar-like+Adaboost实现前方车辆的识别与检测,根据粒子滤波原理建立车辆跟踪模型。然后基于单目视觉模型对前方车辆距离进行测量,根据障碍物与车辆的安全距离预测碰撞时间,有效提升前方车辆检测预警的精确率。基于AEB系统的测试仿真结果表明,在不干扰驾驶员正常驾驶的前提下,即碰时间的TTC算法的纵向避撞性能最优。
[1]Charkari N M,Mori H. New Approach for Real Time Moving Vehicle Detection [C]//Proceedings of 1993 International Conference on Intelligent Robots and Systems, 1993:273-278.
[2]Aarthi R,Padmavathi S,Amudha J. Vehicle Detection in Static Images Using Color and Corner Map[C]//Proceedings of International Conference on Recent Trends in Information,Telecommunication and Computing. IEEE Computer Society,2010:244-246.
[3]Wang Hai,Zhang Weigong,Cai Yingfeng. Design of a Road Detection System Based on Monocular Vision[J]. 东南大学学报(英文版),2011,27(2):169-173.
[4]孙晓艳. 基于单目视觉的夜晚汽车前撞预警系统研究:[D].西安:西安工业大学,2013.
[5]谢文华. 基于OpenCV的视频监控系统设计与实现[D]. 厦门:厦门大学,2016.
[6]薛璐晨. 基于 OpenCV的行人异常检测系统的设计与实现[D].长春:吉林大学,2016.
[7]刘从军,杨辉,史杰,等. 基于OpenCV的运动目标监控系统设计[J]. 信息技术,2014(5):82-85.
[8]王传钦,曹江涛,姬晓飞. 基于视频分析技术的车距测量及预警系统设计[J]. 计算机技术与发展,2016,26(9):87-90.
[9]Oliver J. /var/log/sysblog[J].
[10]张楚金. 智能车的前方车辆检测和预警算法研究[D]. 长沙:湖南大学,2015.
[11]赵炯. 基于 VC++的车前障碍物识别预警系统设计[D]. 西安:长安大学,2015.