当前位置: 首页 > 科技观察

Waymo——自动驾驶技术解读

时间:2023-03-11 21:36:42 科技观察

今天,我们就来看看谷歌的自动驾驶汽车Waymo是怎么做的。Waymo已在超过25个城市的公共道路上行驶了超过2000万英里。他们还在模拟环境中行驶了数百亿英里(本文后面会详细介绍)。此外,Waymo在美国运营着一项出租车服务,可以在没有司机的情况下运送乘客。由于Waymo的快速成长,今天下午将对Waymo的技术进行深入的介绍,让大家了解这个巨头背后的真实情况。与其他自动驾驶汽车一样,Waymo通过4个主要步骤来实现:感知、定位、规划和控制。在本文中,不讨论控件相关的内容。对于Waymo,预测(它是规划的一部分)是另一个核心支柱,它单独介绍。我们从感知开始感知大多数机器人系统的核心组成部分是感知任务。在Waymo的案例中,感知包括对障碍物的估计和自动驾驶汽车的定位。传感器和任务Waymo的感知系统结合使用了摄像头、激光雷达和雷达。由于Waymo的大部分工作都是使用4个LiDAR完成的,因此可以将其视为与特斯拉系统完全相反的情况。这是Waymo自动驾驶复杂任务的视图——只是为了让您了解其计算机视觉系统需要感知的所有事物。可以看到,障碍物需要的信息级别非常高:汽车分为普通车、警车、救护车、消防车、校车。如果遇到特种车辆,系统可以观察警报器和灯光并采取相应行动。每个检测到的障碍物都有一个状态:移动、停放等。如您所见,感知系统考虑“状态”并将其提供给预测系统。然而,这个感知系统很快就会遇到一些特别棘手的情况。下面是一个示例:反射问题上面的反射问题远非唯一棘手的问题。再举个例子:人可以伪装,躺在卡车车顶上,拿着STOP标志走路等等。我们可能会想象更多的边缘情况,我们应该了解系统可能遇到的问题。Waymo指出:然而,上述许多问题在过去几年都得到了解决。多亏了激光雷达,反射问题才得以解决。反射不会出现在激光雷达中;只有点云显示了真实障碍物的形状(这里是公共汽车)。了解有关激光雷达的更多信息。多亏了地图,“有停车标志的人”问题已经解决了。第一步是检测停止标志;第二步将此信息与地图和先验知识相匹配。每当Waymo检测到标志时,它都会询问“地图上是否包含STOP标志?如果没有,是否正在进行施工?如果没有,没有理由停止!”架构在最近关于特斯拉计算机视觉架构的讨论中,我探索了HydraNet架构。它是一种旨在同时运行多个神经网络的架构。“九头蛇”这个词的意思是一个有多个头的系统。Waymo没有谈论HydraNets,但有一些关于它的视觉系统的事情。可能会让您感到惊讶的第一件事是,据估计,Waymo的架构并不是固定的。这是一个神经架构搜索(NAS)单元。这是像ResNet这样的大型神经网络的构建块。这个想法已经被AutoML采纳了。AutoML的思想是神经网络架构必须通过算法来估计。这些架构是使用NAS单元构建的,最佳组合获胜。测试10,000个架构,预选100个模型,最终选出1个优胜者。获胜的标准是准确性和推理成本。数据集和模型谷歌正在使用一种称为主动学习的过程。主动学习的思路是这样的:对于每一份未标注的数据,都送入模型进行预测。如果模型对其预测非常确定,我们会得到一个自动标签。如果不确定,请将数据发送给人工注释者。这样,人工标注者只标注困难的数据,其余自动标注。有关主动学习的更多信息。Waymo使用主动学习来训练模型,利用TPU(张量处理单元)和谷歌的深度学习框架TensorFlow。与特斯拉类似,这是一个闭环。图片中的描述已经比较清楚了;从底部的“发布”开始,然后向左移动。模型发布完成后,开始数据收集。一些数据由神经网络和人工注释者选择和注释。然后将带注释的数据集发送到AutoMLArchitectureSearch以评估最佳模型。最好的模型经过验证、测试和部署。然后重新开始新的迭代……这些用于感知的机器学习模型的目标是准确估计3D世界。Positioning定位就是获取车辆的位置,精度在1-3cm以内。有些公司使用GPS,有些公司添加摄像头和激光雷达信息,但是……Waymo使用地图、激光雷达和GPS来定位车辆。谷歌还利用了从谷歌地图中吸取的经验教训。多年来,谷歌地图团队一直致力于使用激光雷达、相机和GPS进行高清地图绘制。这些是用于自动驾驶汽车的精确传感器。Waymo注释:虽然Waze和谷歌地图都没有涉及Waymo及其定位模块,但在地图方面获得的经验非常有益。谷歌几乎已经绘制了整个世界的地图。如果它从相对位置检测到你看到了2ndStreet,它就可以准确地知道你在哪里。这就是他们过去二十年一直在努力的方向。Waymo的定位模块由地图、摄像头、GPS和算法组成,可以在全球范围内准确定位车辆。Waymo还在其模块中使用了大量冗余,以使其更加健壮和可靠。PredictiveBehaviorPredictionWaymo自动驾驶汽车最重要的特点是行为预测。谷歌无法像特斯拉那样利用车队的力量。特斯拉从其客户拥有的数十万辆汽车中收集数据。Waymo无法做到这一点;但是,他们有自己的船队,而且近年来可能增长了很多。在自动驾驶汽车中,你最终想要的是了解人类行为并预测它们。这称为行为预测。这些行为预测是使用递归神经网络进行的:它们使用过去的信息来预测未来的行为。因此,人们确切地知道该做什么,并且可以衡量对预测的信心。行为预测类似于以下内容:如果车辆观察到正在注视它的行人,则发生事故的风险很低。如果观察到行人在不注意的情况下奔跑,风险甚至更高。Waymo的系统知道这一点。你是怎么做到的?将专家偏见输入其模型。它的预测系统是一个混合体:机器学习和人类知识的结合。人类知识还包括交通法规和不可能的事情(例如,人不可能以50公里/小时的速度行走或跑步)。模拟Waymo开车很多,但它也模拟了很多。Waymo构建了一个模拟器,它将真实世界的数据作为输入并输出新的场景。以现实生活中发生的事情为例。现在,使用模拟器修改它。想象一个场景,汽车超过人类司机,并想象没有超过人类司机。它类似于电影《Next》,尼古拉斯凯奇有能力想象每一种可能的场景并选择他可以生存的场景。nextWaymo可以实时来回播放,也可以模拟行为。您可以构建整部小说并查看算法的行为方式。模拟器可以发挥真正的力量。事实上,Waymo在这些模拟中平均每天24*7运行25,000辆虚拟汽车,每天行驶10,000,000英里。看看下面的图片。在右侧,您可以看到一条一分为二的黄线。这不是对DominicToretto和BrianO'Connor的告别。这两条线是对车辆可能做什么的预测。您掌握的有关汽车的信息越多,您的预测就会越准确和自信。直到剩下一个……为了模拟更多场景,Waymo正在使用DeepMind和深度强化学习来创建代理和驾驶策略。在强化学习中,策略就是一个动作。Waymo可以模拟一个愤怒的司机试图在某人面前危险地切入,或者一个粗心的踏板车司机。每次,他们都会查看算法的行为和正确性。当对驾驶员做出准确且训练有素的预测时,可以生成要采取的轨迹。这也称为决策制定和轨迹生成。Waymo的驾驶模型称为ChauffeurNet。轨迹是一系列(x,y,z)点。规划模块的目标是生成在安全性、速度和可行性方面误差最低的轨迹。看看Waymo的完整规划模块:这可能看起来很复杂,但别担心,这就是我写这篇文章的原因!让我们从头开始,将“特征网络”视为感知、定位和预测的输出。在左侧,您可以看到“AgentRNN”。这实际上是一个为自动驾驶汽车生成轨迹的网络。这些轨迹将考虑航向(可行性)、速度(交通规则)、航路点(长度)和代理(可行性、几何形状等)。AgentRNN的目标是模拟可行的、真实的轨迹。然后在右边,你可以看到RoadMaskNet。这是一个如果它生成的轨迹偏离道路就会受到严重惩罚的网络。这是Waymo确保我们不在人行道上行驶的方式。最后,在最右边,是PerceptionRNN。这是一个惩罚与其他车辆的碰撞和相互作用的网络。例如,当我们距离车辆1米时,损失将高于我们距离车辆1.5米时的损失。总之,网络生成可行的轨迹,保持在路上,避免碰撞。最后,轨迹还考虑了排斥者和吸引者。我们想留在车道的中心,我们想避开路障并跟随中心。生成适当轨迹的过程还使用了一种称为逆向强化学习的技术。在逆向强化学习中,我们尝试查看真实的人类轨迹(基本事实)并确定是什么让这个轨迹成为一个好的轨迹。这改进了生成的轨迹并使它们更逼真。总结感知是对障碍物、红绿灯和道路的检测。Waymo使用主动学习收集数据,使用AutoML生成架构并选择更高效的架构(准确性和推理时间)。定位主要是寻找你所在位置的感知任务。Waymo使用来自谷歌地图的知识来做到这一点。预测是在模拟器中进行的,使用递归神经网络和强化学习来训练他们的代理人很好地估计轨迹。规划是根据可行性生成轨迹,保持在路上,避免碰撞。车辆还向人类注释者学习以生成更逼真的轨迹。Waymo的系统是11年自动驾驶汽车研究和实验的结晶。在自动驾驶技术的世界里,他们制造汽车的方式有一些阻碍,因为人们表达了对特斯拉系统的偏爱,并意识到路上的体验是无价的。无论您有何看法,不可否认的是,谷歌和Waymo正在将疯狂的工作和技术投入到他们的自动驾驶汽车中。Waymo还有很长的路要走。..Waymo的主要问题之一是它使用地图的方式:Waymo无法在没有地图的情况下驾驶。可以更准确地绘制整个世界的地图,但要按比例缩放是一个巨大的挑战。Waymo的主要视觉系统由激光雷达组成,这实际上是一个很大的问题,因为激光雷达在雪、雨或雾中完全失明。因此,Waymo经常在亚利桑那州凤凰城或加利福尼亚州旧金山等地行驶,这些地方的天气永远干燥而阳光明媚。Waymo笔记:最近,Waymo开始在非常潮湿的密歇根州、暴风雨的迈阿密和多雨的华盛顿州行驶。如果你看看特斯拉,它已经在纽约和巴黎市中心推出了自动驾驶汽车。多亏了特斯拉司机,它已经知道这些地方了。它可能更容易扩展,因为对LiDAR的依赖可能是一个问题。Waymo是特斯拉在L5级自动驾驶竞赛中的直接竞争对手!