代码地址
https://github.com/junjie18/CMT
1. 引言
在本文中,我们提出了Cross-Modal Transformer(CMT),这是一种简单而有效的端到端管道,用于鲁棒的3D对象检测(见图1(c))。首先,我们提出了坐标编码模块 (CEM),它通过将3D点集隐式编码为多模态标记来生成位置感知特征。具体来说,对于相机图像,从视锥体空间采样的3D点用于指示每个像素的3D位置的概率。 而对于LiDAR,BEV 坐标只是简单地编码到点云标记中。接下来,我们介绍位置引导查询。每个查询都按照PETR[26]初始化为3D参考点。我们将参考点的3D坐标 变换到图像和LiDAR空间,以在每个空间中执行相对坐标编码。
与现有方法相比,所提出的CMT框架具有许多优点。首先,我们的方法是一个简单的端到端管道,可以轻松扩展。3D位置被隐式编码到多模态特征中,这避免了引入 显式跨视图特征对齐引起的偏差。其次,我们的方法仅包含基本操作,没有对多模态特征进行特征采样或复杂的2D到3D视图转换。它实现了最先进的性能,并且与现 有方法相比显示出明显的优越性。第三,我们的CMT的鲁棒性比其他现有方法强得多。
极端的是,在LiDAR未命中的情况下,与那些基于视觉的3D物体检测器相比,我们仅使用图像标记的CMT可以实现相似的性能[23,26]。
总而言之,我们的贡献是:
- 我们提出了一种快速且强大的3D检测器,这是一个真正的端到端框架,无需任何后处理。它克服了传感器丢失的问题。
- 3D位置被编码到多模式标记中,无需任何复杂的操作,例如网格采样和体素池。
- CMT 在nuScenes数据集上实现了最先进的3D检测性能。它为未来的研究提供了一个简单的基线。
2. 相关工作
2.1. 基于相机的3D目标检测
早期的工作主要遵循密集预测流程。首先在图像平面上定位物体,然后预测其相关的 3D 属性,如深度、尺寸和方向。然而对于环视摄像头,基于透视视图的设计需要精心的后处理来消除重叠区域的冗余预测。BEV 表示提供了一个统一的坐标来融合来自多个摄像头视图的信息。LSS、BEVDet和BEVDepth预测深度分布,将图像特征提升到 3D 视锥体网格。DETR3D和BEVFormer将预定义的 BEV 查询投影到图像上,然后使用 Transformer 注意力来对多视图特征的关系进行建模。这些方法明确地将局部图像特征从 2D 透视视图投影到 BEV。PETR和 SpatialDETR采用依赖于摄像头姿态的位置嵌入,允许 Transformer 隐式地学习从图像视图到 3D 空间的投影。
2.2. 基于激光雷达的3D目标检测
基于激光雷达的 3D 物体检测旨在使用从激光雷达捕获的点云来预测 3D 物体的边界框。现有的方法将点云处理成不同的表示形式。基于点的方法直接从原始点云中提取特征并预测 3D 边界框。PointNet是第一个以端到端的方式处理点云的架构,它保留了点云的空间特征。其他方法将无序、不规则的激光雷达点云投影到规则的特征空间,如 3D 体素、特征柱和距离图像。然后使用标准的 2D 骨干网络在 BEV 平面中提取特征。VoxelNet首先将原始点云划分为规则的体素网格,然后使用 PointNet 网络从每个体素网格中的点提取特征。
2.3. 多模态3D目标检测
3D检测中的多传感器融合近年来引起了广泛关注。最先进的(SoTA)方法倾向于为两种模态找到统一的表示,或者定义对象查询来融合特征以进行进一步的预测。例如,BEVFusion[24,28]应用lift-splatshoot(LSS)操作将图像特征投影到BEV空间上,并将其与LiDAR特征连接起来。UVTR[20]通过可变形注意力[57]在3D体素空间中生成统一的表示。而对于基于查询的方法,FUTR3D[8]将3D参考点定义为查询,并直接从投影平面的坐标中对特征进行采样。TransFusion[1]采用两级管道。这些建议由LiDAR特征生成,并通过查询图像特征进一步细化。
3. 方法
该方法主要分为五部分:1)backbone,提取图像和点云特征(通用模块,不介绍),2)坐标编码模块,得到position-aware多模态tokens,3)position-guided query generator,计算position-aware queries,4)decoder和loss,5)masked-modal training。
3.1. 坐标编码模块(CEM)
坐标编码模块(CEM)用于将 3D 位置信息编码为多模态标记。它生成相机和 BEV 位置编码(PE),分别添加到图像标记和点云标记中。在 CEM 的帮助下,多模态标记可以在 3D 空间中隐式对齐。
3.2. Position-guided Query Generator
继 Anchor-DETR [48] 和 PETR [29] 之后,我们首先用从 [0, 1] 之间的均匀分布中采样的 n 个锚点初始化查询。然后,这些锚点通过线性变换转换到 3D 世界空间:
3.3. Decoder和Loss
至于解码器,我们遵循 DETR中的原始 Transformer 解码器,并使用 L 个解码器层。对于每个解码器层,位置引导的查询与多模态标记进行交互并更新它们的表示。使用两个前馈网络(FFN)通过更新后的查询来预测 3D 边界框和类别。
3.4. Masked-Modal Training
对于自动驾驶系统来说,安全性是最重要的关注点。一个理想的系统即使部分出现故障也需要有可靠的性能,并且不能依赖于任何特定模态的输入。最近,BEVFusion [27] 已经对激光雷达传感器故障的鲁棒性进行了探索。然而,这种探索仅限于有限的扫描范围,并且模型需要重新训练。在本文中,我们尝试了更极端的故障情况,包括单个摄像头缺失、摄像头缺失和激光雷达缺失。这与实际场景相符,并能确保自动驾驶的安全性。
为了提高模型的鲁棒性,我们提出了一种称为掩码模态训练的训练策略。在训练过程中,我们随机仅使用单一模态(如摄像头或激光雷达)进行训练,比例分别为和。这种策略确保模型在单一模态和多模态下都能得到充分训练。然后,模型可以在单一模态或多模态下进行测试,而无需修改模型权重。实验结果表明,掩码模态训练不会影响我们融合模型的性能。即使激光雷达损坏,它仍然能够实现与最先进的基于视觉的 3D 探测器类似的性能。
4. 实验
分析一个有意思的图。下图中蓝色是初始queries在图像上的投影,红色是最终预测queries的投影,可以看到,queries最终会移动到离其较近的前景物体上。
5. 总结与讨论
在本文中,我们提出了一个完全端到端的框架用于多模态 3D 物体检测。它隐式编码将 3D 坐标转化为图像和点的标记云。通过坐标编码,简单而有效可采用主动DETR管道进行多模态融合以及端到端的学习。通过蒙面模态训练,我们的多模态检测器可以学习,具有很强的鲁棒性,即使错过了多种模式中的一种。我们希望这样的简单的管道设计可以提供更多关于端到端 3D 物体检测。
参考文献
https://blog.51cto.com/u_16282361/7754113
https://zhuanlan.zhihu.com/p/647627947
【论文笔记】Cross Modal Transformer: Towards Fast and Robust 3D Object Detection_cross model transformer:towards fast and robust 3d-CSDN博客
https://zhuanlan.zhihu.com/p/656231643