告别五毛仿真环境:百度增强现实自动驾驶仿真系统登Science子刊

传统的自动驾驶仿真环境都是根据游戏引擎或高保真计算机图形创建的,这种环境缺乏现实世界图像的丰富性和真实性,训练效果有限,扩展性差、成本高。为弥补这一短板,百度开发了一个增强现实的全新自动驾驶系统,利用激光雷达和相机扫描得到的街景图像合成仿真环境。这一研究论文刊登在 3 月 27 日的《Science》子刊「Science Robotics」上。

仿真系统对自动驾驶技术的发展和验证来说至关重要。当前流行的最佳仿真方法利用游戏引擎或高保真计算机图形(CG)模型来创建驾驶场景。但是,创建 CG 模型和车辆运动(模拟对象)依然需要人工操作,这样做不仅成本高昂且耗费时间。此外,CG 图像依然缺乏现实世界图像的丰富性和真实性,使用 CG 图像进行训练也会导致性能下降。

本文中,百度展示了一种增强现实的自动驾驶仿真系统(AADS)。其构想是通过模拟交通流来增强现实世界图像,进而创建逼真的仿真图像和渲染。更具体地说,百度使用激光雷达(LiDAR)和相机扫描街景。根据获得的轨迹数据,为汽车和行人生成了看似合理的交通流,并将其合成到背景中。合成图像也可以基于不同视角和传感器模型(相机或 LiDAR)进行再合成。生成的逼真图像添加了完整注释,并且可用于从感知到规划的自动驾驶系统训练和测试。

百度通过检测、分割和预测等一系列自动驾驶任务说明了系统设计原理并验证了其算法。相较于传统方法,百度团队的方法具有可扩展性和真实性。可扩展性对自动驾驶仿真而言极其重要,同时他们认为在虚拟环境中无法真实地捕捉现实世界的复杂性和多样性。百度的增强现实方法结合了虚拟环境的灵活性(如车辆运动)和真实世界的丰富性,从而实现了有效模拟。

引言

近年来,自动驾驶汽车已经引起了研究人员、风险资本家和普通民众的大量关注。自动驾驶汽车预计会在安全性、机动性和环境问题方面带来巨大的社会效益,因而引起了全世界人民的关注。但是,鉴于近来出现的自动驾驶汽车交通事故,要满足自动驾驶汽车相关的高标准和预期很明显还有很长的一段路要走。

安全性是自动驾驶汽车的核心要求。有人认为自动驾驶汽车必须在具有挑战性的条件下接受数亿英里的驱动测试,以证明其在减少伤亡方面的统计可靠性。但即使是在最激进的评估模式下,这也需要数十年的道路测试。用于验证自动驾驶汽车安全性的新方法和度量正在开发。

仿真系统可能是一种有效的解决方案,此类系统在执法、防御和医疗训练等领域很常见。自动驾驶的仿真可以实现两个目的:其一,测试和验证自动驾驶汽车在环境感知、导航和控制方面的性能;其二,生成大量有标签的训练数据以训练深度神经网络等机器学习方法。计算机视觉领域近期已采纳了第二个目的。

生成这种模拟器的最常见方法是结合计算机图形、物理建模和机器人运动规划技术来构建一个合成环境,然后在该环境中对运动的车辆进行动画制作和渲染。最近开发了很多模拟器,如英特尔的 CARLA、微软的 AirSim、英伟达的 Drive Constellation 以及谷歌/Waymo 的 CarCraft 等。

尽管所有这些模拟器取得了当前最佳的合成渲染结果,但这些方法很难在现实世界中部署。一个主要障碍在于对高保真环境模型的需求。创建逼真 CG 模型的成本高得离谱。所以,来自这些模拟器的合成图像具有明显的 CG 渲染外观和感觉,即游戏或者虚拟现实系统质量。

此外,汽车和行人等运动障碍的动画制作往往照本宣科,缺乏真实场景的灵活性和真实性。另外,这些系统无法生成城市环境中包含车辆、行人或自行车的不同场景。

百度在文中介绍了一种数据驱动的端到端自动驾驶仿真方法:增强现实的自动驾驶仿真系统 AADS。该方法通过模拟交通流来增强现实世界图像,进而创建逼真的、媲美现实世界渲染的仿真场景。

图 1 显示了 AADS 系统的管道以及主要的 F1 输入和输出。百度特别建议使用激光雷达(LiDAR)和相机来扫描街景。百度将输入数据分解为背景、场景照明和前景目标。百度还提出一种视图合成技术,从而能够在静止背景下改变视图。前景车辆采用三维(3D)CG 模型。

借助于准确估计的室外照明,3D 车辆模型、计算机生成的行人以及其他运动物体可以重新定位并渲染回背景图像中,以创建逼真的街景图像,使它们看起来像是从行车记录仪中捕捉到的一样。此外,合成对象的布局和位移等模拟生成的交通流基于捕捉到的、看起来自然的现实世界车辆轨迹,并且具有现实世界场景的复杂性和多样性。

图 1:AADS 系统的输入、处理管道和输出。上:数据集的输入。虚线之间显示了 AADS 的管道,包含数据预处理、新背景合成、轨迹合成、移动目标的增强和 LiDAR 模拟。下:AADS 系统的输出,包含合成的 RGB 图像、一个 LiDAR 点云和带有真实注释的轨迹。

与传统基于 VR 或基于游戏引擎的自动驾驶车辆模拟系统相比,AADS 提供了更准确的端到端模拟能力,不需要昂贵的 CG 模型或繁琐的程序来定义交通流。因此该系统可以大规模应用,包括训练和评估新的自动驾驶车辆导航策略。

AADS 成功的关键是 3D 场景扫描图像和车辆轨迹数据的广泛可用性,二者在新的交通场景图像自动生成中都是必需的。百度还将开放部分为开发和评估 AADS 系统收集的真实世界数据。这些数据都是由专业标注服务商标注过的。除了 AADS 之外,这些数据还可能用于与感知和规划相关的许多任务,以推动该领域研究的进一步发展。

本文的技术提升表现在以下几个方面:

  • 提出了一个用于自动驾驶模拟的数据驱动算法:利用扫描得到的街景图和真实的轨迹可以自动合成逼真图像和仿真移动模式。这种扫描到模拟的直接通道几乎不需要人工干预,就可以在闭环仿真环境中随时随地对自动驾驶汽车进行大规模测试。
  • 提出了一种视图合成方法,仅使用少量图像就可以实现视图插值和外推:与之前的方法相比,它可以生成噪点更少的高质量图像。
  • 提出了一套新的数据集,包括最大的交通轨迹集和最大的、具有像素/点级别注释的 3D 街景数据集:所有图像都是在车辆密集、路况复杂的都市捕捉到的。这种拥堵的城市交通环境给自动驾驶提出了重大挑战。

图 2:ApolloScape 数据集及其扩展。上:ApolloScape 与其他流行数据集的对比。下左:RGB 图像、注释和点云(从上到下);下右:数据集中一些有标记的交通轨迹。

图 3:深度提取的视图合成结果和有效性。A 和 B:数据集中的原始 RGB 图像和深度图像。C 到 E:过滤和完成之后的深度提取。F 和 G:在 (H) 中使用初始和提取深度以及近视图进行视图合成的结果。I 到 K:利用 Liu 等人、Chaurasia 等人以及百度的方法进行视图合成的最终结果。

图 5:RGB 图像增强评估。左边的四张图像是从 CARLA(A)、VKITTI 数据集(B)、百度的 AADS-RGB 数据集(C)和测试数据集 CityScapes(D)中选取的。右边的条形图显示了评估结果。

图 6:LiDAR 模拟评估。(A)用于实时实例分割的数据集大小和类型(真实或模拟)评估。(B)不同对象放置方法的评估结果。(C)使用实例分割的真实数据增强评估(均值掩码 AP)。

图 8:新型视图合成管道。A:用四张最近的推理图像合成 D 中的目标视图。B:通过深度代理(proxy)将四幅参考图像合成到目标视图中。C:采用拼接方法得到完整的图像。D:新视图的最终结果是经过后处理后合成的,如孔的填充和颜色的混合。

方法

AADS 用扫描的真实图像来进行 AQ63 模拟。百度的目标是在扫描的场景中用新的轨迹来模拟新的车辆和行人。为此,在模拟数据之前,AADS 应该从扫描的 RGB 图像和点云中移除运动目标,如车辆和行人。运动物体的自动检测和移除本身就构成了一个完整的 AQ64 研究课题;幸运的是,最近的数据集都提供了 RGB 图像的语义标签,包括点云。

通过使用 ApolloScape 数据集中的语义信息,百度移除了特定类型的目标,如汽车、自行车、卡车和行人。移除这些运动目标后,RGB 图像和点云上出现了无数的孔洞,必须小心地填补这些孔洞才能为 AADS 生成完整而干净的背景。百度使用最新的 RGB 图像修复方法来填补图像中的孔洞。该方法使用语义标签来指导基于学习的修复技术,从而达到可接受的图像质量。

给定合成的背景图像,可以把任何 3D CG 模型放在背景上,然后将其渲染至图像空间中以生成新的合成模拟图像。但是,要使合成图像逼真(接近真实图像),必须首先估计背景图像中的光照度。这样 AADS 才能渲染出背景和车身上阴影一致的 3D CG 模型。百度根据论文 (37) 中的方法解决了户外光照估计问题。

此外,为了进一步提升合成图像的真实性,AADS 还提供了一个可选特性,通过从真实图像中抓取纹理来增强 3D CG 模型的外观。具体而言,给定一个没有移除汽车的 RGB 图像,检索相应的 3D 汽车模型并使用论文 (38) 中的方法将这些模型与输入图像对齐。与 (39) 类似,百度使用了对称先验来根据对齐的真实图像迁移和完成 3D CG 模型的外观。

为您推荐