谷歌自动驾驶汽车是如何工作的
共 4291字,需浏览 9分钟
· 2022-05-10
点击下方卡片,关注“新机器视觉”公众号
重磅干货,第一时间送达
本文来源:AI 云原生
/ 导读 /
今天,我们来了解一下谷歌的自动驾驶汽车Waymo是怎么做的。
Waymo在超过25个城市的公共道路上行驶了超过2000万英里。他们还在模拟环境中行驶了数百亿英里(文章后面会介绍)。此外,Waymo正在美国经营出租车服务,真正地在没有司机的情况下运送乘客。
由于Waymo的快速增长,下午将深入介绍Waymo的技术,以便您了解这个巨头背后的实际情况。
与其他自动驾驶汽车一样,Waymo通过4个主要步骤来实施:感知(perception)、定位(localization)、规划(planning)和控制(control)。
这篇文章中,不讨论控制相关的内容。对于Waymo来说,预测(这是规划的一部分)是另一个核心支柱,文中将单独介绍。
我们首先从感知开始。
感知
大多数机器人系统的核心组件是感知任务。在Waymo的案例中,感知包括对障碍物的估计和自动驾驶汽车的定位。
传感器和任务
Waymo的感知系统使用了摄像头、激光雷达和雷达的组合。由于Waymo的大部分工作都是使用4个LiDAR完成的,可以将其视为与特斯拉完全相反的系统。
以下是Waymo自动驾驶复杂任务的视图——只是为了让您了解其计算机视觉系统需要感知的所有事物。
如您所见,对障碍物的信息水平要求非常高:
汽车被分类为常规汽车、警车、救护车、消防车和校车。 如果遇到特种车辆,系统可以观察警报器和灯光并根据此进行操作。 每个检测到的障碍物都有一个状态:移动、停车等
由于激光雷达,反射问题可以得到解决。反射不会出现在激光雷达中;只有点云显示了真正障碍物的形状(这里是一辆公共汽车)。
由于地图,“带有停车标志人”的问题已得到解决。第一步是检测 STOP 标志;第二步将这些信息与地图和先验知识相匹配。每当 Waymo 检测到一个标志时,将会查询“地图在这里是否包含 STOP 标志?如果没有,是否正在施工?如果没有,就没有理由停下来!”
架构
数据集和模型
对于每条未标记的数据,将其发送给模型进行预测。
如果模型对其预测非常确定,我们得到一个自动标签。
如果不确定,则将数据发送给人工标注员。这样,人工标注员只标注难例数据,其余的都是自动标注。
当模型发布完成之后,数据收集就开始了。 一些数据被选中并由神经网络和人工标注员进行标注。 然后标注过的数据集被发送到AutoML架构搜索,评估最佳模型。 最佳模型经过验证、测试并部署。
定位
预测
行为预测
如果车辆观察到有行人注视着它,则发生事故的风险很低。 如果观察到行人不注意就跑,风险会更高。
仿真
在左侧,可以看到“Agent RNN”。这实际上是一个为自主车辆生成轨迹的网络。这些轨迹将考虑航向(可行性)、速度(交通规则)、航路点(长度)和代理(可行性、几何形状等)。Agent RNN 的目标是模拟一个可行的、现实的轨迹。
然后在右侧,可以看到 Road Mask Net。这是一个网络,如果它生成的轨迹不在路上,就会受到很高的惩罚。Waymo 通过这种方式确保我们不在人行道上开车。
最后,在最右侧,是 Perception RNN。这是一个惩罚与其他车辆的碰撞和互动的网络。例如,当我们距离车辆 1 米的损失会高于距离 1.5 米时的损失。
总结
感知是检测障碍物、交通灯和道路的。Waymo 使用主动学习收集数据,使用 AutoML 生成架构并选择更高效的架构(准确性和推理时间)。
定位主要是找到您所在位置的感知任务。Waymo 利用谷歌地图的知识来做到这一点。
预测是在模拟器中使用循环神经网络和强化学习来训练他们的代理来很好地估计轨迹。
规划是根据可行性生成轨迹,保持在路上,避免碰撞。这些车辆还向人工标注员学习,以生成更逼真的轨迹。
Waymo还有很长的路要走。。。
本文仅做学术分享,如有侵权,请联系删文。