PannoOccUnified Occupancy Representation for Camera-based 3D Panoptic Segmentation

中科院

摘要

周围三维世界的综合建模是自主驾驶成功的关键。然而,现有的感知任务,比如目标检测、道路结构分割、深度和高度估计以及开放式对象定位,都只关注于整体三维场景理解任务的一小部分。这种分而治之的策略简化了算法开发过程,但代价是失去了问题的端到端统一解。在这项工作中,我们通过研究基于摄像机的三维全景分割来解决这一局限性,目的是实现一个统一的占用表示,用于只有摄像机的三维场景理解。为了实现这一目标,我们引入了一种新的方法 PanoOcc,该方法利用体素查询从多帧多视图图像中粗到精地聚合时空信息,将特征学习和场景表示融合到一个统一的占用表示中。我们进行了广泛的消融研究,以验证所提出的方法的有效性和效率。我们的方法在 nuScenes 数据集上实现了基于摄像机的语义分割和全景分割的最新结果。此外,我们的方法可以很容易地扩展到密集的占用率预测,并显示了良好的性能在 Occ3D 基准。

在这里插入图片描述
图2. PanoOcc的整体框架。我们使用图像主干网络来提取多视图、多帧的多尺度特征。然后,我们通过视角编码器应用体素查询来学习体素特征。时间编码器将之前的体素特征对齐到当前帧并将它们融合在一起。体素上采样模块恢复高分辨率的体素表示,以进行细粒度的语义分类。任务头部通过两个单独的头部进行目标检测和语义分割的预测。细化模块通过3D目标检测进一步改善物体类别的预测,并为物体占据的网格分配实例ID。最后,我们可以获得当前帧的三维全景分割结果。

介绍

在自动驾驶中,全面的三维场景理解至关重要。准确感知环境、识别和分类物体,并将它们在场景的三维空间中进行位置上下文化的能力对于开发安全可靠的自动驾驶系统是基础性的。

最近,基于摄像头的鸟瞰视角(Bird’s Eye View,BEV)方法在增强三维场景理解方面展现出了巨大的潜力。通过将多视角观测整合到统一的BEV空间中,这些方法在3D物体检测、BEV语义分割和矢量地图构建等任务中取得了显著成功。然而,现有的感知任务存在一定的局限性,因为它们主要关注场景的特定方面。物体检测主要涉及识别前景物体,BEV语义分割只在BEV平面上预测语义地图,并且矢量地图构建强调场景的静态道路结构。为了解决这些局限性,需要一个更全面和集成的三维场景理解范式。本文提出了基于摄像头的全景分割(panoptic segmentation)方法,旨在以统一的表示形式包含场景中的所有元素,用于三维输出空间。如图1所示,与基于LiDAR的全景分割方法(a)依赖于LiDAR点云不同,我们的基于摄像头的全景分割利用多视角图像作为输入,并通过整个场景输出稠密的全景占据预测。与最近的基于摄像头的检测和分割方法(b)相比,它无缝集成了物体级别和体素级别的感知结果,形成了统一的全景占据表示。

然而,直接利用鸟瞰视角(BEV)特征进行基于摄像头的全景分割会导致性能不佳,因为它忽略了更细致的几何细节,如形状和高度信息,这些对于解码细粒度的三维结构至关重要。这种限制促使我们探索更有效的三维特征表示方法。占据表示方法因其有效地描述场景中的各种元素而变得流行,包括开放式对象(例如碎片)、不规则形状的对象(例如关节挂车、有突出结构的车辆)和特殊的道路结构(例如施工区域)。因此,最近的一些方法[4, 19, 37, 4, 56, 25]专注于密集的语义占据预测。然而,仅将2D转换为3D的占据表示在内存成本方面被认为是低效的。这一限制促使像TPVFormer[19]这样的方法将三维表示分为三个二维平面。尽管这些方法试图缓解内存问题,但仍然难以捕捉完整的三维信息,可能导致性能降低。此外,这些现有方法主要关注场景的语义理解,并未考虑实例级别的区分。

在这项工作中,我们提出了一种称为PanoOcc的新方法,它在联合学习框架中无缝集成了目标检测和语义分割,促进了对三维环境的更全面理解。这种联合学习框架可以提高检测和分割性能。我们的方法使用体素查询来学习统一的占据表示。这种占据表示采用粗到精的方案进行学习,解决了内存成本问题,并显著提高了效率。然后,我们进一步探索了三维空间的稀疏性质,并提出了一个占据稀疏模块。在粗到精的上采样过程中,该模块逐步将占据稀疏化,极大地提高了内存效率。我们的贡献总结如下:

我们将基于摄像头的三维全景分割引入作为整体三维场景理解的新范式,利用多视角图像为三维场景创建统一的占据表示。这使得我们可以联合建模目标检测和语义分割,从而更加完整和一致地理解场景。
我们提出的框架PanoOcc采用了从多帧和多视角图像中学习统一占据表示的粗到精的方案。我们证明了使用粗到精的学习方案的三维体素查询是有效且高效的。通过一个占据稀疏模块,这个方案可以进一步实现空间稀疏化,提高内存效率。
在nuScenes数据集上的实验证明,我们的方法在基于摄像头的语义分割和全景分割方面达到了最先进的性能。此外,我们的方法可以扩展到密集占据预测,并在Occ3D基准测试中显示出有希望的性能。

相关工作

基于摄像头的三维感知。基于摄像头的三维感知因其低成本和丰富的视觉属性而在自动驾驶领域引起了广泛关注。先前的方法独立地执行三维物体检测和地图分割任务。最近的基于BEV(鸟瞰图)的方法统一了这些任务,将问题转化为从图像空间到BEV空间的特征视图转换。其中一种方法遵循LSS提出的抬升范式[43],它们明确预测深度图,并将多视图图像特征抬升到BEV平面上[18, 24, 23, 41]。另一种方法继承了DETR3D中从3D到2D的查询精神[58],它们使用可学习的查询通过交叉注意机制从图像特征中提取信息[26, 35, 20, 57]。尽管这些方法可以高效地压缩信息到BEV平面上,但它们可能会损失3D空间中固有的整体场景结构。为了解决这个限制,体素表示更适合获得对三维空间的整体理解,这使其非常适用于三维语义分割和全景分割等任务。

三维占据预测。占据预测可以追溯到占据栅格地图(OGM)[51],这是移动机器人导航中的一个经典任务,旨在从连续的噪声测距测量中生成概率地图。最近,基于摄像头的三维占据预测引起了相当大的关注,旨在从图像中重建三维场景结构。该领域中的现有任务可以根据监督类型分为两类:稀疏预测和密集预测。稀疏预测方法利用激光雷达点获取监督,并在激光雷达基准上进行评估。TPVFormer[19]提出了一种三透视视图方法用于预测三维占据。密集预测方法与语义场景完成(SSC)[1, 50, 8, 28]密切相关。MonoScene[4]首次使用U-Net从单目RGB图像中推断出带有语义标签的密集三维占据。VoxFormer[25]利用深度估计在两阶段框架中选择体素查询。随后,一系列研究聚焦于密集占据预测任务,并引入了新的基准。OpenOccupancy[56]提供了一个精心设计的占据基准,而Occ3D[52]提出了一种使用Waymo和nuScenes数据集的占据预测基准。Openocc[53]在nuScenes数据集上进一步提供了占据流注释。

激光雷达全景分割。激光雷达全景分割[39]通过统一语义分割和物体检测提供了对环境的全面理解。然而,传统的物体检测方法经常丢失高度信息,使得学习精细的特征表示以进行准确的三维分割变得具有挑战性。最近的激光雷达全景方法[65, 45, 16]基于设计良好的语义分割网络[62, 6]来解决这个限制。相比于在激光雷达点上预测稀疏的语义分割,基于摄像头的全景分割旨在输出场景的密集体素分割。

三维场景重建与表示。三维场景重建和表示旨在推断场景的整体几何结构和语义。这个具有挑战性的问题在传统计算机视觉时代和最近的深度学习时代都受到了持续关注[14]。解决方案可以分为显式重建和隐式表示方法。显式重建利用多视图中不同视点的几何线索[46, 47]。虽然显式重建方法擅长重建静态场景,但它们很难捕捉动态场景或具有复杂物体之间相互作用的场景。此外,它们计算成本高昂,需要大量时间来生成详细准确的三维模型。相反,隐式表示方法更具计算效率,并有潜力以任意分辨率对场景进行建模。它们学习一个连续函数[36, 42, 38, 49],可以以高保真度表示复杂的三维场景,包括使用显式重建方法难以捕捉的隐藏或遮挡区域。

方法

3.1 问题设置

基于摄像头的三维全景分割。基于摄像头的三维全景分割旨在使用多视图图像作为输入来预测围绕自车的稠密全景体素(volume)。具体而言,我们使用当前的多视图图像表示为 I t = {I 1 t , I 2 t , …, I nt },以及之前的帧 I t−1 , …, I t−k 作为输入。其中 n 表示摄像头视角的索引,k 表示历史帧数。模型输出当前帧的语义体素 volume Y t ∈ {w 0 , w 1 , …, w C } H×W ×Z 和对应的实例 ID N t ∈ {v 0 , v 1 , v 2 , …, v P } H×W ×Z。这里 C 表示场景中语义类别的总数,w 0 表示空的体素网格。P 表示当前帧 t 中实例的总数;对于属于前景类别(物体)的每个网格,会被分配一个特定的实例 ID v j 。v 0 被分配给所有属于背景类别和空的体素网格。H、W、Z 表示体素体积的长度、宽度和高度。

基于摄像头的三维语义占据预测。基于摄像头的三维语义占据预测可以看作是基于摄像头的三维全景分割的一个子问题。前者仅关注预测语义体素 volume Y t ∈ {w 0 , w 1 , …, w C } H×W ×Z。然而,重点特别放在准确区分空类别(w 0)与其他类别之间上,以确定体素网格是空的还是被占据的。

3.2 整体结构

在本节中,我们介绍了PanoOcc的整体架构。如图2所示,我们的方法以多帧多视图图像作为输入,并首先使用图像主干提取多尺度特征。然后,这些特征通过占据编码器进行处理,该编码器由视角编码器(View Encoder)和时间编码器(Temporal Encoder)组成,以生成粗糙的统一占据表示。视角编码器利用体素查询学习体素特征,通过明确编码高度信息来保留场景的实际3D结构。时间编码器将之前的体素特征与当前帧对齐融合,捕捉时间信息并增强表示能力。接下来,占据解码器采用粗到细的模式恢复细粒度的占据表示。粗到细上采样模块恢复高分辨率的体素表示,实现精确的语义分类。任务头部使用单独的头部进行目标检测和语义分割的预测。为了改进物体类别的预测结果,细化模块利用3D目标检测结果,并为物体占据的体素网格分配实例ID。通过组合这些模块,我们的方法可以为当前场景生成三维全景分割。在接下来的章节中,我们将详细描述每个模块。

在这里插入图片描述
图2. PanoOcc的整体框架。我们使用图像主干网络来提取多视图、多帧的多尺度特征。然后,我们通过视角编码器应用体素查询来学习体素特征。时间编码器将之前的体素特征对齐到当前帧并将它们融合在一起。体素上采样模块恢复高分辨率的体素表示,以进行细粒度的语义分类。任务头部通过两个单独的头部进行目标检测和语义分割的预测。细化模块通过3D目标检测进一步改善物体类别的预测,并为物体占据的网格分配实例ID。最后,我们可以获得当前帧的三维全景分割结果。

3.3 voxel queries

我们定义一组可学习的3D网格形状参数Q∈RH×W×Z×D作为体素查询。其中,H和W是BEV平面的空间形状,Z代表高度维度。体素查询Q中的单个体素查询q∈RD位于(i,j,k)位置,负责对应的3D体素网格单元区域。体素中的每个网格单元对应实际世界中的(sh,sw,sz)尺寸,单位为米。为了将位置信息纳入体素查询中,我们在Q中添加可学习的3D位置嵌入。

3.4 Occupancy Encoder

给定体素查询Q和提取的图像特征F作为输入,占据编码器输出融合后的体素特征Qf∈RH×W×Z×D。H、W和Z表示输出体素特征的形状,D是嵌入维度。

view Encoder 视角编码器。视角编码器将透视视图特征转化为3D体素特征。然而,在处理体素表示时,应用普通的交叉注意力会导致计算成本高昂。为了解决这个问题,我们从最近的基于BEV的方法[26bevfomer, 20Polarformer:, 57]中得到灵感,并采用高效的可变形注意力[66]进行体素交叉注意力和体素自注意力。核心区别在于选择参考点来将BEV查询推广为体素查询。deformable attention [66] for voxel cross-attention and voxel self-attention
Frustum-former: Adaptive instance-aware resampling for multi-view 3d detection
体素交叉注意力旨在促进多尺度图像特征与体素查询之间的交互。具体而言,对于位于(i,j,k)处的体素查询q,体素交叉注意力(VCA)的过程可以表示如下:
aa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值