当前的视觉基础模型纯粹基于非结构化 2D 数据进行训练,限制了它们对对象和场景的 3D 结构的理解。在这项工作中,我们表明对 3D 感知数据进行微调可以提高新兴语义特征的质量。我们设计了一种方法,将语义 2D 特征提升为高效的 3D 高斯表示,这使我们能够为任意视图重新渲染它们。使用渲染的 3D 感知功能,我们设计了一种微调策略,将这种 3D 感知转移到 2D 基础模型中。我们证明,以这种方式微调的模型产生的特征可以通过简单的线性探测轻松提高语义分割和深度估计中的下游任务性能。值得注意的是,尽管在单个室内数据集上进行了微调,但这种改进可以转移到各种室内数据集和域外数据集。我们希望我们的研究能够鼓励社区在训练 2D 基础模型时考虑注入 3D 意识。
图像是我们 3D 世界的简单投影,易于获取,并提供了一种描绘视觉世界的有效方法,同时丢弃了明确的 3D 几何信息。预计纯粹在 2D 图像上训练的视觉系统无法完全理解我们世界的底层 3D 结构。我们的 3D 世界有几个有希望的特性,例如多视图一致性和用于解决单视图模糊性的多视图融合。这些模型的训练设置的一个关键限制是它们没有完全推理所见物体的 3D 结构。训练图像以非结构化的方式呈现给网络,没有任何多视图或视频对应关系,无法从多个视图匹配对同一物体的观察。因此,这些模型对从不同视图观察到的物体的 3D 理解有限,例如,不同视图不会产生视图一致的特征。
图 1:我们提出 3D 感知微调来改进 2D 基础特征。我们的方法首先将 2D 图像特征(例如 DINOv2 [44])(b)提升为 3D 表示。然后我们使用 3D 感知特征微调 2D 基础模型(c)。我们证明,结合微调后的特征(d)可以提高下游任务(例如语义分割和深度估计)的性能,这些任务在各种数据集上都只需简单的线性探测(右)。使用主成分分析 (PCA) 可视化特征图。
为此,我们设计了一种新颖的两阶段方法来提高二维基础模型的 3D 感知理解能力。在第一阶段,我们的目标是获得 3D 感知特征作为训练数据。受神经场景表示的最新进展的启发,我们设计了一种方法,将多视图二维基础特征提升为高效的 3D 高斯表示。提升过程利用了多视图一致性,并允许来自不同视图的二维特征相互补充。此外,由于从多视图 RGB 指导中学习到的 3D 结构,融合特征(图 1(c))表现出高分辨率和精细细节。一旦经过训练,3D 高斯就可以为任意视图渲染特征。在下文中,我们将以这种方式获得的特征称为 3D 感知。在第二阶段,我们利用渲染的 3D 感知特征来微调二维基础模型(图 2)。为此,我们设计了一种有效的微调策略,将这种 3D 感知转移到 2D 基础模型中。微调后,我们评估下游任务的特征质量,这些任务可能受益于更好的 3D 理解,即语义分割和深度估计。大量实验表明,结合 3D 感知特征可以通过简单的线性探测改进下游任务,并在域外数据集上表现出泛化能力。
神经辐射场 (NeRF) 是一种很有前途的场景表示,可用于高质量的 3D 重建和新颖的视图合成。最近,一些研究探索通过神经渲染将预训练的图像特征(例如 DINO、CLIP、LSeg 或 OpenSeg)提炼到 NeRF 中。这种提炼的特征融合场不需要任何标签,可以实现多个零样本 3D 场景理解任务,例如分割、场景编辑和开放词汇查询。我们从这些研究中获得类似的灵感,将 2D 特征提炼成 3D 表示。然而,我们不是专注于使用特征场进行感知任务,而是有兴趣利用渲染的 3D 感知特征来改进 2D 特征提取器。我们证明了转移的 3D 感知可以轻松改进语义和几何任务上的 2D 特征。此外,我们扩展了最近基于高斯的表示,设计了一种将 2D 特征提炼成 3D 高斯的方法,同时保持高效率和内存限制。目前已有多项研究引入了具有语义特征的三维高斯模型。然而,这些研究都没有将特征提炼回二维模型。我们的研究首次表明,将语义特征融合到三维表示中可以通过微调有效改进二维基础模型。
2.3 将 3D 先验注入2D
现有研究主要集中于将多视图 2D 特征融合到 3D 表示中。很少关注将 3D 感知融入 2D 表示学习的另一个方向。Pri3D 使用来自 RGB-D 重建的几何约束(多视图一致性和 2D-3D 对应)来学习基于图像的表示的 3D 先验,并进行对比学习。最近,受到蒙版自动编码器 (MAE) 的启发,一些研究采用蒙版图像建模策略来学习 3D 先验。然而,所有这些方法都需要使用手工制作的借口任务对 2D 特征提取器(通常是 Vision Transformer (ViT) 主干)进行预训练。然后通过微调将预训练的模型应用于下游任务。相比之下,我们的目标是通过微调将嵌入在多视图融合特征中的 3D 感知转移到 2D 特征提取器,并且只需要很少的计算资源。我们的 3D 感知特征可以通过简单的线性探测轻松提高下游任务性能。此外,我们发现与原始的 2D 特征相比,我们的 3D 感知特征呈现出更清晰、更详细的特征图(参见附录中的 D 节),而几项同时进行的工作专门对 2D 特征图进行去噪或锐化。
unset
unset
3 方法
unset
unset
在本节中,我们介绍了使用 3D 感知特征微调 2D 基础模型的方法。我们提出了一个两阶段流程(参见图 3)。在第一阶段,我们将每个视图的 2D 特征提升为多视图一致且 3D 感知的表示。表示和设置在 3.1 节中描述。在第二阶段,我们使用获得的 3D 感知特征表示作为训练数据集来微调 2D 特征提取器,这将在第 3.2 节中详细介绍。最后,我们在第 3.3 节中描述了用于特征评估的线性探测方法。
3.1 将特征提升至3D
将语义 2D 特征提升到 3D 是最近的趋势,并且存在几种不同的选择(参见第 2 节)。对于我们使用大量场景作为 2D 模型的训练数据的目的,最重要的方面是效率。表示需要 (1) 能够有效地将大量场景融入 3D 表示中,以及 (2) 具有快速渲染机制,以便有效地集成到 2D 基础模型的微调循环中。因此,我们利用 3D 高斯分层的最新进展,实现快速优化和实时渲染。图 4 说明了我们如何扩展高斯分层以提升 2D 基础特征,我们将在下面详细介绍该方法。
图 3:整体流程。我们提出了一个两阶段流程。在第一阶段,我们通过训练 3D 高斯表示 Gi 将 2D 基础特征(例如 DINOv2)提升为 3D 感知特征。在第二阶段,我们使用渲染的特征来微调 2D 基础模型 ε 2D。用 → 表示梯度流。
3D 特征高斯。
根据 3D 高斯分布的公式,我们定义一组 3D 高斯为
其中
是高斯的 3D 均值,
是高斯尺度,
是其方向,
是每高斯不透明度,**SH **是球面谐波系数向量,用于编码视图相关的颜色。高斯协方差矩阵由比例和方向的组合获得,即
。除了原始参数之外,我们还引入了一个每高斯特征向量
来将提炼的 2D 特征存储在 3D 空间中。使用我们设计的特征光栅化器将这些特征向量光栅化为 2D 特征图像。受到高斯溅射可微分颜色光栅化的启发,我们使用基于点的 α 混合对特征进行光栅化,如下所示:
其中 N 是一组与像素重叠的有序高斯函数,
是每个高斯函数的特征,αi 是通过评估协方差 Σ 乘以学习到的每点不透明度的二维高斯函数得出的。
向上投射的特征。
3D 高斯作为表示的一个主要限制是其内存消耗。由于每个场景可能有数百万个高斯,因此不可能直接在每个 3D 高斯上存储例如 384 维 DINO 特征。因此,为了保持内存效率并保持快速渲染过程,我们选择存储较低维特征
,其中 D << 384 并训练场景特定的像素空间 CNN 解码器
以在渲染后将特征图像向上投影到高维特征空间。我们将在第 4.6 节中分析此方法引入的权衡。
图 4:将 2D 特征提升为 3D 高斯表示。我们为每个高斯配备一个低维特征向量 f。我们使用与高斯分布相同的颜色光栅化器渲染颜色。我们设计了一个特征光栅化器来渲染低维特征图像 F low,随后使用简单的 CNN 将其投影为高维特征图像 F high。我们使用来自模型 ε 2D 的 2D 基础特征 F 来监督特征学习。
优化。
对于给定场景,可以使用优化获得完整的 3D 高斯表示,包括我们提取的特征。令
为具有相应相机参数的场景多视图图像集,
为来自 2D 特征提取器(例如 DINOv2)的相应特征图集,
,
分别为使用图像 i 的相机姿态
将一组高斯图像渲染为 RGB 或特征图像的光栅化函数。然后,我们优化高斯参数,以最佳地表示图像
和特征图像
:
其中
是 RGB 图像上逐像素 l1 损失与 D-SSIM 项相结合的结果,而
是特征图像上逐像素 l1 损失的结果。值得注意的是,我们仅使用来自
(特征图像)的梯度来优化 f,其余参数仅在
(RGB 损失)上优化。事实证明,这对于获得一致的 3D 特征表示至关重要,因为来自特征空间的损失不会导致正确的高斯均值、协方差和不透明度。我们推测,造成这种情况的原因是 2D 特征提取器缺少 3D 一致性。只有通过强制将它们转换为 3D 一致表示,我们才能使它们保持一致。
3.2 3D感知微调
上一节中描述的过程用于拟合 K 个场景的 3D 特征高斯表示。3D 感知微调的算法概述于算法 1 中。微调过程需要训练原始 2D 特征图和 3D 感知特征图对。由于保存特征图会占用大量内存,因此我们会动态生成训练对。考虑到在渲染特征时加载每个预训练的高斯非常耗时,我们将所有高斯预加载到 CPU 内存中。在训练循环的每一步中,我们从所有训练图像中随机抽取一个视图,然后检索其相关的特征高斯和场景特定的 CNN 解码器,最后将特征 F high 渲染为微调的基本事实特征。微调损失是 F high(调整大小后)和微调后的 2D 特征提取器的输出特征之间的 l1 损失。