本文目录导读:

3D目标检测是计算机视觉和自动驾驶领域中的一项核心技术,与2D目标检测(输出图像中的2D边界框)不同,3D目标检测的目标是在三维空间中定位目标,并识别其类别。
它的输出通常是一个3D边界框,包含了目标的9个自由度信息:
- 位置:中心点的三维坐标
(x, y, z)。 - 尺寸:长、宽、高
(l, w, h)。 - 朝向角:通常为绕垂直轴(Y轴或Z轴)的旋转角
θ(偏航角)。 - 类别:如汽车、行人、自行车等。
主要应用场景
- 自动驾驶:最核心的应用,感知车辆周围的障碍物(车、人、路障等),为路径规划、决策和控制提供精确的空间信息。
- 机器人导航与操作:让机械臂能够抓取特定物体,或让机器人在复杂环境中避开障碍物。
- 增强现实(AR)/虚拟现实(VR):将虚拟物体精确放置在真实世界的三维空间中。
- 安防监控:在3D空间中追踪人员或物体,检测异常行为(如跨越边界、物品遗留)。
主流技术方案
根据输入数据的类型,3D目标检测主要分为以下几类:
基于单目/双目图像的方法
- 输入:普通的RGB图像(2D)。
- 原理:利用图像的纹理、阴影、几何关系或深度学习,从2D图像中估计3D信息,常用技术包括几何约束(如透视投影)和深度估计网络。
- 优点:
- 硬件成本低(只需要摄像头)。
- 纹理信息丰富,容易识别物体类别(如交通标志、行人)。
- 缺点:
- 缺少直接的深度信息,对远距离或小目标的3D定位精度较差。
- 对光照变化和遮挡敏感。
- 代表算法:
- Mono3D:利用物体先验知识和场景上下文推理。
- FCOS3D:基于全卷积单阶段检测器,直接预测3D属性。
- SMOKE:通过预测关键点和3D信息,结构简洁高效。
- DD3D:使用预训练的深度估计模型,性能优异。
基于点云的方法
- 输入:激光雷达(LiDAR)产生的3D点云数据。
- 原理:点云直接提供了场景中每个点的精确三维坐标
(x, y, z),因此位置信息天生准确,难点在于点云通常是稀疏、无序的。 - 优点:
- 定位精度非常高,是自动驾驶的主流方案。
- 不受光照影响,能全天候工作。
- 缺点:
- 激光雷达成本较高。
- 点云数据稀疏,缺乏纹理信息,难以区分同类物体(如一辆红色车和一辆白色车)。
- 数据处理计算量大。
- 代表算法:
- PointNet / PointNet++:开创性工作,直接处理无序点云。
- VoxelNet:将空间划分为3D体素(Voxel),用3D卷积处理。
- PointPillars:将3D空间压缩成“柱子”(Pillars),用2D卷积处理,速度快。
- SECOND:稀疏卷积,大幅提升速度。
- PV-RCNN:Point-Voxel混合,结合体素和点的优势。
- CenterPoint:基于中心点的范式,简单高效。
多模态融合的方法
- 输入:图像 + 点云。
- 原理:融合两者的优势——图像提供丰富的语义信息(是什么),点云提供精确的几何位置(在哪)。
- 融合方式:
- 早期融合:在输入层或特征提取的早期阶段融合。
- 中期融合:将图像和点云的特征图进行投影和对齐后融合。
- 晚期融合:分别进行检测,然后融合各自的检测结果。
- 优点:性能通常优于单一传感器方案,对遮挡和远距离目标鲁棒性更强。
- 缺点:系统复杂度高,需要精确的传感器标定和时间同步。
- 代表算法:
- AVOD:早期融合的代表,生成多模态特征候选框。
- F-PointNet:利用2D检测器生成视锥(Frustum),在3D空间内搜索。
- MV3D:多视角融合。
- BEVFusion:当前主流范式,将图像和点云的特征都转换到鸟瞰图(BEV)视角进行融合,效果极佳。
基于纯视觉鸟瞰图(BEV)的方法
- 输入:多视角环视摄像头图像。
- 原理:这是近两年兴起的最热方向,它将多个摄像头的2D图像特征,通过视角变换(View Transformation),映射到统一的鸟瞰图坐标系下,然后在BEV空间中进行目标检测。
- 优点:
- 成本低(仅需摄像头)。
- 天然以自动驾驶的BEV视角进行表示,便于后续规划和控制。
- 性能在不断提升,某些场景接近或达到LiDAR方案水平。
- 缺点:
- 仍然受限于单目深度估计的固有难题。
- 对视角变换、网络结构和训练数据要求极高。
- 代表算法:
- LSS (Lift-Splat-Shoot):奠定了“Lift(提升深度)-Splat(溅射到BEV)”的范式。
- BEVDet:首个端到端的BEV空间检测框架。
- BEVFormer:利用Transformer的注意力机制进行时空融合,性能卓越。
- Tesla AI Day中展示的Occupancy Network便是此类方法的巅峰体现。
关键挑战
- 尺度与遮挡:远距离目标在图像中很小,且容易被遮挡,点云稀疏。
- 稀疏性:点云在远处和物体表面很稀疏,增加了检测难度。
- 计算效率:3D数据量大,如何在保证实时性的同时提升精度是核心问题。
- 标注成本:3D标注(在LiDAR点云或图像中精确标注3D框)非常昂贵且费时。
- 传感器标定与同步:多传感器(摄像头+LiDAR+IMU)的精确联合标定是融合方案的基础。
常用数据集与评价指标
- 数据集:
- KITTI:最经典的数据集,包含图像、点云和3D标注。
- nuScenes:大规模数据集,包含6个摄像头、5个雷达和1个LiDAR,有1000个场景。
- Waymo Open Dataset:来自Waymo自动驾驶车队,包含多样化的场景。
- Lyft Level 5:另一个大规模商业数据集。
- 评价指标:
- AP (Average Precision):平均精度,与2D检测类似。
- 3D IoU (Intersection over Union):3D框的交并比,通常使用0.5或0.7的阈值。
- BEV AP:仅在鸟瞰图视角下计算2D IoU,对定位精度要求严格。
- mAP (mean Average Precision):各类别AP的平均值。
- NDS (nuScenes Detection Score):nuScenes引入的综合指标,考虑了位置、尺寸、朝向、速度和属性等误差。
未来趋势
- 纯视觉方案(Camera-Only):随着BEV范式和Transformer的成熟,纯视觉3D检测正在快速追赶LiDAR方案,是降低成本的重要方向。
- 端到端与Occupancy Network:不再局限于检测“物体”,而是对场景中的每一个3D体素进行分类(是车、是人、是空还是未知),更接近“世界模型”。
- 多模态深度融合:探索更高效、鲁棒的特征级融合方式,尤其是在时序融合(Temporal Fusion)方面,利用历史帧信息增强当前帧的感知。
- 4D毫米波雷达:4D雷达(成像雷达)能提供类似点云但成本更低的3D信息,正在成为图像和LiDAR之间一个有潜力的折中方案。
- 仿真与自监督学习:利用合成数据或大规模无标注数据进行预训练,以缓解标注成本问题。
总结一个简单的学习路径
- 打基础:掌握2D目标检测(如Faster R-CNN, YOLO系列),了解数据增强、损失函数、NMS等概念。
- 理解3D几何与坐标变换:熟悉相机内参、外参、世界坐标系、相机坐标系、图像坐标系、体素坐标系之间的转换。
- 实践经典论文:
- 从PointPillars(快,好理解)开始,了解LiDAR检测的基线。
- 学习FCOS3D(单目)或BEVDet(BEV),了解视觉方案的流程。
- 阅读BEVFusion,理解多模态融合的核心思想。
- 动手实验:使用OpenPCDet(LiDAR)、MMDetection3D(多模态通用)或 BEVDet/BEVFusion 的官方代码,在KITTI或nuScenes上训练和评估模型。
- 深入思考:尝试理解每个模块(如视角变换、稀疏卷积、点云特征提取)的设计意图和优缺点。