42

追尾事故降发生:超低功耗滴滴桔视ADAS落地实践

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzU1ODEzNjI2NA%3D%3D&%3Bmid=2247516377&%3Bidx=1&%3Bsn=e16d78df062320e9881e1db95f7d47bd
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

RbqQBvZ.png!mobile

桔妹导读: 道路交通事故每年都给人类带来巨大的生命和财产损失。滴滴作为交通领域的深度参与者,不断地探索降低交通事故的方法。本文重点介绍车载视觉团队是如何在滴滴的场景下,在桔视设备上,使用超低功耗的桔视ADAS(高级辅助驾驶系统)技术,降低交通事故发生率,守护司乘安全。

1. 

前言

道路交通事故是一种世界性的公害,每年都给人类带来巨大的生命和财产的损失。 滴滴作为交通领域的深度参与者,不断地探索降低交通事故的方法。

近些年ADAS(高级辅助驾驶系统)逐渐进入大众的视野,在前装汽车中的渗透率也在不断提高。但对于滴滴司机驾驶的私家车来说,ADAS覆盖率仍然非常低,只能依赖后装的ADAS系统。

vuueqqM.png!mobile

相信很多人在乘坐滴滴的时候,见过前挡玻璃上的桔视行车记录仪,偶尔也能听到“注意前车”,“请保持车距”,”前车刹车“等语音提醒。在此款设备上,我们研发了后装ADAS系统。该系统支持前向碰撞预警(FCW),跟车过近提醒(HMW),前车刹车提醒(BLW),前车起步提醒等功能。

本文将阐述,我们是如何在滴滴场景下,在桔视设备上,使用超低功耗的桔视ADAS(高级辅助驾驶系统)技术,降低交通事故发生率,守护司乘安全。

zqiaUvb.png!mobile

2. 

应用背景

对历史交通事故的分析表明,同责及以上事故中,追尾事故占比60%,远高于其他事故类型,而追尾事故中又有80%是由于跟车过近所引起的,可见司机的驾驶习惯和交通事故有较强的关联性。驾驶过程中无意识的跟车过近,常常会导致驾驶员在前方突发紧急情况时无法及时作出反应,从而引发追尾事故。

国内外分析数据表明,ADAS是避免交通事故的一种有效手段。安盛的分析报告表明,只要1.5s的事前提醒,就能够避免90%的事故[1]。美国IIHS机构数据表明,FCW功能能够减少69%未刹车追尾[2];

桔视ADAS融合前置摄像头、后置摄像头、IMU、GPS等多种传感器,联动设备端上DMS、碰撞检测、驾驶行为检测等多种算法,识别隐患场景,以实时提醒的方式,干预司机驾驶行为,培养司机良好的驾驶习惯,从而降低追尾事故率。

67NFJ3z.png!mobile

3. 

桔视ADAS落地后的效果

依靠桔视强大的AIoT平台、近百万量级的设备在线量,我们能够通过设备端的边缘计算,云端大数据分析,司机乘客主动反馈等渠道,主动或被动地获取交通事故数据。通过GPS,IMU,前后摄(订单内)的数据,我们能够完整的还原交通事故的整个过程。也能够客观,公正,精确地评估ADAS运行效果。

桔视ADAS上线后,进行了为期一个月的AB实验。数十万台设备,数亿公里的行驶里程,最终证明:

  1. 亿公里追尾事故率能够显著降低11.4%,整体事故率降低9.1%

  2. 尤其是在高峰期,亿公里追尾事故率显著降低16.7%

ArA3Mb6.png!mobile

4. 

桔视ADAS解决方案

现存的ADAS解决方案,往往需要超大的算力支持,使用GPU/NPU等专用加速芯片,支撑T级别算力要求。但出于成本、单次长时间运行的功耗与稳定性等方面的考虑,桔视还无法满足此类算力的需求。

桔视行车记录仪,使用MTK8665芯片处理器,四核ARM Cortex-A53,最高可达1.5GHz。虽然桔视体积小,但内部运行着众多业务逻辑,只能预留给ADAS 5%的算力。为了能在如此苛刻条件下运行ADAS系统,我们提出了超低功耗ADAS解决方案。

整体方案如下所示:

FNRzY37.png!mobile

ADAS算法在桔视设备的落地应用过程中面临许多挑战:

  • 桔视算力有限而算法众多,如何实现超低功耗的实时目标检测?

  • 轻量级模型误差大,抖动剧烈,如何提升目标检测框稳定性?

  • 桔视设备安装角度各异,如何进行灭点标定?

  • 报警时间与事故率紧密相关,如何提升报警及时性?

  • 实际驾驶中复杂场景众多,如何挖掘长尾难样本?

4.1 超低功耗前车检测 

随着深度学习领域的火热发展,在图像目标检测领域,已经出现多款可落地的检测框架。以下视频是使用云端大模型TridentNet[3] (ResNet-101),在桔视录制的前摄视频中可视化的前车检测结果。在Nvidia K80 GPU上,单帧耗时数百毫秒。

如此庞大的模型,无论是在云端还是边端,都无法满足ADAS实时性要求。

为了提高实时性,出现了一些轻量级的检测框架,比如目前比较流行的轻量级Backbone结合单阶段检测框架YOLO [4]、SSD [5] 等。

下图是云端模型的渲染效果。其中红色框为云端大模型TridentNet的检测结果,蓝色框为云端轻量级ShullfenetV2 + SSD[6]的检测结果,绿色是我们的方案。从图中,我们可以明显看出,红色TridentNet检测结果不论是从目标框的稳定性上,或者是从左侧波形的抖动程度上,还是从右侧目标中点的离散程度上,都要远优于绿色小模型的检测结果。

yaymaqn.gif!mobile

从检测效果看,与云端大模型相比,小模型的检测稳定性差了很多,这对整体报警策略带来巨大的挑战。

业界通用的多目标检测+多目标跟踪+车道线检测的方案,并不适用于桔视的低功耗边缘计算场景。于是我们将问题简化为单一前车检测问题,结合现有条件及ADAS特性,提出了自己的单目标检测框架:ZoomNet。ZoomNet包括前车检测模型和基于时序融合的模型调度策略ZoomTracker。

jqeI3qu.png!mobile

在将问题简化为单一前车检测后,我们提出了基于anchor回归的模型。前车回归模型包含分类和回归两个分支,分类分支输出前车有无,回归分支估计前车位置。在回归分支之中,我们将回归坐标转化为回归基于anchor的偏移量。

以下图中,960x960的crop区域为例,我们每隔120像素设置了一个anchor,一共8个anchor,也就是下图中的0到840。我们并不直接回归y2,而是回归y2相对于这8个anchor的偏移量delta,即

RFri22U.png!mobile

在模型推理阶段,回归分支会预测出相对于每一个anchor的偏移量delta,以模型融合的思想,将所有anchor和delta回归分支求和取平均,即可得到y2。

6jEbAnz.png!mobile

anchor设置如下图:

JzaQ3aI.png!mobile

为了进一步提升计算速度,我们又使用滴滴自研的IFX模型加速框架,对我们的超轻量检测模型进行计算优化,最终在4A53上占用小于5%的前提下,实现实时前车检测。

4.2 稳定性

由于轻量级模型的复杂度和性能有限,在单帧图像上的检测结果会存在以下问题: 小目标难以检出、包围盒误差大、目标丢失、目标误检、鲁棒性差(无法适应遮挡、夜间黑暗、反光、逆光、大雾、雨天等复杂场景)。

feQFnez.png!mobile

a) 小目标难以检出      

BruQ3yq.jpg!mobile

b) 包围盒误差大 

QbYRri.png!mobile

c) 目标误检

在单帧图片上模型准确率不高,在时序视频流上的表现会更不尽人意,会出现诸多不稳定情况,如目标丢失闪烁、包围盒抖动剧烈。

上述问题使得目标信息极为不稳定,为后续算法的使用带来极大挑战,且误差不断向后传播,严重影响整体功能的效果。

针对检测模型性能有限,我们提出一种时序信息融合结合模型调度的方式,实现物体检测框的高稳定性,能有限克服目标丢失误检、包围盒抖动等问题,在时序视频流上表现优越。

方案中包含2个深度网络模型和卡尔曼滤波器;

6BZjeqM.png!mobile

首先通过端到端的前车检测模型得出前车大致位置,再通过超轻量级的回归网络得出准确的前车包围盒。在下一时刻,利用历史检测结果对前车目标可能出现位置进行预测,在预测位置上直接进行回归。

通过时序融合的模型调度,在最终效果上克服了小目标、目标丢失误检、包围盒抖动、鲁棒性差的问题,并在时序目标检测稳定性误差上降低了23.3%。

具体示例可见下图,其中绿框为本方案结果,红框为人工标注的Ground Truth,蓝框为没有进行时序融合结果。从图中可以明显看出,绿色结果得结果在目标框稳定性上、左侧波形抖动上、右侧重点离散程度上,均要远优于蓝色。时序信息的引入大大提高了轻量级模型检测结果的稳定性,在效果上逼近云端大模型。

4.3 相机安装位置标定

前车与本车的距离关系是识别隐患场景的重要条件,而线上设备安装角度各异给距离测算带来了很大挑战,那如何对大量已安装的桔视设备进行标定呢?桔视ADAS团队在落地实践中提出了两种方法。

4.3.1 基于深度学习模型回归消失点

业界通用的方法一般是通过车道线/直线检测计算消失点,但我们发现在不使用车道线检测的情况下,也可以用与前车检测相同的anchor回归的方式,使模型学习到消失点。

消失点回归可以实现设备俯仰角的标定,结合前车坐标,可以得到本车与前车的纵向车距。

4.3.2 基于数据统计估计水平灭点

通过深度学习模型可以回归车道线消失点,但难以回归水平灭点,实现偏航角的标定。偏航角误差会导致横向距离计算失准,将同车道前车误判为旁车道车辆。

基于模型检测到的前车与本车大概率处于同一车道的先验条件,我们使用了一种简单有效的方法估计水平灭点,即通过长时间统计模型输出,分桶估计水平灭点,得到参考性的本车直行的朝向。

EN3Mza6.png!mobile

4.4 报警及时性

4.4.1 TTC

TTC(time to collision)碰撞发生时间,是衡量碰撞预警效果的重要指标,计算方式如下:

bUBjemf.png!mobile

即为两车车距/两车相对速度,一般取2.7s,意为在判断出按照当前车距与相对速度,还有2.7秒会与前车发生碰撞时,发出预警。行车记录仪前摄视场角大,远距离目标在画面中小,前车检测模型小且帧率有限,远距离前车检测结果易抖动,导致高速情况下难以对远距离前车进行及时预警。

4.4.2 前车刹车提醒

对高速场景下的事故数据进行分析后,我们发现高速场景下的事故与前车突然刹车,司机反应不及时有很高相关性。一般来说,高速行驶过程中,前车刹车,本车应相应刹车规避危险。

因此,在检测前车的基础之上,我们又提出了刹车灯分类模型以识别前车刹车状态。高速情况下,一旦前车刹车且车距满足一定条件,系统即发出预警信号,提醒司机注意,这也是桔视ADAS特有的预警功能BLW(前车刹车提醒)。BLW可以显著提高高速情况下的报警TTC,提升报警及时性。

4.5  长尾数据挖掘

在桔视AIoT平台上,运行着碰撞检测、驾驶行为检测和DMS等算法,它们可以准确识别碰撞事故、驾驶行为和司机驾驶状态。通过多算法联动,我们在端上直接捕捉高危场景,并主动将数据回流云端。依托桔视近百万量级的安装量,通过驾驶行为检测算法,分析报警后司机驾驶行为,得出报警的转化效果。利用这些自动化的ADAS算法反馈,配合OTA升级方式,我们实现了高频率的迭代优化。

为了覆盖复杂场景的长尾数据,我们还搭建了一条在线难样本挖掘链路。我们利用碰撞事故前的ADAS报警情况挖掘未召回的事故数据,利用ADAS报警后司机反应挖掘虚警数据。更近一步,我们积累了一批ADAS播报干预但没有帮助驾驶员避免交通事故的极难样本,针对性优化报警TTC,提升报警及时性。

bINFnuf.png!mobile

挖掘回流的数据在云端会自动导入标注平台和实验评估系统。在标注平台中,通过深度模型算法预标注+人工,不断扩充数据集。在实验评估系统中,算法捕捉播报后驾驶员的转化行为,结合驾驶员历史行驶数据,自动化评估ADAS在降发生上的影响面、线上准召等多维度指标。

通过这一整套完整的数据链路,我们实现了对长尾复杂场景的覆盖,用数据驱动整套ADAS算法的迭代。

5. 

总结

本文总结了车载视觉团队在桔视ADAS方面工作,分享了桔视ADAS算法的整体架构。未来我们将在以下方面持续探索:

  1. 模型策略的持续优化,覆盖更多长尾复杂场景;

  2. 行人碰撞预警 PCW (Pedestrian Collision Warning);

桔视ADAS将不断提升,全力帮助司机师傅避免交通事故,为司机和乘客的安全保驾护航。

引用:

[1] Board N T S. Special investigation report-highway vehicle and infrastructure-based technology for the prevention of rear-end collisions[J]. NTSB Number SIR-OI/ll, 2001.

[2] Farmer C M. Crash avoidance potential of five vehicle technologies[J]. Insurance Institute for highway safety, 2008.

[3] Li Y, Chen Y, Wang N, et al. Scale-aware trident networks for object detection[C]//Proceedings of the IEEE international conference on computer vision. 2019: 6054-6063.

[4] Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.

[5] Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.

[6] Ma N, Zhang X, Zheng H T, et al. Shufflenet v2: Practical guidelines for efficient cnn architecture design[C]//Proceedings of the European conference on computer vision (ECCV). 2018: 116-131.

本文作者

zYnq6je.png!mobile

AJrY3un.png!mobile

团队招聘

滴滴智能中台集结了中台产品技术、AI能力和体验平台技术,致力于为集团各业务线提供行业领先的专业服务,当前已沉淀了账号、支付、计价、触达、IOT、体验等核心中台能力;AI技术已深入应用于安全、智能运营、智能客服、智能驾驶等场景;持续通过搭建客服及体验平台等技术手段,提升用户体验问题的解决效率。 能中台是一支专 业、多元、高效、务实的团队,坚持用技术赋能出行领域,力争成为业内多 快好省的中台标杆。

滴滴车载视觉团队基于桔视近百万设备量和PB量级行驶数据,在交通安全和人身安全落地多款AI算法,包括桔视ADAS、车内安全、视频理解等。利用AI算法,不断努力让司机和乘客逐渐感受到滴滴的安全。

团队长期招聘视觉算法工程师、安卓开发实习生, 欢迎有兴趣的小伙伴加入,可投递简历至 [email protected],邮件请邮件主题请命名为「姓名-应聘部门-应聘方向」。

E7N36jA.png!mobile

扫码了解更多岗位

延伸阅读

uq6rA3u.png!mobile

aqua6nm.png!mobile

3Ar6Nbm.png!mobile内容编辑 | Charlotte

联系我们 | [email protected]

uaaIZvU.png!mobile


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK