视觉OCC综述
约 14880 字大约 50 分钟
occ
2025-03-17
自动驾驶中的基于视觉的3D占用预测:回顾与展望
张亚南,张金清,王增然,徐俊豪,黄迪()
北京航空航天大学计算机科学与工程学院智能识别与图像处理实验室,北京 100191,中国
摘要
近年来,自动驾驶因其减轻驾驶员负担和提高驾驶安全的潜力而受到越来越多的关注。基于视觉的3D占用预测是一种新兴的感知任务,它从图像输入中预测自动驾驶车辆周围3D体素网格的空间占用状态和语义信息,适用于成本效益高的自动驾驶感知系统。尽管许多研究已经证明了3D占用预测相较于以物体为中心的感知任务的更大优势,但目前仍缺乏专门针对这一快速发展领域的综述。本文首先介绍了基于视觉的3D占用预测的背景,并讨论了该任务中的挑战。其次,我们从特征增强、部署友好性和标签效率三个方面对基于视觉的3D占用预测的进展进行了全面调查,并深入分析了每类方法的潜力和挑战。最后,我们总结了当前的研究趋势,并提出了一些启发性的未来展望。为了为研究人员提供有价值的参考,我们在https://github.com/zya3d/Awesome-3D-Occupancy-Prediction上组织了一个定期更新的相关论文、数据集和代码的集合。
关键词:3D占用预测,自动驾驶,鸟瞰图(BEV),Transformer
1 引言
近年来,随着深度学习和传感器技术的发展,自动驾驶取得了显著进展,有望有效减少交通事故、提高交通效率并提升人们的出行体验。自动驾驶系统通常由三个关键模块组成:环境感知、行为决策和运动控制。环境感知模块分析车载传感器捕获的数据,以感知和理解周围环境,作为行为决策和运动控制的前提,在自动驾驶中起着至关重要的作用。
3D物体检测作为自动驾驶感知系统的基本组成部分,已经引起了研究人员的广泛关注,基于不同传感器数据模态的研究形成了三个分支:基于图像的方法[1; 2; 3; 4; 5; 6],基于LiDAR的方法[7; 8; 9; 10; 11; 12],以及多模态方法[13; 14; 15; 16; 17; 18]。虽然基于LiDAR和多模态的方法可以实现相对较强的检测性能,但基于图像的方法由于其较低的经济成本和更好的实时性,在实际部署中更受青睐。最近,鸟瞰图(BEV)表示范式[19; 20; 21; 22; 23]的出现提高了以视觉为中心的3D物体检测的准确性,进一步缩小了性能差距。
然而,基于BEV表示的以视觉为中心的3D物体检测在复杂的开放场景中仍然面临固有的局限性:
(1)表示有限。3D边界框仅估计前景物体的最大可能边界,这种粗粒度的表示无法描绘细粒度的内部几何形状和背景区域。此外,鸟瞰图(BEV)表示本质上提供了3D空间的俯视投影,不可避免地导致高度信息的丢失。
(2)检测有限。在复杂场景中,遮挡、光照变化和噪声等因素普遍存在,基于BEV的检测特别容易受到干扰,导致尽管某些特征仍然可用,但整个物体丢失。此外,在开放场景中,形状或外观未定义的长尾物体,如挖掘机和拖车等可变形障碍物,以及植被、砾石和垃圾等未知类别的障碍物,对涵盖所有极端情况提出了挑战。
基于视觉的3D占用预测从图像输入中预测自动驾驶车辆周围3D体素网格的空间占用状态和语义类别,为3D空间中未定义的长尾障碍物提供细粒度表示和鲁棒检测,是一个有前景的解决方案。占用表示起源于机器人领域,其中3D空间被划分为体素单元,用于预测体素是否被物体占用,从而实现有效的避障。
Mescheder等人[24]提出了占用网络,通过深度神经网络分类器的连续决策边界隐式表示3D表面,利用占用网格映射来确定网格是否被占用。Peng等人[25]进一步引入了卷积占用网络,这是一种结合了卷积神经网络表达能力和隐式表示优势的新型形状表示方法。在2022年特斯拉AI日上,特斯拉将占用网络引入自动驾驶,引发了基于视觉的3D占用预测的研究热潮。
在本文中,我们全面回顾了用于自动驾驶应用的基于视觉的3D占用预测方法,==并将现有方法系统地分为三类:特征增强方法、部署友好方法和标签高效方法。==对于特征增强,我们进一步总结了基于鸟瞰图(BEV)、三视角(TPV)和3D体素的特征表示方法。从计算友好性出发,我们从视角分解和从粗到细的范式两个角度进行了深入分析。至于标签效率,我们系统地将相关研究分为无注释方法和无LiDAR方法。最后,我们从数据、方法和任务的角度为3D占用预测提供了一些启发性的未来展望。
本文的主要贡献如下:
- 据我们所知,本文是第一个专门针对自动驾驶中基于视觉的3D占用预测方法的全面综述。
- 本文从特征增强、计算友好和标签高效三个角度结构性地总结了基于视觉的3D占用预测方法,并对不同类别的方法进行了深入分析和比较。
- 本文提出了一些启发性的未来展望,并提供了一个定期更新的GitHub仓库,用于收集相关论文、数据集和代码。
本文的结构如下。首先,我们在第2节中介绍了基于视觉的3D占用预测的问题定义、数据集、评估指标和关键挑战。然后,我们回顾并分析了基于特征增强(第3节)、计算友好性(第4节)和标签效率(第5节)的基于视觉的3D占用预测方法。最后,我们在第6节中探讨了研究趋势,并展望了基于视觉的3D占用预测的未来方向。基于视觉的3D占用预测方法的时间线概述如图3所示,相应的层次结构分类如图4所示。
2 背景
本节详细阐述了基于视觉的3D占用预测领域的任务定义、真实标签生成、常用数据集、评估指标和关键挑战。
2.1 基于视觉的3D占用预测的定义
给定来自多视角相机的图像 I=[I1,I2,...,In] ,其中 n 表示相机视角的数量,模型 Fθ 需要联合预测场景中每个体素在范围 [Hl,Wl,Zl,Hr,Wr,Zr] 内的占用状态。
即,将体素分类为两种状态:空或占用 Oθ∈{0,1}H×W×Z ,其中 H,W,Z 表示 x,y,z 轴上的体素数量,每个体素的形状为 ⌊WWl−Wr,HHl−Hr,ZZl−Zr⌋ 。
- 如果体素被预测为占用,则还需要在预定义类别中预测其语义类别 Oe∈{1,2,...,C}N ,其中 C 表示预定义类别的数量, N 表示占用体素的数量。
- 这两个输出结合为 Fθ(I)=Oθ∈{0,1,2,...,C}H×W×Z 。
- 对于每个输入帧,通常还提供一个可见性掩码 M∈{0,1}H×W×Z ,在评估过程中将忽略不可见的体素。
- 训练基于视觉的3D占用预测模型可以描述为:最小化总损失 L ,该损失通常是分类损失,在数据集 D 中的一组多视角相机图像及其对应的标注占用标签 y∈{0,1,2,...,C}H×W×Z 上进行:
θminL(Fθ(I)⊗M,y⊗M), where (I,y,M)∈D.(1)
2.2 真实标签生成
生成真实标签是3D占用预测的一个挑战。尽管许多3D感知数据集,如nuScenes [26]和Waymo [27],提供了LiDAR点云分割标签,但这些标签是稀疏的,难以监督密集的3D占用预测任务。Wei等人[28]已经证明了使用密集占用作为真实标签的重要性。最近的一些研究[28, 29, 30, 31]专注于使用稀疏的LiDAR点云分割标签生成密集的3D占用注释,为3D占用预测任务提供了一些有用的数据集和基准。
3D占用预测任务中的真实标签表示3D空间中每个体素是否被占用以及占用体素的语义标签。由于3D空间中的体素数量庞大,手动标注每个体素非常困难。常见的做法是将现有3D点云分割任务的真实标签体素化,然后根据体素内点的语义标签通过投票生成3D占用预测的真实标签。然而,这种方式生成的真实标签是稀疏的。如图1所示,在道路等地方仍然有许多占用的体素未被标记为占用。使用这种稀疏的真实标签监督模型会导致模型性能下降。因此,一些工作研究了如何自动或半自动生成高质量的密集3D占用注释。
如图2所示,生成密集3D占用注释通常包括以下四个步骤:
- 获取连续的原始LiDAR帧,并将LiDAR点云分割为静态背景和动态前景。
- 将连续的LiDAR帧叠加在静态背景上,并根据定位信息进行运动补偿,以对齐多帧点云,从而获得更密集的点云。
- 将连续的LiDAR帧叠加在动态前景上,并根据目标帧和目标ID对齐动态前景的点云,使其更加密集。
- 需要注意的是,尽管点云相对密集,但在体素化后仍然存在一些间隙,需要进一步处理。
- 合并前景和背景点云,然后将其体素化,并使用投票机制确定体素的语义,从而生成相对密集的体素注释。
- 通过后处理步骤对前一步骤中获得的体素进行细化,以实现更密集和更精细的注释,作为真实标签。
不同工作在步骤1)和2)上基本相同,主要区别在于步骤3)和4),下面将详细解释。
Wang等人[29]提出了APP(增强和净化)管道,用于生成密集的3D占用注释。在后处理步骤中,受自训练的启发,他们使用步骤3中获得的相对密集注释作为初始标签,并使用初始标签监督训练以获得粗略模型。然后,他们使用模型输出补充初始标签中标记为空的体素以进行增强。最后,他们设计了一个标注软件,并使用人工增强来净化标签,这花费了大约4,000人小时。这种半自动方法生成了高质量的注释,但也带来了大量的人力成本,因此后续研究很少使用这种人工净化。
Tian等人[30]进一步提出了一种半自动标签生成管道。在步骤3中的体素化之后,他们利用K近邻投票来确定体素的语义标签。在后处理步骤中,使用网格重建方法(如VDBFusion [32])来获得更密集的体素注释。此外,根据几何原理生成了相应的LiDAR可见性和相机可见性掩码,用于3D注释。最后,为了解决由LiDAR噪声和定位误差引起的物体3D形状放大问题,他们引入了一种图像引导的体素细化方法,在图像语义分割掩码的指导下消除错误占用的体素。该方法显著增强了物体边界的形状,并提高了注释的质量。需要注意的是,他们还提出了一种通过检查2D像素和3D体素之间的语义一致性来定量评估生成标签质量的方法,并通过消融实验证明了其管道中每个步骤的有效性。
Wei等人[28]使用最近邻算法为每个体素分配语义标签,并在后处理过程中使用泊松重建填充空洞,以获得密集的3D占用标签。Tong等人[31]通过体素内点语义标签的多数投票确定体素的语义,并在后处理过程中利用未标记的中间帧和场景完成来增强体素密度,以获得密集注释。值得注意的是,他们还基于3D框的速度标注了前景体素的流速,以用于运动规划等更多下游任务。
2.3 数据集
在本小节中,我们介绍了一些常用于3D占用预测的开源大规模数据集,并在表1中对它们进行了比较。
NYUv2 [33]数据集由来自不同室内场景的视频序列组成,由Microsoft Kinect的RGB和深度相机捕获。它包含1,449对密集标注的对齐RGB和深度图像,以及来自3个城市的407,024帧未标记帧。虽然主要用于室内场景,并不理想用于自动驾驶场景,但一些研究已将该数据集用于3D占用预测。
**SemanticKITTI [34]**是一个广泛用于3D占用预测的数据集,包含来自KITTI [35]数据集的22个序列和超过43,000帧。它通过叠加未来帧、分割体素并通过点投票分配标签来创建密集的3D占用注释。此外,它通过追踪光线检查汽车的每个姿势中哪些体素对传感器可见,并在训练和评估过程中忽略不可见的体素。然而,由于它基于KITTI数据集,仅使用前置摄像头的图像作为输入,而后续数据集通常使用多视角图像。如表2所示,我们收集了现有方法在SemanticKITTI数据集上的评估结果。
**NuScenes-occupancy [29]**是基于nuScenes [26]构建的3D占用预测数据集,nuScenes是一个用于室外环境的大规模自动驾驶数据集。它包含850个序列、200,000帧和17个语义类别。该数据集最初使用增强和净化(AAP)管道生成粗略的3D占用标签,然后通过人工增强细化标签。此外,它引入了OpenOccupancy,这是第一个用于周围语义占用感知的基准,用于评估先进的3D占用预测方法。
随后,Tian等人[30]基于nuScenes和Waymo [27]自动驾驶数据集进一步构建了Occ3D-nuScenes和Occ3D-Waymo数据集用于3D占用预测。他们引入了一种半自动标签生成管道,利用现有的标注3D感知数据集,并根据可见性识别体素类型。此外,他们建立了Occ3d基准,用于大规模3D占用预测,以增强不同方法的评估和比较。如表2所示,我们收集了现有方法在Occ3D-nuScenes数据集上的评估结果。
此外,类似于Occ3D-nuScenes和Nuscenes-Occupancy,OpenOcc [31]也是一个基于nuScenes数据集构建的用于3D占用预测的数据集。它包含850个序列、34,149帧和16个类别。需要注意的是,该数据集提供了八个前景对象的额外流注释,这对于运动规划等下游任务非常有帮助。
2.4 评估指标
类似于2D像素级语义分割任务,3D占用预测通常使用平均交并比(mIoU)作为评估模型语义分割性能的指标:
mIoU=C1c=1∑CTPc+FPc+FNcTPc
其中 TPc 、 FPc 和 FNc 分别表示类别 c 的真阳性、假阳性和假阴性。对于以视觉为中心的任务,数据集通常提供相机可见性掩码,以计算图像可见区域上的mIoU。
交并比(IoU)也用于评估不考虑语义标签的场景完成质量:
IoU=TPo+FPo+FNoTPo
其中 TPo 、 FPo 和 FNo 分别表示占用体素的真阳性、假阳性和假阴性。
需要注意的是,_IoU_和_mIoU_是评估场景完成和语义分割性能的两个不同指标。IoU_和_mIoU_之间存在很强的相互作用,例如,通过简单地降低_IoU_可以实现较高的_mIoU[36],因此一个好的模型应该在这两个指标上都表现良好。
由于当前的3D占用注释是从LiDAR点云真实标签生成的,对于较大物体(如汽车)仅在反射表面上有一层占用真实标签,而内部是空的。当预测深度有较小偏差时,这将对_IoU_和_mIoU_产生很大的不利影响。未来,我们应该考虑生成实心真实标签或在特定范围内匹配占用的体素,以改进这一评估指标。此外,3D占用预测需要预测每个体素是否被占用,并给出占用体素的语义标签,这需要大量的计算资源和内存。未来的评估还应分析参数和推理时间,以比较不同方法的效率。
2.5 关键挑战
尽管近年来基于视觉的3D占用预测取得了显著进展,但它仍然面临特征表示、实际应用和注释成本方面的限制。对于这一任务,有三个关键挑战:
(1)从2D视觉输入中获取完美的3D特征很困难。基于视觉的3D占用预测的目标是从图像输入中实现对3D场景的详细感知和理解,但图像中固有的深度和几何信息的缺失对直接从图像中学习3D特征表示提出了重大挑战。
(2)3D空间中的计算负载较重。3D占用预测通常需要使用3D体素特征表示环境空间,这不可避免地涉及3D卷积等操作,显著增加了计算和内存开销,阻碍了实际部署。
(3)昂贵的细粒度注释。3D占用预测涉及预测高分辨率体素的占用状态和语义类别,但实现这一目标通常需要对每个体素进行细粒度的语义注释,这既耗时又昂贵,成为该任务的瓶颈。
针对这些关键挑战,基于视觉的3D占用预测的研究工作逐渐形成了三条主线,即特征增强、部署友好和标签高效。
- 特征增强方法通过优化网络的特征表示能力来缓解3D空间输出与2D空间输入之间的差异。
- 部署友好方法旨在通过设计简洁高效的网络架构,在确保性能的同时显著减少资源消耗。
- 标签高效方法期望在注释不足或完全缺失的情况下仍能实现令人满意的性能。
接下来,我们将围绕这三个分支对当前方法进行全面概述。
3 特征增强方法
基于视觉的3D占用预测任务涉及从2D图像空间预测3D体素空间的占用状态和语义信息,这带来了从2D视觉输入中获取完美3D特征的关键挑战。为了解决这一问题,一些方法从特征增强的角度改进了占用预测,包括从鸟瞰图(BEV)、三视角(TPV)和3D体素表示中学习。
3.1 基于BEV的方法
一种有效的学习占用的方法是基于鸟瞰图(BEV),它提供了对遮挡不敏感且包含一定深度几何信息的特征。通过学习强大的BEV表示,可以实现鲁棒的3D占用场景重建。首先使用2D骨干网络从视觉输入中提取图像特征,然后通过视角变换获得BEV特征,最终基于BEV特征表示完成3D占用预测。基于BEV的方法的示意图如图5所示。
一种直接的方法是利用从其他任务中学习的BEV,例如在3D物体检测中使用BEVDet [19]和BEVFormer [21]等方法。为了将这些方法扩展到占用学习,可以在训练过程中加入或替换一个占用头以获得最终结果。这种适应允许将占用估计集成到现有的基于BEV的框架中,从而同时检测和重建场景中的3D占用。基于强大的基线BEVFormer, [47] 通过数据增强来增加训练数据的多样性,以提高模型的泛化能力,并使用强大的图像骨干网络从输入数据中提取更多信息特征。它还引入了3D Unet Head,以更好地捕捉场景的空间信息,并加入了额外的损失函数以优化模型。
视角变换是生成BEV表示的关键步骤,涉及图像特征与BEV表示之间的转换,其中前向投影和后向投影是最主要的范式。
- 前向投影通过LSS [66] 将图像特征从2D空间提升到BEV空间,并根据深度对特征进行加权,但往往会产生稀疏的BEV投影。
- 后向投影定义了3D空间中的体素位置,并将它们投影到2D图像平面上以生成密集的BEV特征,但沿投影光线的点会获得相同的特征。
FB-BEV [45] 提出了前向-后向投影,使用后向投影来细化必要的BEV网格以减少稀疏性,并进一步将深度一致性引入后向投影,为每个投影分配不同的权重。基于FB-BEV的前向-后向投影BEV表示,FB-OCC [67] 进一步探索了3D占用预测任务的新设计和优化,包括联合深度-语义预训练、统一的体素-BEV表示、模型放大以及有效的后处理策略(如测试时增强模型集成)。FB-OCC的整体架构如图6所示。
图 6. FB-OCC [67] applies forward and backword projection to generate dense BEV features, which are unsqueezed for 3D occupancy prediction.
https://zhuanlan.zhihu.com/p/679108463
3.2 基于TPV的方法
虽然基于BEV的表示相较于图像具有一定的优势,但由于它们**本质上提供了3D空间的俯视投影,因此仅使用单一平面无法描述场景的细粒度3D结构。基于三视角(TPV)的方法利用三个正交投影平面来建模3D环境,进一步增强了视觉特征在占用预测中的表示能力。**首先使用2D骨干网络从视觉输入中提取图像特征,然后将这些图像特征提升到三视角空间,最终基于三个投影视角的特征表示完成3D占用预测。基于TPV的方法的示意图如图7所示。
除了BEV特征外,TPVFormer [40] 还以相同的方式生成前视图和侧视图的特征。这三个视图相互正交,并沿不同轴压缩3D空间信息。通过结合TPV特征,可以恢复驾驶场景的整个3D结构。
为了从TPV特征中检索3D空间中某个位置的特征,
- 首先将3D坐标投影到每个视图上,然后使用双线性采样从三个视图中获取特征,并将这些特征汇总为复合特征。
- 这种机制使得2D TPV特征能够灵活地恢复3D空间,而不会丢失太多信息。
- 在实践中,TPV特征通过基于Transformer的编码器生成,该编码器由TPV网格查询和2D图像特征之间的多个交叉注意力组成。最后,TPV特征之间的跨视图混合注意力实现了三个平面之间的交互,提高了TPV特征表示整个场景的能力。TPVFormer的整体架构如图8所示。
考虑到TPVFormer仅关注空间线索而忽略了时间线索,S2TPVFormer [68] 进一步扩展了TPVFormer的时间融合能力。它采用TPV作为潜在的自我空间表示,并提出了时间跨视图混合注意力,首先将当前BEV特征与之前的BEV特征进行交互。然后,前视图和侧视图特征将与更新后的BEV特征进行交互,以融合时间信息。
考虑到LiDAR点云在空间中的非均匀分布(近处点云密集,远处点云稀疏),PointOcc [69] 提出在圆柱坐标系中建立点云的三视角表示,以实现对近处区域的更细粒度建模,并在投影过程中使用空间分组池化以更好地保留3D结构信息。具体来说,给定输入点云,首先通过圆柱坐标系中的体素化和空间池化操作将其转换为三视角特征。然后,使用2D图像骨干网络对每个三视角特征平面进行编码,并将每个平面的多尺度特征聚合以解码高分辨率的三视角特征表示。对于3D空间中的任何查询点,通过圆柱坐标变换将其投影到每个三视角平面上以采样相应的特征。然后,使用求和将这些特征从三视角平面聚合为最终的3D特征表示。
3.3 基于体素的方法
除了将3D空间转换为投影视角(如BEV或TPV)外,还有一些方法直接对3D体素表示进行操作。这些方法的一个关键优势是能够直接从原始3D空间中学习,最大限度地减少信息丢失。通过利用原始的3D体素数据,这些方法可以有效地捕捉和利用完整的空间信息,从而更精确和全面地理解占用情况。首先使用2D骨干网络提取图像特征,然后使用基于卷积的专门设计机制来桥接2D和3D表示,或者使用基于查询的方法直接获取3D表示。最后,基于学习到的3D表示,使用3D占用头完成最终预测。基于体素的方法的示意图如图9所示。
- 基于卷积的方法
一种方法是使用专门设计的卷积架构来桥接2D到3D的差距,并学习3D占用表示。这种方法的一个突出例子是采用U-Net [70] 架构作为特征桥接的载体。U-Net架构采用编码器-解码器结构,并在上采样和下采样路径之间使用跳跃连接,以保留低级和高级特征信息,从而缓解信息丢失。通过不同深度的卷积层,U-Net结构可以提取不同尺度的特征,帮助模型捕捉图像中的局部细节和全局上下文信息,从而增强模型对复杂场景的理解,以实现有效的占用预测。
Monoscene [38] 使用U-net进行基于视觉的3D占用预测。它引入了一种称为2D特征视线投影(Features Line of Sight Projection,FLoSP)的机制,利用特征透视投影将2D特征投影到3D空间,并根据成像原理和相机参数计**算3D特征空间中每个点在2D特征上的坐标,以采样3D特征空间中的特征。**这种方法将2D特征提升到统一的3D特征图,并作为连接2D和3D U-net的关键组件。Monoscene还提出了3D上下文关系先验(Context Relation Prior,3D CRP)层,插入到3D UNet的瓶颈处,该层学习n路体素到体素的语义场景关系图。这为网络提供了全局感受野,并通过关系发现机制增加了空间语义意识。Monoscene的整体架构如图10所示。
此外,InverseMatrixVT3D [71] 通过矩阵乘法和卷积实现占用预测。具体来说,该方法首先将环绕视图输入2D骨干网络以提取多尺度图像特征。随后,使用多尺度全局-局部投影模块在特征图和投影矩阵之间执行矩阵乘法,以构建多尺度3D体积特征和BEV平面。每个级别的3D体积特征和BEV平面应用全局-局部注意力融合模块以获得最终的3D体积表示。最后,应用3D反卷积进行上采样,以在每个级别启用跳跃连接,并在每个级别应用监督信号。
MILO [44] 使用3D版本的ResNet [72] 和FPN [73] 来处理体素特征,并抑制特征定位中的歧义。
SGN [43] 的核心思想是利用几何先验和占用信息,从语义和占用感知的种子体素向整个场景传播语义,使用各向异性卷积实现灵活的感受野。与传统方法相比,SGN采用密集-稀疏-密集设计,并引入混合引导和有效的体素聚合,以增强类内特征分离并加速语义扩散的收敛。
- 基于查询的方法
另一种从3D空间学习的方法是生成一组查询以捕捉场景的表示。在这种方法中,使用基于查询的技术生成查询提议,然后用于学习3D场景的全面表示。随后,应用图像上的交叉注意力和自注意力机制来细化和增强学习到的表示。这种方法不仅增强了对场景的理解,还能够在3D空间中进行准确的重建和占用预测。此外,基于查询的方法具有更大的灵活性,可以根据不同的数据源和查询策略进行调整和优化,从而更好地捕捉局部和全局上下文信息,促进3D占用预测表示。
深度可以作为选择占用查询的有价值先验[36, 54, 74],在Voxformer [36] 中,估计的深度被用作预测占用和选择相关查询的先验。仅使用占用的查询通过可变形注意力[75] 从图像中收集信息。更新后的查询提议和掩码标记然后组合以重建体素特征。
Voxformer从RGB图像中提取2D特征,然后使用一组稀疏的3D体素查询来索引这些2D特征,使用相机投影矩阵将3D位置与图像流链接。具体来说,体素查询是3D网格形状的可学习参数,旨在使用注意力机制从图像中查询特征到3D体积中。整个框架是一个两阶段级联,包括类无关提议和类特定分割。第一阶段生成类无关的查询提议,而第二阶段采用类似于MAE [76] 的架构,将信息传播到所有体素。最后,体素特征被上采样以进行语义分割。Voxformer的整体架构如图11所示。
OccFormer [41] 则提出了双路径Transformer来编码不同方向的3D体素。它也是第一个使用掩码分类模型Mask2Former [77] 进行3D语义占用预测的方法。
- 双路径Transformer编码器通过局部和全局路径有效捕捉细粒度细节和场景级布局。
- 局部路径沿每个2D BEV切片操作,使用共享窗口注意力捕捉细粒度细节,而全局路径处理折叠的BEV特征以获得场景级理解。
- 最后,两条路径的输出被自适应融合以生成输出的3D特征体积。
- 对于占用解码器,考虑到固有的稀疏性和类别不平衡,提出的保留池化在掩码区域上计算注意力以更好地保留稀有类别,并使用类别引导采样捕捉前景区域,显著提高了性能。
OccFormer的整体架构如图12所示。
此外,Symphonies [42] 提出了一种新颖的范式,集成了实例查询以协调2D到3D重建和3D场景建模,动态编码实例中心语义以实现图像和体积域之间的复杂交互,并通过实例查询的高效融合缓解几何歧义(如遮挡和透视误差)。
COTR [78] 包括一个几何感知的占用编码器和一个语义感知的组解码器,用于重建紧凑的3D占用表示。几何感知的占用编码器通过显式-隐式视图变换生成紧凑的几何占用特征,缓解占用特征的稀疏性,同时保留足够的几何信息。语义感知的组解码器根据语义粒度和样本数量将真实标签划分为多个组,为每个语义组创建相应的掩码查询,并通过组间一对多分配训练网络。这种分组策略平衡了监督信号,并缓解了从常见对象到稀有对象的抑制。
UniVision [79] 统一了以视觉为中心的3D感知中的两个关键任务:占用预测和物体检测。具体来说,它提出了显式-隐式视图变换模块以实现互补的2D-3D特征变换,局部-全局特征提取和融合模块以实现高效和自适应的体素和BEV特征交互,联合数据增强策略和渐进损失权重调整策略以增强多任务框架训练的效率和稳定性。
表3展示了特征增强方法在Occ3D-nuScenes数据集上的性能比较。
- 结果表明,直接处理体素表示的方法通常能够实现较强的性能,因为它们在计算过程中不会遭受显著的信息丢失。
- 此外,尽管基于BEV的方法仅具有单一投影视角的特征表示,但由于鸟瞰图中包含的丰富信息及其对遮挡和尺度变化的不敏感性,它们仍能实现相当的性能。
- 通过从多个互补视图中重建3D信息,基于三视角(TPV)的方法能够缓解潜在的几何歧义,捕捉更全面的场景理解,从而实现有效的3D占用预测。
值得注意的是,FB-OCC [45] 同时利用前向和后向视图变换模块,使它们能够相互增强以获得更高质量的BEV表示,并取得了优异的性能。这表明通过有效的特征增强,基于BEV的方法在改进3D占用预测方面也具有巨大潜力。
4 部署友好方法
由于其广泛的范围和复杂的数据性质,直接从3D空间学习占用表示具有很高的挑战性。3D体素表示的高维度和密集计算使得学习过程资源消耗大,不利于实际部署应用。因此,设计部署友好的3D表示的方法旨在减少计算成本并提高学习效率。本节介绍了解决3D场景占用估计中计算挑战的方法,重点是开发准确且高效的方法,而不是直接处理整个3D空间。讨论的技术包括视角分解和从粗到细的细化,这些技术在最近的工作中被证明可以增强3D占用预测的计算效率。
4.1 视角分解方法
通过将视角信息从3D场景特征中分离或将其投影到统一的表示空间中,可以有效降低计算复杂性,使模型更具鲁棒性和泛化能力。这种方法的核心理念是将三维场景的表示与视角信息解耦,从而减少特征学习过程中需要考虑的变量数量,降低计算复杂性。解耦视角信息使模型能够更好地泛化,适应不同的视角变换,而无需重新学习整个模型。
为了应对从整个3D空间学习的计算负担,常见的方法是采用鸟瞰图(BEV)[19, 21, 53, 56] 和三视角(TPV)[40, 68, 69] 表示。通过将3D空间分解为这些单独的视图表示,计算复杂性显著降低,同时仍能捕捉到占用预测的关键信息。关键思想是首先从BEV和TPV视角学习,然后通过结合从这些不同视图中获得的见解来恢复完整的3D占用信息。这种视角分解策略使得占用估计比直接从整个3D空间学习更高效和有效。
FlashOcc [53] 旨在实现快速且内存高效的占用预测。它直接用2D卷积替换体素基占用方法中的3D卷积,并结合通道到高度变换将扁平化的BEV特征重塑为占用逻辑。FlashOcc是第一个将通道到高度范式应用于占用任务的方法,特别是利用BEV级特征,完全避免了使用3D可变形卷积或Transformer模块,并成功保留了高度信息。
如图13所示,FlashOcc由五个基本模块组成:(1)负责从多相机图像中提取图像特征的2D图像编码器。(2)负责将2D感知视图图像特征映射到BEV表示的视图变换模块。(3)负责处理BEV特征信息的BEV编码器。(4)负责预测每个体素的分割标签的占用预测模块。(5)可选的时序融合模块,旨在整合历史信息以提高性能。FastOcc [56] 用新颖的残差风格架构替换耗时的3D卷积网络,主要通过轻量级的2D BEV卷积网络处理特征,并从原始图像特征中插值集成的3D体素特征,从而高效地获取完整的3D体素信息。
从粗到细的方法
直接从大规模3D空间中学习高分辨率细粒度全局体素特征既耗时又具有挑战性。因此,一些方法开始探索采用从粗到细的特征学习范式。具体来说,网络首先从图像中学习粗略表示,然后逐步细化和恢复整个场景的细粒度表示。这种两步过程有助于实现更准确和有效的场景占用预测。
OpenOccupancy [29] 采用两步法学习3D空间中的占用表示。如图14所示,它首先构建低分辨率查询以预测粗略占用。然后,它仅关注占用的体素以细化结果,提高占用估计的准确性。采用级联占用网络(CON)以高效处理大量空体素,同时提供准确的预测。
SurroundOcc [28] 首先在不同级别构建图像特征,并利用2D-3D注意力将低分辨率高级语义特征提升到粗粒度3D体素空间。然后,应用反卷积细化体素的粒度,避免在最高分辨率层直接交互耗时的2D和3D信息。

预测3D占用需要详细的几何表示,使用所有3D体素标记与多视图图像中的ROI进行交互将产生显著的计算和内存成本。
如图15所示,Occ3D [30] 提出了一种增量标记选择策略,在交叉注意力计算过程中选择性地选择前景和不确定的体素标记,从而实现自适应和高效的计算而不牺牲准确性。具体来说,在每个金字塔层的开始,每个体素标记被输入到二元分类器中以预测体素是否为空,通过二元真实占用图监督分类器的训练。PanoOcc [58] 提出了一种无缝集成物体检测和语义分割的联合学习框架,促进对3D环境的更全面理解。该方法利用体素查询从多帧和多视图图像中聚合时空信息,将特征学习和场景表示合并为统一的占用表示。此外,它通过引入占用稀疏模块探索3D空间的稀疏性,在从粗到细的上采样过程中逐渐稀疏化占用,显著提高了内存效率。
此外,某些方法优先使用较少但更具影响力的查询以减少计算需求。SparseOcc [51] 引入了一种稀疏体素解码器来重建场景的稀疏几何结构,仅对非空区域进行建模,从而显著节省计算资源。此外,它提出了掩码引导的稀疏采样,利用稀疏实例查询预测稀疏空间中每个对象的掩码和标签。
如图16所示,SparseOcc结合了稀疏特征,形成了一个完全稀疏的架构,不依赖于密集的3D特征或稀疏到密集的全局注意力操作。OctreeOcc [52] 利用八叉树结构为不同区域提供不同的建模粒度,适应捕捉3D空间中的有价值信息。这种方法减少了建模所需的体素数量,同时保留了空间信息。此外,它引入了语义引导的八叉树初始化模块和迭代细化模块,利用语义信息初始化和迭代细化八叉树结构。Multi-Scale Occ [55] 处理多尺度图像特征以生成多尺度体素特征,并预测从粗到细的3D占用。另一方面,OccupancyM3D [80] 提出了一种在截头体空间中预测占用标签的方法。
表4展示了部署友好方法在Occ3D-nuScenes数据集上的性能比较。由于结果是从不同论文中收集的,骨干网络、图像大小和计算平台存在差异,因此只能得出一些初步结论。
- 通常,在相似的实验设置下,从粗到细的方法由于信息丢失较少,性能优于视角分解方法,而视角分解方法通常表现出更好的实时性能和更低的内存使用。
- 此外,采用较重骨干网络和处理较大图像的模型可以实现更好的准确性,但也会削弱实时性能。
- 尽管FlashOcc [53] 和FastOcc [56] 的轻量版本接近实际部署的要求,但其准确性仍需进一步提高。
- 对于部署友好方法,视角分解策略和从粗到细策略都在不断追求减少计算负载的同时保持3D占用预测的准确性。
5 标签高效方法
在现有的创建精确占用标签的方法中[29, 30, 31],有两个关键步骤。
- 第一步是收集与多视图图像对应的LiDAR点云并进行语义分割注释。
- 第二步是通过复杂的算法借助动态对象的跟踪信息融合多帧点云。这两个步骤都非常昂贵,限制了占用网络利用自动驾驶场景中大量多视图图像的能力。
最近,神经辐射场(NeRF)[81] 在2D图像渲染中得到了广泛应用。一些方法以类似NeRF的方式将预测的3D占用渲染为2D地图,并在没有细粒度注释或LiDAR点云参与的情况下训练占用网络,这显著降低了数据注释的成本。
无注释方法
SimpleOccupancy [82] 首先通过视图变换从图像特征生成场景的显式3D体素特征,然后按照NeRF风格将其渲染为2D深度图。2D深度图由LiDAR点云生成的稀疏深度图进行监督。深度图还用于合成环绕图像以进行自监督。UniOcc [63] 使用两个独立的MLP将3D体素逻辑转换为体素的密度和体素的语义逻辑。
之后,UniOCC遵循一般的体积渲染,以获得多视角深度图和语义图,如图17所示。这些2D地图由分割的LiDAR点云生成的标签进行监督。
Fig. 17 UniOcc [63] supervises the rendered depth maps and semantic maps to learn the 3D occupancy.
RenderOcc [62] 从多视角图像构建类似于NeRF的3D体积表示,并采用先进的体积渲染技术生成2D渲染图,**仅使用2D语义和深度标签提供直接的3D监督。**通过这种2D渲染监督,模型通过分析来自不同相机视锥的光线交点来学习多视角一致性,从而更深入地理解3D空间中的几何关系。此外,它引入了辅助光线的概念,利用相邻帧的光线来增强当前帧的多视角一致性约束,并开发了动态采样训练策略以过滤掉未对齐的光线。
为了解决动态和静态类别之间的不平衡问题,OccFlowNet [65] 进一步引入了占用流,基于3D边界框预测每个动态体素的场景流。通过体素流,动态体素可以移动到时间帧中的正确位置,从而在渲染过程中无需进行动态对象过滤。在训练过程中,正确预测且在边界框内的体素使用流进行变换,以与时间帧中的目标位置对齐,然后使用基于距离的加权插值进行网格对齐。
由于缺乏几何先验,基于视觉的3D占用预测在实现准确预测方面面临重大挑战。RadOcc [64] 通过在该任务中探索跨模态知识蒸馏来解决这一问题,利用更强大的多模态模型来指导基于视觉的模型训练。具体来说,RadOcc提出了一种渲染辅助的蒸馏范式,使用可微分体积渲染生成透视视图中的深度和语义图,并引入两种新颖的一致性标准来对齐教师和学生模型的渲染输出。深度一致性损失对齐渲染光线的终止分布,而语义一致性损失则模仿由视觉基础模型引导的段内相似性。Vampire [83] 探索了NeRF中空间占用与体积密度之间的关系,并提出了在多相机设置中将体积渲染作为中间3D特征调制器。Vampire预测每个位置的占用为体积密度,并将中间3D特征累积到2D平面上以进行额外的2D监督。
上述方法消除了对显式3D占用注释的需求,大大减少了手动注释的负担。然而,它们仍然依赖于LiDAR点云提供深度或语义标签来监督渲染图,这还不足以实现完全自监督的3D占用预测框架。
无LiDAR方法
OccNerf [61] 不使用LiDAR点云提供深度和语义标签。相反,如图18所示,它使用参数化占用场处理无界的室外场景,重新组织采样策略,并使用体积渲染将占用场转换为多相机深度图,最终通过多帧光度一致性进行监督。此外,该方法利用预训练的开词汇语义分割模型生成2D语义标签,监督模型为占用场赋予语义信息。Behind the Scenes [84] 使用单视角图像序列重建驾驶场景。它将输入图像的视锥特征视为密度场,并渲染其他视图的合成。整个模型通过专门设计的图像重建损失进行训练。SelfOcc [60] 预测BEV或TPV特征的符号距离场值以渲染2D深度图。此外,原始颜色和语义图也被渲染,并由多视角图像序列生成的标签进行监督。
图. 18 OccNerf [61] utilizes the photometric consistency and pretrained model to provide labels for the rendered maps.
这些方法绕过了对LiDAR点云深度或语义标签的需求。相反,它们利用图像数据或预训练模型来获取这些标签,从而实现了真正的自监督3D占用预测框架。尽管这些方法可以实现最符合实际应用期望的训练模式,但要达到令人满意的性能仍需进一步探索。
表5展示了标签高效方法在Occ3D-nuScenes数据集上的性能比较。大多数无注释方法使用2D渲染监督作为显式3D占用监督的补充,并取得了一定的性能提升。其中,UniOcc [63] 和RadOcc [64] 甚至在所有方法中分别取得了第3和第4的优异排名,充分证明了无注释机制可以促进提取额外的有价值信息。当仅使用2D渲染监督时,它们仍能实现相当的准确性,说明了节省显式3D占用注释成本的可行性。无LiDAR方法建立了全面的自监督框架,进一步消除了对标签和LiDAR数据的需求。然而,由于缺乏点云中固有的精确深度和几何信息,它们的性能受到了很大限制。
6 未来展望
在上述方法的推动下,我们总结了当前趋势,并从数据、方法和任务的角度提出了几个可能显著推动基于视觉的3D占用预测领域的重要研究方向。
数据层面
获取充足的现实驾驶数据对于增强自动驾驶感知系统的整体能力至关重要。数据生成是一个有前景的方向,因为它不会产生采集成本,并且可以根据需要灵活操纵数据多样性。虽然一些方法[85, 86] 利用文本等提示来控制生成的驾驶数据内容,但它们无法保证空间信息的准确性。相比之下,3D占用提供了场景的细粒度和可操作表示,与点云、多视角图像和BEV布局相比,便于可控的数据生成和空间信息显示。WoVoGen [87] 提出了体积感知扩散,可以将3D占用映射到现实的多视角图像。在对3D占用进行修改(如添加树木或替换汽车)后,扩散模型将合成相应的新驾驶场景。修改后的3D占用记录了3D位置信息,确保了合成数据的真实性。
自动驾驶的世界模型日益突出,提供了一个简单而优雅的框架,增强了模型基于输入环境观察理解整个场景并直接输出合适动态场景演变数据的能力。鉴于其在详细表示整个驾驶场景数据方面的熟练程度,利用3D占用作为世界模型中的环境观察具有明显优势。如图19所示,OccWorld [88] 选择3D占用作为世界模型的输入,并使用类似GPT的模块预测未来的3D占用数据。UniWorld [89] 利用现成的基于BEV的3D占用模型,但通过处理过去的多视角图像预测未来的3D占用数据,这也构建了一个世界模型。然而,无论机制如何,生成数据与真实数据之间不可避免地存在领域差距。为了解决这一问题,一种可行的方法是将3D占用预测与新兴的3D人工智能生成内容(3D AIGC)方法结合,生成更真实的场景数据,另一种方法是结合领域适应方法以缩小领域差距。
方法层面
在3D占用预测方法方面,我们之前概述的类别中仍存在一些需要进一步关注的挑战:特征增强方法需要在显著提高性能的同时保持可控的计算资源消耗。部署友好方法应牢记在确保最小性能下降的同时减少内存使用和延迟。标签高效方法应朝着减少昂贵注释需求的同时实现令人满意的性能发展。最终目标可能是实现一个结合特征增强、部署友好性和标签效率的统一框架,以满足实际自动驾驶应用的期望。
此外,现有的单智能体自动驾驶感知系统本质上无法解决关键问题,如对遮挡的敏感性、长距离感知能力不足和视野有限,难以实现全面的环境感知。为了克服单智能体的瓶颈,多智能体协同感知方法开辟了一个新的维度,允许车辆与其他交通元素共享互补信息,以获得对周围环境的整体感知。如图20所示,多智能体协同3D占用预测方法利用协同感知和学习的力量进行3D占用预测,通过共享连接的自动驾驶车辆之间的特征,实现对3D道路环境的更深入理解。CoHFF [90] 是第一个基于视觉的协同语义占用预测框架,通过语义和占用任务特征的混合融合以及车辆之间共享的压缩正交注意力特征,显著优于单车辆系统的性能。然而,这种方法通常需要同时与多个智能体通信,面临准确性与带宽之间的矛盾。因此,确定哪些智能体最需要协调,以及确定最有价值的协同区域以实现准确性和速度之间的最佳平衡,是一个有趣的研究方向。
任务层面
在当前的3D占用基准中,某些类别具有明确的语义,如“汽车”、“行人”和“卡车”。相反,其他类别如“人造物”和“植被”的语义往往模糊且笼统。这些类别涵盖了广泛的未定义语义,应细分为更细粒度的类别,以提供驾驶场景的详细描述。此外,对于以前未见过的未知类别,它们通常被视为一般障碍物,无法基于人类提示灵活扩展新类别感知。
开放词汇任务在2D图像感知中展示了强大的性能,可以扩展到改进3D占用预测任务。OVO [59] 提出了一个支持开放词汇3D占用预测的框架。它利用冻结的2D分割器和文本编码器获取开放词汇语义参考。之后,采用三个不同级别的对齐来蒸馏3D占用模型,使其能够进行开放词汇预测。POP-3D [91] 设计了一个自监督框架,结合了三种模态,并借助强大的预训练视觉语言模型。它促进了开放词汇任务,如零样本占用分割和基于文本的3D检索。
感知周围环境的动态变化对于自动驾驶下游任务的安全可靠执行至关重要。虽然3D占用预测可以基于当前观察提供大规模场景的密集占用表示,**但它们大多局限于表示当前的3D空间,并未考虑时间轴上周围对象的未来状态。最近,一些方法进一步考虑了时间信息,并引入了4D占用预测任务,这在真实的自动驾驶场景中更具实用性。**Cam4DOcc [92] 首次使用广泛使用的nuScenes数据集[26] 建立了一个新的4D占用预测基准。该基准包括多样化的指标,专门用于分别评估一般可移动对象(GMO)和一般静态对象(GSO)的占用预测。此外,它提供了几个基线模型,以说明4D占用预测框架的构建。尽管开放词汇3D占用预测任务和4D占用预测任务旨在从不同角度增强自动驾驶在开放动态环境中的感知能力,但它们仍被视为独立的任务进行优化。模块化的任务范式,其中多个模块具有不一致的优化目标,可能导致信息丢失和累积错误。将开放集动态占用预测与端到端自动驾驶任务集成,直接将原始传感器数据映射到控制信号,是一个有前景的研究方向。
致谢
本研究部分得到了国家自然科学基金(62022011)、软件开发环境国家重点实验室研究计划和中央高校基本科研业务费的资助。
利益冲突
作者声明他们没有利益冲突或财务冲突需要披露。