📌 概述

3D 目标检测的核心任务是从传感器数据中输出目标的三维边界框——包括位置(x, y, z)、尺寸(w, h, l)和朝向角(yaw)。相比 2D 检测,3D 检测需要解决深度估计、遮挡处理、尺度歧义等额外难题。

过去五年,3D 检测从 LiDAR-only 一枝独秀发展到多传感器融合,再到纯视觉方案崛起。而随着 UniAD、VAD 等端到端框架的流行,检测正在从"独立模块"逐渐转变为"规划的子任务"——甚至在部分 VLA 方法中,检测被完全跳过,模型直接从感知特征隐式地输出轨迹。


🎯 核心概念

从 2D 到 3D:四个关键挑战

挑战2D 检测3D 检测难度来源
深度估计不需要必须精确估计距离单目深度存在固有歧义(同一 2D 大小可对应不同距离)
遮挡部分遮挡仍可检测严重遮挡时 3D 框精度骤降3D 空间需要完整形状推断
尺度歧义近大远小是特征而非问题必须区分近处小物体和远处大物体透视投影丢失了绝对尺度信息
朝向不需要需要预测 yaw 角视觉上前后朝向难区分

3D 边界框表示

一个 3D 边界框通常表示为 7 自由度:

$$\mathbf{B} = (x, y, z, w, h, l, \theta)$$

其中 (x, y, z) 为中心坐标,w/h/l 为宽高长,θ 为绕 z 轴的朝向角。在 BEV 视角下,3D 检测退化为在鸟瞰图上的 2D 检测 + 高度/朝向回归,难度显著降低——这也是 BEVFormer 等 BEV 方法成功的原因之一。


🔧 技术详解

纯视觉路线

纯视觉 3D 检测的核心难题是:从 2D 图像中恢复 3D 信息,这本质上是一个不适定的病态问题。主要有两条主流技术路线:

DETR3D:3D-2D 查询

DETR3D 是第一个将 Transformer 架构引入 3D 检测的工作,它借鉴了 2D 检测中 DETR(Detection Transformer)的设计范式——使用一组可学习的 object queries 替代了传统的 anchor 或 proposal 设计。它定义了一组稀疏的 3D 目标查询(object queries),每个查询通过预测的 3D 参考点投影到 2D 图像坐标,然后从对应的图像特征中采样,再通过跨注意力更新查询。

核心设计:

  1. 3D 参考点 → 相机投影矩阵 → 2D 图像坐标
  2. 在 2D 坐标周围双线性采样图像特征
  3. 跨注意力聚合多视图特征 → 更新查询
  4. 从查询解码出 3D 框

BEVFormer:BEV 空间查询

BEVFormer 将感知统一到 BEV 空间:预定义 BEV 网格上的每个 query 代表一个空间位置,通过空间交叉注意力从多视图图像中采样特征(采样 4 个高度层 × 8 个环绕点),再通过时序自注意力与历史 BEV 特征融合。

与 DETR3D 的区别:DETR3D 使用稀疏查询(并行预测目标),BEVFormer 使用密集 BEV 网格(统一表示 + 检测 head)。

PETR / StreamPETR:位置编码转换

PETR 提出另一种思路:将 3D 坐标直接编码进图像特征,使 3D 检测退化为 2D 检测。它使用 3D 位置编码(3D Position Embedding)将每个像素对应到 3D 空间中的射线,Transformer 通过注意力自行学习 3D-2D 对应关系。

StreamPETR 在 PETR 基础上引入时序传播,通过 object memory queue 将历史帧的目标信息传递到当前帧,避免了逐帧重新检测的计算浪费。

方法查询类型特征采样时序融合速度mAP (nuScenes)
DETR3D稀疏 object query2D 投影采样34.9
BEVFormer密集 BEV grid query4D 参考点采样时序自注意力中等51.7
PETRv2密集 pixel query3D PE 编码时序 attention中等48.5
StreamPETR稀疏 query + memory3D PE 编码memory queue54.6

LiDAR 路线

LiDAR 点云是 3D 检测最直接的传感器——它天然提供精确的 3D 坐标。核心挑战是如何高效处理稀疏、无序的点云。

PointPillars:点云转伪图像

PointPillars 将点云沿 BEV 平面划分成柱体(pillars),对每个 pillar 内的点提取特征后压缩为伪图像(Pseudo-Image),然后使用标准的 2D 检测网络处理。其优势是将 3D 检测转化为 2D 检测问题,推理速度极快(62 FPS)。

VoxelNet:3D 卷积

VoxelNet 将点云量化为 3D 体素网格,对每个非空体素内的点进行特征编码(VFE),然后使用 3D 卷积逐步下采样。虽然精度高,但 3D 卷积计算量大,实时性差。

CenterPoint:基于中心的检测

CenterPoint 借鉴 2D 的 CenterNet 思想,在 BEV 特征图上预测每个位置的"中心热图",再回归中心点的 3D 框属性。它使用 PointPillars 或 VoxelNet 作为 backbone,在 Waymo Open Dataset 上达到 SOTA。

融合路线

融合的核心难题是:LiDAR 和图像特征的空间对齐。LiDAR 特征在 3D 欧氏空间,图像特征在 2D 透视空间。

TransFusion:稀疏查询融合

TransFusion 以 LiDAR 特征为主,图像特征为辅。第一阶段从 LiDAR BEV 特征生成初始检测框;第二阶段使用 image-guided 的跨注意力细——让每个目标查询从最近视图的图像特征中采样,补充语义信息。

BEVFusion:统一 BEV 特征融合

BEVFusion 是当前最主流的融合范式。它分别将 LiDAR 和图像特征转换到 BEV 空间,然后按通道拼接。关键设计是使用 LSS 将图像特征提升到 3D 再降采样到 BEV。BEVFusion 的简单拼接极其有效,在 nuScenes 检测排行榜上长期霸榜。

BEVFusion 的成功表明:融合的主要挑战不在于设计复杂的交互机制,而在于确保两种模态的特征在空间上精确对齐。一旦对齐到统一 BEV 空间,简单的拼接或求和就能取得优秀结果。

在 BEVFusion 之后,许多工作进一步优化了融合机制。DeepFusion 提出了"inverse matrix"策略——学习从 3D 空间到 2D 图像的投影的"逆映射",使图像特征可以直接在 3D 体素空间对齐。FSD(Fully Sparse 3D Detection)则提出了完全稀疏的 3D 检测框架,使用稀疏实例查询替代密集特征图,将计算量降低了约 70%。

检测损失函数与训练策略

3D 检测的训练涉及多任务损失,以 CenterPoint 为例:

$$\mathcal{L} = \mathcal{L}_{heatmap} + \mathcal{L}_{reg} + \mathcal{L}_{height} + \mathcal{L}_{yaw}$$
  • Heatmap Loss:Focal Loss 变体,监督中心点热图。
  • Regression Loss:L1 Loss 或 Smooth L1 Loss,监督 3D 框的尺寸和偏移量。
  • Height Loss:单独的高度回归损失,因为高度在 BEV 特征中信息量少。
  • Yaw Loss:将朝向角分解为 sin/cos 两个分量的回归或分类损失。

数据增强在 3D 检测中至关重要:GT-AUG(从其他帧复制真实目标插入)、点云旋转/翻转、CBGS(category-balanced grouping 解决类别不均衡)等都是常用策略。此外,模拟恶劣天气(雨、雾、雪)的数据增强对于提升模型鲁棒性也至关重要,因为传感器在恶劣条件下的退化是自动驾驶安全的关键风险点。

稀疏卷积在 LiDAR 检测中的核心作用

LiDAR 点云的稀疏性(99% 以上体素为空)使得密集的 3D 卷积计算浪费严重。稀疏卷积(Sparse Convolution / Submanifold Convolution)只对非空体素进行计算,在 SECOND、CenterPoint 等中被广泛采用。3D 稀疏卷积的核心操作与 2D 卷积类似,但只对存在有效输入的 voxel 位置进行卷积运算,并通过 Rule Book 管理输入和输出 voxel 的对应关系,计算效率提升数十倍。


📊 方法对比

三类方法的核心差异

维度纯视觉纯 LiDAR融合
深度精度差(依赖于网络学习)好(精确测距)
语义理解好(图像具有丰富纹理信息)差(无纹理信息)最好
成本低(数百美元/套)高(数万元/套)最高(多传感器成本叠加)
退化条件夜间/雨雾差不受光照影响互补鲁棒
典型代表BEVFormer, StreamPETRCenterPointBEVFusion

端到端范式下的检测角色演变

在 UniAD 和 VAD 中,3D 检测 head 仍然是感知模块的核心输出之一。但在 VLA 模型中,这一角色正在改变:

  1. UniAD / VAD 等端到端模型:检测 head 输出 → 跟踪 → 预测 → 规划。检测是串行流水线的最前端起点,检测质量直接影响下游。检测误差会沿流水线逐级放大,因此检测的高召回率在端到端框架中至关重要。
  2. VLA(DriveVLM、EMMA):没有显式的检测 head。视觉编码器 → LLM 直接输出规划。LLM 在语义层面"理解"场景中的目标位置和状态,检测能力内化到 LLM 的隐式表征中。
  3. 世界模型(GAIA-1、DriveDreamer):检测作为训练时的监督信号之一,推理时不需要检测——模型直接预测未来的场景。检测在这里更多是用于训练时的场景理解辅助。

趋势是:检测正在从"必须的输出"变为"可选的中间监督"。但作为重要的评价指标(nuScenes Detection Score, Waymo Open Dataset mAP/mAPH 等)和安全冗余模块,3D 检测在短期内仍然是自动驾驶系统中不可或缺的一环。

3D 检测的常用评测基准

基准场景传感器指标核心挑战
nuScenes城市道路,1000 场景6 相机 + 5 雷达 + LiDARNDS(综合指标)+ mAP多传感器融合
Waymo Open城市+高速,1150 场景5 相机 + LiDARmAP / mAPH(加权)大规模数据,高精度要求
KITTI城市+高速,仅 7481 帧2 相机 + LiDARAP@40经典小规模基准
ONCE多城市,百万级7 相机 + LiDARmAP域迁移挑战

🔗 与自动驾驶的关联

检测用于安全验证

即使端到端模型不再显式输出检测框,3D 检测仍然是安全验证的重要工具——检测结果可与规划决策交叉验证,检查是否存在"模型没看到但检测到"的冲突,或"模型规划了碰撞轨迹但检测没有感知到"的漏检风险。这种冗余验证机制是 L4 自动驾驶安全架构中的标准配置。

Occupancy 正在逐步取代显式检测成为主流场景表示

在最新的世界模型和 end-to-end 自动驾驶方案中,Occupancy(占据网格)正在取代 3D 检测成为主要的场景表示。Occupancy 能描述任意形状的障碍物(检测无法处理的异形车辆、散落货物),且与规划的交互更自然。

从模块化到端到端训练

在传统的模块化方案中,3D 检测是独立的训练任务,需要单独标注、单独优化。在 UniAD 等端到端框架中,检测 head 与其他任务(跟踪、建图、规划)共享 backbone 特征,通过多任务损失联合优化。这意味着检测的梯度会影响到感知 backbone 的特征学习,而检测的损失权重需要与规划等其他任务平衡,通常通过不确定性加权(uncertainty weighting)或 GradNorm 等策略自动调节。

当前端到端框架也开始引入"可解释的检测"——VAD 在规划 head 中保留了一个轻量检测分支,用于在推理时输出"检测框"以辅助规划决策的可解释性。这种混合范式(隐式场景理解 + 显式检测输出)可能成为实用化和安全验证之间的最佳平衡点。

对于 VLA 模型,检测信号完全来自 LLM 的隐式理解——模型没有显式的 3D 检测监督,但通过学习"场景描述→轨迹"的映射,LLM 内部可能形成了隐式的空间感知能力。分析这种隐式空间理解是否能在安全关键场景下替代显式检测,是当前的研究热点。

数据标注与合成数据

3D 检测的数据标注成本远高于 2D 检测。一个 2D 框约需 10 秒标注,而一个 3D 框在点云中标注约需 60-90 秒(需要调整朝向、尺寸、位置三个自由度),而一个完整的 Waymo Open Dataset(约 1000 个 scene,每个 scene 约 200 帧)标注成本超过 2000 万美元。一套完整的 nuScenes 数据集(40k 帧)标注成本约 200 万美元。

合成数据(Synthetic Data)成为降低标注成本的有效手段。利用游戏引擎(如 CARLA、MetaDrive)或仿真器(如 NVIDIA DRIVE Sim)生成标注精确的 3D 检测数据,在域迁移技术的帮助下,合成数据训练—真实数据微调的策略已在许多工作中证明了有效性。PointPainting、Frustum PointNets 和 LiDAR-Sim 等方法的成功也表明,在合成数据上预训练 3D 检测模型后在真实数据上微调,可以显著降低对真实标注的依赖。


📚 延伸阅读

  • Wang et al., “DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries”, CoRL 2021.
  • Hu et al., “Learning Feature Pyramids for Human Pose Estimation”, ICCV 2017.(FPN 的关键设计思想也启发了 3D 检测中的多尺度特征融合)
  • Li et al., “BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers”, ECCV 2022.
  • Liu et al., “PETR: Position Embedding Transformation for Multi-View 3D Object Detection”, ECCV 2022.
  • Lang et al., “PointPillars: Fast Encoders for Object Detection from Point Clouds”, CVPR 2019.
  • Yin et al., “Center-based 3D Object Detection and Tracking”, CVPR 2021.
  • Bai et al., “TransFusion: Robust LiDAR-Camera Fusion for 3D Object Detection with Transformers”, CVPR 2022.
  • Liu et al., “BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation”, ICRA 2023.
  • Li et al., “FSD: Fully Sparse 3D Object Detection”, NeurIPS 2022.
  • Wang et al., “DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection”, CVPR 2022.
  • Zhou et al., “VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection”, CVPR 2018.
  • Shi et al., “PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection”, CVPR 2020.(PV-RCNN 融合了点云级和体素级特征)
  • Yan et al., “SECOND: Sparsely Embedded Convolutional Detection”, Sensors 2018.(SECOND 引入了稀疏卷积,使 LiDAR 3D 检测达到实时)