RGB 激光雷达融合

发布于:2025-06-30 ⋅ 阅读:(19) ⋅ 点赞:(0)

RGB 激光雷达融合

 
核心思想是将激光雷达 (LiDAR) 和摄像头数据融合,以生成稳健的 3D 物体检测 (x, y, z, r, p, y)。使用激光雷达和摄像头数据的目的是,摄像头数据可以提供关于汽车在图像中位置的纹理理解,而激光雷达数据可以提供高精度的深度信息。然而,处理激光雷达点云数据的难点在于它们数据量巨大(每个点云约 100MB)且非结构化(不同于像素尺寸恒定的图像数据)。我们将摄像头数据的特征投影到激光雷达数据上,将所有信息放入一个通用的嵌入形状中,使我们能够轻松地通过级联融合数据。然后,使用残差网络 (ResNet) 主干网络和 YOLO 检测头处理融合数据。

模型布局

  • 数据预处理
RGB 图像来自 KITTI 数据集,分辨率为 1242x375 像素。我们将每幅图像调整为 448x448 像素的正方形,以适应预训练的 ResNet 图像编码器,并使用颜色抖动和高斯噪声增强图像,以防止过拟合。点云来自 KITTI 数据集,为二进制文件。将二进制文件转换为 (x,y,z,R) 的 Np x 4 张量,其中 Np 是点云中的点数。为了进行数据增强,在每个点的 x、y、z 和 R 值中添加随机高斯噪声。

PCL 嵌入

  • 点云嵌入
点云嵌入过程如下:创建一个 L x W x N 网格,其中 L 是长度,W 是宽度,N 是网格可以存储的最大激光雷达点数。如果单元格中的点少于 N,我们用零填充它们并记下真实点的数量。如果每个单元格有超过 N 个点,我们从中随机选择 N 个点来获得估计分布。然后将体素网格展开为 P x N x D 矩阵,其中 P 是 L x W,D 是 4。D 维存储每个激光雷达点的 (x, y, z, r) 元组。接下来我们进行点增强,从 D = 4 增加到 D = 9。5 条新信息是 x、y、z 相对于其对应单元格中点的 x、y、z 平均值的偏移量,以及相对于每个单元格中心点的 x 和 y 偏移量。然后将其传递到几个线性层以提取学习到的特征,使得结果矩阵为 P x N x C,其中 C 为 128 或 256。沿 N 维度最大化并重塑回 L x W x C,这很关键,因为我们的点云嵌入因此保留了其空间关系。

传感器融合

  • 图像嵌入
对于我们的图像嵌入器,我们对 resnet18 进行了微调,但没有使用它的最后三层。最终得到的矩阵为 C x M x M。M 是图像的输出形状。然后我们将其调整为 C x L x W
  • 传感器融合
我们有一个 C x L x W 的激光雷达嵌入和一个 C x L x W 的图像嵌入。我们将它们连接起来,得到一个 2C x L x W 的融合嵌入。
  • 检测头
我们架构末端的检测头是对 YOLO 的重新实现。YOLO 的端到端训练使我们能够根据输入数据快速生成 3D 边界框,并为每个边界框分配置信度分数。与 2D YOLO 类似,我们不会直接预测原始值,因为它们在数值上是稳定的。例如,物体距离我们的车辆可能为 2 米、20 米或 120 米,数量级相差很大。这会给 YOLO 的输出带来许多问题,因为它不够灵活或精确,无法处理某些变量中如此大的变化,而只能处理其他变量中从 0 到 1 的差异。因此,为了在 YOLO 输出之间建立一定的相似性,YOLO 头会预测相对于每个单元角点的偏移量,该偏移量已归一化到单元的高度和宽度。此外,我们不是预测边界框的形状,而是预测相对于“平均”形状的形状偏移量,这些形状被称为锚框。总的来说,这些变化导致 YOLO 对所有不同输出的输出都大致在 0 到 1 之间。最后,由于回绕效应,预测欧拉角的偏航角非常困难,例如,损失函数会认为 0.1 度和 359.9 度相差甚远,而实际上它们几乎相同。因此,我们使用复数分解来预测偏航角的实部和虚部。对于损失函数,我们首先创建一个 obj mask 来标记哪些单元格包含 ground truth,以及一个 noobj mask,它是 obj mask 的逆。我们使用 obj mask 来确保仅当给定单元格中存在 ground truth 结果时,我们才会惩罚模型的错误目标相关损失。noobj 损失用于惩罚误报。我们对每种损失类型(obj 置信度、无 obj 置信度、坐标、形状和角度)使用均方误差,并调整每种损失的权重。

检测头

  • 学习率
我们最初的 1e-2 学习率似乎很适合我们的训练目的,但当以对数尺度绘制时,很明显我们的学习率只在前 10 或 20 个 epoch 中发挥作用。因此,我们调整了方法,并添加了一个基于步骤的学习率调度器,该调度器每 10 个 epoch 将学习率降低十分之一,降至最低 1e-6。实施此学习率调度器后,我们的模型训练效果极佳,即使运行了 30 个或更多 epoch 后损失仍在继续减少。总的来说,我们的损失从初始值 1 一直下降到 1e-4。这对于我们的应用尤为重要,因为定位具有足够 IoU 的 3d 边界框很难实现或改进,并且我们的 YOLO 检测头具有复杂的损失,需要在多个维度上进行最小化。

损失

为什么你的想法直观上是有道理的?

这个想法很直观,因为它结合了不同类型传感器的优势。激光雷达可用于确定场景中物体的精确三维坐标,而摄像头则擅长对物体进行分类。融合这两种传感器可以提供强大的分类和定位能力。然而,融合这两种传感器需要对每种传感器都有良好的表征。摄像头的实现很简单,但激光雷达的嵌入仍然是一个活跃的研究领域。通过为每个传感器创建相同的潜在嵌入空间,我们可以使数据融合的过程变得相当简单。

它与该领域以前的工作有何关系?

我们借鉴了基于 3D LiDAR 数据集的传感器融合理念,并应用了全新改进的目标检测算法来验证其性能。之前的研究成果提供了各种传感器融合方法和学习方法,我们借鉴了这些方法的成功经验,将其融合成一个全新的 3D 目标检测系统。

好3

好4

好6

巨视安防
,赞1

阅读 96