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自动驾驶中轨迹规划的探索和挑战
大家好,今天我们主要介绍一下轨迹规划的探索和挑战,我主要从四个方面介绍: 轨迹规划的概念 决策 横向规划 纵向规划 轨迹规划的概念: 轨迹规划的核心就是要解决车辆该怎么走的问题.比如我们知道了附近有行 ...
随机推荐
- 区间dp - 括号匹配并输出方案
Let us define a regular brackets sequence in the following way: 1. Empty sequence is a regular seque ...
- CF - 高精度 + 贪心
Last year Bob earned by selling memory sticks. During each of n days of his work one of the two foll ...
- DOCKER学习_017:Docker-Compose介绍
dockers三驾马车 Docker Machine Docker Swarm Docker Compose 一 Docker Compose介绍 Docker Compose是一个定义和运行多容器应 ...
- BFT-SMaRt:用Netty做客户端的可靠信道
目录 一.Netty服务端的构建 1. 父类构造函数 ① 查找缓存 ② 相关日志 2. 服务端构造 ① 配置读取 ② 服务端配置 3. 服务端功能 ① 通用接口功能 ② Channel处理器 4. 节 ...
- ElEmentUI选择器弹出框定位错乱问题解决(弹出框出现在左上角)
这个是原问题,我之前是没问题的,后来的突然出现了这个问题,查了好多没找到,后来看文档才发现的.通过这个问题,说明看文档的重要性,嘻嘻 解决办法是在选择器里插入一个 :popper-append-to- ...
- c#移位运算符("<<"及">>")
C#是用<<(左移) 和 >>(右移) 运算符是用来执行移位运算. 左移 (<<) 将第一个操作数向左移动第二个操作数指定的位数,空出的位置补0. 左移相当于乘. ...
- 解决---MISCONF Redis被配置为保存RDB快照,但目前无法在磁盘上存留。可能修改数据集的命令被禁用。请检查Redis日志,了解有关错误的详细信息。
解决---MISCONF Redis被配置为保存RDB快照,但目前无法在磁盘上存留.可能修改数据集的命令被禁用.请检查Redis日志,了解有关错误的详细信息. 出现bug: 在学习celery,将数据 ...
- 3d动态文字的绘制
在这里介绍一种3D文字的一种动态效果,可以说这是一种伪3D创建的一种3D的视觉效果 简单的讲解一下:大家或多或少都会听说过素描这种绘画手法,其实这种手法就是巧妙的利用了.阴影给人们带来的立体的视觉冲击 ...
- mysql --->mysql 外键总结
mysql 外键总结 1.设置外键MySQL ERROR 1005 错误 MySQL ERROR 1005 (主要是约束不一样导致的)例如: 1.两表外键的引用类型不一样,如主键是int外键是char ...
- Spring Cloud服务注册中心交付至kubernetes
前言 服务发现原则: 各个微服务在启动时,会将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可以从服务发现组件中查询到服务提供者的网络地址,并使用该地址来远程调用服务 ...