引言

想象一下你在开车。你的眼睛 (相机) 看到了前方的红色停车标志,你的大脑估算出了距离。现在,想象一辆复杂的自动驾驶汽车。它不仅依赖相机,还可能使用激光雷达 (LiDAR) 来测量精确的深度。理想情况下,相机和激光雷达应该在停车标志位于 3D 空间的具体位置上达成完美的一致。

但如果它们不一致呢?

在机器人和自动驾驶领域,这就是所谓的传感器标定问题 。 如果激光雷达相对于相机哪怕偏移了几厘米或倾斜了零点几度,数据就会错位。相机检测到的行人,在激光雷达看来可能位于不同的位置。这种错位可能导致决策过程中的灾难性故障。

传统上,解决这个问题需要“基于标定靶”的方法——涉及棋盘格、专用房间和人工操作的繁琐过程。虽然出现了“无标定靶”的深度学习方法,但它们往往难以保持几何精度,或者需要大量的计算资源。

BEVCALIB 应运而生。在一篇新的研究论文中,来自南加州大学 (USC) 和加州大学河滨分校 (UC Riverside) 的研究人员提出了一种新颖的方法,利用鸟瞰图 (BEV) 表示来解决标定难题。通过将相机图像和激光雷达点云都投影到一个共享的自顶向下的地图中,他们让神经网络能够“看到”几何错位,并以最先进的精度进行修正。

在这篇文章中,我们将拆解 BEVCALIB 的架构,解释为什么 BEV 是这项任务的最佳人选,并以此展示它如何大幅超越现有的方法。


背景: 几何对齐的挑战

要理解为什么 BEVCALIB 是必要的,我们首先需要了解 LiDAR-相机外参标定的难度。

目标是找到一个变换矩阵 (由旋转和平移组成) ,将点从激光雷达坐标系完美地映射到相机坐标系。

旧方法 vs. 深度学习方法

  1. 基于标定靶的方法: 这些方法依赖于具有已知几何形状的物体 (如棋盘格) 。它们虽然准确,但不适用于“野外”标定。如果自动驾驶汽车在高速公路上因颠簸导致传感器移位,你不可能让车停下来给它看棋盘格。
  2. 无标定靶的方法: 这些方法利用环境中的自然特征 (边缘、平面) 。这一类别中的深度学习方法试图匹配 2D 图像和 3D 点云之间的特征。然而,将 2D 像素与 3D 点进行匹配本质上是困难的,因为它们存在于不同的空间域中。

为什么选择鸟瞰图 (BEV) ?

研究人员发现,以往深度学习方法的主要瓶颈在于缺乏显式的几何约束。

BEV 表示法最近在计算机视觉领域风靡一时,特别是在目标检测和路径规划等任务中。BEV 表示法将传感器数据转换为自顶向下的 2D 网格——本质上就是一张地图。

  • LiDAR 天然是 3D 的,很容易适应 BEV 网格。
  • 相机 捕捉的是透视图,但可以被“提升”到 3D,然后投影到 BEV 网格上。

通过将两种模态转换为共享的 BEV 空间,BEVCALIB 创建了一个统一的平台,在这里几何关系得以保留,使得网络更容易找出如何对齐它们。


核心方法: 深入 BEVCALIB

BEVCALIB 的架构是一个单阶段、端到端的流程。它接收原始图像和原始点云 (以及一个带有噪声的初始标定猜测) ,并输出对其进行对齐所需的预测修正量。

让我们一步步拆解这个架构。

图 1: BEVCALIB 的整体架构。该流程包括 BEV 特征提取、FPN BEV 编码器和几何引导 BEV 解码器 (GGBD) 。

图 1 所示,工作流程包含三个主要阶段:

  1. BEV 特征提取: 将输入处理到共享空间。
  2. FPN BEV 编码器: 在多尺度上增强特征。
  3. 几何引导 BEV 解码器 (GGBD) : 预测标定参数的新颖机制。

1. 特征提取与融合

第一个挑战是相机和激光雷达说着不同的语言。相机输出密集的 RGB 像素;激光雷达输出稀疏的 3D 点。

LiDAR 分支: 模型接收原始点云,并通过稀疏卷积骨干网络 (具体使用类似 VoxelNet 的方法) 对其进行处理。3D 特征沿高度维度被展平,从而创建 2D BEV 特征图。

相机分支: 这稍微复杂一些。系统使用标准的 2D 骨干网络 (如 Swin-Transformer) 来提取图像特征。为了将这些特征转换到 3D,作者使用了一种称为 LSS (Lift, Splat, Shoot,即提升、抛洒、投射) 的技术。

  • 提升 (Lift) : 通过为图像中的每个像素分配一组离散的深度概率,将其“提升”到 3D 视锥中。
  • 投影 (Project) : 使用外参矩阵的初始猜测 (\(T_{init}\)) 变换这些视锥特征。
  • 抛洒 (Splat) : 将特征池化到共享的 BEV 网格上。

融合: 一旦两种模态都在同一个网格 (BEV 平面) 上,它们就会被拼接并使用简单的卷积层进行融合。这产生了一个包含来自两个传感器信息的统一特征图。

2. 几何引导 BEV 解码器 (GGBD)

这是论文中最具创新性的部分。标准方法可能是获取整个融合的 BEV 图并将其输入回归器。然而,BEV 图很大,包含许多空白空间或不相关的背景噪声。

作者提出了 GGBD , 它专门关注相机和激光雷达数据重叠的区域。

图 2: 几何引导 BEV 解码器 (GGBD) 的整体架构。根据投影的相机坐标选择特征,并通过注意力机制进行细化。

特征选择器

图 2 (左侧) 所示,模型并不是同等处理每个网格单元。它使用了一个几何引导特征选择器

系统获取从相机视锥生成的 3D 坐标 (我们在“提升”阶段计算出来的) ,并将它们投影到 BEV 平面上。基于当前的标定猜测,这些投影点代表了相机“认为”世界所在的准确位置。

选定的 BEV 特征位置集合 \(P_B\) 的数学定义为:

基于投影相机坐标定义选定 BEV 特征集合的公式。

通过仅选择位于这些特定坐标 (\(x_B, y_B\)) 的 BEV 特征,模型本质上聚焦于相机和激光雷达之间的重叠区域。这充当了一个隐式的“几何匹配器”,过滤掉冗余特征并减少内存消耗。

细化模块

一旦选定了相关特征,它们就会通过一个细化模块 (图 2 右侧) 。该模块使用自注意力 (Self-Attention) 机制 (类似于 Transformer) 来理解错位的全局上下文。

该过程由以下公式描述:

GGBD 对选定特征利用自注意力的公式。

在这里,选定的特征 (\(F_\delta\)) 充当注意力块的查询 (Query) 、键 (Key) 和值 (Value) 。为了确保模型理解这些特征位于何处,还添加了位置编码 (PE) 。

最后,输出被分为两个头:

  1. 平移头: 预测 \(x, y, z\) 的偏移量。
  2. 旋转头: 预测四元数旋转修正量。

3. 损失函数: 它是如何学习的

为了训练网络,作者使用了三种损失函数的组合,在图 1 中表示为 \(\mathcal{L}_R\)、\(\mathcal{L}_T\) 和 \(\mathcal{L}_{PC}\)。

  1. 旋转损失 (\(\mathcal{L}_R\)) : 使用测地线距离来测量预测的旋转四元数与真值之间的差异。它本质上是最小化 3D 球面上的角度差异。
  2. 平移损失 (\(\mathcal{L}_T\)) : 标准的 Smooth-L1 损失,用于最小化以米为单位的距离误差。
  3. 重投影损失 (\(\mathcal{L}_{PC}\)) : 这是一个直接的几何检查。模型使用预测的标定变换输入点云,并将其与由真值变换的点云进行比较。这迫使网络关注物理场景的实际对齐,而不仅仅是抽象的参数。

实验结果

研究人员在两个主要的自动驾驶数据集——KITTINuScenes——上评估了 BEVCALIB,并引入了他们自己的数据集 CALIBDB , 该数据集包含异构的外参设置以测试泛化能力。

为了模拟现实世界的误差,他们在传感器位置上添加了随机噪声 (最高达 ±1.5 米和 ±20 度) ,并任务模型对其进行修正。

定量分析

结果与多个基线进行了比较,包括传统方法和其他深度学习方法,如 LCCNet 和 RegNet。

KITTI 上的表现

在 KITTI 数据集上,BEVCALIB 实现了卓越的精度。

表 2: 与文献中关于 KITTI 的原始结果对比。BEVCALIB 显示出显著更低的误差。

查看表 2 , 我们可以看到在高噪声设置下 (±1.5m, ±20°) :

  • 平移误差: 降低至 2.4 cm 。 对比 RegNet (10.7 cm) 或 LCCNet (15.0 cm)。
  • 旋转误差: 降低至 0.08 度 。 这几乎是完美的对齐。

NuScenes 上的表现

由于场景和传感器设置更加多样化,NuScenes 通常被认为是一个更难的数据集。

表 3: 与文献中关于 NuScenes 的原始结果对比。

表 3 证实了这一趋势。即使在较小的噪声初始化 (±0.5m, ±5°) 下,BEVCALIB 也显著优于最接近的竞争对手 (Koide3 和 CalibAnything) ,实现了仅 4.3 cm 的平移误差,而 CalibAnything 为 19.7 cm。

开源基线比较

作者更进一步,复现了几种开源方法,以确保在相同的硬件和噪声设置下进行公平的同类比较。

表 4: 与可复现的开源基线的评估结果。

表 4 突显了当前开源领域的差距。像 CalibNetRegNet 这样的方法在高噪声下表现挣扎,有时误差超过 1 米。BEVCALIB 在 KITTI、NuScenes 和新的 CALIBDB 上都保持了厘米级的精度。

误差分布

查看误差的一致性也很有帮助。一个好的标定工具不应该仅仅在平均上准确;它需要每次都可靠。

图 3: BEVCALIB 和其他基线在 CALIBDB 和 KITTI 上的误差分布。

图 3 展示了误差分布的箱线图。注意 Y 轴是对数刻度。BEVCALIB 的“箱体” (棕色/橙色) 始终比竞争对手低得多且更窄,表明其具有高度的稳定性和可靠性。

定性结果: 眼见为实

数字固然重要,但在标定中,视觉叠加图讲述了真实的故事。如果你使用预测的矩阵将激光雷达点投影到相机图像上,它们应该与照片中的物体完美对齐。

图 4: 定性结果。LiDAR-相机叠加图的比较。

图 4 中,你可以看到差异:

  • 错位:RegNetCalibAnything 的行 (底部) 中,注意地面平面 (彩色线条) 看起来是如何不自然地漂浮或倾斜的。LiDAR 线条与路面不匹配。
  • 对齐:BEVCALIB 行 (从上数第二行) 中,彩色的 LiDAR 点紧贴道路和车辆,看起来几乎与真值 (顶行) 完全相同。

消融实验: 特征选择器重要吗?

你可能会想,GGBD 中复杂的“特征选择器”是否真的有必要。我们能不能直接使用所有特征?

表 5: 展示 BEV 选择器影响的消融结果。

表 5 给出了答案。当研究人员移除 BEV 选择器并使用所有特征时 (“* – BEV selector”) ,平移误差从 8.4 cm 跃升至 23.1 cm 。 使用所有特征引入了太多的背景噪声,混淆了模型关于相机和激光雷达之间特征对应关系的判断。


结论与启示

BEVCALIB 代表了多模态传感器标定的一大步。通过将标定任务转移到鸟瞰图 (BEV) 空间,作者利用 BEV 表示法的天然几何优势解决了错位问题。

主要收获:

  1. 统一表示: 将相机和激光雷达数据转换到共享的 BEV 空间,使得几何对齐对神经网络来说更加直观。
  2. 几何引导选择: 新颖的 GGBD 模块通过仅关注空间相关的特征 (由相机投影引导) 来过滤噪声。
  3. 最先进的性能: 该方法将标定误差降低到仅几厘米和几分之一度,在某些情况下比现有基线高出数个数量级。

对于自动驾驶领域的学生和研究人员来说,这篇论文强调了 BEV 表示法的多功能性。BEV 最初因车辆检测或车道映射等感知任务而普及,现在被证明是机器人基础设施——保持传感器对齐和车辆安全——的强大工具。

BEVCALIB 的鲁棒性表明,未来的自动驾驶系统可以在行进中执行“自愈”标定,无需访问车库或盯着棋盘格,即可修正颠簸和振动带来的影响。