1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Waymo自动驾驶详解

Waymo自动驾驶详解

时间:2018-12-20 02:10:19

相关推荐

Waymo自动驾驶详解

谷歌(Waymo)自动驾驶事业正式开始,但实际上谷歌的自动驾驶可以追溯到第二届DARPA无人驾驶挑战赛,已有了十几年的历史,目前也是自动驾驶领域的标杆企业,不过Waymo也经历了各种坎坷,包括早期领导人职业操守严重不足,跟车企合作被鄙视,骨干员工加入竞争对手等。

Waymo在超过25个城市的公共道路上行驶了超过2000万英里。另外还在模拟环境中行驶了数百亿英里。此外,Waymo正在美国经营L4自动驾驶出租车服务,真正的在没有司机的情况下运送乘客。

下面来梳理一下Waymo的技术,以此来窥探一下头部企业背后的实际情况。

与其他公司的自动驾驶系统一样,Waymo自动驾驶技术主要包括:感知、定位、规划、控制。下面分别对其进行梳理,不过对于控制,由于其与车辆动力学模型是强相关的,就不对其进行介绍。

1. 感知

感知模块是自动驾驶的基础也是核心,其主要实现对障碍物距离的估计,以及车辆的定位。Waymo的感知系统使用了摄像头、激光雷达和雷达的组合,如图1所示。感知模块的大部分工作是由4个LiDAR完成的,因此其技术路线刚好与特斯拉相反。图2为Waymo的感知系统处理后的视图与原图像。

图1 Waymo的感知系统

图2 Waymo感知视图

​从图2中可以看出,Waymo的感知系统获取障碍物信息的能力非常高,包括:

1、可以识别常规汽车、警车、救护车、消防车和校车。如果遇到特种车辆,系统可以根据警报器和灯光做出判断;

2、每个检测到的障碍物都有一个状态:移动、停车等。

在Waymo开发感知系统的过程中,遇到过不少棘手的问题,比如在车辆反射问题,如图3所示,不过由于感知系统采用了激光雷达,这种发射问题不会出现在激光雷达的点云中。

图3 玻璃反射

​另外还有一个极端问题:如果人们可能躺在卡车车顶,举着STOP标志。对于这样的问题,感知系统首先会检测STOP标志,然后将这些信息与地图进行匹配,检测地图上此处是否有STOP标志,是否有道路工程等,如果没有,该标志会被忽略。

2. 架构

最近在讨论Tesla计算机视觉架构时,我探索了HydraNet 架构。它是一种旨在同时运行多个神经网络的架构。“Hydra”这个词意味着一个有多个头的系统。Waymo没有HydraNets。

Waymo的架构并不是固定的。

图4展示了一个神经网络架构搜索(NAS)单元,它是神经网络的构建块,类似于ResNet的大型神经网络中的构建块。这个想法已经被采纳并改编成一种叫做 AutoML 的东西。AutoML 的思想是神经网络架构必须由算法估计,如图5所示。

图4NAS单元

图5AutoML架构

​这些架构是使用NAS单元构建的,最佳组合获胜。测试样本为10000个架构,预选100个模型,然后选出1个最终获胜者,获胜的标准是准确性和推理成本。

3. 数据集和模型

关于数据集和模型,Waymo使用的是一种称为主动学习的过程。主动学习的思想如下:

1、对于未标记的数据,将其发送给模型进行预测。

2、如果模型对其预测非常确定,其将获得一个自动标签。

3、如果不确定,则将数据发送给人工标注员。这样,人工标注员只标注疑难数据,其余的都是自动标注。

Waymo使用主动学习来训练模型,利用TPU(Tensor Processing Units)和谷歌的深度学习框架TensorFlow。与特斯拉类似,这是一个闭环,循环迭代。

图6 Waymo主动学习步骤

​图6中的描述已经比较清晰;从底部的Releases开始,然后沿着箭头一步一步执行。

1、当模型发布完成,开售数据收集。

2、一些数据被选中并由神经网络或人工标注员进行标注。

3、将标注的数据集发送到AutoML架构搜索,评估最佳模型。

4、最佳模型经过验证、测试并发Releases新版本。

4. 定位

定位很显然就是获取车辆的实时位置,要求精度在1~3cm。一些公司使用了GPS,或是添加了摄像头和激光雷达信息。Waymo使用了地图、激光雷达和GPS来定位车辆,这方面采用了从Google地图积累的经验。

多年来,Google地图团队一直致力于使用激光雷达、摄像头和GPS进行高精地图绘制。这些传感器正好也是用于自动驾驶相吻合。

谷歌几乎已经绘制了整个世界的地图。如果从相对位置检测到您看到了2号街道,就可以准确地知道您在哪里。这就是他们过去二十年一直在努力的事情。

Waymo的定位模块由地图、摄像头、GPS和算法组成,可在全世界范围内准确定位车辆。另外Waymo还进行了大量冗余设计,使其更加健壮、可靠。

5. 预测

行为预测

Waymo自动驾驶汽车最重要的特点是行为预测。在自动驾驶汽车中,最终想要的是了解人类行为并预测。这就是所谓的行为预测。

这些行为预测是使用循环神经网络进行的:它们使用过去的信息来预测未来的行为。因此,可以确切地知道要做什么,并且可以衡量预测的置信度。举两个行为预测简单的例子:

1、如果车辆观察到有行人注视着它,则发生事故的风险很低。如果观察到行人不注意就跑,风险会更高。

Waymo的系统是如何做到这一点的呢?其预测系统是一个混合体,结合了机器学习和人类知识。所谓的人类知识,就是人类对世界的了解,例如交通法规和不可能的事情——人类行走或者跑步的速度不可能达到50公里/小时)。

6. 仿真

如文章开头所说,Waymo的自动驾驶在模拟器中运行了数百亿公里,该模拟器的输入为真实世界数据。

Waymo的仿真系统可以实时回放,可以模拟行为构建完整的场景,并查看算法是如何表现的。事实上,Waymo平均每天运行25,000辆虚拟汽车,并且在这些模拟中每天行驶1千万英里。

为了模拟更多场景,Waymo正在使用DeepMind和深度强化学习来创建代理和驾驶策略。

在强化学习中,策略是一种行为。其可以模拟一个愤怒的司机试图危险的切入。每次他们都会查看算法的行为和正确性。

一旦他们对驾驶员进行了准确且训练有素的预测,就可以生成要采取的轨迹。这也称为决策和轨迹生成。Waymo的驾驶模型称为ChauffeurNet,如图7所示。

图7ChauffeurNet驾驶模型

7. 规划

轨迹是一系列点坐标组成,其目标是综合来考虑安全性、速度和可行性,生成误差最合适的轨迹。Waymo的完整规划模块如图8所示。

图8 规划模型

​Agent RNN是一个为自动驾驶车辆生成轨迹的网络。这些轨迹将考虑航向(可行性)、速度(交通规则)、航路点(长度)等。Agent RNN的目标是模拟一个可行的、现实的轨迹。

Road Mask Net用于确保生成的轨迹为动车道,防止生成的轨迹中含有非机动车道。

最后,轨迹还考虑了排斥器和吸引器。用于将车辆维持在车道中,避开路障。

生成轨迹的过程还使用了逆强化学习技术。在逆强化学习中,尝试着眼于真实的人类轨迹,并确定是什么使这条轨迹成为一个好的轨迹,这有利于改进了生成的轨迹并使其更接近人类行为。

8. 总结

Waymo的自动驾驶技术积累了十几年,而且背靠Google,可以借鉴不少地图方面的经验,但是Waymo专注于L4以上的自动驾驶开发,这一点从目前来看,不是大多数,大部分公司先着眼于L2和L3的落地,并且逐步实现L4及以上。像百度之前也专注于L4及以上的开发,但是后来尝试L2和L3的落地。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。