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

1. 

前言

‍‍‍‍

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

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

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

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

2. 

应用背景

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

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

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

3. 

桔视ADAS落地后的效果

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

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

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

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

4. 

桔视ADAS解决方案

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

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

整体方案如下所示:

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

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

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

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

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

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

▍4.1 超低功耗前车检测 

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

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

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

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

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

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

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

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

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

anchor设置如下图:

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

▍4.2 稳定性

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

a) 小目标难以检出

b) 包围盒误差大

c) 目标误检

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

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

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

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

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

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

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


▍4.3 相机安装位置标定

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

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

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

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

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

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

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

▍4.4 报警及时性

4.4.1 TTC

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

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

4.4.2 前车刹车提醒

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

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

▍4.5 长尾数据挖掘

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

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

挖掘回流的数据在云端会自动导入标注平台和实验评估系统。在标注平台中,通过深度模型算法预标注+人工,不断扩充数据集。在实验评估系统中,算法捕捉播报后驾驶员的转化行为,结合驾驶员历史行驶数据,自动化评估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.

本文作者

团队招聘

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

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

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

扫码了解更多岗位

延伸阅读

内容编辑 | Charlotte

联系我们 | DiDiTech@didiglobal.com


解密滴滴黑科技:超低功耗桔视ADAS落地实践相关推荐

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

    桔妹导读:道路交通事故每年都给人类带来巨大的生命和财产损失.滴滴作为交通领域的深度参与者,不断地探索降低交通事故的方法.本文重点介绍车载视觉团队是如何在滴滴的场景下,在桔视设备上,使用超低功耗的桔视A ...

  2. 优酷播放黑科技 | 自由视角技术体验优化实践

    作者:邓小龙(白展) "本文为<优酷播放黑科技>系列文章第一篇<自由视角技术体验优化实践>,之后我们会陆续上线<基于WebRTC实现的直播"云多视角& ...

  3. 太酷了!滴滴的这个黑科技,我打 99.99 分!!!

    桔妹导读:道路交通事故每年都给人类带来巨大的生命和财产损失.滴滴作为交通领域的深度参与者,不断地探索降低交通事故的方法.本文重点介绍车载视觉团队是如何在滴滴的场景下,在桔视设备上,使用超低功耗的桔视A ...

  4. 滴滴司乘安全守护者桔视技术解析

    桔妹导读:公共交通出行,安全是重中之重,滴滴作为网约车行业的头部品牌,肩负着保护司乘安全的重担.滴滴桔视记录仪依托高质量硬件基础与高精度算法,实时抓取乘车期间道路与车内视频信息,提醒司机驾驶安全,同时 ...

  5. 优酷播放黑科技 | 自由视角技术的全链路策略与落地实践

    ​ 作者:李晓阳(苏铭) 在<优酷播放黑科技 | 自由视角技术体验优化实践>中我们提出对自由视角观影体验做了很多优化,为何需要做如此多的体验优化,下面将一一解答. 随着5G时代的到来,视频 ...

  6. 舍弃Kong和Nginx,Apache APISIX 在趣链科技 BaaS 平台的落地实践

    本文介绍了 Apache APISIX 在趣链科技 BaaS 平台中的落地实践情况,以及趣链科技在众多网关应用中选择 Apache APISIX 的原因. " 业务背景 BaaS(Block ...

  7. 微电台丨解密《长安十二时辰》之数据“黑科技”

    [李记数据杂货铺]有声有趣 欢迎在线收听,互动有礼 数据"黑科技",早在唐朝就已出现? 数据"中情局",在古代就大显神通? 解密<长安十二时辰> 掌 ...

  8. 黑科技解密!实现socket进程间迁移!

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. 今天介绍一个可以拿出去吹牛的功能:实现socket句柄在进程之间迁移!为了这篇文章,xjjdog可算下了苦功夫,半夜还在翻 ...

  9. 解密「UWB」精准定位黑科技

    来源丨高工智能汽车 点击进入->3D视觉工坊学习交流群 基于厘米级定位.超低功率.强抗干扰.超大容量等技术特点,UWB(超宽带)技术在消费电子.智能汽车等领域的应用前景被赋予厚望. 值得一提的是 ...

最新文章

  1. [Cocoa, 医疗]Dicom Image Viewer for iPad
  2. CSU 1806 Toll 自适应simpson积分+最短路
  3. 5种方法实现“反转字符串”
  4. React Fiber源码逐个击破系列-scheduler
  5. 分布式 虚拟时间和虚拟同步_分布式虚拟跟踪
  6. keyshot环境素材文件_KeyShot渲染,打光这么打,效果倍儿棒
  7. python怎么输出数组全部数据_打印numpy数组的全部内容
  8. DOM 的一些知识记载
  9. Lytain:PCWin10纯净专业版重装与程序员的高效部署
  10. Web前端 Js文件上传类型限制(根据文件头信息判断)
  11. WEBQQ登陆综合帖
  12. hexo个人next主题博客接入谷歌广告
  13. 在MFC程序中使用XML文件配置工具栏
  14. 写bat文件,报系统找不到指定文件的处理方式
  15. 15个WordPress幻灯片画廊插件
  16. 解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述
  17. 中国石油大学《钢结构》第二阶段在线作业
  18. 最好用的ftp客户端:SecureFX for Mac
  19. 计算机英语对照,计算机专业英语对照.doc
  20. 聊一聊前端中常说的接口

热门文章

  1. 解决软件安装的2203报错
  2. web前端新手入门:中国互联网的发展史
  3. 朋友圈加粗字体数字_报名 | 零基础入门brush lettering英文花式字体
  4. mixamo骨骼_Mixamo——在线三维人物角色骨骼自动绑定,上千动作库直接生成人物动画...
  5. 数据库基础内容(超级详细)
  6. 你永远穷不过一个广东人
  7. python怎么重启内核_python怎么重启服务器
  8. CC2530+RFX2401启用功放过程小结
  9. R语言入门(2)时间序列分析原理
  10. js调用打印机打印网页字体总是缩小一号的解决方法