在低成本自动驾驶系统中,基于视觉信息的 3D 目标检测是一项长期存在的挑战性任务。与依赖激光雷达(LiDAR)点云的 3D 目标检测方法不同,基于相机的 3D 目标检测需仅从 RGB 图像包含的 2D 信息中生成 3D 边界框预测,该问题本身具有不适定性。
原文链接:https://arxiv.org/pdf/2110.06922
代码链接:WangYueFt/detr3d
沐小含持续分享前沿算法论文,欢迎关注...
一、引言
1.1 现有方法的局限性
现有 3D 目标检测方法主要分为两类,但均存在明显缺陷:
- 纯 2D 计算方法:这类方法(如 CenterNet、FCOS3D)借助为 2D 任务设计的检测流水线来预测目标姿态、速度等 3D 信息,未考虑 3D 场景结构和传感器配置。其需通过多步后处理融合多相机预测结果并去除冗余框,导致效率与效果之间存在难以平衡的矛盾。
- 伪激光雷达(pseudo-LiDAR)方法:先利用深度预测网络从相机图像生成场景的伪激光雷达或距离输入,再应用 3D 目标检测方法。然而,这种方法存在复合误差问题,深度估计的不准确性会严重影响后续 3D 检测性能,且深度预测模型本身也可能产生误差。
1.2 DETR3D 的核心思想
为解决上述问题,DETR3D 提出了一种在 2D 观测与 3D 预测之间更平滑过渡的框架。该框架以自上而下的方式,通过相机变换矩阵的几何反投影,将 2D 特征提取与 3D 目标预测紧密关联。其核心优势在于无需依赖密集深度预测模块,避免了深度估计误差的累积;同时无需非极大值抑制(NMS)等后处理步骤,大幅提升推理速度。在 nuScenes 自动驾驶基准测试中,DETR3D 取得了当前最优性能。
1.3 论文主要贡献
- 提出了一种简洁的 RGB 图像 3D 目标检测模型,在计算的每一层都融合所有相机视图的信息,首次将多相机检测转化为 3D 集合到集合(set-to-set)的预测问题。
- 设计了通过反向几何投影连接 2D 特征提取与 3D 边界框预测的模块,不受次级网络深度预测不准确的影响,能通过将 3D 信息反投影到所有可用帧,无缝利用多相机信息。
- 与 Object DGCNN 类似,无需图像级或全局 NMS 等后处理,性能与现有基于 NMS 的方法相当,且在相机重叠区域性能显著优于其他方法。
- 开源代码,为可重复性研究和未来相关方向的探索提供支持。
二、相关工作
2.1 2D 目标检测
2D 目标检测领域经历了从多阶段到单阶段、从锚点依赖到无锚点的发展历程:
- 多阶段方法:RCNN 开创了深度学习在目标检测中的应用,但为每个候选区域单独进行卷积神经网络前向传播,速度极慢;Fast RCNN 引入共享可学习 CNN,单次前向传播处理整幅图像;Faster RCNN 新增区域提议网络(RPN),实现近无成本的区域提议;Mask RCNN 添加掩码预测分支,支持实例分割。这类方法通常涉及多阶段优化,实际应用中速度较慢。
- 单阶段方法:SSD 和 YOLO 实现了密集预测,速度大幅提升,但仍依赖 NMS 去除冗余框,且预测基于预定义锚点;CenterNet 和 FCOS 转变范式,从锚点级预测转向像素级预测,显著简化了检测流水线。
2.2 基于集合的目标检测
- DETR:首次将目标检测转化为 set-to-set 问题,利用 Transformer 捕捉特征与目标间的交互,通过学习将预测结果与真实框匹配,无需后处理过滤冗余框。但 DETR 存在训练时间长、收敛慢的问题。
- 改进方法:Deformable DETR 提出可变形自注意力模块,定位特征并加速训练;TSP-FCOS 和 TSP-RCNN 针对 DETR 的集合损失和 Transformer 交叉注意力机制导致的慢收敛问题进行优化;SparseRCNN 将集合预测融入 RCNN 风格流水线,无需 NMS 却优于多阶段目标检测方法;OneNet 发现密集型目标检测器在配备最小成本集合损失后可实现无 NMS 检测。
- 3D 领域扩展:Object DGCNN 基于点云进行 3D 目标检测,将其建模为动态图上的消息传递,是一种无 NMS 的 3D 集合预测方法。
2.3 单目 3D 目标检测
早期单目 3D 检测方法(如 Mono3D)利用语义和形状线索,结合场景约束和先验知识从 3D 候选集中筛选目标;部分方法(如基于 BEV 的方法)通过最小化 2D-3D 投影误差,利用 2D 检测结果进行 3D 边界框回归。近年来,以 2D 检测器为起点、结合可微分渲染或 3D 关键点检测的方法成为主流,但这些方法均局限于单目场景,扩展到多相机时需独立处理每帧图像,再通过后处理融合输出。
三、多视图 3D 目标检测框架(DETR3D)
3.1 整体框架概述
DETR3D 的输入为一组已知投影矩阵(内参和相对外参组合)的相机 RGB 图像,输出为场景中目标的 3D 边界框参数集合。其设计遵循三大核心目标:在架构中间计算过程中融入 3D 信息,而非仅在图像平面进行纯 2D 计算;不估计密集 3D 场景几何,避免相关重建误差;避免 NMS 等后处理步骤。
DETR3D 的架构包含三个关键组件(如图 1 所示):
- 特征提取:采用共享 ResNet 骨干网络提取相机图像特征,可选通过特征金字塔网络(FPN)增强特征表达;
- 检测头(核心组件):以几何感知的方式将 2D 特征与 3D 边界框预测关联,通过交替进行 2D 和 3D 计算,从稀疏目标查询中生成 3D 预测;
- 损失计算:采用 set-to-set 损失训练网络,通过二分匹配(bipartite matching)对齐预测集合与真实集合。

注:模型输入为多视图图像,经 ResNet 和 FPN 编码后,对稀疏目标查询进行处理。每个查询解码为 3D 参考点,通过将 3D 参考点投影到图像空间,将 2D 特征转化为用于优化目标查询的信息。模型基于每个查询进行预测,并采用 set-to-set 损失函数。
3.2 特征学习
3.2.1 输入定义
- 图像集合:
,由周围相机拍摄得到,
(对应 nuScenes 数据集的 6 个相机:左前、前、右前、左后、后、右后);
- 相机矩阵:
,包含相机内参和外参;
- 真实边界框:
,每个边界框包含鸟瞰图(BEV)中的位置、尺寸、航向角和速度;
- 类别标签:
。
DETR3D 不依赖激光雷达点云,仅通过上述输入预测 3D 边界框和类别标签。
3.2.2 特征提取流程
首先利用 ResNet 骨干网络和 FPN 将 6 幅输入图像编码为 4 组特征图,每组特征图
对应 6 幅图像的一个尺度特征。多尺度特征能够为不同尺寸的目标识别提供丰富信息,后续通过新颖的集合预测模块将这些 2D 特征转化为 3D 特征。
3.3 检测头(Detection Head)
DETR3D 的检测头采用迭代式结构,包含L层基于集合的计算,用于从 2D 特征图生成边界框估计。与传统自下而上的检测方法不同,该自上而下的检测头有效解决了密集边界框预测对深度感知的依赖以及后处理带来的效率问题。
3.3.1 检测头核心步骤
每层检测头()围绕一组目标查询
展开,输出更新后的目标查询
,具体步骤如下:
-
参考点预测:从每个目标查询
中解码出 3D 参考点
,该参考点可视为第i个边界框中心的假设。解码过程通过神经网络
实现:

-
参考点投影:将 3D 参考点转换为齐次坐标

(表示拼接),并通过相机变换矩阵投影到每个相机的图像平面:

其中是参考点在第m个相机上的投影结果。为消除特征图尺寸的影响并聚合不同尺度的特征,将
归一化到
区间。
-
特征采样与融合:通过双线性插值从多尺度、多相机的特征图中采样与参考点对应的特征,并根据参考点在相机图像中的可见性筛选有效特征。定义二进制值
表示参考点在第
个相机的第
个尺度特征图上是否可见(投影到图像平面外则为无效),则采样特征为:

最终融合后的特征和更新后的目标查询
为:

其中是避免除零的小常数。
-
目标交互建模:利用多头自注意力(multi-head self-attention)捕捉目标间的交互信息,进一步优化目标查询。
-
边界框与类别预测:通过两个神经网络
和
分别预测每个目标查询对应的边界框参数和类别标签:

训练过程中,计算每一层预测结果的损失;推理时仅使用最后一层的输出。
3.4 损失函数
DETR3D 采用 set-to-set 损失衡量预测集合与真实集合
之间的差异,该损失由类别标签的焦点损失(focal loss)和边界框参数的
损失组成。
3.4.1 二分匹配
由于真实边界框数量M通常小于预测数量,先将真实集合用 "无目标"(
)填充至
个。通过二分匹配问题建立预测与真实框的对应关系:

其中表示排列集合,
是索引为
的预测结果属于类别
的概率,
是边界框参数的
损失。采用匈牙利算法求解该分配问题。
3.4.2 最终损失
set-to-set 损失的最终表达式为:
四、实验
4.1 实验设置
4.1.1 数据集
实验基于 nuScenes 数据集,该数据集包含 1000 个序列,每个序列约 20 秒,采样率为 20 帧 / 秒。每个样本包含 6 个相机的图像,提供内参和外参信息。数据集按 28k(训练集)、6k(验证集)、6k(测试集)的比例划分,选取 23 个类别中的 10 个用于计算评估指标。
4.1.2 评估指标
遵循 nuScenes 官方评估协议,采用以下指标:
-
真实阳性指标(TP metrics):平均平移误差(ATE)、平均尺度误差(ASE)、平均方向误差(AOE)、平均速度误差(AVE)、平均属性误差(AAE),均以物理单位计算;
-
平均精度(mAP);
-
综合指标:nuScenes 检测分数(NDS),计算方式为:

4.1.3 模型配置与训练细节
- 模型结构:ResNet101 作为特征提取器(第 3、4 阶段采用可变形卷积),FPN 生成 4 个尺度(输入图像的 1/8、1/16、1/32、1/64)的特征图;检测头包含 6 层,隐藏维度为 256;边界框和类别预测子网各包含两个隐藏维度为 256 的全连接层,检测头中使用层归一化(LayerNorm)。
- 训练参数:采用 AdamW 优化器,权重衰减为
;初始学习率为
,在第 8 和 11 个 epoch 分别降至
和
;总训练轮次为 12 个 epoch,使用 8 块 RTX 3090 GPU,单 GPU 批次大小为 1,训练时间约 18 小时。
- 推理:无需 NMS 等后处理,使用 nuScenes 评估工具包进行评估。
4.2 与现有方法的对比(验证集)
表 1 展示了 DETR3D 与当前主流方法在验证集上的性能对比。可以看出:
- 即使不使用 NMS 后处理,DETR3D 的基础版本(DETR3D (Ours))NDS 达到 0.374,与使用 NMS 的 FCOS3D(0.373)相当;
- 经过初始化优化(基于 FCOS3D 骨干网络,检测头随机初始化)的版本(DETR3D (Ours) †)NDS 提升至 0.425,超过所有对比方法;
- 结合类别平衡分组采样(CBGS)训练的版本(DETR3D (Ours) #)NDS 进一步提升至 0.434,mAP 达到 0.349;
- DETR3D 在 mAVE 指标上表现突出(0.842),显著优于其他方法,表明其在速度预测方面的优势;但 mATE 指标(0.716)与直接预测边界框深度的 FCOS3D 相当,推测原因是 FCOS3D 对目标平移具有更强的监督信号,且采用解耦头预测不同边界框参数。

注:∗: CenterNet 使用定制骨干网络 DLA;‡: 模型以深度权重 1.0 训练,从深度权重 0.2 的 FCOS3D checkpoint 初始化;§: 采用测试时增强;¶: 采用测试时增强、更多 epoch 和模型集成;†: 模型从 FCOS3D 骨干网络初始化,检测头随机初始化;#: 采用 CBGS 训练。
4.3 与现有方法的对比(测试集)
表 2 展示了 DETR3D 与测试集排行榜上前沿方法的对比。截至 2021 年 10 月 13 日,DETR3D(基于 DD3D checkpoint 初始化)的 NDS 达到 0.479,超过所有现有方法,其中 mAVE 指标(0.845)显著优于 DD3D(1.014),证明其在多视图信息融合和 3D 预测方面的优越性。

注:#: 从 DD3D checkpoint 初始化;†: 从额外数据预训练的骨干网络初始化。
4.4 相机重叠区域的性能对比
相机重叠区域的目标更容易被截断,是多视图检测的一大挑战。FCOS3D 等方法对每个相机单独预测边界框,而 DETR3D 同时考虑所有相机信息。实验选取 3D 中心可见于多个相机的边界框(验证集中共 18,147 个,占总数的 9.7%)进行评估,结果如表 3 所示。DETR3D 在重叠区域的 NDS 分数显著优于 FCOS3D,证明其集成预测方法更有效。

注:‡: 模型以深度权重 1.0 训练,从深度权重 0.2 的 FCOS3D checkpoint 初始化;†: 模型从 FCOS3D 骨干网络初始化,检测头随机初始化。
4.5 与伪激光雷达方法的对比
为验证 DETR3D 相比显式深度预测方法的优势,实验构建了伪激光雷达基线方法:使用预训练的 PackNet 网络预测 6 个相机的密集深度图,通过相机变换将深度图转换为点云,再采用 CenterPoint 架构进行 3D 检测。表 4 结果显示,即使使用当前最优的深度预测模型,伪激光雷达方法的性能仍显著低于 DETR3D。原因在于伪激光雷达方法受深度预测不准确带来的复合误差影响,且深度预测模型易过拟合训练数据,泛化能力差。

4.6 消融实验与分析
4.6.1 迭代优化的影响
表 5 展示了不同检测头层数对性能的影响。随着层数增加,模型性能逐步提升,在第 5 层(最后一层)达到最优:NDS=0.425,mAP=0.346。图 2 可视化了各层目标查询优化后的边界框预测结果,深层网络的预测更接近真实框,证明迭代优化对充分发挥架构优势至关重要。


注:在 BEV 视角下可视化边界框,并叠加激光雷达点云。随着网络层数加深,预测结果逐渐接近真实框。
4.6.2 目标查询数量的影响
表 6 展示了不同目标查询数量对性能的影响。随着查询数量增加,mAP 和 NDS 逐步提升,在 900 个查询时达到饱和(mAP=0.346,NDS=0.425),继续增加查询数量性能无明显提升甚至略有下降。这一结果为模型参数选择提供了参考。

4.6.3 骨干网络的影响
表 7 对比了不同骨干网络对 DETR3D 性能的影响。ResNet101 作为骨干网络时性能最优(NDS=0.425,mAP=0.346),优于 ResNet50 和 DLA34,表明更强大的特征提取能力有助于提升 3D 检测性能。

4.6.4 定性结果
图 3 展示了 DETR3D 在 BEV 视角和 6 个相机图像视角下的预测结果。模型能够检测到相对较小的目标,甚至部分未标注的目标(如左后相机中的车辆)。但定性结果也反映出模型仍存在一定的平移误差,这与定量实验中 mATE 指标的表现一致,表明深度估计仍是该问题的核心挑战,即使 DETR3D 避免了显式深度预测。

注:预测结果(Prediction)与真实框(Ground-truth)对比,模型能检测到小型目标,但部分远距离目标(如前相机中的远处车辆)未被检测到。
五、结论与未来展望
5.1 结论
DETR3D 提出了一种新的范式来解决从 2D 图像恢复 3D 信息的不适定逆问题。与仅依赖 2D 计算或通过额外深度网络重建场景的方法不同,DETR3D 在 3D 空间中运作,通过反向投影按需检索图像特征。该方法的优势体现在两方面:一是消除了对中间表示(如预测深度图或点云)的依赖,避免了复合误差;二是通过将同一 3D 点投影到所有可用帧,充分利用多相机信息。
5.2 未来研究方向
- 扩展感受野:当前单个点投影在检索图像特征时感受野有限,未来可通过为每个目标查询采样多个点,整合更多信息用于目标优化。
- 多模态融合:检测头具有输入无关性,未来可融合激光雷达、雷达(RADAR)等其他模态数据,提升性能和鲁棒性。
- 领域扩展:将该框架推广到室内导航、目标操作等其他领域,扩大其应用范围并探索进一步改进的方向。