在本文中,作者探索了一种新颖的点表示方法,用于从多视角图像预测3D占用率,该方法被命名为“占用点集”。现有的基于相机的方法往往采用密集体积表示来预测整个场景的占用率,这使得很难关注到特殊区域或感知范围外的区域。相比之下,作者提出了“兴趣点”(PoIs)来表示场景,并提出了OSP,一个基于点的3D占用率预测的新框架。
由于点表示固有的灵活性,OSP与现有方法相比性能强劲,并且在训练和推理适应性方面表现出色。
它超越了传统的感知界限,并且可以与体积方法无缝集成,显著提高其有效性。
在Occ3D-nuScenes占用率基准上的实验表明,OSP在性能和灵活性方面都很强。
代码和模型可在https://github.com/hustvl/osp获取。
1 Introduction
全面的三维场景理解对于自动驾驶系统至关重要,它直接影响后续任务的效率和准确性。考虑到与其他传感器相比,摄像头的成本效益和部署的简便性,基于视觉的三维场景理解方法的发展已成为一个重要且被广泛研究的挑战。
为了应对这一挑战,已经提出了三维语义场景补全(3D Semantic Scene Completion, SSC)[22]并得到了广泛研究,它从有限的观测中联合推理场景的几何和语义信息。SSC任务要求模型准确预测可见位置,并为不可见位置完成信息。最近,Occ3D [25] 引入了一个新的任务定义,称为三维占用预测。这个任务与SSC的主要区别在于,三维占用预测只关注可见区域,并针对动态场景进行了定制。
现有的三维占用预测方法大多基于密集的鸟瞰图(BEV)方法,例如BEVFormer [15],BEVDet [7]。这些方法将BEV编码器与占用头结合以生成输出,并增强BEV感知能力以获得更好的结果。然而,它们有一些共同的缺点:(1) _均匀采样_:基于BEV的方法无法区分同一场景内的不同区域,对它们一视同仁。这导致粗略的采样并阻碍了动态或多分辨率的采样能力。(2) _有限的推理灵活性_:在推理过程中,这些方法只能一次性处理整个场景。它们缺乏根据不同的下游任务或特定的实际需求推理场景不同部分的能力。
这些限制突显了对更灵活的三维占用预测方法的需求,这些方法既能处理复杂场景,又能适应不同的推理需求。在本文中,作者提出了一个新颖的点基础表示用于三维占用预测。作者不是像现有基于体积的方法那样将场景划分为统一网格,而是提出“兴趣点”(Points of Interest, PoIs)来将场景视为点的集合,这有助于在训练和推理阶段灵活地采样场景。图1比较了基于体积的表示和基于点的表示。
与基于体积的表示相比,作者的基于点的表示有以下优点:
(1)它可以接受任何规模和位置的输入来进行占用预测,包括手动设计和自适应设计的输入,提供了灵活性;
(2)它可以额外关注某些区域,而不是平等对待所有区域,从而增强了模型的感知能力。
图1:
基于体积的方法与作者的方法的比较。
由BEVFormer代表的基于体积的方法推理场景内的每个区域,并得到标准的占用情况,如图(a)所示。作者的方法使用基于点的解码器,如图(b)所示。因此,它在(c)中推理包括标准、自适应采样和手动采样的“兴趣点”。
作者引入了“点集占用”(Occupancy as Set of Points, OSP),这是一个新颖且灵活的点基础框架,建立在“兴趣点”(PoIs)的基本概念之上。OSP在三维占用预测方面表现出色,由图像 Backbone 、三维定位编码器和解码器组成,如图2所示。作者方法的核心在于创新地使用PoIs,作者将它们分为三种不同的类型以满足多样化的需求,从而在模型的多个方面显著提高了性能。这些PoIs的详细描述将在第3节中提供。值得注意的是,PoIs可以根据需要设计,不仅限于作者最初提出的这三种类型。
作者的方法以强大的性能和灵活性脱颖而出。这种灵活性使得它能够处理任何任意的局部场景,而无需重新训练。此外,作者的方法可以作为现有基于体积方法的增强插件模块,通过自适应地重新采样置信度低的区域以产生更准确的占用预测。它还擅长预测场景以外的区域。作者的方法的主要贡献可以总结如下:
一种新颖的点基础占用表示,通过将点 Query 与2D图像特征交互,实现对三维场景的全面理解。
一个灵活的框架,允许在任何感兴趣的区域进行推理,无需重新训练或牺牲准确性,并预测场景以外的区域。
一个作为插件模块,显著提升了基于体积的 Baseline 性能。
OSP在三维占用预测任务上获得了强大的实验结果,即在Occ3D-nuScenes基准上取得了39.4 mIoU的得分。
2 Related Work
3D Occupancy Prediction
3D占位预测,最近由Occ3D [25]定义的概念,与在机器人中使用的占用栅格映射(OGM)[20, 24, 27]有着显著的相似性。这项任务旨在基于一系列传感器输入预测场景中每个 Voxel 网格的状态。Occ3D利用Waymo开放数据集[23]和nuScenes数据集[2]建立了两个基准来促进这一任务。在基于视觉的3D占位预测中,Occ3D实施了相机可见性估计并创建可见性 Mask ,以确保评估仅限于可见区域。它还在其基准上评估了各种SSC方法,包括MonoScene [4],TPVFormer [9],BEVDet [7],OccFormer [32]和BEVFormer [15]。
3D Semantic Scene Completion
场景语义补全(SSC)是与3D占用预测紧密相关的任务。SSC的概念最初在SSC-Net [22]中提出,主要关注基于场景的部分可见区域预测场景的全面语义信息。近年来,对SSC的研究得到了显著扩展,特别是在小室内场景的背景下。近期,针对广阔户外环境的场景语义补全(SSC)研究势头增强,特别是SemanticKITTI数据集[1]推出后。值得注意的是,MonoScene [4]成为首个应用单目纯视觉基础的SSC方法。在并行进展中,OccDepth [19]通过结合双目输入的深度数据,增强2D到3D特征转换。TPVFormer [9]针对单一平面建模在捕捉复杂细节方面的局限性提出了反对意见,因此它采用了三重视角(TPV)方法,将鸟瞰图(BEV)与两个额外的垂直平面相结合。此外,Symphonies [10]强调了实例表示在SSC任务中的重要性。尽管SSC方法可以直接应用于3D占用预测,但存在两个主要区别:(1) SSC主要旨在基于可见区域推理非可见区域的占用,而3D占用预测则专注于可见区域;(2) SSC方法通常针对静态场景,而3D占用预测方法通常设计用于处理动态场景。
大多数现有的基于体积的SSC和3D占用预测方法的特点是密集性,其输入和输出涵盖了整个场景。以BEVFormer Baseline 为例:它将场景均匀分割为BEV栅格,无法区分不同区域的栅格。这种均匀性限制了像BEVFormer这样的基于体积的方法在训练期间采样感兴趣区域以获得更好性能的能力。此外,如果作者想在推理阶段关注特定区域,基于体积的方法限于推理整个场景然后进行后处理,不可避免地导致增加和不必要的成本。而且,随着场景大小和 Voxel 分辨率的增加,计算需求呈指数级增长。与之一鲜明对比的是,作者基于点的模型通过关注PoIs引入了急需的灵活性。作者的方法可以直接在特定区域进行推理,无需后处理,避免额外的计算负担。
一个与点相关的SSC方法是PointOcc [34],它是一种基于点云的SSC预测方法,使用三个补充视图平面进行有效的点云特征建模和一个高效的2D Backbone 网络处理以减少计算负载,而作者的方法专注于训练和推理的灵活性。
Camera-based 3D Detection
基于相机的3D感知任务在最近的研究中受到了广泛关注,这主要得益于相机作为数据收集传感器的便捷性和低成本。早期的尝试,如FCOS3D [26]和DETR3D [28],探索了从2D到3D预测的转换。BEVFormer [15]在这一领域取得了重大进展,它将车辆搭载的相机拍摄的图像转换成鸟瞰图(BEV)表示。这项技术不仅增强了车辆对环境的理解,还应用于各种下游任务,如BEVStereo [14]和BEVDet [7],并扩展到3D占用预测。
在基于相机的3D感知中,3D检测任务非常重要,并且与3D占用预测具有很高的相似性。3D检测的主要目标是在3D空间中估计物体的位置和尺寸。DETR3D [28]从DETR [33]中获得灵感,创新地将3D目标 Query 与图像特征结合,融入了相机的内在和外在参数。PETR [17]及其后续版本PETRv2 [18]进一步改进了这种方法,通过解决参考点采样的准确性和全局信息的包含,通过历史数据整合提高了3D检测的准确性。与目标检测相比,3D占用预测提供了更细的粒度,这对于导航不规则障碍物或悬垂物体至关重要。探索如何将来自BEV表示和3D目标检测的洞察激发出适合3D占用预测特定需求的创新解决方案是至关重要的。
3 Preliminary
问题设置。作者的目标是仅根据周边的 $N$ 个环视RGB图像来提供 ego-vehicle 周围的占用率预测。更具体地说,作者将当前图像作为输入,用 $\mathbf{I}_{i}=\{I_{0},I_{1},...,I_{N}\}$ 表示,将 ego-vehicle 坐标系中的占用预测 $\mathbf{Y}_{i}\in\{c_{0},c_{1},...,c_{M}\}^{H\times W\times Z}$ 作为输出,其中每个占用预测要么是空的(用 $c_{0}$ 表示),要么是被某个特定的语义类别 $\{c_{1},c_{m},...,c_{M}\}$ 占据。作者假设在每个帧中都知道相机的内在参数 $\{K_{i}\}$ 和外在参数 $\{[R_{i}|t_{i}]\}$。作者假设通过应用相机可见性 Mask 来知道每个区域是否可见。
兴趣点。在作者的模型中,作者创新性地引入了兴趣点(PoIs)的概念,这是一组稀疏点,用于表示3D场景。PoIs 可以灵活地表示需要额外注意的目标或区域,如行人或 ego-vehicle 附近的区域,并且可以在训练和推理阶段按需设计。
作者使用了三种类型的 PoIs,以下是其定义和功能:
(1)
标准网格:
在推理阶段通过采样网格中心点并对标准3D占用网格进行预测,作者的模型与现有方法进行了公平的比较,并取得了良好的结果。
(2)
自适应采样:
在训练阶段,作者的模型自适应地采样点并在它们周围进行过采样以增强准确性。作者认识到基于体积的方法统一处理所有位置,而作者的基于点的方案允许在特殊兴趣区域或难以学习的区域进行重采样。这种自适应重采样策略也用于增强基于体积的方法的性能。因此,作者的方法可以作为通用的插件,与现有的基于体积的方法无缝集成并增强其性能。
(3)
手动采样:
作者的模型在采样任何区域方面表现出灵活性,特别适用于各种下游任务的独特需求。
作者的模型可以通过手动将 PoIs 设置在场景外部的区域来预测超出标准感知范围的区域,例如在 ego-vehicle 外200米处,这是传统基于体积的方法无法实现的。这种扩展不仅扩大了推理的范围,而且为场景理解引入了新的维度。
这些 PoIs 是作者方法的基础,提供了精确性和高度的灵活性。
4 Method
Overall Architecture
OSP首先在空间中采样一组3D点,这些是初始的兴趣点(PoIs)。在实验中,作者使用网格中心点作为初始PoIs,以便与传统的基于体积的方法进行公平比较,并为性能比较和评估提供一个可靠的 Baseline 。作者在摄像机的可见区域内采样$K(K=8000)$个点,并对这些点引入随机扰动。然后作者对3D点进行归一化。作者对这些归一化坐标应用正弦和余弦函数作为位置编码的一种形式。这种编码的位置信息随后被用于创建 Query 位置嵌入。在训练阶段,每个解码器层内部,对应于每个单独 Query 的 Query 位置保持一致。3D坐标以及相机的内在和外在参数被用来将这些点映射到像素平面上。此映射过程产生了相应的键和值对。随后,作者使用点交叉关注机制计算输出。然后作者自适应地过采样一组$M$个点($M=8000$),其坐标由一个线性层计算,并使用组点交叉关注来融合额外采样点的特征。
3D Position Encoder
在应用PoIs获得3D点后,作者首先使用以下方程对坐标点进行归一化:
$x,y,z=\frac{x-x_{\min}}{x_{\max}-x_{\min}},\frac{y-y_{\min}}{y_{\max}-y_{\min}},\frac{z-z_{\min}}{z_{\max}-z_{\min}}, \tag{1}$
其中 $[x_{\min},y_{\min},z_{\min},x_{\max},y_{\max},z_{\max}]\!=\![-40m,-40m,-1m,40m,40m,5.4m]$ 是场景的预设边界。通过正弦和余弦函数,作者将归一化的坐标编码为高维位置信息。然后作者使用包含两个线性层和一个ReLU层的小型MLP将高维位置信息转换为可学习嵌入。