MonoDETR:基于 Transformer 的单目 3D 目标检测器
📄 论文:MonoDETR: Depth-Aware Transformer for Monocular 3D Object Detection 📅 会议:ICCV 2023 🔗 论文地址:https://arxiv.org/abs/2203.13310 💻 GitHub:https://github.com/ZrrSkywalker/MonoDETR
一、背景介绍
单目 3D 目标检测(Monocular 3D Object Detection)是指仅依赖单张 RGB 图像预测三维边界框,具备成本低、部署简单等优势。但由于缺乏深度信息、尺度模糊严重,该任务极具挑战。
MonoDETR 是首个将 Transformer 引入单目 3D 检测的端到端方法,借鉴 DETR 思路,通过引入 深度感知机制(Depth-aware Fusion),有效缓解单目图像中尺度歧义、特征不稳定的问题。
二、整体框架
MonoDETR 架构包含 4 个核心模块:
模块组成
1. 图像特征提取(Backbone)
- 使用 ResNet-50/101 等卷积网络提取特征图。
- 输出多尺度特征供后续模块使用。
2. 深度引导特征融合(Depth-aware Fusion)
- 引入深度预测网络,辅助学习像素点的相对深度。
- 将预测深度作为条件,引导 Transformer 聚合空间一致性强的区域。
融合方式如下:
其中 $F_{img}$ 是图像特征,$D_{pred}$ 是深度估计。
3. Transformer 编解码器
- Encoder:对深度引导后的特征做全局建模;
- Decoder:输入固定数量的 object queries,输出 3D 边界框与类别。
注意:Encoder 输入加上了 位置编码(含图像坐标与深度信息),以增强空间感知能力。
4. 3D 边界框预测头
每个 query 输出通过 MLP 得到:
- 类别概率 $\hat{c}_i$
- 三维边界框参数:
这里 $(x, y, z)$ 是中心坐标,$(w, h, l)$ 是尺寸,$\theta$ 是朝向角。
三、损失函数设计
MonoDETR 借鉴 DETR 的 bipartite matching 思路,定义以下损失项:
1. 匹配成本(Matching Cost)
结合分类损失与位置误差(L1 + IoU)作为匈牙利匹配的 cost:
2. 分类损失(Focal Loss)
MonoDETR 采用 Focal Loss 而非 Cross Entropy,更适合处理单目检测中前景/背景比例极不均衡的问题。
3. 边界框损失
由两部分构成:
- L1 Loss:直接预测框与 GT 的参数差异
- GIoU 3D Loss:衡量预测框与 GT 的空间重叠程度
最终总损失为:
四、MonoDETR vs. DETR 对比分析
| 模块 | DETR (2D 图像) | MonoDETR (单目 3D 检测) |
|---|---|---|
| 输入 | RGB 图像 | RGB 图像 |
| 任务目标 | 2D BBox + 类别 | 3D BBox + 类别 |
| Backbone | CNN (ResNet) | CNN + Depth-Net |
| 空间建模 | 图像平面位置编码 | 图像坐标 + 深度编码 |
| 匹配策略 | 匈牙利匹配 | 匈牙利匹配 |
| 损失函数 | Cross Entropy + L1 + IoU | Focal Loss + L1 + GIoU |
| 优化难点 | 正负样本匹配不稳定 | 深度估计误差大,尺度模糊 |
五、性能表现
在 KITTI 数据集的测试集上,MonoDETR 在多个类别上优于先前 SOTA 单目方法,尤其在中/远距离目标检测上效果更佳。
| 方法 | 模型类型 | Easy | Moderate | Hard |
|---|---|---|---|---|
| MonoDIS | anchor-based | 10.5 | 7.0 | 5.3 |
| MonoFlex | anchor-based | 13.9 | 9.1 | 7.5 |
| MonoDETR | transformer-based | 14.5 | 10.2 | 7.9 |
六、关键贡献
- 🚀 首次将 DETR 引入到单目 3D 检测领域,统一检测流程;
- 🧠 引入深度感知特征增强模块(DFF),提升空间建模;
- 🔄 端到端训练,无需 anchor、NMS、后处理;
- 📈 在 KITTI 等标准数据集上达成 SOTA 性能。
七、可视化建议(可自行补充)
建议加入以下内容:
- 网络结构流程图(CNN + DFF + Transformer)
- 匹配过程与 loss 分布示意
- KITTI 上预测框与 GT 的 3D 叠图