孙德生
(深圳智者行天下科技有限公司,广东 深圳 518133)
车辆的不断增多造成了交通拥堵以及停车位的不足,汽车在倒车时极易引发碰撞,同时倒车的失误会引发甚多交通事故的发生[1]。行车安全的受重视程度越来越高,倒车影像显示功能在整个汽车电子市场中已经占有了十分重要的比重,人们也越来越需求于便于行车安全的产品[2]。从2018年5月开始,在美国销售的所有新车必须配备后视摄像系统[3]。倒车影像功能是在倒车时将倒车摄像头图形显示到车载终端上,如中控主机、后视镜,司机倒车时通过显示屏幕观察后方动态。倒车时不仅仅要观察车辆后方,司机还可能需要观察左侧、右侧或前方的状况,因此司机的视线可能会离开屏幕,在司机视野离开后方的时候,如果有行人、小孩、电动车或其他车辆进入车辆后方,司机观察不及时容易发生交通事故。虽然车辆可能配备了倒车雷达,但辐射面有限,角度上还有死角,对这种快速横穿进来的物体也不能做到很好地及时提醒预警,因此目前的倒车影像功能对这种突发事件应对还是存在不足,这个功能的作用和体验都需要得到进一步的提高。在一些高端车配置的毫米波雷达,可以快速识别出障碍物但无图像显示,但不清楚具体是什么障碍物,需司机下车确认,若遇雨天则体验感更加不好,测量效率和系统成本优势远高于摄像头[4],基于视觉的ADAS系统市场应用前景广阔[5]。ADAS的市场空间也将随着智能网联汽车的发展保持持续性的增长[6]。
本文提出基于高级驾驶辅助系统(Advanced Driver Assistant System,ADAS)的汽车倒车防碰撞系统,通过实时识别倒车时后视摄像头图像来监控车辆后方可能突然出现的行人、小孩、电单车、其他汽车等,快速给出声音与图文的显示提醒司机,提高驾驶安全性,系统成本较低,便于普及应用。
本文提出倒车防碰撞系统是运行在智能后视镜上,同样适用于中控主机,在倒车影像系统的基础上,增加基于倒车摄像头图像分析的ADAS识别功能,在系统倒车的时候自动运行该ADAS功能,并且通过屏幕显示和声音输出来预警提醒司机采取合适的操作,起到辅助司机安全倒车的作用。
在智能后视镜系统中倒车影像显示处理的硬件原理框图如图1所示。
图1 系统倒车硬件原理框图
高清倒车摄像头Sensor捕捉车辆后面的图像通过串行器转化为AHD模拟高清信号,通过AHD传输线束接入到智能后视镜,先通过解串器将模拟信号解码转换成 MIPI信号,再接入 SOC的 CSI模块,CSI控制器将收到的摄像头数字信号数据交给主控芯片的软件系统再做其他的图像处理,如颜色空间转换、图像翻转、裁剪等,将处理好的视频图像信号通过MIPI信号输出到显示屏幕上。倒车信号的检测是基于GPIO电平触发,倒车检测线接到车辆的刹车信号线或者刹车灯上,有倒车系统将立即收到中断信号再做倒车处理。倒车信号也可来自于汽车的CAN协议。
ADAS的发展将减少驾驶风险,汽车出险率将相应下降[7],有很好的社会意义。本系统的ADAS算法基于AdaBoost迭代算法建造算法模型、训练分类器。倒车时车尾的车辆、行人等往往不能捕捉到全部特征,例如车只能看到侧方、行人是半身或者就是高个子的大长腿,因此需要增加提取局部特征,如根据人体固有的特点将图像划分成头、上身、下身几个部分,构建人体部位特征邻接图,对不同部位特征之间的关系进行建模[8];车辆的局部特征有车轮、侧方车前脸、局部车尾等,单一特征具有建模简单、计算速度快的优点,但检测正确率不稳定[9]。针对倒车场景应用的这些特点,加强融合特征建模训练成丰富的分类器,可提升算法的识别准确率。
ADAS算法引擎工作流程如图2所示。
从倒车摄像头中获取到每一帧图像的YUV数据,然后确定图像的 ROI区域(也就是感兴趣区域),将训练好的分类器对ROI进行复核,实现对目标物体的检测[10]。把图像特征提取出来,在图像每个区域遍历,然后提取每个区域的特征,将这些特征输入训练好的分类器中进行分类,引擎通过比对能够识别出进入车辆后方图像上的行人、小孩、电动车、其他车辆等,通过比对识别,筛选定位标识出物体类型,以及物体在图像上的坐标。遍历筛选多个大小的目标小区域,如24×24、36×36、48×48。多做几种遍历,识别出来的效果更好,但是消耗的CPU也会更多一点。本ADAS系统运行在倒车时,系统占CPU高的任务可以暂时让出CPU,如语音识别,经过完整的ADAS识别后把这些信息通过回调传递给应用来处理[11]。
图2 ADAS引擎工作流程
倒车防碰撞系统在倒车时运行基于倒车摄像头图像ADAS识别算法,把算法识别结果通过系统的声音和图文提醒司机,构成了倒车防碰撞系统。
通过CPU数据处理模块的硬件抽象层获取倒车摄像头图像每一帧的原始数据送给ADAS算法预警诊断模块,通过预警诊断模块识别出行人、车辆、障碍物等物体的类型、坐标等信息,再把识别出来的信息传递到APP应用,APP应用根据信息来制定预警提示的逻辑处理,根据预警级别交给处理人机交互语音模块处理语音提醒功能[11]。防碰撞系统处理框架设计如图3所示。
图3 防碰撞系统处理框架
倒车防碰撞系统的运行效果需要结合产品的实际安装环境和运行环境,才能有更精准的效果、更友善的用户体验。
在汽车后装市场车型众多,有小轿车、SUV、小货车、大货车等各种车型,因此倒车摄像头安装的位置就可能千差万别。例如,有些车(如SUV)高一点,摄像头离地的高度就高一点;有些车矮一些,摄像头离地的高度就矮一点。摄像头离地的高度也会影响后拉摄像头成像的范围与距离感的差异。即使是同一款车,也存在后拉摄像头安装位置的差异(在车辆中间位置、偏左、偏右),以及摄像头安装后的朝向角度一点点的差异都会导致成像的范围和距离感有差异,要获取识别物体的准确距离是非常困难的。
针对这些复杂的场景结合倒车低速的特点,制定了根据成像范围来报警预警的方法。系统将倒车图形分成两部分:预警监测区和预警报警区,系统会默认倒车图像垂直方向的中间水平线为分界线,在预警监测器只做目标物体的跟踪识别,目标物体进入预警报警区将引发系统的声音和图文的预警提醒信息。用户可以调整这个分界线的位置来适配自己车的情况,也可以根据自己的驾驶水平来扩大或缩小预警报警范围。倒车ADAS预警区域划分如图4所示。
图4 ADAS预警区域调整示意图
根据ADAS算法给出的目标物体的成像坐标在预警报警区域内,则发出特别提示音,有确定类型的还可以增加TTS语音播报(如小心行人),及时提醒司机注意后方安全,同时还在显示屏的右侧画出似雷达波的警示图标标识危险物体是在车尾的左后方、正后方、右后方,还是3个方向都有,便于司机注意查看状况。
倒车防碰撞系统运行效果与运行的环境有直接关系,如天晴下雨、白天夜晚、逆光顺光、雨雾等都对摄像头图像效果有直接的影响。本系统采用的摄像头是基于SONY IMX307,针对各种环境场景均作了最佳配置的场测,因此图像画面的质量是有保障的。实际测试的效果图如图 5~图 7所示。
在非常恶劣的自然条件下,如狂风暴雨情况下造成图像模糊,使得基于摄像头图像分析的ADAS算法还是存在技术上的缺陷,融合激光雷达或毫米波雷达等障碍物测距技术将使得驾驶辅助作用更大。
图5 停车场车辆识别效果
图6 车辆及半身行人识别实际效果
图7 全身行人和右侧车轮识别效果
本文详细分析了当前倒车影像系统的不足和雷达的技术缺陷,以及高成本的毫米波雷达难以普及应用的现状,介绍了基于ADAS的汽车倒车防碰撞系统设计。针对系统倒车功能做了深入的原理分析,对基于后视摄像头图像分析的ADAS算法介绍了其技术关键点和基于倒车场景融合特征的创新应用。算法识别效果精准有效,针对车辆摄像头安装位置朝向角度的差异预留了灵活的预警和报警区域的调节,极大地改善了该倒车防碰撞系统的用户体验和实际作用。随着消费者对汽车智能化和安全性需求的逐步提升,ADAS技术正逐渐衍生出完善的主动式安全防预解决方案[12]。