应用案例:使用合成数据实现自动驾驶摄像感知系统聚焦远
2023-06-07 20:29
探测远场物体(比如 100 米以外的车辆等)是自动驾驶系统在高速公路上安全运行的基础。
在此类高速环境中,每一秒都至关重要。因此,如果能够将以 70 英里/小时(约 113 公里/小时)速度行驶的自动驾驶车辆的感知范围从 100 米增加到 200 米,那么车辆就会有更多的时间裕量来做出反应。
然而,对于量产乘用车中所部署的摄像感知系统来说,扩大这一范围尤其困难。训练摄像感知系统来探测远场物体需要采集大量摄像数据以及真值(ground truth)标注,比如 3D 边界框和距离等。
图 1. 自动驾驶汽车离其他物体越远,就越难执行准确的摄像感知和真值标注。(图中的汽车未按比例绘制)
对于 200 米以外的物体,要提取这种真值数据就会变得更加困难。物体越远,它在图像中就越小,最终会变得只有几像素那么大。通常情况下,会同时使用像激光雷达这样的传感器,以及聚合和自动标注技术来提取 3D 和距离信息,但这类在激光雷达工作范围外的数据会变得稀疏并充满干扰。
图 2. 摄像头数据实例(使用 30 度视场的长焦镜头在高速公路场景中拍摄),放大图显示了只有几个像素的远处汽车图像。
在开发过程中,NVIDIA DRIVE 自动驾驶汽车团队需要解决这一具体挑战。为此,NVIDIA 利用 NVIDIA Omniverse Replicator 的功能,在 NVIDIA DRIVE Sim 中生成远场物体的合成真值数据。
NVIDIA DRIVE Sim 是依托 Omniverse 构建而成的自动驾驶汽车仿真平台,包含了基于物理学的传感器模型,这些模型已通过全面的高保真传感器仿真验证。更多详情,请参阅验证 NVIDIA DRIVE Sim 摄像头模型:https://developer.nvidia.com/zh-cn/blog/validating-drive-sim-camera-models/
通过 NVIDIA DRIVE Sim 能够查询仿真场景中每个物体的位置(包括在任何摄像头分辨率下,距离车辆 400 米或 500 米的物体)并达到像素级精度。
通过将车辆位置信息与基于物理学的合成摄像头数据相结合,即可生成感知所需的 3D 和距离真值标签。
通过将这些合成真值数据添加到现有的真实数据集中,便能够训练可探测远距离汽车的网络,并将 190 米到 200 米处汽车的 F1 得分提高 33%。
生成远场物体的合成真值数据
为了解决准确标注的远场数据的稀缺问题,NVIDIA 准备生成一个由近 10 万张远距离物体图像组成的合成数据集以增强现有的真实数据集。图 3 展示了在 NVIDIA DRIVE Sim 中使用 Omniverse Replicator 生成这些数据集的过程(从选择 3D 环境,到评估深度神经网络(DNN)性能)。
图 3. 用户可以使用 NVIDIA DRIVE Sim 不断迭代合成数据,以提高深度神经网络(DNN)的准确性
在选择了针对高速公路用例的 3D 环境之后,NVIDIA 设置了一辆带有所需摄像头传感器的目标车辆(ego vehicle)。
NVIDIA DRIVE Sim 利用建立在 Omniverse Replicator 框架上的域随机化 API,以编程方式改变 3D 资产的外观、位置和运动。通过使用 ASAM OpenDRIVE 地图 API,将车辆和障碍物放置在 100 米至 350 米以上的远场距离上并使之具有情境感知能力。
视频 1.可使用 NVIDIA DRIVE Sim 中生成的合成真值数据和 Omniverse Replicator 来训练网络对远场物体的感知。
NVIDIA DRIVE Sim 动作系统能够仿真各种有遮挡物的棘手情况,例如变道或近距离超车抢道等。这为现实世界中难以遇到的场景提供了关键数据。
在数据生成前的最后一步,需使用 Omniverse Replicator 的真值写入器生成必要的标签,包括 3D 边界框、速度、语义标签、物体 ID 等。
利用合成摄像头数据提高摄像头感知性能
这个用例中的真实训练数据集由 100 多万张图像组成,图像中包含高速公路场景中距离超过 200 米的车辆的真值标签。如图 4 左侧所示,这些真实图像中的汽车分布数,在距离数据采集车不到 100 米的地方达到峰值。距离更远的物体的真值标签十分稀疏,不足以提升感知能力。
图 4. 真实世界数据集与 NVIDIA DRIVE Sim 中生成的合成数据相对于本车距离的频率分布比较。目标车辆的前方为 0 度,后方为 180 度。角度为方位角值。
在本案例中,生成了约 9.2 万张合成图像以及约 37.1 万个汽车实例和真值标签,重点是放置在 350 米以内的远距离车辆的分布。合成数据集中的汽车分布更倾向于 150 米以上的远距离。通过向这个真实数据集添加约 9.2 万张合成图像,可将所需的有标签的远场物体引入到训练分布中。
在综合数据集上训练完感知算法后,NVIDIA 对真实数据集进行了测试,该数据集上的汽车分布范围在 200 米以内。根据按距离计算的感知性能改进 KPI,190 米至 200 米之间的汽车的 F1 得分(衡量模型在数据集上的准确性)最多可提高 33%。
图 5. 在使用/未使用 NVIDIA DRIVE Sim 的仿真图像训练 DNN 的情况下,障碍物检测 DNN 的性能提高程度(F1 得分)。
总结
合成数据正在推动自动驾驶车辆开发范式的重大转变,解锁以前无法实现的新用例。通过使用 NVIDIA DRIVE Sim 和 NVIDIA Omniverse Replicator,用户可以设计新传感器的原型、评估新的真值数据类型和自动驾驶车辆感知算法并仿真罕见的负面事件,所有这些都在虚拟的试验场中进行,所耗费的时间和成本远低于现实世界。
合成数据集为自动驾驶车辆的感知提供了丰富的可能性并且在不断发展。如要了解 NVIDIA 的工作流和更多信息,敬请回看 NVIDIA GTC DRIVE 开发者日分会:如何利用NVIDIA DRIVE Replicator生成合成数据。https://www.nvidia.cn/on-demand/session/gtcspring23-se50004/