Waymo-自动驾驶长尾问题挑战(2019)
尽管Waymo已经在开放道路上积累超过10 Million Miles,Waymo的工程师们仍然发现有层出不穷的新自动驾驶场景待解决。
1、自动驾驶长尾场景举例
场景一:一个骑自行车的人手中拿着一个Stop Sign标识牌。我们不知道它何时会举起标识牌。无人车必须理解这种场景,即使他举起了Stop Sign标识牌,自动驾驶汽车也不应该停下来。

场景二: 迎面而来的车辆上装载的塑料管子撒了一地,自动驾驶汽车必须学会应对这种突发情况,并且避开它们对无人车行驶的影响。

场景三:由于道路施工等因素,路面布满锥桶。无人车必须正确识别这些场景,在布满路面锥桶的场景下实现合理驾驶。

场景四:路口绿灯,无人车拥有路权,虽然我们的无人车先到达路口,但必须为稍后到达的特种车辆让行。

场景五: 路口绿灯,无人车准备左转,遇到闯红灯高速通过的社会车辆,无人车需要识别这种场景,并及时停车避让违规车辆。

2、自动驾驶核心模块-Perception, Prediction和Planning
Perception、Prediction和Planning模块是自动驾驶的核心模块,每个模块都存在巨大的挑战。
2.1 Perception
Perception输入:传感器(激光雷达)输入信息以及场景的先验信息。
Perception输出:道路交通对象(行人、车辆等),对道路场景的语义分割和理解。
Perception本身是一个非常复杂、高难度的问题,它必须能够识别各种形态各异、不同种类的对象。比如下左一图,一群穿着恐龙服的行人,感知必须能够正确识别它们。

相同的物体在不同的时间、不同的季节它们的外观表现也会有很大的差异,这会对Perception带来巨大挑战。

各种复杂场景的分割理解难度极高。如下图左一:一个搬着箱子的人;下图左三:骑马的人。Perception必须能够正确的分割识别这些场景,而不会因为遮挡导致出现识别的错误。

2.2 Prediction
Perception对检测到的物体进行下一步行为的预测,以辅助自动驾驶车辆进行合理的行为决策。

Perception要考虑物体的历史行为,比如车辆不会在短时间内实现90度的转弯,因此我们可以假设车辆在短时间内仍然按照当前的朝向和速度前进;要对场景有更高语义层面的理解;要能够关注到不同对象的属性差异和视觉线索,比如车辆大概率是会在车道上行驶上,行人会走斑马线,车辆的朝向能够大概率反应它的意图,如果行人做出停车的手势,大概率是要过马路;要能够解决待预测物体与其它物体的行为交互。
如下图所示,路边有一辆静止的车辆,骑自行车的人在靠近静止车辆时,会侵入无人车车道。Perception模块需要正确理解这些场景,并生成合理的预测曲线。

如何能够准确的预测社会车辆的行为仍然是一个存在巨大挑战的开放性问题。
2.3 Planning
Planning是Decision Making Machine,它基于Perception和Prediction的输出,规划车辆的行为,并输出Control模块,控制车辆的加减速、刹车等行为。

Planning首要考虑的是安全(safe),其次要考虑驾乘的舒适性(comfortable),再次要能够与其它交通参与者正确交互,最后要保证乘客送达目的地。如何能够满足这些条件实现良好的Planning效果仍然是一个开放性的问题。

3. 大规模机器学习技术(Machine Learning At Scale)
Machine Learning是解决自动驾驶长尾问题的一种有效工具。利用Machine Learning技术可以实现从数据采集、标注、训练、车端部署的闭环循环流程,从而实现Case的不断积累,模型的不断完善。

3.1 Automated Machine Learning技术
Waymo使用了Automated Machine Learning技术生成和优化针对无人车的数据模型,极大提升了模型训练的效率。




3.2 机器学习技术的局限(Limits Of Machine Learning)
机器学习模型不能解决所有的问题,但我们需要的是一个安全的自动驾驶系统,所以必须有其它措施来补充ML的不足。
首先可以借助于冗余互补的传感器辅助解决这个问题。车辆同时配备了视觉、Lidar、Radar系统,各个系统彼此独立,相互补充,以最大限度保证无人车不会缺失任何信息。

其次,我们可以采用ML和Non-ML混合系统,利用专家系统来弥补ML的不足。

4、大规模的测试技术(Large Scale Testing)
首先Waymo有庞大的自动驾驶车队,可以支撑大规模的测试。

有些场景在实际道路上出现的概率很低,为了测试验证这些低频问题,需要自己构建场景,进行结构化测试。

仿真是一种重要的验证测试手段,可以轻量级安全的构造各种各样的测试场景。

自动驾驶仿真必须能够真实模拟车辆和行人的行为。这仅仅依靠简单的规则模型是不够的,我们需要更加复杂的模型,Waymo使用一种Mid-2-Mid的Drive Agent机器学习模型,它接收定位、感知等信息,输出更加拟人化的运动规划。

Waymo提出的ChauffeurNet将Map、交通规则、道路环境等信息转化为图像信息,从而可以最大限度的利用比较成熟的机器学习模型,最终输出Agent的Trajectory。

ChauffeurNet可以解决大部分简单场景下的Prediction和Planning问题。



当然ChauffeurNet也有其局限性,比如以下复杂场景目前还不能很好的处理。


5、机器学习难以覆盖的长尾问题挑战
对自动驾驶测试来讲,最大的挑战在于很难收集到所有Corner Case。如下图所示,是人类驾驶行为分布,要经过非常长时间的积累才能得到一些Corner的驾驶行为Case。

在自动驾驶网络的神经网络模型中,可能有上千万的参数,如果Corner Case的样本数量太少,就难以保证网络模型能够学会这些Corner场景。
在神经网络模型覆盖长尾Case前,如何来解决长尾Case呢?专家系统是一个选择。专家系统融入专业的知识,通过小批量的样本就可以获得效果比较好的参数。
比如我们计划得到实现一个轨迹优化机器学习模型,在基于运动控制理论和一系列的约束设计好专家模型之后,通过采集历史车辆轨迹,我们就可以调整参数最小化Cost的方法,使得专家系统的轨迹输出尽可能的逼近人类驾驶轨迹。

轨迹优化专家系统的另一种模型是Inverse Reinforcement Learning技术,通过历史驾驶轨迹训练模型参数,使得它的输出尽可能的逼近预期效果。

如下图所示,红色的主车,蓝色的是社会车辆。左图的社会车辆更加保守,右侧的社会车辆更加激进。用保守的轨迹训练出的模型表现就趋于保守,用激进的轨迹训练出的模型表现就趋于激进。

6、Smart Agent对于自动驾驶规模化不可或缺
不管是专家系统,还是神经网络,它们都在努力模拟人的驾驶行为,使Agent变得聪明起来,聪明的Agent可以辅助自动驾驶技术快速规模化。



个人博客网站地址: http://www.banbeichadexiaojiubei.com
Waymo-自动驾驶长尾问题挑战(2019)的更多相关文章
- Google Waymo自动驾驶安全技术报告(二)
Waymo的技术在公开道路上.封闭测试场.仿真器进行了广泛的测试,所以可以保证自动驾驶系统的每一部分在其ODD内都有强大.可靠.安全的处理能力. Waymo的自动驾驶系统由三个相互独立.严格测试的子系 ...
- 自动驾驶研究回顾:CVPR 2019摘要
我们相信开发自动驾驶技术是我们这个时代最大的工程挑战之一,行业和研究团体之间的合作将扮演重要角色.由于这个原因,我们一直在通过参加学术会议,以及最近推出的自动驾驶数据集和基于语义地图的3D对象检测的K ...
- Google Waymo 2017自动驾驶安全技术报告(一)
2017年10月Google Waymo向美国交通部提交了一份43页的安全报告,报告中详细说明了Waymo如何装备和训练自动驾驶车辆,从而避免驾驶中的一般和意外情况发生.这份报告对Waymo的自动驾驶 ...
- 向通用自动驾驶部门Cruise投资22.5亿美元,软银打得什么主意?
5月29日,加利福尼亚州的一辆特斯拉Model S撞上停在路边的警车.据透露,当时这辆特斯拉正处于自动辅助驾驶即Autopilot模式.而在今年,这已经不是第一次特斯拉自动驾驶模式出问题了.此外,Ub ...
- 本科阶段就挑战自动驾驶开发?华为云ModelArts帮你轻松实现!
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- zzL4自动驾驶中感知系统遇到的挑战及解决方案
本次分享的大纲: Perception Introduction Sensor Setup & Sensor Fusion Perception Onboard System Percepti ...
- 谷歌Waymo估值700亿:自动驾驶迎来春天,但前路漫漫
在经过近一年的法庭之争后,Waymo与Uber的自动驾驶专利权诉讼案于近日宣布和解.最终的结果,是Uber向Waymo支付0.34%股权(目前价值2.44亿美元).但事实上,与Uber的官司解决后,一 ...
- Waymo在美国推出自动驾驶汽车共享服务
导读 经过数月的测试和数百万英里的无人驾驶汽车技术开发,Waymo 正式在美国推出了具有商业性质的自动驾驶汽车的共享服务. 该公司的 Waymo One 项目将为客户提供 24 小时自动驾驶汽车服务. ...
- zz自动驾驶中轨迹规划的探索和挑战
大家好,今天我们主要介绍一下轨迹规划的探索和挑战,我主要从四个方面介绍: 轨迹规划的概念 决策 横向规划 纵向规划 轨迹规划的概念: 轨迹规划的核心就是要解决车辆该怎么走的问题.比如我们知道了附近有行 ...
随机推荐
- 如何设计一个优雅的RESTFUL的接口
show me the code and talk to me,做的出来更要说的明白 我是布尔bl,你的支持是我分享的动力! 一 .引入 设计接口是我们开发人员的日常操作.当我们把接口交给前端人员时, ...
- hdfs断电报错解决
一,/home/hadoop/tmp/dfs/name/current 目录下查看文件二,1.stop hadoop所有的服务;2.重新格式化namenode即可: hadoop根目录下: hadoo ...
- Oauth2的使用(第三方授权登录)
例子: 京东商城 ,微博 ,用户三者之间的关系 第一方:用户 第二方:京东商城 第三方:微博 用户不希望在京东商城上注册,可以授权微博使用微博上的用户信息进行登录京东商城. 授权流程: 地址一:授权页 ...
- 新上手jupyterlab安装及问题解决
最近jupyter notebook又出了一个新玩法:jupyterlab但是很多小伙伴和我一样,在安装的时候出现了很多问题,于是乎我总结了一下,希望给大家带来帮助 首先,最好保持你的浏览器是最新的版 ...
- spring cloud的配置
注解篇 @EnableEurekaServer 注解启动一个服务注册中心提供给其他应用进行对话 @EnableDiscoveryClient 激活Eureka中的DiscoveryClient实现 配 ...
- java"小心机"(1)【资源彩蛋!】
每天进步一点点,距离大腿又近一步! 阅读本文大概需要9分钟 java"小心机"系列文章在此开篇.在这,将会给你带来曾经错过.忽略或感到模糊的知识,也许它很基础,微不足道,但它能修复 ...
- rabbitmq 实现延迟队列的两种方式
原文地址:https://blog.csdn.net/u014308482/article/details/53036770 ps: 文章里面延迟队列=延时队列 什么是延迟队列 延迟队列存储的对象肯定 ...
- 月经贴 】 Csharp in depth
让你 真正 喜欢 上 C# 编译器 准备 为你 上演 的 奇迹. C# 3 中 相对 乏味 的 一些 特性 开始. 自动 实现 的 属性 和 简化 的 初始化, 有一个 私 有的 无 参 构造 函 ...
- Kindle Unlimited 上线的最热书单
Kindle 也给出了一份,到现在为止,在 Kindle Unlimited 上线的最热书单: 1.岛上书店2.一个人的朝圣3.自控力4.嫌疑人 X 的献身5.沉默的大多数(王小波文集)6.跟任何人都 ...
- 创建dynamics CRM client-side (十) - 用JS来获取form type
用户可以用以下代码来获取 form type 更多的信息可以查阅https://docs.microsoft.com/en-us/powerapps/developer/model-driven-ap ...