自动驾驶

验证 NVIDIA DRIVE Sim 摄像头模型

在部署自动驾驶车辆之前,需要在各种场景中进行大规模开发和测试。

仿真可以通过为自动驾驶车辆提供可扩展、可重复的环境来应对这些挑战,以应对训练、测试和验证所需的罕见和危险场景。

Omniverse 上的 NVIDIA DRIVE Sim 是专为开发和测试自动驾驶汽车( AV )而构建的仿真平台。它提供了车辆、 3D 环境和 AV 系统开发和验证所需传感器的高保真数字孪生模型。

与视频游戏等其他应用程序的虚拟世界不同, DRIVE Sim 必须生成准确模拟真实世界的数据。在工程工具链中使用仿真需要清楚地掌握模拟器的性能和局限性。

该精度涵盖模拟器建模的所有功能,包括车辆动力学、车辆部件、其他驾驶员和行人的行为以及车辆传感器。这篇文章涵盖了 DRIVE Sim 中相机模型验证的一部分,这需要评估每个元素的单独性能,从世界场景的渲染到协议模拟。

验证摄像机仿真模型

可采用两种方法对模拟摄像机进行彻底验证:

  • 对模型每个组成部分的单独分析(图 1 )。
  • 一种自上而下的验证,通过比较在真实或合成图像上训练的感知模型的性能,验证模拟器生成的摄像机数据在实践中准确地表示真实的摄像机数据。

单个成分分析是一个复杂的主题。这篇文章描述了我们对相机模型的两个关键属性的组件级验证:相机校准(外部和内部参数)和颜色精度。直接与真实世界的相机数据进行比较,以识别模拟图像和真实世界图像之间的任何增量。

A table summarizing the components of an autonomous vehicle camera model, including World Light Simulation, Lens Simulation, Image Sensor Simulation and ISP Simulation.A table summarizing the components of an autonomous vehicle camera model, including World Light Simulation, Lens Simulation, Image Sensor Simulation and ISP Simulation.
图 1 。相机模型组件概述

为了进行验证,我们选择使用 NVIDIA DRIVE Hyperion 传感器套件中的一组相机型号。图 2 详细说明了整个测试过程中使用的摄像机模型。

A breakdown of the NVIDIA DRIVE Hyperion 8 camera sensor set, which includes Front Wide, Front Tele, Left Fisheye, Right Fisheye, Front Fisheye, Back Fisheye, Rear Left, Rear Right, Front Tele Satellite, Rear Tele, Cross Left and Cross right.A breakdown of the NVIDIA DRIVE Hyperion 8 camera sensor set, which includes Front Wide, Front Tele, Left Fisheye, Right Fisheye, Front Fisheye, Back Fisheye, Rear Left, Rear Right, Front Tele Satellite, Rear Tele, Cross Left and Cross right.
图 2 。 NVIDIA DRIVE Hyperion 8 传感器组

摄像机校准

AV perception 需要精确了解摄像头在车辆上的位置,以及摄像头的每个独特镜头几何如何影响其生成的图像。 AV 系统通过摄像机校准处理这些参数。

模拟摄像机传感器应在同一校准和数字双环境下准确再现真实摄像机的图像。同样,当输入校准工具时,模拟摄像机图像应能产生与真实图像相似的校准参数。

我们使用我们的传感器校准接口 NVIDIA DriveWorks 来估计本文中提到的所有摄像机参数。

可通过以下步骤验证摄像机特性:

  • Extrinsic validation :摄像头外部特性是描述其在车辆上的位置和方向的摄像头传感器的特性。外部验证的目的是确保模拟器能够在给定的位置和方向准确地再现真实传感器的图像。
  • Calibration validation :通过计算重投影误差来验证校准的准确性。在实际校准中,此方法用于量化校准是否有效和成功。我们在此应用此步骤来计算在真实图像和模拟图像上重新投影的关键检测特征之间的距离。

内在验证

通过设置多项式系数,内在相机校准比其制造公差更精确地描述单个透镜的独特几何结构。

	heta=c0+c1r+c2r^2 +c3r^3+c4r^4	heta=c0+c1r+c2r^2 +c3r^3+c4r^4

  • rr是到畸变中心的距离(以像素为单位)
  • c0,c1,c2,c3,c4c0,c1,c2,c3,c4是畸变函数的系数
  • 	heta	heta(θ)是以弧度为单位的结果投影角度

该多项式的校准使 AV 能够通过描述镜头畸变的影响,从摄像机数据中做出更好的推断。两个透镜模型之间的差异可以通过计算它们之间的最大θ失真来量化。

Diagram showing the maximum theta distortion.Diagram showing the maximum theta distortion.
图 3 。最大θ畸变图

最大θ失真描述通过透镜边缘(对应于图像边缘)的光的角度差,其中失真最大。在本测试中,我们使用最大θ失真来描述由真实校准图像生成的透镜模型与由合成图像生成的透镜模型之间的差异。

我们根据以下过程验证了模拟摄像机的固有校准:

  1. 执行内部摄像机校准: 安装在车辆或试验台上的摄像头可捕获棋盘格图表的视频,该棋盘格图表以不同的距离和倾斜度在每个摄像头的视野中移动。该视频被输入到 DriveWorks Intrinsics 约束工具中,该工具将从视频中提取不同的棋盘图像,并输出校准中每个摄像机的多项式系数。
  2. 生成模拟棋盘格校准图像: 实际摄像头镜头校准数据用于在 Drive Sim 中重新创建每个摄像头。我们根据校准工具输出的估计图表位置和方向,在模拟中重新创建了真实的棋盘图像。
  3. 从合成图像生成内部校准: 我们将合成图像输入 DriveWorks 校准工具,以生成新的多项式系数。
  4. 计算从真实镜头到模拟镜头的最大θ失真: 对于每个镜头,我们比较了真实图像校准定义的几何体与模拟图像校准定义的几何体。然后我们找到了两个透镜之间光线通过角度变化最大的点。该变化以该透镜理论视场的(	heta	heta/(FOV*100))报告。
Flow of steps for intrinsic validation which starts with capturing real scene checkerboard video, then inputting video into calibration tool, then recreating images in DRIVE Sim, then feeding synthetic checkerboard images into calibration tool, and finally computing max distortion between real and sim lens models.Flow of steps for intrinsic validation which starts with capturing real scene checkerboard video, then inputting video into calibration tool, then recreating images in DRIVE Sim, then feeding synthetic checkerboard images into calibration tool, and finally computing max distortion between real and sim lens models.
图 4 。内在验证过程

每个摄像机的最大θ失真是通过比较其真实 f- θ镜头校准与模拟图像产生的校准得出的。

Chart comparing the maximum theta distortion from the F-theta model, with front camera fisheye showing the highest at just .58% of theoretical field of view and cross right camera at the lowest.Chart comparing the maximum theta distortion from the F-theta model, with front camera fisheye showing the highest at just .58% of theoretical field of view and cross right camera at the lowest.
图 5 。 F- θ模型的最大θ失真

第一个结果超出了我们的预期,因为模拟的行为是可预测的,并且再现了真实世界校准的观察结果。

这一比较为我们的模型准确表示镜头畸变效应的能力提供了第一个置信度,因为我们观察到真实和模拟相机之间存在微小差异。前长焦镜头在现实生活中很难约束,因此我们预计它在我们的模拟结果中是一个异常值。

鱼眼摄像头校准显示出最大的真实到 sim 差异(前鱼眼摄像头的 FOV 为 0.58% )。

查看这些结果的另一种方法是考虑畸变对生成图像的影响。我们在后面的步骤中比较了校准图中的真实和模拟检测特征,如 数字特征标记比较 所述。

我们继续进行外部验证方法。

外部验证

我们根据以下过程验证了模拟摄像机的外部校准:

  1. 执行外部摄像机校准 :安装在车辆或测试台上的摄像机拍摄到整个实验室中的多个校准模式( APLILAT TAG )的图像。我们的测试是,摄像机安装在NVIDIA DRIVE Hyperion 级 2 +参考架构上。使用 DriveWorks 校准工具,我们计算了摄像机的精确位置和方向以及三维空间中的校准图表。
  2. 在模拟中重新创建场景: 使用来自真实校准和 AprilTag 海图位置的地面真相的外部参数,在模拟中以与真实实验室相同的相对位置和方向生成相机和海图。系统从每个模拟相机生成合成图像。
  3. 从合成图像生成外部校准,并与真实校准进行比较: 合成图像被输入到 DriveWorks 校准工具中,以输出场景中所有摄像机和图表的位置和方向。我们计算了从真实和合成校准图像得出的外部参数之间的 3D 差异。
A diagram of the extrinsic validation process, starting with capturing real scene calibration images, recreating the scene in simulation, capturing the sim scene calibration image, then comparing calculated camera positions, orientations and lens models.A diagram of the extrinsic validation process, starting with capturing real scene calibration images, recreating the scene in simulation, capturing the sim scene calibration image, then comparing calculated camera positions, orientations and lens models.
图 6 。外部验证过程

图 7 显示了测试摄影机装备上 12 个摄影机中每个摄影机的外部参数差异,将真实摄影机校准与模拟摄影机图像产生的校准进行了比较。所有摄像机位置参数在 3 厘米内匹配,所有摄像机方向参数在 0.4 度内匹配。

所有位置和方向均以右手参考坐标系为基准,原点位于投射到地平面上的汽车后轴中心,其中 x 与汽车方向对齐, y 向左, z 向上。偏航、俯仰和横摇是围绕 z 、 y 和 x 的逆时针旋转。

Graph comparing the camera position extrinsic differences, calibration input to output, with front telephoto camera showing the highest absolute difference.Graph comparing the camera position extrinsic differences, calibration input to output, with front telephoto camera showing the highest absolute difference.
图 7 。摄像机位置外部差异–校准输入到输出
Graph comparing the camera orientation extrinsic differences, from calibration input to output.Graph comparing the camera orientation extrinsic differences, from calibration input to output.
图 8 。摄像机方向外部差异–校准输入到输出

后果

前面描述的验证将真实实验室校准与 DRIVE Sim RTX 渲染器中的 digital twins 校准进行比较。 RTX 渲染器是一种路径跟踪渲染器,它提供两种渲染模式,一种是实时模式,另一种是参考模式(非实时,注重准确性),以根据具体的使用情况提供完全的灵活性。

这个完整的验证过程是使用 RTX 实时模式和参考模式渲染的数字双胞胎来完成的,以评估分配给渲染的处理能力降低的效果。请参见下表中的实时验证结果摘要,以及可供比较的参考结果。

正如预期的那样,由于图像质量降低,在实时渲染时,大多数测量的 real-to-sim 误差略有增加。尽管如此,基于实时图像的校准与实验室校准相匹配,相机的校准范围为 0.030 米和 0.041 度, AprilTag 位置的校准范围为 0.041 米和 0.010 度,镜头模型的校准范围为理论视野的 0.49% 。

Table comparing reference to real-time validation results.
Metric
Camera Position Difference (meters)
Average
Ref
0.005
RT
0.007
Max
Ref
0.028
RT
0.030
Metric
Camera Orientation Difference (deg)
Average
Ref
0.048
RT
0.102
Max
Ref
0.354
RT
0.613
Metric
AprilTag Position Difference (meters)
Average
Ref
0.007
RT
0.006
Max
Ref
0.044
RT
0.041
Metric
AprilTag Orientation Difference (deg)
Average
Ref
0.001
RT
0.001
Max
Ref
0.004
RT
0.010
Metric
Max Theta Distortion (% of FOV)
Average
Ref
0.20
RT
0.24
Max
Ref
0.50
RT
0.49 Table comparing reference to real-time validation results.
Metric
Camera Position Difference (meters)
Average
Ref
0.005
RT
0.007
Max
Ref
0.028
RT
0.030
Metric
Camera Orientation Difference (deg)
Average
Ref
0.048
RT
0.102
Max
Ref
0.354
RT
0.613
Metric
AprilTag Position Difference (meters)
Average
Ref
0.007
RT
0.006
Max
Ref
0.044
RT
0.041
Metric
AprilTag Orientation Difference (deg)
Average
Ref
0.001
RT
0.001
Max
Ref
0.004
RT
0.010
Metric
Max Theta Distortion (% of FOV)
Average
Ref
0.20
RT
0.24
Max
Ref
0.50
RT
0.49
图 9 。参考与实时验证结果

下图显示了真实和模拟环境中 22 个 AprilTag 图表的平均和最大位置或方向差异。从真实图表到他们的数字双胞胎的平均位置差异在所有轴上都小于 1.5 厘米,并且没有个别图表的位置差异在任何轴上超过 4.5 厘米。

所有轴上真实图表与其数字孪生图形之间的平均方向差均小于 0.001 度,且任何轴上单个图表的方向差均不超过 0.004 度。

Graph comparing the average and maximum AprilTag orientation differences, with X seeing the highest absolute difference for both average and maximum positions.Graph comparing the average and maximum AprilTag orientation differences, with X seeing the highest absolute difference for both average and maximum positions.
图 10 。平均/最大 AprilTag 方向差异–校准输入到输出

目前还没有定义可接受误差的标准,在该误差下,可以认为传感器仿真模型是可行的。因此,我们将我们的位置和方向增量值与真实校准产生的校准误差进行比较,以确定我们模拟的最大可接受误差的有效标准。我们测试产生的误差始终小于在真实世界中观察到的校准误差。

该校准方法基于我们的校准工具使用的统计优化技术,因此会引入自身的不确定度。然而,还需要注意的是, DriveWorks 校准系统在传感器校准的研究和开发中一直使用,具有较高的精确度。

这些结果还表明,校准工具可以与模拟渲染图像一起工作,并提供与真实世界相当的结果。事实上,真实世界的校准系统和我们的模拟是一致的,这是我们的相机模拟模型的第一个重要信心指标。

此外,该方法还验证了模拟器作为一个整体,因为用于校准的 digital twin 使用所有 12 个摄像头对整个场景进行建模,而无需调整值以改善结果。

为了进一步评估该方法的有效性,我们在真实图像和模拟图像之间进行了直接的数字特征标记比较。

数字特征标记比较

校准工具提供一个视觉验证器,根据估计的内在参数将校准图表位置重新投影到输入图像上。图像显示了模拟和真实摄像机的检测特征叠加和重投影统计(平均、标准、最小和最大重投影误差)示例。

Image showing the overlay target positions onto input images.Image showing the overlay target positions onto input images.
图 11 。将目标位置覆盖到摄像机\后部\鱼眼\ 200fov 的输入图像上

计算重投影误差使我们能够进一步断言先前校准方法的有效性。这种方法解析校准工具检测到的特征,并将其与真实图像中的特征进行比较。

这里,我们将校准图中每个 AprilTags 的角点视为特征标记。我们计算了在真实图像上检测到的特征标记与合成图像之间的像素距离,用于路径跟踪和实时模拟。

下图显示了模拟参考路径标记和真实特征标记之间 1.4 像素的平均距离。基于实时模拟数据集的相同比较产生 1.62 像素的平均重投影误差。

Graph comparing the average reprojection error of each camera model, with camera front telephoto sat, camera front telephoto 30 and camera rear telephoto 30 showing the highest average distance between feature markers.Graph comparing the average reprojection error of each camera model, with camera front telephoto sat, camera front telephoto 30 and camera rear telephoto 30 showing the highest average distance between feature markers.
图 12 。平均重投影误差(参考与实时)

这两个值都是实际投影误差阈值( 2 像素),用于评估实际校准的精度。结果是非常有希望的,特别是因为这种方法不太依赖于我们的校准工具的内部工作。

事实上,校准工具仅用于估计每个图像中检测到的特征标记。标记的比较是基于对三维空间中对象的纯算法分析来完成的。

颜色准确度评估

摄像机标定结果表明,我们的摄像机传感器模型生成的图像与其真实图像对应的像素对应。下一步是验证与每个像素关联的值是否准确。

我们模拟了一个麦克白颜色检测器图表,并在 DRIVE Sim 中捕获了它的图像,以验证图像质量。然后将每个色块的 RGB 值与相应真实图像的 RGB 值进行比较。

除了真实的图像,我们还介绍了 Iray renderer , NVIDIA 最真实的物理光模拟器,经 CIE 171:2006 验证。我们首先使用 Iray 渲染系统生成的模拟图像,然后使用 NVIDIA RTX 渲染器执行此测试。与 Iray 的比较很好地衡量了 RTX 渲染器相对于公认行业黄金标准的能力。

Sketch depicting the image quality test setup.Sketch depicting the image quality test setup.
图 13 。图像质量测试设置

我们根据以下过程验证了模拟摄像机的图像质量:

  1. 在试验箱中捕获麦克白颜色检查器图表的图像: 将麦克白颜色检查器图表放置在测量高度处,并使用特征化的外部光源进行照明。摄像机放置在麦克白图表已知的高度和距离处。
  2. 在模拟中重新创建图像: 使用测试设置的尺寸、校准的麦克白图表值和外部照明配置文件,我们使用 DRIVE Sim RTX 渲染器渲染测试场景。然后,我们使用预定义的相机模型重新创建在实验室捕获的图像。
  3. 提取每个面片的平均亮度和 RGB 值: 我们对所有三幅图像( real 、 Iray 、 DRIVE-Sim RTX 渲染器)的每个面片中所有像素的颜色值取平均值。
  4. 比较白平衡亮度和 RGB 值: 将每个贴片的测量值与贴片 19 进行标准化,以实现白平衡。我们比较了真实图像、 Iray 渲染和 RTX 渲染中的平衡颜色和亮度值。
A diagram of the MacBeth ColorChecker test process, starting with capturing the real scene macbeth image, then calibrating macbeth color values and external light profile to reproduce image in simulation, then extracting color and brightness value of each pixel and average across pixels by macbeth patch, and finally, comparing RGB and brightness values.A diagram of the MacBeth ColorChecker test process, starting with capturing the real scene macbeth image, then calibrating macbeth color values and external light profile to reproduce image in simulation, then extracting color and brightness value of each pixel and average across pixels by macbeth patch, and finally, comparing RGB and brightness values.
图 14 。麦克白颜色检测器测试过程
An image of the Macbeth ColorChecker reference chart.An image of the Macbeth ColorChecker reference chart.
图 15 。麦克白颜色检测器参考图
Chart comparing real and rendered luma and RGB for render-RTX, camera and render lray, with the largest difference observed at 19.Chart comparing real and rendered luma and RGB for render-RTX, camera and render lray, with the largest difference observed at 19.
图 16 。真实和渲染 luma 和 RGB 比较
Chart comparing red color contributions of rendered images to real images for render-RTX, camera and render lray, with the largest difference observed at 19..Chart comparing red color contributions of rendered images to real images for render-RTX, camera and render lray, with the largest difference observed at 19..
图 17 。红色贡献、渲染图像与真实图像的比较
Chart comparing green color contributions of rendered images to real images for render-RTX, camera and render lray, with the largest difference observed at 19..Chart comparing green color contributions of rendered images to real images for render-RTX, camera and render lray, with the largest difference observed at 19..
图 18 。绿色贡献、渲染图像与真实图像的比较
Chart comparing blue color contributions of rendered images to real images for render-RTX, camera and render lray, with the largest difference observed at 19..Chart comparing blue color contributions of rendered images to real images for render-RTX, camera and render lray, with the largest difference observed at 19..
图 19 。蓝色贡献、渲染图像与真实图像的比较

这些图显示了渲染图像和真实图像中每个色块的归一化 luma 和 RGB 输出。

渲染图像的亮度和 RGB 值都接近真实相机,这使我们对传感器模型准确再现颜色和亮度贡献的能力充满信心。

为了进行直接的视觉比较,我们展示了麦克白图表真实图像和合成图像的缝合白平衡 RGB 值( Iray 、实时和路径跟踪贡献)。

图 20 。缝合 RGB 补丁麦克白颜色图表(合成与真实)

我们还计算了Δ E (参见图 22 中的结果),这是一种 CIE2000 计算机视觉度量,它量化了渲染和原始摄影机值之间的距离,通常用于摄影机特征化。Δ E 值越低表示颜色精度越高,人眼无法检测到低于 1 的值。

Table comparing CIE2000 sensor reference to real-time results.
Metric
Delta E (Pre-ISP)
Average
Ref
0.010
RT
0.009
Max
Ref
0.036
RT
0.031 Table comparing CIE2000 sensor reference to real-time results.
Metric
Delta E (Pre-ISP)
Average
Ref
0.010
RT
0.009
Max
Ref
0.036
RT
0.031
图 21 。 CIE2000 的参考与实时结果

虽然Δ E 提供了感知色差的良好测量,并被公认为成像标准,但它仅限于人类感知。此类指标对神经网络的影响仍有待于在进一步的测试中评估。

结论

这篇文章介绍了NVIDIA 验证方法和初步结果为我们的 DRIVE SIM 相机传感器模型。

  • 我们的结论是,我们的模型能够准确地再现真实摄像机的标定参数,总体误差低于真实标定误差。
  • 我们还参考行业标准的麦克白颜色检测器对我们模型的颜色精度进行了量化,发现它与典型的研发误差幅度密切相关。
  • 此外,我们得出结论, RTX 实时渲染是实现这一精度水平的可行工具。

这证实了 DRIVE Sim 摄像机模型可以在模拟环境中再现真实世界摄像机的上述参数,至少与真实世界中的双摄像机设置一样精确。更重要的是,这些测试为用户提供了信心,即摄像机模型的输出,如本质、外生和颜色再现,将是准确的,并且可以作为其他验证工作的基础。

接下来的步骤将是在真实世界的 perception 用例中验证我们的模型,并提供关于在开环中为模型成像 KPI 的进一步结果。

 

标签