GaussianFormer
约 9265 字大约 31 分钟
2025-04-29
注
图1:鉴于高斯混合的通用近似能力 [8, 11],我们提出了一种以物体为中心的3D语义高斯表示方法,用于在不使用密集网格的情况下描述3D场景的细粒度结构。我们提出了一个GaussianFormer模型,该模型由稀疏卷积和交叉注意力组成,能够高效地将2D图像转换为3D高斯表示。为了生成密集的3D占用预测,我们设计了一个高效的高斯到体素的溅射模块,该模块可以通过CUDA高效实现。与现有方法相比,我们的GaussianFormer在性能相当的情况下,将现有3D占用预测方法的内存消耗降低了75.2%到82.2%。
摘要
3D语义占用预测旨在获取周围场景的3D细粒度几何结构和语义信息,这对于以视觉为中心的自动驾驶的鲁棒性至关重要。大多数现有方法使用密集的网格(如体素)作为场景表示,这忽略了占用的稀疏性和物体尺度的多样性,从而导致资源分配不平衡。
为了解决这一问题,我们提出了一种以物体为中心的表示方法,使用稀疏的3D语义高斯分布来描述3D场景,其中每个高斯分布代表一个灵活的兴趣区域及其语义特征。
我们通过注意力机制从图像中聚合信息,并迭代优化3D高斯分布的属性,包括位置、协方差和语义。
此外,我们设计了一种高效的高斯到体素的“溅射”(splatting)方法,用于生成密集的3D占用预测,该方法仅聚合特定位置的邻近高斯分布。
我们在广泛采用的nuScenes和KITTI-360数据集上进行了大量实验。实验结果表明,GaussianFormer在性能上与现有最先进的方法相当,但仅消耗其17.8%到24.8%的内存。我们的定性可视化结果表明,GaussianFormer能够生成既整体又逼真的场景感知结果。
1 引言
在自动驾驶领域,是否使用激光雷达(LiDAR)进行3D感知一直是各公司争论的核心问题。虽然以视觉为中心的系统具有经济优势,但它们无法捕捉任意形状的障碍物,这限制了驾驶的安全性和鲁棒性 [13,17,25,26]。3D语义占用预测方法的出现解决了这一问题,通过预测周围三维空间中每个体素的占用状态,从而为诸如端到端自动驾驶 [46]、4D占用预测 [58] 和自监督3D场景理解 [15] 等新兴任务提供了便利。
尽管应用前景广阔,但3D占用预测的密集输出空间如何高效且有效地表示3D场景仍然是一个巨大挑战。基于体素的方法 [23,50] 为每个体素分配一个特征向量,以获得描述3D场景细粒度结构的密集表示。这些方法通过粗到细的上采样 [46,50] 或体素过滤 [23,33] 来提高效率,考虑到3D空间的稀疏性。
由于大多数体素空间是未被占用的 [3],基于鸟瞰图(BEV)的方法 [27,56] 压缩了高度维度,并采用鸟瞰图作为场景表示,但它们通常需要后处理,例如多尺度融合 [56],以捕捉更细致的细节。TPVFormer [16] 通过引入两个额外的平面,将BEV推广到三视角(TPV),在性能和复杂性之间取得了更好的平衡。然而,所有这些方法都是基于网格的,不可避免地会受到空网格冗余的影响,从而增加了下游任务的复杂性 [46]。此外,由于在3D空间中是物体而不是网格在移动,因此基于网格的表示也更难以捕捉场景动态 [58]。
在本文中,我们提出了首个以物体为中心的3D语义占用预测表示方法。我们使用一组3D语义高斯分布来稀疏地描述3D场景,其中每个高斯分布代表一个灵活的兴趣区域,包含均值、协方差及其语义类别。我们提出了GaussianFormer模型,能够有效地从图像输入中获得3D语义高斯分布。
我们随机初始化一组查询来实例化3D高斯分布,并采用交叉注意力机制从多尺度图像特征中聚合信息。我们迭代优化3D高斯分布的属性,以实现更平滑的优化。为了高效地处理3D高斯分布之间的交互,我们将它们视为位于高斯均值处的点云,并利用3D稀疏卷积来处理它们。然后,我们将更新后的查询解码为3D语义高斯分布的属性,作为场景表示。
受图像渲染中3D高斯溅射方法 [20] 的启发,我们设计了一个高效的高斯到体素的溅射模块,通过聚合邻近的高斯分布来为特定的3D位置生成语义占用预测。我们提出的3D高斯表示使用稀疏且自适应的特征集来描述3D场景,但由于高斯混合的通用近似能力 [8,11],它仍然能够建模细粒度结构。
基于3D高斯表示,GaussianFormer进一步采用稀疏卷积和基于局部聚合的高斯到体素溅射,以实现高效的3D语义占用预测,如图1所示。我们在nuScenes和KITTI-360数据集上进行了大量实验,分别用于从周围和单目相机进行3D语义占用预测。GaussianFormer在性能上与现有的最先进的方法相当,但仅消耗其17.8%到24.8%的内存。我们的定性可视化结果表明,GaussianFormer能够生成既整体又逼真的场景感知结果。
2 相关工作
2.1 3D语义占用预测
近年来,3D语义占用预测因其对驾驶场景的全面描述而受到越来越多的关注,该任务涉及预测一定范围内所有体素的占用和语义状态。学习有效的表示方法是完成这一挑战性任务的基础步骤。
一种直接的方法是将3D空间离散化为规则的体素,每个体素被分配一个特征向量 [59]。体素表示在描述复杂3D结构方面的能力使其在3D语义占用预测中具有优势 [4,6,18,21,35,43,50,51,57]。然而,由于驾驶场景的稀疏性和传统体素表示的高分辨率,这些方法面临着相当大的计算和存储开销。
为了提高效率,一些方法提出通过粗到细的上采样策略 [49] 或深度引导的体素过滤 [23] 来减少体素查询的数量。然而,上采样过程可能无法充分补偿粗阶段的信息损失。而过滤策略则忽略了被遮挡的区域,并且依赖于深度估计的质量。尽管OctreeOcc [33] 引入了多粒度的体素查询以提高效率,但它仍然遵循预定义的规则划分模式。我们的3D高斯表示类似于体素表示,但能够以可变形的方式灵活适应不同物体尺度和区域复杂性,从而实现更好的资源分配和效率。
另一条研究路线利用鸟瞰图(BEV)表示用于自动驾驶中的3D感知,可以根据视图变换范式将其分为两类。基于提升-投影-射击(LSS)的方法通过深度引导将图像特征积极投影到3D空间 [14,24,25,31,39,40],而基于查询的方法通常使用BEV查询和可变形注意力从图像特征中聚合信息 [19,26,53]。
尽管BEV感知在3D目标检测中取得了巨大成功,但由于高度压缩导致的信息丢失,它较少被用于3D占用预测。
- FB-OCC [27] 使用来自反向投影的密集BEV特征来优化来自前向投影的稀疏体素特征。
- FlashOcc [56] 在BEV特征上应用复杂的多尺度特征融合模块以捕捉更细致的细节。
然而,现有的3D占用预测方法都是基于网格表示的,不可避免地会受到空网格的计算冗余问题的影响。
与之不同的是,我们的GaussianFormer基于以物体为中心的表示,并且能够高效地关注灵活的兴趣区域。
2.2 3D高斯溅射
最近的3D高斯溅射(3D-GS)[20] 使用多个3D高斯分布进行辐射场渲染,展示了在渲染质量和速度方面的卓越性能。与之前的显式场景表示(如网格 [41,42,52] 和体素 [10,37])相比,3D-GS能够用更少的参数建模复杂形状。与隐式神经辐射场 [1,36] 相比,3D-GS通过基于溅射的光栅化实现快速渲染,将3D高斯分布投影到目标2D视图上,并使用局部2D高斯分布渲染图像块。3D-GS的最新进展包括对动态场景的适应 [34,54]、可泛化到新场景的在线3D-GS [5,61] 以及生成式3D-GS [7,28,45,55]。尽管我们的3D高斯表示也采用了3D高斯分布的物理形式(即均值和协方差)以及多变量高斯分布,但它与3D-GS存在显著差异,这在3D语义占用预测中带来了独特的挑战:
- 我们的3D高斯表示是以在线方式学习的,而3D-GS则是离线优化的。
- 我们从3D高斯表示生成3D语义占用预测,而3D-GS则是渲染2D RGB图像。
3 提出的方法
在本节中,我们介绍用于3D语义占用预测的3D高斯溅射方法。我们首先介绍一种以物体为中心的3D场景表示方法,该方法使用3D语义高斯分布自适应地描述兴趣区域(第3.1节)。然后,我们解释如何有效地将图像输入中的信息转换为3D高斯分布,并详细说明模型设计,包括自编码、图像交叉注意力和属性细化(第3.2节)。最后,我们详细描述了高斯到体素的溅射模块,该模块基于局部聚合生成密集的3D占用预测,并可以通过CUDA高效实现(第3.2节)。
3.1 以物体为中心的3D场景表示
基于视觉的3D语义占用预测旨在通过多视图相机图像作为输入,预测每个体素网格的密集占用状态和语义。
形式上,给定一组多视图图像 I={Ii∈R3×H×W∣i=1,…,N} ,以及对应的内参 K={Ki∈R3×3∣i=1,…,N} 和外参 T={Ti∈R4×4∣i=1,…,N} ,目标是预测3D语义占用 O∈CX×Y×Z ,其中 N 、 {H,W} 、 C 和 {X,Y,Z} 分别表示视图数量、图像分辨率、语义类别集合和目标体素网格分辨率。
自动驾驶场景包含各种尺度的前景物体(如公交车和行人),以及不同复杂度的背景区域(如道路和植被)。
传统的基于体素的表示方法 [4,23,48] 忽略了这种多样性,对每个3D位置分配相同的存储和计算资源,这通常会导致由于资源分配不合理而产生巨大的开销。
基于平面的表示方法,如BEV [14,26] 和TPV [16],通过首先将3D信息编码到2D特征图中以提高效率,然后从2D特征中恢复3D结构。
尽管基于平面的表示方法在资源利用上较为友好,但它们可能会导致细节丢失。基于网格的方法很难适应不同场景的兴趣区域,从而导致表示和计算冗余。
注
图2:比较了我们提出的3D高斯表示与现有的基于网格的场景表示方法(图来自TPVFormer [16])。体素表示 [23, 50] 为3D空间中的每个体素分配一个特征,但由于3D空间的稀疏性,这种表示方法存在冗余。BEV(鸟瞰图)[26] 和TPV(三视角)[16] 使用2D平面来描述3D空间,虽然可以缓解冗余问题,但无法完全解决。与之不同的是,我们提出的以物体为中心的3D高斯表示可以适应灵活的兴趣区域,同时由于高斯混合的强近似能力 [8, 11],仍能描述3D场景的细粒度结构。
为了解决这一问题,我们提出了一种以物体为中心的3D表示方法,用于3D语义占用预测,其中每个单元描述一个兴趣区域,而不是固定的网格,如图2所示。我们使用一组3D语义高斯分布来表示自动驾驶场景,每个高斯分布实例化一个语义高斯分布,由均值、协方差和语义对数几率组成。通过在特定位置评估语义高斯分布的值并将它们相加,可以计算出该位置的占用预测。
具体来说,我们使用一组 P 个3D高斯分布 G={Gi∈Rd∣i=1,…,P} 来表示每个场景,每个3D高斯分布由一个 d -维向量表示,形式为 (m∈R3,s∈R3,r∈R4,c∈R∣C∣),
- 其中 d=10+∣C∣ ,
- 而 m 、 s 、 r 和 c 分别表示均值、尺度、旋转向量和语义对数几率。
因此,语义高斯分布在点 p=(x,y,z) 处的值为:
g(p;m,s,r,c)=exp(−21(p−m)TΣ−1(p−m))c,
其中
Σ=RSSTRT,S=diag(s),R=q2r(r),
这里:
- Σ :协方差矩阵;
- diag(⋅) :从向量构造对角矩阵的函数;
- q2r(⋅)将四元数转换为旋转矩阵的函数。
然后,点 p 处的占用预测结果可以表示为各个高斯分布在该位置的贡献之和:
O^(p;G)=i=1∑Pgi(p;mi,si,ri,ci)=i=1∑Pexp(−21(p−mi)TΣi−1(p−mi))ci.
与体素表示相比,均值和协方差属性使得3D高斯表示能够根据物体尺度和区域复杂性自适应地分配计算和存储资源。 因此,我们只需要更少的3D高斯分布来建模场景,以实现更好的效率,同时保持表达能力。
此外,3D高斯表示以3D高斯分布为基本单元,从而避免了由于平面表示中的维度降低而导致的潜在细节丢失。而且,每个3D高斯分布具有明确的语义意义,使得从场景表示到占用预测的转换比其他表示方法(这些方法通常涉及从高维特征中解码每个体素的语义)要简单得多。
3.2 GaussianFormer:从图像到高斯分布
注
图3:GaussianFormer框架用于3D语义占用预测。我们首先使用图像主干网络提取多尺度(M.S.)特征。然后,我们随机初始化一组查询和属性(均值、协方差和语义)来表示3D高斯分布,并通过自编码、图像交叉注意力和属性细化模块进行更新。在获得更新后的3D高斯分布后,我们使用高效的高斯到体素的溅射模块,通过局部聚合将3D高斯分布转换为密集的3D占用预测。
基于场景的3D语义高斯表示,我们进一步提出了GaussianFormer模型,用于从多视图图像中学习有意义的3D高斯分布。
整体流程如图3所示。
- 我们首先将3D高斯分布的属性及其对应的高维查询初始化为可学习的向量。
- 然后,我们在GaussianFormer的 B 个块中迭代细化高斯属性。
- 每个块包括一个自编码模块,用于实现3D高斯分布之间的交互;一个图像交叉注意力模块,用于聚合视觉信息;以及一个细化模块,用于校正3D高斯分布的属性。
高斯属性和查询
我们在GaussianFormer中引入了两组特征。
- 高斯属性 G={Gi∈Rd∣i=1,…,P} 是我们在第3.1节中讨论的物理属性,它们实际上是模型的学习目标。
- 另一方面,高斯查询 Q={Qi∈Rm∣i=1,…,P} 是高维特征向量,它们在自编码和图像交叉注意力模块中隐式地编码3D信息,并为细化模块中的校正提供指导。
我们如图3中的“初始属性”所示,将高斯属性初始化为可学习的向量。
自编码模块
使用体素或平面表示的方法通常使用可变形注意力实现自编码模块,以考虑效率因素,但这并不支持无结构的3D高斯表示。相反,我们利用3D稀疏卷积来实现3D高斯分布之间的交互,其计算复杂度与可变形注意力相同,均为线性。
提示
具体来说,我们将每个高斯分布视为位于其均值 m 处的一个点,将生成的点云进行体素化(如图3中的“体素化”所示),然后在体素网格上应用稀疏卷积。由于3D高斯分布的数量 P 远小于 X×Y×Z ,稀疏卷积能够有效地利用高斯分布的稀疏性。
图像交叉注意力模块
图像交叉注意力模块(ICA)旨在从图像中提取视觉信息,用于我们的基于视觉的方法。
具体来说,对于一个3D高斯分布 G ,我们首先通过将均值 m 与偏移量 Δm 组合来生成一组3D参考点 R={m+Δmi∣i=1,…,R} 。我们根据高斯分布的协方差来计算偏移量,以反映其分布的形状。
然后,我们将3D参考点投影到图像特征图上,使用外参 T 和内参 K 。
最后,我们使用加权和更新高斯查询 Q :
ICA(R,Q,F;T,K)=N1n=1∑Ni=1∑RDA(Q,π(R;T,K),Fn),
其中 F 、 DA(⋅) 和 π(⋅) 分别表示图像特征图、可变形注意力函数以及从世界坐标到像素坐标的转换。
细化模块
我们使用细化模块,根据对应的高斯查询(这些查询在前面的自编码和图像交叉注意力模块中已经聚合了足够的3D信息)来校正高斯属性。具体来说,我们从DETR [60] 的目标检测中获得启发。对于一个3D高斯分布 G=(m,s,r,c) ,我们首先使用多层感知器(MLP)从高斯查询 Q 中解码中间属性 G^=(m^,s^,r^,c^) 。在用中间属性细化旧属性时,我们将中间均值 m^ 视为残差,并将其与旧均值 m 相加,而直接用其他中间属性 ( s^ , r^ , c^ ) 替换对应的旧属性:
G^=(m^,s^,r^,c^)=MLP(Q),Gnew=(m+m^,s^,r^,c^).
我们使用残差连接来细化高斯分布的均值,以保持其在整个GaussianFormer的 B 个块中的连贯性。直接替换其他属性的原因是,我们担心由于对协方差和语义对数几率应用的sigmoid和softmax激活函数可能导致梯度消失。
3.3 高斯到体素的溅射
由于高斯混合的通用近似能力 [8,11],3D语义高斯分布可以高效地表示3D场景,因此可以直接用于执行下游任务,如运动规划和控制。具体来说,为了实现3D语义占用预测,我们设计了一个高效的高斯到体素的溅射模块,该模块仅使用局部聚合操作将3D高斯表示高效地转换为3D语义占用预测。
尽管公式(3)展示了转换的主要思想,即对3D高斯分布的贡献进行求和,但由于计算和存储复杂度( O(XYZ×P) )过高,对于每个体素位置查询所有高斯分布是不可行的。由于权重 exp(−21(p−m)TΣ−1(p−m)) 在公式(1)中随着马氏距离的平方呈指数衰减,因此当距离足够大时,该权重可以忽略不计。基于语义高斯分布的局部性,我们仅考虑每个体素位置的邻近3D高斯分布以提高效率。
注

图4:2D示意图展示了高斯到体素的溅射方法。我们首先根据3D高斯分布的均值将它们嵌入目标体素网格,并记录每个3D高斯分布影响的体素索引,将它们的配对索引作为元组 ((g, v)) 添加到列表中。然后,我们根据体素索引对列表进行排序,以确定每个体素应聚合的邻近3D高斯分布的索引。最后,我们仅通过邻近的3D高斯分布进行局部聚合来高效近似占用预测。
如图4所示,我们首先根据它们的均值 m 将3D高斯分布嵌入到大小为 X×Y×Z 的目标体素网格中。对于每个3D高斯分布,我们根据其尺度属性 s 计算其邻域的半径。我们将每个高斯分布的索引和邻域内每个体素的索引作为元组 (g,v) 添加到列表中。然后,我们根据体素索引对列表进行排序,以得出每个体素应关注的3D高斯分布的索引:
sortvox([(g,vg1),…,(g,vgk)]g=1P)=[(vg1,v),…,(vgl,v)]v=1XYZ,
其中 k 和 l 分别表示某个高斯分布的邻近体素数量和某个体素的贡献高斯分布数量。最后,我们可以使用仅邻近的高斯分布来高效近似公式(3):
o^(p;G)=i∈N(p)∑gi(p;mi,si,ri,ci),
其中 N(p) 表示点 p 处的邻近高斯分布集合。考虑到3D高斯分布的动态邻域大小,高斯到体素的溅射实现并非易事。
为了充分利用GPU的并行计算能力,我们使用CUDA编程语言实现,以实现更好的加速。GaussianFormer模型的整体结构可以高效地进行端到端训练。
在训练过程中,我们使用交叉熵损失 Lce 和Lovász-Softmax [2] 损失 Llov (与TPVFormer [16] 相同)。为了以迭代方式细化高斯属性,我们在每个细化模块的输出上应用监督。整体损失函数为 L=∑i=1B(Lcei+Llovi) ,其中 i 表示第 i 个块。
4 实验
在本文中,我们提出了一种3D语义高斯表示方法,用于高效且有效地描述3D场景,并设计了GaussianFormer模型以执行3D占用预测。我们在nuScenes [3] 数据集和KITTI-360 [29] 数据集上进行了实验,分别用于基于周围和单目相机的3D语义占用预测。
4.1 数据集
nuScenes [3] 包含在波士顿和新加坡收集的1000个各种驾驶场景序列,官方分为700/150/150个序列,分别用于训练、验证和测试。每个序列持续20秒,由6个周围相机收集RGB图像,关键帧以2Hz的频率标注。我们利用SurroundOcc [50]提供的密集语义占用标注进行监督和评估。标注的体素网格在X和Y轴上跨越[-50m, 50m],在Z轴上跨越[-5m, 3m],分辨率为200×200×16。每个体素被标记为18个类别之一(16个语义类别、1个空闲类别和1个未知类别)。
KITTI-360 [29] 是一个大规模数据集,覆盖了73.7公里的驾驶距离,对应超过32万张图像和10万次激光扫描。我们使用SSCBench-KITTI-360 [22]提供的密集语义占用标注进行监督和评估。它提供了9个长序列的地面真实标签,总共12865个关键帧,官方分为7/1/1个序列,分别用于训练、验证和测试,分别有8487/1812/2566个关键帧。体素网格在车辆前方跨越51.2×51.2×6.4m³,分辨率为256×256×32,每个体素被标记为19个类别之一(18个语义类别和1个空闲类别)。我们使用左相机的RGB图像作为模型的输入。
4.2 评估指标
按照常见做法 [4],我们使用平均交并比(mIoU)和交并比(IoU)来评估模型的性能:
mIoU=∣C′∣1i∈C′∑TPi+FPi+FNiTPi,IoU=TPc0+FPc0+FNc0TPc0,
其中 C′ 、 c0 、 TP 、 FP 和 FN 分别表示非空类别、空闲类别、真正例、假正例和假负例的数量。
4.3 实现细节
我们将nuScenes [3] 的输入图像分辨率设置为900×1600,将KITTI-360 [29] 的输入图像分辨率设置为376×1408。对于nuScenes,我们使用ResNet101-DCN [12](从FCOS3D [47] 检查点初始化)作为图像主干网络;对于KITTI-360,我们使用预训练的ResNet50 [12](使用ImageNet [9] 预训练)。我们使用特征金字塔网络 [30](FPN)生成具有4、8、16和32的下采样率的多尺度图像特征。我们将nuScenes的高斯分布数量设置为144000,将KITTI-360的高斯分布数量设置为38400,并在GaussianFormer中使用4个Transformer块来细化高斯分布的属性。对于优化,我们使用AdamW [32] 优化器,权重衰减为0.01。学习率在前500次迭代中逐渐升温至最大值2e-4,并根据余弦时间表逐渐降低。我们训练模型20个周期,批量大小为8,并采用随机翻转和光度失真增强。
4.4 结果与分析
周围相机的3D语义占用预测
注
表1:nuScenes验证集上的3D语义占用预测结果。尽管原始的TPVFormer [16]是使用激光雷达分割标签进行训练的,但TPVFormer*是使用密集占用标注进行监督的。我们的方法在性能上与最先进的方法相当。
在表1中,我们展示了nuScenes验证集上各种方法的多视图3D语义占用预测的全面定量比较,使用SurroundOcc [50]提供的密集标注进行监督。我们的GaussianFormer在性能上与最先进的方法相当,同时仅消耗其17.8%到24.8%的内存。这些观察结果证明了3D高斯分布对于语义占用预测的宝贵应用,因为3D高斯表示更好地利用了驾驶场景的稀疏性和物体尺度的多样性,具有灵活的位置和协方差属性。
单目3D语义占用预测
表2比较了在SSCBench-KITTI-360上,GaussianFormer与其他方法在单目3D语义占用预测方面的性能。值得注意的是,GaussianFormer在一些较小的类别(如摩托车)和一般类别(如其他车辆)上表现出色。这是因为3D高斯分布可以自适应地调整其位置和协方差以匹配图像中小物体的边界,与在图像上可能具有误导性的刚性网格投影相比。此外,3D高斯分布的灵活性也有利于对一般物体(例如以“其他”为前缀的类别)的预测,这些物体通常具有与正常类别不同的形状和外观。
与现有方法的效率比较
我们在表3中提供了不同场景表示方法的效率比较。值得注意的是,GaussianFormer在显著降低内存消耗方面超越了所有现有的竞争手。GaussianFormer的内存效率源于其以物体为中心的特性,为每个3D高斯分布分配了明确的语义含义,从而大大简化了从场景表示到占用预测的转换过程,消除了从高维特征中解码的昂贵过程。虽然基于平面表示的方法 [16, 26] 稍微快一些(约70毫秒),但GaussianFormer在所有基于密集网格的表示方法中实现了最低的延迟。值得注意的是,即使查询数量更多,我们的方法也比OctreeOcc [33]更快。
对GaussianFormer组件的分析
在表4中,我们对GaussianFormer的组件进行了全面分析,以验证它们的有效性。我们在nuScenes上进行了这些实验,并将3D高斯分布的数量设置为51200。细化高斯属性的策略对性能有显著影响。直接替换旧属性与新属性的“全部替换”策略(标记为“none”)的实验崩溃了,因此我们没有报告结果。这是因为高斯分布的位置对噪声非常敏感,如果没有在细化过程中对连贯性进行正则化,就会迅速收敛到平凡解。对所有属性(除了语义)应用残差细化(标记为“all except semantics”)也是有害的,因为用于协方差的sigmoid激活函数容易出现梯度消失问题。此外,自编码模块中的3D稀疏卷积对于性能至关重要,因为它负责3D高斯分布之间的交互。另一方面,深度监督策略也通过确保每个中间细化步骤都有助于3D感知,从而对整体性能做出了贡献。
3D高斯分布数量的影响
表5展示了关于3D高斯分布数量的消融研究,我们分析了它对效率和性能的影响。当3D高斯分布的数量大于38400时,mIoU线性增加,这是由于更多的高斯分布能够表示更细粒度的细节。延迟和内存消耗也与3D高斯分布的数量呈线性相关,为部署提供了灵活性。
可视化结果
注
图5:在nuScenes验证集上3D语义占用预测的可视化结果。我们通过将3D高斯分布视为以高斯均值为中心的椭球体,并根据高斯协方差矩阵确定其半轴长度来进行可视化。我们的GaussianFormer不仅能够合理分配资源,还能捕捉物体形状的细节。
我们在图5中提供了定性可视化结果。我们的GaussianFormer能够生成既整体又逼真的场景感知结果。具体来说,3D高斯分布会调整其协方差矩阵以捕获物体形状的细节,例如在道路和墙壁表面的扁平形状的高斯分布(例如第三行)。此外,与道路表面相比,车辆和行人所在区域的密度更高(例如第一行),这证明了3D高斯分布围绕前景物体聚集,并通过迭代细化合理分配资源。此外,我们的GaussianFormer甚至成功预测了在图像中几乎不可见的物体,例如输入图像左前方和3D可视化右上角的卡车(第四行)。
5 结论与讨论
在本文中,我们提出了一种高效的以物体为中心的3D高斯表示方法,用于3D语义占用预测,以更好地利用占用的稀疏性和物体尺度的多样性。我们使用稀疏的3D高斯分布来描述驾驶场景,每个高斯分布由其位置、协方差和语义组成,并代表一个灵活的兴趣区域。基于3D高斯表示,我们设计了GaussianFormer模型,通过注意力机制和迭代细化从输入图像中有效地学习3D高斯分布。为了高效地从3D高斯分布生成体素化的占用预测,我们提出了一种高效的高斯到体素的溅射方法,该方法仅对每个体素聚合邻近的高斯分布。GaussianFormer在nuScenes和KITTI-360数据集上的性能与最先进的方法相当,同时显著降低了超过75%的内存消耗。我们的消融研究表明,GaussianFormer的性能随着3D高斯分布数量的增加而提升。此外,可视化结果证明了3D高斯分布捕捉物体形状细节以及合理分配计算和存储资源的能力。
局限性
尽管GaussianFormer的内存消耗较低,但其性能仍略逊于最先进的方法。这可能是由于3D语义高斯表示的不准确,或者仅仅是由于我们没有进行大量的超参数调整。GaussianFormer还需要大量的高斯分布才能达到满意的性能。这可能是因为当前的3D语义高斯分布将“空闲”作为一个类别,因此仍然可能存在冗余。未来的工作可以考虑仅对实体物体建模,以进一步提高性能和速度。
附录部分(Appendix)
A 视频演示
图6展示了在nuScenes [3]验证集上进行3D语义占用预测的样本图像。GaussianFormer仅使用周围图像作为输入,成功预测了既逼真又整体的语义占用结果。3D高斯分布与预测占用之间的相似性表明了高效3D高斯表示的表达能力。
B 额外的可视化
图7提供了在KITTI-360 [29]验证集上GaussianFormer的可视化结果。与nuScenes [3]的可视化结果(图5)类似,我们观察到当存在车辆时(例如第4行),3D高斯分布的密度更高,这证明了3D高斯表示的以物体为中心的特性,并进一步有利于资源分配。除了整体结构外,GaussianFormer还能够捕捉场景中的复杂细节,例如电线杆(例如第1行)。图5和图7中3D高斯分布的密度和尺度的差异是因为我们分别为nuScenes和KITTI-360设置了144000/38400个高斯分布,以及0.3m/0.5m的最大尺度。我们还在图8中可视化了每个细化层的输出3D语义高斯分布。在图9中,我们提供了我们的方法与SurroundOcc [50]之间的定性比较。
C 额外的消融研究
我们在表6中进行了关于高斯分布数量、光度监督、分裂和剪枝策略以及初始化方案的额外消融研究。我们观察到随着高斯分布数量的增加,性能一致提升。我们还在表6中尝试了额外的光度损失来重建输入图像,但并未显示出显著的改进。这是因为在nuScenes中,周围相机的视野重叠较少,因此使用光度损失无法提供进一步的结构信息。此外,我们尝试了在离线3D-GS文献中普遍存在的分裂和剪枝策略,并观察到与基线相比性能有所提升。我们在主文中使用可学习的属性作为初始化,以便在线模型从不同场景中学习先验。我们进一步尝试了不同的初始化策略,包括均匀分布、预测的伪点云和真实点云。我们发现初始化对性能至关重要,深度信息尤其关键。