跳转至

OPEN: Object-wise Position Embedding for Multi-view 3D Object Detection

会议: ECCV 2024
arXiv: 2407.10753
代码: https://github.com/AlmoonYsl/OPEN
领域: 自动驾驶
关键词: 多视图3D检测, 深度估计, 位置编码, DETR, nuScenes

一句话总结

提出 OPEN,通过目标级深度编码器(ODE)从像素级深度先验中预测物体中心深度,并设计目标级位置编码(OPE)将该信息注入 Transformer 解码器,生成 3D 目标感知特征,在 nuScenes 上达到 64.4% NDS 的 SOTA 性能。

研究背景与动机

精确深度信息对多视图 3D 检测至关重要。现有方法利用 LiDAR 投影点进行像素级深度监督,但存在两个被忽视的问题:

深度分布不匹配:LiDAR 投影得到的深度分布在物体表面,而 DETR 系检测器的 object query 定义在物体中心。表面深度 ≠ 物体中心深度,导致监督信号与检测目标不对齐

远距离物体困难:对远处目标做整体细粒度深度估计非常困难,但仅预测物体中心深度相对更容易

现有位置编码方案的不足: - Ray-aware PE(StreamPETR):在相机视锥中生成 3D mesh grid,深度候选不确定 - Point-aware PE(3DPPE):编码像素级深度预测,忽略了目标级深度的重要性

方法详解

整体框架

OPEN 建立在 StreamPETR 基线上,包含三个核心组件:像素级深度编码器(PDE)→ 目标级深度编码器(ODE)→ 目标级位置编码(OPE),逐步从粗到细地估计和注入深度信息。

关键设计

  1. Pixel-wise Depth Encoder (PDE)

    • 输入多视图特征 \(\mathbf{F}_i \in \mathbb{R}^{C \times H \times W}\),用 MLP 编码相机内参 \(\mathbf{K}\) 调制特征
    • 通过 DepthNet(残差块 + deformable convolution)预测像素级深度图 \(\mathbf{D}_i \in \mathbb{R}^{H \times W \times 1}\)
    • 融合回归深度和概率深度生成最终像素深度
    • 用 LiDAR 投影点的 8× 下采样深度图作为监督
    • 设计动机:像素深度作为后续目标深度预测的先验,提供全场景深度感知
  2. Object-wise Depth Encoder (ODE)

    • 将像素坐标 \((u,v)\) 结合像素深度转换到相机坐标:\(\mathbf{p}_{(m,n)} = \mathbf{K}^{-1}(u \times D, v \times D, D, 1)^T\)
    • 从图像特征预测 \(k=13\) 个 3D offset,加到参考点上得到 3D 采样点
    • 将 3D 采样点投影到当前帧和前一帧的像素坐标,采样特征并加权聚合:\(\mathbf{E}_{(m,n)} = \phi(\sum_{j=1}^k \mathbf{A}_j \cdot \text{Concat}(\mathbf{F}_i(\mathbf{p}^*), \mathbf{F}'_i(\mathbf{p}^*)))\)
    • 将深度嵌入和图像特征送入 FFN 预测目标级深度 \(\mathbf{d} \in \mathbb{R}^{(H \times W) \times 1}\) 和物体中心 \(\mathbf{c} \in \mathbb{R}^{(H \times W) \times 2}\)
    • 核心思路:通过注意力聚合时序+空间邻域信息,从物体表面深度推理出物体中心深度
    • 监督:用 3D GT 框投影得到的中心深度标注
  3. Object-wise Position Embedding (OPE)

    • 拼接物体中心和目标深度得到 \(\mathbf{o}_j = (x, y, d_j)\)
    • 坐标变换到 LiDAR 坐标系:\(\mathbf{O}_j = \mathbf{R}^{-1} \mathbf{K}^{-1} \mathbf{o}'_j\)
    • 归一化后用 3D cosine 位置编码 + MLP 生成位置嵌入:\(\mathbf{OPE}_j = \text{MLP}(\text{PE}_{3D}(\text{Norm}(\mathbf{O}_j)))\)
    • 加到对应图像特征上,与 object query 在 Transformer decoder 中交互
    • 关键优势:相比 ray-aware PE 的不确定深度和 point-aware PE 的表面深度,OPE 直接编码物体中心的 3D 位置,与 DETR query 的定义一致
  4. Depth-aware Focal Loss (DFL)

    • 引入深度分数 \(\mathbf{s} = e^{-\text{L2}(\hat{\mathbf{C}} - \mathbf{C})}\) 衡量预测中心与 GT 中心距离
    • \(\mathbf{s}\) 调制 focal loss 的分类标签为软标签,使分类置信度与定位精度挂钩
    • 鼓励网络更关注 3D 物体中心信息

损失函数 / 训练策略

\[\mathcal{L} = \lambda_1 \mathcal{L}_{PDE} + \lambda_2 \mathcal{L}_{ODE} + \lambda_3 \mathcal{L}_{DFL} + \lambda_4 \mathcal{L}_{reg}\]

其中 \(\lambda_1=1.0, \lambda_2=5.0, \lambda_3=2.0, \lambda_4=0.25\)。使用 Hungarian Matching 分配标签。

训练细节:AdamW,batch=16,8×V100,streaming video 训练 90 epochs(val)/ 60 epochs(test),起始 lr=4e-4 + cosine annealing,无 CBGS。

实验关键数据

主实验

nuScenes Val Set

方法 Backbone NDS↑ mAP↑ mATE↓ mAVE↓
StreamPETR† R50 55.0 45.0 0.613 0.265
SparseBEV† R50 55.8 44.8 0.581 0.247
OPEN† R50 56.4 46.5 0.573 0.235
Far3D† R101 59.4 51.0 0.551 0.238
OPEN† R101 60.6 51.6 0.528 0.222

nuScenes Test Set

方法 Backbone NDS↑ mAP↑
Sparse4Dv2 V2-99 63.8 55.6
StreamPETR V2-99 63.6 55.0
OPEN V2-99 64.4 56.7

消融实验

各组件贡献(V2-99, 320×800, 24ep)

配置 NDS↑ mAP↑ 相比基线
Baseline (StreamPETR) 59.4 50.3 -
+PDE 59.4 50.5 +0.2 mAP
+PDE+ODE 59.7 50.6 +0.3 NDS
+PDE+ODE+OPE 60.8 52.4 +1.1 NDS, +1.8 mAP
+PDE+ODE+OPE+DFL 61.3 52.1 +1.9 NDS, +1.8 mAP

位置编码对比

方法 NDS↑ mAP↑ NDS>40m↑
Ray-aware PE 59.4 50.3 36.8
Point-aware PE 60.0 51.6 37.9
OPE 60.8 52.4 39.1

关键发现

  • OPE 是核心贡献:组件消融中 OPE 贡献了 +1.1 NDS 和 +1.8 mAP,远超 PDE(+0.2 mAP)和 ODE(+0.1 mAP)
  • 远距离优势更显著:在 >40m 的远距离目标上,OPE 比 Ray-aware PE 提升 2.3 NDS,比 Point-aware PE 提升 1.2 NDS,验证了目标级深度对远处物体更重要
  • PDE 是不可或缺的先验:去掉 PDE 后 NDS 下降 1.4%,说明像素深度作为目标深度推理的基础很关键
  • 时序信息帮助 ODE:禁用时序后 NDS 下降 0.3%,时序线索有助于更准确的目标深度预测
  • 注意力图可视化显示 OPE 对困难目标(被遮挡/远距离)有更聚焦的注意力权重

亮点与洞察

  • 简洁的洞察驱动设计:从"LiDAR 深度在表面而非中心"这一简单观察出发,推导出目标级深度的必要性,设计清晰优雅
  • 即插即用:OPE 可方便地替换现有 DETR 系检测器中的位置编码模块
  • 在不增加复杂推理流程的前提下,通过更好的深度表示显著提升了远距离检测能力

局限与展望

  • ODE 的目标深度监督依赖 3D GT 框投影,仍需精确的 3D 标注
  • 目前 ODE 逐像素预测目标深度,对无物体区域的预测是冗余的,可考虑稀疏化
  • DFL 实验中 mAP 从 52.4 微降至 52.1,说明软标签策略可能引入少量噪声
  • 未探索与 LiDAR 融合或 BEV 空间检测器的结合

相关工作与启发

  • 延续 PETR/StreamPETR 的位置编码思路,但从像素级改进到目标级
  • 3DPPE 的 point-aware PE 是直接前置工作,OPEN 解决了它忽略目标中心深度的问题
  • Depth-aware Focal Loss 的思路(用几何信息调制分类损失)可推广到其他 3D 任务

评分

  • 新颖性: ⭐⭐⭐⭐ — 目标级深度 + 位置编码的思路是原创的,观察准确且设计合理
  • 实验充分度: ⭐⭐⭐⭐⭐ — 多backbone/分辨率/数据集、组件消融、距离分段分析、PE 对比、注意力可视化,非常全面
  • 写作质量: ⭐⭐⭐⭐ — 图示清晰(特别是 Fig.1 和 Fig.4 的 PE 对比),问题动机论述有说服力
  • 价值: ⭐⭐⭐⭐ — nuScenes SOTA,设计理念对后续多视图检测工作有指导意义

相关论文