新冠病毒流行期间,无人车的开发遇到挑战(上)

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:新冠疫情令绝大部分的企业都中断了业务。哪怕无人车的研发会不会受到影响呢?需要人员配合的路测当然是没办法开展了。但是很多无人车公司纷纷把工作的中心放在了仿真上面,KYLE WIGGERS对此进行了盘点,原文发表在Venturebeat上,标题是:The challenges of developing autonomous vehicles during a pandemic。篇幅关系,我们分两部分刊出,此为上半部分。

聚焦疫情下的无人车研发

自从新冠病毒引发全球范围内颁布居家令的几个月以来,所有的行业、企业和经济体都出现了大幅停滞。有个市场似乎本该有望摆脱这种冲击——自动驾驶汽车,尤其是那些可以用来为卫生保健工作者运送物资的无人车。但似乎它们的公司也无法幸免。

3月份的时候,出于安全的考虑,限制司机和乘客的接触,Uber、Cruise、Aurora、Argo AI以及Lyft等许多知名的无人车初创企业和衍生公司纷纷暂停了自己的无人车实测活动。Waymo 更是宣布将暂停亚利桑那州凤凰城Waymo One的商业运营——其中包括无需人工操作员的完全无人驾驶的汽车——直至另行通知为止。

活动的中断带来了巨大的工程挑战:在车队停止行驶几个月甚至更长时间的情况下,如何才能复制现实世界的汽车收集到的数据。这个问题以前从未被解决过,一些专家认为这是无法解决的。甚至Waymo CEO John Krafcik 都说,无人驾驶汽车开发中“无法回避”现实经验。

但是无论如何,包括Waymo在内的一些行业最大的参与者都在尝试。

几乎每条自动驾驶汽车开发途径都要严重依赖于安装在汽车外部的传感器的日志,包括激光雷达传感器(LiDar)、摄像头、雷达、惯性测量单元(IMU),里程计传感器和GPS等的日志。这些数据用来训练一系列的机器学习模型,去增强无人车的感知、预测和运动规划功能。这些系统要了解这个世界以及这个世界内部的物体,并决定车辆最终要行驶的路线。

比方说,Tesla就汇编了数以万计被遮挡的停车标志,用来教模型识别野外的类似标志。Cruise结合使用了合成和真实的视听数据,来训练一个可检测警车、消防车、救护车等其他应急车辆的系统。

现实世界的数据收集还需要进行地图绘制,在自动驾驶汽车的环境下,地图绘制是指创建这个世界的道路、建筑物、植被以及其他静态物体的3D、高清、厘米级地图。在去到新地方进行测试之前,Waymo 和Cruise 等公司都要部署配备传感器的人工驾驶汽车,去绘制无人驾驶汽车可能会行驶的路线。这些地图可帮助那些无人车熟悉整个世界,并且还可以提供有价值的环境信息,比方说速度限制、行车道和人行横道的位置等。

在这些事情做不了的情况下,无人车公司必须依靠他们迄今为止收集的数据(以及对这些数据进行的扰动或修改)来进行系统开发和评估。幸运的是,这些公司当中很多已经对模拟进行了投资,从而扩大了测试规模,包括在现实世界不可能做到的那些测试。

模拟

Waymo

Waymo 称自己的车每天都要在其Carcraft 模拟平台上行驶2000万英里,这相当于在现实世界的公路上开100多年。此外,该公司还表示,其自动驾驶汽车软件套件Waymo Driver迄今已累计完成了超过150亿英里的模拟自动驾驶里程。而截至2019年7月时,这个数据是100亿英里。

Waymo 负责模拟和自动化的产品主管Jonathan Karmel 说:“Carcraft里面存放了大量信息。所以我们在内部利用率一系列的工具来提取最重要的信号——最有趣的行程以及有用的信息。”

通过基于Web的界面跟Carcraft的模拟进行交互,Waymo工程师利用了真实世界的数据来为极端情况和探索想法做准备——这些数据来自于Waymo 在25座城市超过2000万英里的自动驾驶行程中遭遇的事件。随着软件和场景的不断演变,让Waymo Driver的周围环境保持在最新状态成为可能。这需要对研究主体(其他的车辆、骑自行车的人、行人等)的行为建模,模拟出那些主体对虚拟汽车的新位置做出的反应。

Waymo称,它还可以在更新后的环境下合成为汽车和模型场景合成实际的传感器数据。当虚拟车驶过Waymo 车辆在现实世界中遇到的相同场景时,工程师会修改场景并评估可能的情况。他们还通过为场景添加虚拟添加新主体(比如骑自行车的人),或通过调整对向主体速度来评估Waymo Driver的反应。

慢慢地,模拟场景会通过大量派生让得到扩大,从而评估Waymo Driver 的预期行为。这一信息可用于改善安全性和性能。Karmel 说:“我把传感器模拟工作看作是现实环境行驶实验的增强。随着情况的变化,我们有能力逐步加深对现实世界的理解,而且随着我们不断做出变更来改善[我们系统]的性能状态,我们会不断[制造]出模拟的新挑战。”

上图: Waymo Carcraft  模拟中使用的真实的Waymo汽车数据。

除了构建由实际驾驶数据启发的场景外,Waymo还将部署从自己的私有试验跑道捕捉到的此前从未测试过的合成场景。该公司表示,此举可以继续扩大可模拟的里程数。根据Karmel的说法,绝大部分学习和开发工作都是在仿真中完成的——这些工作在Waymo Driver的更新版本问世之前就完成了。

在这些学习和开发过程中舒适度经常会被忽视。Waymo 表示自己将评估多个“舒适度”指标,比方说大家对车辆的各种驾驶行为会怎么反应。这种路测反馈可以用来训练AI模型,并在仿真环境下跑这些模型,从而验证不同的情况(确定理想的制动速度,确保汽车平稳行驶)会对乘客的舒适度造成何种影响。

Karmel 解释说:“ 我们对构成乘坐舒适的要素开始有了更好的了解。比方说加速和减速之类的东西就是关键要素之一,我们希望把这些信息反馈到模拟当中,从而预测乘客或驾驶员在现实世界中的反应。我们有一个机器学习模型可以预测在[Carcraft]里面的反应。”

除了Carcraft 之外,Waymo的工程师还可以利用类似Content Search、 Progressive Population-Based Augmentation (PPBA,基于人群的渐进性增强)、 Population-Based Training (PBT,基于人群的训练)之类的工具来支持各种开发,测试和验证工作。Content Search采用了跟支撑Google Photo和Google Image Search类似的技术,这种技术可以让数据科学家在Waymo的驾驶历史和记录中确定对象位置。PBT则是跟母公司Alphabet旗下的DeepMind 合作的,该工具可从多个机器学习模型开始,不断用“后代”来替代表现欠佳的成员,最终可将行人、自行车和摩托车识别任务的误报率减少24%。至于PPBA,这个东西可以在降低成本和加快训练过程的同时提高对象分类器的质量,这主要是因为它之需要对标签化的激光雷达数据进行训练。

Cruise

Cruise也在大量跑模拟——大概每天要在Google Cloud Platform上面进行200000小时的计算工作——其中一个是被Cruise员工称为The Matrix的端到端的3D Unreal Engine环境。这个环境可以让工程师构建自己能想象到的任何情况,同时合成摄像头镜头、LIDAR以及雷达等传感器输入为虚拟无人车馈送数据。

Cruise 的AI负责人Hussein Mehanna 说:“长尾情况的处理是无人车成为全世界最困难和最令人兴奋的AI问题之一的原因,也正因为此,我们才期望无人车及其底层模型要有极高的表现水平。只要看看那些训练数据,里面包括了成千上万的激光雷达扫描点、高分辨率图像、雷达数据,还有来自各种其他传感器的信息。所有这些都需要大量的基础设施。”

上图:GM Cruise的仿真平台The Matrix里面的端到端仿真环境。

Cruise每天要在300000个处理器内核以及5000块显卡上跑30000个实例,每个实例都要循环跑单次行驶遇到的各种场景,并生成300 TB的结果。(这基本上就像是同时开30000辆虚拟汽车。)然后该公司再通过重放来进行研究(其中包括提取真实世界的传感器数据,将数据回放到汽车的软件里面,再跟人工标记的地面实况数据进行性能比较。它还利用了规划仿真,就是通过调整类似对向行驶车辆速度以及两车之间车距之类的变量,来创建一种场景多达数十万种的派生。

据Cruise负责模拟的副总裁Tom Boyd称,工程师要做出选择,比如要对那些场景元素建模,建模的颗粒度应该多大等。比方说,他们要权衡模拟轮胎滑转(这取决于汽车的行驶里程,路况,甚至是车轴用的金属)是不是比对汽车挡风玻璃和后视镜的激光雷达反射或雷达多径回波进行建模更重要。

Cruise对模拟的各种权衡进行管理还有一个办法,那就是利用框架来满足测试对不同精确度的要求。那些不需要3D图形测试的可以在商品化硬件上门实时跑100多遍。Boyd说:“没有任何一种车辆动力学软件模型可以做到完全精确。软件慢慢会变得很复杂,为了处理好无人车在模拟和实际之间的细微差异,研发上随随便便就要花费好几个月的时间。”

Cruise的工程套件里面的工具包括基于Web的Webviz ,这是一个源自黑客马拉松项目的工具,现在每月大概有1000名员工在使用。其最新的生产版可以让工程师保存配置,共享各种参数,还可以在远程服务器上运行的时候观看车辆的模拟。另一个是Worldview,这是一个轻量级可扩展的2D / 3D场景渲染器,可让工程师快速地构建自定义的可视化。

译者:boxi。