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自动驾驶中轨迹规划的探索和挑战
大家好,今天我们主要介绍一下轨迹规划的探索和挑战,我主要从四个方面介绍: 轨迹规划的概念 决策 横向规划 纵向规划 轨迹规划的概念: 轨迹规划的核心就是要解决车辆该怎么走的问题.比如我们知道了附近有行 ...
随机推荐
- 用户输入- Unity3D游戏开发培训
用户输入- Unity3D游戏开发培训 作者:Jesai 时间:2018-02-12 14:28:45 用户输入Input 鼠标按键: -方法:GetMouseButton(); -方法:GetM ...
- Linux.vim编辑器显示行号
显示行号 :set number 取消显示行号:set nonumber
- 个人任务day5
今日计划: 写登录界面,学习如何使用js做出界面跳转的进度条动态显示. 昨日成果: 创建用户数据库.
- 1、python3.x安装(windows)
现在大部分自动化测试已经使用python3.x版本,与Python2的区别这里就不多说了,如有兴趣可以自行百度. 一.下载 官网:https://www.python.org/downloads/,下 ...
- 玩转Django2.0---Django笔记建站基础五(模板)
第五章 模板 Django作为web框架,需要一种很便利的方法去动态地生成HTML网页,因此有了模板这个概念.模板包含所需HTML的部分代码以及一些特殊语法 Django可以配置一个或多个模板引擎(甚 ...
- 一次完整的OCR实践记录
一.任务介绍 这次的任务是对两百余张图片里面特定的编号进行识别,涉及保密的原因,这里就不能粘贴出具体的图片了,下面粘贴出一张类似需要识别的图片. 假如说我的数据源如上图所示,那么我需要做的工作就是将上 ...
- react中 如何使用图片
//render 第一种方法:先const一个对象,把需要应用图片的dom上的style写入对象中, 然后在return()中使用style关键字赋值为预先定义的那个style对象 const bgG ...
- 五、Shell运算
整数值运算 使用expr命令:只能做整数运算,默认返回计算结果 格式: expr 整数1 运算符 整数2 ... 整数值可以有变量提供,直接给出运算结果 + 加法 expr 43 + 21 .expr ...
- 时序数据库 Apache-IoTDB 源码解析之文件格式简介(三)
上一章聊到在车联网或物联网中对数据库的需求,以及 IoTDB 的整体架构,详情请见: 时序数据库 Apache-IoTDB 源码解析之系统架构(二) 打一波广告,欢迎大家访问IoTDB 仓库,求一波 ...
- 文件传输基础----Java IO流
编码问题 一个很著名的奇怪现象:当你在 windows 的记事本里新建一个文件,输入"联通"两个字之后,保存,关闭,然后再次打开,你会发现这两个字已经消失了,代之的是几个乱码!呵呵 ...