使用合成数据处理自动驾驶汽车感知

avatar
@NVIDIA

这篇文章最初发表在 NVIDIA 技术博客上。

  自动驾驶汽车 (AV) 有各种形状和大小,从小型客车到多轴半挂卡车不等。但是,部署在这些车辆上的感知算法必须经过训练,以处理类似情况,例如避开障碍物或行人。

用于开发和验证这些算法的数据集通常由一种类型的车辆收集,例如配备摄像头、雷达、激光雷达和超声波传感器的轿车。

在车队传感器数据上训练的感知算法可以在类似的传感器配置上可靠地执行。但是,在使用不同传感器配置的车辆上部署相同的算法时,感知性能会降低,因为它是从新的角度来看世界的。

要解决感知准确性方面的任何损失,需要测量深度神经网络 (DNN) 对新传感器位置的敏感度。使用灵敏度分析,可以从多个角度重新训练感知算法,从而有针对性地提高可靠性。

但是,执行灵敏度分析和重新训练感知都需要跨各种传感器配置收集和标注数据集。这是一个耗时且成本高昂的过程。

这篇博文展示了合成数据集如何通过 NVIDIA DRIVE Sim 以及 NVIDIA 在新视图合成 (NVS) 方面的最新研究,来填补数据缺口,并有助于在部署新传感器配置时保持感知准确性。

测量 DNN 灵敏度

在创建合成数据集以模拟不同传感器视角之前,首先需要在 NVIDIA DRIVE Sim 中构建测试车队车辆的数字孪生,并配备经过校准的仿真摄像头传感器,以匹配真实世界的传感器配置

合成数据是通过在预定义的场景中驾驶自我车辆,使其遵循特定的轨迹,并保存模拟的摄像头数据来生成的。在场景的每次运行中,传感器装备高度、俯仰角和安装位置等方面都各不相同,以模拟其他类型的车辆。

使用 NVIDIA Omniverse Replicator 在 Omniverse 中生成真值 (Ground Truth, GT) 标签,如 3D 边界框和目标类别,这对评估感知算法至关重要。整个工作流程都是可复现的,支持定义明确的实验运行,以便快速测量感知算法的灵敏度。

在对生成的数据集运行 DNN 推理后,将网络的预测与 GT 标签进行比较,以测量网络针对不同摄像头高度的每个传感器配置的准确性,如图 1 和 2 所示。每个数据集的场景相同,但从不同的传感器角度来看。在图 1 中,蓝色框代表 GT 标签,而绿色框代表网络的预测。在图 2 中,蓝色框代表 GT 标签,而红色框代表网络的预测。

Side-by-side images from four sensor configurations showing a simulated driving scene with bounding boxes around other cars and objects in each frame. 图 1.物体检测 DNN 在四个不同的合成数据集上运行的示例,重点关注车辆物体类别

Side-by-side images from four sensor configurations showing a simulated driving scene with bounding boxes around other cars and objects in each frame. 图 2.物体检测 DNN 在四个不同的合成数据集上运行的示例,重点关注行人物体类

鉴于网络是根据一种车辆类型的数据进行训练的,因此类似摄像头位置的检测结果更准确,并且会随着摄像头位置的显著变化而降低。

要解决新型车辆在感知和部署方面的这些差距,需要针对不同于原始数据的观点建立有针对性的数据集。虽然现有车队数据可用于传统的增强功能,但这种方法并不能完全满足从新的观点捕获数据集的需求。

新颖的视图合成

NVS 是一种计算机视觉方法,用于从一组现有图像中生成新的、无形的场景视图。借助此功能,可以从车辆摄像头最初未捕获的不同视角或角度创建场景图像。

Five side-by-side images illustrating the NVS pipeline. It starts with the source image, then depth estimation, followed by mesh creation. Finally, a diagram showing sensors being adjusted to a new viewpoint, resulting in the final novel view image. 图 3.完整的新型视图合成管线

NVIDIA 研究团队最近推出了一种 NVS 方法,该方法能够模拟其他摄像头的高度、俯仰和角度,将动态驾驶数据从一个传感器位置转换到新的视角。有关详细信息,请参阅鸟瞰图分割中的 Viewpoint 鲁棒性

我们的方法基于 Worldsheet,这是一种结合深度估计和 3D 网格合成来生成静态场景新视角的技术。首先,根据预测的深度值将网格扭曲以匹配场景,从而创建 3D 场景网格。接着,使用纹理采样器将原始图像中的 RGB 像素强度映射或投射到 3D 网格的纹理图上。这种方法通过采用基于激光雷达的深度监督和自动生成的掩膜来提高深度估计的准确性并处理遮挡问题,扩展了该领域先前的研究工作。

现在,NVS 模型可用于生成数据,就像从不同类型的车辆中获取数据一样,从而解锁现有车队数据,以便在未来的自动驾驶汽车开发中使用。

A grid of camera images from a vehicle’s point of view, each showing slight adjustments in camera pitch, depth, and height.图 4.NVS 转换后的图像示例,这些图像生成的视点会改变音高、深度和高度 验证 NVS 并提高感知性能

在将 NVS 生成的数据纳入训练数据集之前,请先验证其是否准确表示真实世界,并对感知训练有效。

为此,请结合使用车队数据和 NVS 转换后的数据训练感知算法,以验证 NVS 算法。如果没有真实数据来从多个传感器角度测试模型的性能,请在 DRIVE Sim 中生成合成数据和 GT 标签,这与之前讨论的灵敏度测试类似。

A grid of camera images from a vehicle’s point of view, each showing slight adjustments in camera pitch, depth, and height.图 5.在 DRIVE Sim 中生成的一组用于感知验证的具有不同音高、深度和高度的摄像头图像 在这些合成数据集上运行推理表明,使用 NVS 生成的数据进行训练可以提高感知性能。具体而言:

  • NVS 生成的数据质量适用于传感器俯仰角的变化,高度的较大变化则最低。
  • NVS 转换后的训练数据能够恢复宝贵的感知性能,而这只有通过为每个新传感器配置收集新数据才能实现。

这种方法开启了一种新的 AV 开发方法,即数据只需收集一次,然后再重新用于多种车辆类型,从而显著降低部署成本和时间。

结束语

开发跨不同类型车辆可靠运行的感知堆栈是一项巨大的数据挑战。然而,用于新视图合成 (NVS) 的合成数据生成和 AI 技术能够实现感知灵敏度的系统测量。这显著增加了现有数据集的价值,并缩短了为任何车辆部署感知堆栈的时间。

我们邀请研究社区参与这项工作。因此,我们将发布基于鸟瞰图分割中的 Viewpoint 鲁棒性对于 DRIVE Sim 的评估结果。欢迎 探索这些数据并了解详情

阅读原文