本文提出了 SPA,一个通用的 3D 空间感知表示学习框架。SPA 利用神经渲染(Mildenhall et al., 2021)作为多视图图像的预训练任务。多视图图像更易于处理且更易获取,非常适合大规模训练,例如从互联网视频中提取数据。
具体来说,给定一个基础的二维图像骨干网络(如 ViT),首先从输入图像中提取多视图特征图。利用已知的相机位姿,从这些特征图中构建一个特征体积,并通过采样射线应用可微分神经渲染。该过程生成多视图 RGB-D 图像和语义图,用于无标签监督,从而在预训练阶段增强二维图像骨干网络的 3D 空间感知能力。
SPA 的核心贡献在于提出了一个显著的空间假设:3D 空间感知对于具身表示学习至关重要。为了验证 SPA 的有效性,进行了迄今为止规模最大的具身表示学习评估,显著超越了以往的研究。评估涵盖了 268 个任务、8 个模拟器,以及超过 10 种 SOTA 表示学习方法。
给定一组多视图图像 ,其中每个图像 , 表示视图数量,我们使用一个二维图像骨干网络 (例如 ViT)对每张图像进行单独处理,生成潜在特征 。为了增强模型的鲁棒性,我们对输入图像随机掩码,但不使用 ViT 解码器或 MAE 重建目标。
对于每个特征 ,被掩盖的位置用掩码 token 填充,并将全局类标记与其他 patch 标记拼接,作为 read-out token(类似于 DPT [Ranftl et al., 2020])。随后,对这些标记进行反 patch 化,得到大小为 的潜在特征图,其中 是 ViT 的 patch 大小。最后,通过两个简单的上采样层将其转换为与输入分辨率匹配的特征图 。每个上采样层包括一个卷积层、一个 GELU 和一个像素重排层 [Shi et al., 2016],上采样因子为 。
为了实现多视图交互,从多视图特征图 构建一个三维特征体积。
具体来说,首先使用可用的深度数据、稀疏点或预定义规则估计场景的边界。然后,将场景划分为大小为 的体素网格,体素大小根据需要捕获的细节(如物体的精细结构或较大的环境)动态调整。体素特征 使用可学习的位置嵌入初始化。每个体素通过已知的变换矩阵 投影到多视图特征图上。随后,应用可变形注意力机制(Deformable Attention)[Zhu et al., 2021],其中多视图特征作为键和值,体素特征作为查询。最后,通过一个三维卷积层对输出体积特征进行精炼,得到最终的特征体积 。这一过程可表示为:
在构建特征体积后,采用可微分神经渲染 [Mildenhall et al., 2021] 将二维和三维域连接起来。为了更好地表示几何结构,使用隐式符号距离函数(Signed Distance Function, SDF)场建模(类似于 NeuS [Wang et al., 2021])。SDF 表示查询点到最近表面的三维距离,隐式捕获三维几何信息。
给定特征体积 ,通过一个 3D CNN 直接生成三个输出:一个 SDF 特征体积 、一个 spherical harmonic (SH) (Yu et al., 2021; Zhu et al., 2023a) coefficient field 和一个语义特征体积 。公式如下:
与之前的工作使用 MLP 对每个采样点单独计算属性不同,这里直接对 3D CNN。这种方法消除了逐点 MLP 计算的需求,减少了冗余处理,显著提高了时间和内存效率。