1. 课程导入

在自动驾驶、机器人、AR/VR、工业检测与空间智能等场景中,系统要理解的不再只是“图像里有什么”,而是“物体在三维空间中的位置、姿态、尺寸、运动趋势以及彼此关系”。这正是3D感知要解决的问题。它把相机、激光雷达、毫米波雷达、IMU、GNSS等传感器采集到的原始信号,转化为可供规划、控制、交互使用的三维世界表示。与2D视觉相比,3D感知多了一个关键维度——深度与空间几何,也因此对数据、标注、评测提出了更工程化、更严格的要求。

1.1 3D感知的定义与任务边界

从工程视角看,3D感知可以定义为:从多模态传感器数据中估计三维空间中目标、场景与自车状态的几何与语义属性,并输出结构化结果的过程。它的输出通常包括3D边界框、类别、朝向角、速度、点云分割掩码、占据栅格、车道线、可行驶区域、深度图、光流与场景流等。

3D感知的任务边界需要明确:它负责“感知世界”,不直接负责路径规划与车辆控制;它依赖标定、同步与坐标系转换,但不等于传感器驱动;它输出带不确定性的估计结果,而不是绝对真值。常见任务可归纳为:

  • 3D目标检测:输出目标的三维框、类别、朝向与速度,是自动驾驶感知的核心任务之一。
  • 3D语义/实例分割:对点云或体素进行逐点/逐体素分类,区分道路、建筑、植被、行人等。
  • 深度估计与场景流:估计每个像素或点的深度及运动矢量,支撑避障与动态分析。
  • 占据预测与BEV感知:在鸟瞰图或体素空间统一表达静态与动态环境,便于下游规划使用。
  • 多传感器融合:融合相机、LiDAR、Radar等模态,提升鲁棒性与远距离感知能力。

1.2 数据集与Benchmark在算法研发中的核心作用

在3D感知研发中,数据集与Benchmark不是“附属材料”,而是驱动算法迭代的基础设施。数据集提供可学习的监督信号与可复现的实验条件;Benchmark则提供统一的任务定义、评价指标与排行榜,使不同方法能够在同一尺度上比较。

它们的作用可以概括为四点:第一,定义问题边界,例如KITTI定义了车载3D检测的经典设定;第二,提供训练与验证数据,包括点云、图像、标定参数与标注;第三,通过指标暴露模型短板,如远距离目标、遮挡、小目标、类别不平衡;第四,推动工程规范,如数据版本管理、标注一致性、评测可复现性。

核心认知:算法决定上限,数据与评测决定你能否稳定逼近上限。没有可靠的数据集与Benchmark,模型改进往往无法被可信地验证。

1.3 从数据到评测的工程链路

一个完整的3D感知研发闭环,通常包含数据采集、标定与同步、标注、数据清洗、训练、验证、测试与回归。下图展示了这一链路的核心结构:传感器数据经过时空对齐后进入标注与数据集构建,再用于模型训练,最终通过Benchmark指标反馈到数据与模型迭代。

3D感知研发闭环:数据 → 模型 → Benchmark → 迭代 多模态传感器 Camera / LiDAR Radar / IMU / GNSS 原始信号与时间戳 标定与同步 内外参 / 时间对齐 坐标系转换 统一到自车/世界坐标 数据集构建 标注 / 清洗 / 划分 训练集 / 验证集 / 测试集 版本管理与元数据 数据规范 格式 / 类别 标注准则 模型训练 检测 / 分割 / 融合 损失函数 / 优化器 训练日志与检查点 Benchmark评测 mAP / NDS / IoU 精度 / 召回 / 时延 排行榜与回归测试 误差分析 漏检 / 误检 定位偏差 长尾场景 误差反馈驱动数据补充与模型迭代 采集策略调整 场景与需求 城市 / 高速 / 泊车 白天 / 夜晚 / 雨雾 ODD与任务优先级

1.4 常见误区与复盘视角

初学者在3D感知与Benchmark工程中常陷入以下误区:

  • 只看模型结构,不看数据质量。标注噪声、标定误差、类别不平衡会直接限制模型上限。
  • 把公开数据集分数等同于实际能力。公开Benchmark与真实ODD存在域差异,排行榜高不代表量产可靠。
  • 忽略评测协议细节。不同IoU阈值、距离划分、难度等级会显著改变指标含义。
  • 缺少回归测试。模型更新后未在固定测试集上回归,容易引入隐蔽退化。
  • 数据泄漏。训练集与验证集场景重叠,会导致指标虚高。

排障提示:当模型指标异常时,优先检查数据管线:时间同步是否漂移、标定是否过期、标注类别是否一致、测试集是否被污染。很多“模型问题”本质是数据与评测问题。

1.5 本课程知识框架与学习目标

本课程围绕“数据—模型—评测—工程化”四条主线展开,共30章。你将系统学习3D感知任务定义、主流数据集、标注与格式、Benchmark指标、评测工具链、误差分析、数据闭环与工程实践。

模块 核心内容 关键产出
基础与任务 3D感知定义、坐标系、任务边界、传感器特性 建立三维感知问题框架
数据集与标注 KITTI、nuScenes、Waymo、ONCE等;标注规范与格式 能读懂并构建3D数据集
Benchmark与指标 mAP、NDS、IoU、精度/召回、时延与鲁棒性 能正确解读与设计评测
工程与闭环 数据版本、回归测试、误差分析、数据闭环 能搭建可复现评测流水线

学习目标可以具体化为:第一,能够清晰描述3D感知各任务输入输出与评价方式;第二,能够独立完成数据集加载、可视化与标注检查;第三,能够使用主流Benchmark指标评测模型并定位问题;第四,能够设计数据闭环与回归测试流程,支撑算法持续迭代。

# 典型3D感知评测流程(伪代码)
load_dataset(config)          # 加载点云、图像、标定与标注
build_dataloader()            # 划分训练/验证/测试
train_model()                 # 训练3D检测或分割模型
run_inference(test_split)     # 在固定测试集推理
evaluate(pred, gt, protocol)  # 按Benchmark协议计算指标
analyze_errors()              # 漏检、误检、定位偏差分析
update_data_and_model()       # 数据补充与模型迭代

学习建议:每学完一个数据集或Benchmark,都尝试回答三个问题:它定义了什么任务?它用什么指标?它的评测协议有哪些边界条件?长期坚持,你会形成对3D感知评测的系统判断力。

3D感知的竞争力,最终体现在“数据—模型—评测”闭环的效率与可靠性上。掌握数据集与Benchmark评测工程,意味着你不仅能训练模型,更能证明模型有效、定位模型缺陷,并推动其走向真实场景。