作者:Justin Kerr, Chung Min Kim 等 来源:ICCV 2023 论文题目:LERF: Language Embedded Radiance Fields 论文链接:https://arxiv.org/abs/2303.09553 内容整理:王秋文
目录
- 引言
- 方法
- LERF 体渲染
- 多尺度监督
- DINO 正则化
- 场的结构
- 查询 LERF
- 实验
引言
图1 语言嵌入的辐射场示意图
神经辐射场(NeRFs)已成为一种强大用于捕捉复杂现实世界 3D 场景的真实数字表征的技术。然而,NeRF 的即时输出只是一个有颜色的密度场,没有实际意义或上下文信息,这阻碍了构建与所生成的 3D 场景进行交互的接口。自然语言是用于与 3D 场景交互的直观接口。以图 1 中的厨房为例,想象一下,通过询问“餐具”在哪里,或者更具体地说,询问你可以用来“搅拌”的工具,甚至询问你最喜欢的带有特定标志的马克杯,你就可以对这个厨房了如指掌。这不仅需要处理自然语言输入查询的能力,还需要具有在多个尺度上整合语义,并与长尾和抽象概念相关的能力。
在这篇工作中,作者提出了语言嵌入的辐射场 LERF,一种新的通过优化从类似 CLIP 这样的已有的视觉-语言模型得到的信息嵌入到 3D 场景中的方法。作者通过与 NeRF 联合优化了一个语言场来构建 LERF,这一语言场以位置和物理尺度为输入,并输出单个 CLIP 向量。在训练过程中,使用多尺度特征金字塔来监督语言场,该金字塔包含从训练视图的不同切片生成的 CLIP 嵌入信息。这允许 CLIP 编码器捕捉不同尺度的图像上下文信息,从而将相同的 3D 位置与不同尺度的不同语言嵌入相关联(例如,“餐具”与“木勺”)。在测试期间,可以以任意比例查询语言场,以获得 3D 的相关性图。为了规范所优化的语言场,自监督的 DINO 特征也通过一个共享的网络被合并。除此外,LERF还可以提供另一个优点,由于本文是在多个视角的多个尺度下提取 CLIP 嵌入的,文本索引通过 3D CLIP 嵌入获得的相关性图相比于通过 2D CLIP 嵌入的方法更为局部,具有三维一致性,同时可以直接在 3D 字段中进行查询,而不需要渲染出多个视角。
方法
给定一组经过标定的输入图像,本文的方法可以将 CLIP 向量嵌入到 NeRF 的 3D 场中。然而,查询单个 3D 点的 CLIP 嵌入是模糊的,因为 CLIP 本质上是全局图像嵌入,不利于像素对齐的特征提取。为了获得这一性质,坐着提出了一种新颖的方法,学习以样本点为中心的体积的语言嵌入场。具体而言,该语言场的输出是包含指定体的图像切片的所有训练视图中的平均嵌入向量。通过将查询从点转换为体,本文的算法可以从输入图像的粗切片中监督一个密集的场,从而可以通过在给定体积尺度的情况下以像素对齐的方式渲染出相关性图像。
图2 LERF的模型结构示意图
LERF 体渲染
NeRF 以位置
和视角方向
作为输入,输入颜色
和密度
.这些值可以用于沿着某一光线组合渲染像素的颜色。为了创建 LERF,作者将 NeRF 的输出增加了一个语言嵌入
,将位置
和物理尺度
作为输入,输出一个
维的语言嵌入。这一预言嵌入输出是视角无关的,因为一个位置的语义信息应当与观看视角无关。这允许多个视角对同一个场输入做出贡献,并对它们的嵌入进行平均。尺度
表示中心点在
处的立方体的边的长度,并使用与 Mip-NeRF 类似的方法通过位置编码整合不同的尺度。
LERF 渲染得到的颜色和体密度与 NeRF 相同。为了将语言嵌入渲染为一张图像,将语言嵌入同样沿着光线进行累计。然而由于 LERF 是在体而不是点上的场,必须为每一个沿着光线上的位置定义一个尺度参数。作者固定了图像平面的初始尺度
,并定义了
能够跟随焦距长度以及距离光线原点的距离通过一定比例进行增加:
。在几何上,这代表一个沿射线的截头体。作者像 NeRF 一样计算渲染的权重:
然后整合 LERF 场得到原始语言输出:
并像 CLIP 一样将每个嵌入向量归一化到单位球面:
由于光线上非零权重样本的向量往往较为接近,因此使用欧几里得空间加权即可(不必要使用球面插值)。
多尺度监督
为了监督语言场的输出
,由于仅仅可以在图像 patch 上查询语言的嵌入向量,而不能获得像素对齐的值。因此,为了监督多尺度的 LERF,作者对每个渲染的视锥使用视锥起始点为中心像素光线的图像裁剪进行监督。事实上,每个图像的金字塔都对多个裁剪尺度进行了预先的计算和存储,从而节省训练优化时的开销。
在训练过程中,作者随机在训练视角中采样光线的相机位置,并均匀采样尺度
。因为这些样本可能不都正好在与计算的图像金字塔中,因此在尺度的上下两层分别找最接近的4个裁剪块进行线性插值,从而得到 GT 嵌入向量
。将渲染得到的向量与 GT 向量通过损失函数使得两者间的余弦相似度最大。
DINO 正则化
直接按照上述的方法实现 LERF 会产生一致的结果,但是得到的相关性图有时会是零散的,并且在视野较少的地方会产生异常的结果。为了减轻这种情况,作者还训练了一个场
,它在每个点输出一个 DINO 特征。尽管在没有标签的情况下进行了训练,但 DINO 已被证明表现出明显的对象分解特性,此外,它还很好地分解到 3D 场中,这使它能够参与在 3D 中对语言进行分组,而不依赖于标记的数据或赋予过于严格的先验。因为 DINO 输出像素对齐的特征,所以
不以尺度为输入,而是直接用它对应的 DINO 特征来监督每条射线。我们渲染
与
相同,只是没有归一化为单位球体,并用 MSE 损失来监督它。DINO 在推理过程中被显示使用,并且仅在训练过程中充当外正则化子,因为 CLIP 和 DINO 输出头共享一个架构主干。
场的结构
直观地说,优化嵌入在3D中的语言不应该影响场景表征中的密度分布。作者通过训练两个独立的网络来捕捉 LERF 中的这种感应偏差:一个用于特征向量(DINO、CLIP),另一个用于标准NeRF输出(颜色、密度)。
和
的梯度不会影响 NeRF 原本的输出。
查询 LERF
通常,像 CLIP 这样的语言模型是在 zero-shot 的分类上评估的,其中一个类别是从保证包括正确类别的列表中选择的。然而,在未知场景下 LERF 的实际使用中,并没有可用的类别列表。作者认为自然语言的开放性和模糊性是一个好处,并提出了一种在给定任意文本查询的情况下从 LERF 查询三维关联图的方法。查询 LERF 有两个部分:1)获得渲染得到的嵌入的相关性分数;2)在提示下自动选择尺度
。
相关性分数:为了给每个渲染的语言嵌入
分配一个分数,作者计算文本查询
的 CLIP 嵌入,以及一组规范的短语
。作者计算渲染得到的嵌入向量和规范短语嵌入之间的余弦相似性,然后计算渲染嵌入文本提示之间的成对 softmax。相关度得分为
。直观地说,这个分数代表了渲染嵌入向量与规范嵌入向量相比更接近查询嵌入向量的程度。所有渲染都使用相同的规范短语:“object”、“things”、“stuff”和“texture”。作者选择这些词作为用户可能进行的查询的定性“平均”词,并发现它们对从特定的视觉或抽象的查询都具有惊人的鲁棒性。
尺度选择:对于每个查询,作者计算一个尺度
来评估
。为了实现这一点,作者在生成了尺度从 0 到 2 米范围内的相关性图,增量为30,并选择产生最高相关性得分的尺度。这一尺度用于输出相关性图中的所有像素。这种启发式方法在广泛的查询中是稳健的,并用于本文中渲染的所有图像和视频。
可见性过滤:场景中缺少充足视角的区域可能产生有噪声的嵌入向量。为了解决这一问题,在查询的过程中作者将忽略观察视角少于五个的区域。
实验
由于已有的真实场景数据集包含的物体较少,因此作者使用 iPhone 手机收集了 13 个场景。对于定性的测试结果,作者通过将每个查询的从 50%(表示没有规范短语相关度高)到最大相关性进行归一化来可视化相关性得分。作者选择了 5 个代表性场景来展示 LERF 处理自然语言的能力,如图 3 所示。图 4 显示了与 LSeg 的比较结果。
图3 LERF除了自然语言查询的相关度示意图
图4 LERF与LSeg视觉比较图
根据结果可以看出,LERF 可以捕捉场景不同程度的细节特征,既支持“yellow”这种比较抽象的特征,同时也能够捕捉到具体的书的名字以及电视节目这样的特征。同时,一个物体可以包含在很多种合理的查询范围内。除此外,作者还对 LERF 能否检测场景中是否包含某个对象进行了探究,并与 LSeg 进行了比较,得到的结果如图 5 所示,就可以说明 LERF 对于不同分布的数据都含有较强的语言表示能力。
图5 对三维场景存在性判断任务的精确率召回曲线
同时,作者对于模型的定位能力进行了探究,得到的定性以及定量比较结果分别如图 6 和图 7 所示。
图6 模型定位能力的定性比较结果
图7 模型定位能力的定量比较结果
图8 消融实验结果
最后,对于模型中引入的 DINO 特征以及多尺度训练的设计,作者进行了消融实验。其中,去掉 DINO 特征会导致相关性图的平滑度和边界产生明显的恶化,特别是在视图较少或前景和背景之间几何分离较少的区域,如图 8 所示。而如果仅使用单尺度进行训练,则会导致模型在很自然语言输入的情况下失败。