用于隐式表示3D场景的模型显示了作为计算机视觉工具的巨大前景。神经辐射场(NeRFs)和更一般的隐式神经表示可作为时空状态的可微分数据库。另外有项研究表明,网络规模的弱监督视觉语言模型可以捕获强大的语义抽象。
这已证明对一系列用例非常有用,包括对象理解。然而,相关应用受到以下事实的限制:经过训练的表示假定单个2D图像作为输入。如何最好地使用模型来实现视觉语言模型所提供的所有优点的3D推理一直是一个悬而未决的问题。
在名为中《CLIP-Fields: Weakly Supervised Semantic Fields for Robotic Memory》的论文中,纽约大学和Meta旗下FAIR Labs介绍了一种构建弱监督语义神经域的方法CLIP-Fields,它可以从很少或没有标记的数据中学习3D语义场景表示。需要注意的是,尽管所述方法主要描写应用于机器人,但相关的技术理论上可用于XR。
所述方法的关键思想是从空间中的位置建立映射g(x,y,z):R3→Rd,将其作为通用可微分空间数据库。数据库中增加了特定于“模态”的heads,其将g与现成的弱监管语言和视觉模型连接起来,并用于训练g和heads。
团队假设可以获得目标场景的深度图像,以及相应的6D camera姿态。根据它们,研究人员训练具有对比度损失的CLIPFields。从使用CLIPFields作为场景理解空间数据库的角度来看,训练g本身可以完全自监督。整个管道,包括训练底层图像模型,不需要使用任何明确监督。另一方面,正如实验所示,空间数据库g可以自然地包含场景特定标签(如果可用)。在每一种设置中,所述方法可以用很少,甚至零个人类标记的示例来编码场景特定的语义信息。
1. 数据集创建
假设可以访问场景的一系列RGB-D图像以及里程信息,即拍摄图像时的近似6D camera姿势。为了训练模型,团队首先通过使用摄像头内部和外部矩阵将每个深度图像转换为世界坐标中的点云,从而预处理这样的场景数据集。
接下来,用它们可能的表示来标记点云中的每个点。当没有人类注释可用时,研究人员在RGB图像使用经过网络图像训练的语义分割模型。他们选择Detic作为分割模型,因为它可以直接使用CLIP嵌入与开放标签集一起工作。然而,所述模型可以自由地替换为任何其他预训练检测或分割模型。
无论是什么情况,团队都会在图像中导出一组带有语言标签的检测对象,以及它们的标签掩码和潜在的置信度得分。研究人员使用点云将标签遮罩中包含的像素反向投影到世界坐标,并用相关的语言标签和标签置信度来标记世界上的每个反向投影点。另外,用CLIP嵌入的视图标记每个后投影点,以及camera与特定点中的点之间距离。请注意,每个点可以在不同训练图像的数据集中出现多次。因此,可以从收集的RGB-D帧和里程信息中获得了一个包含两组标签的数据集。
2. 模型架构
隐式场景模型可以分为两个部分:主干g:R3→ Rd,它将每个位置(x,y,z)映射到一个表示向量;以及单个heads,单个heads对应于目标,比如语言或视觉表示检索。
研究人员将g参数化为Multi-resolution Hash Encoding,d=144。 Multi-resolution Hash Encoding优于其他隐式字段表示,因为它们不仅可以保持局部和全局结构之间的灵活性,并且训练速度相对较快。目标特定heads是简单的两层MLP,具有ReLU非线性。
可选地,只要有合适的标签来训练它,就可以包括实例识别heads。
3. 目标
所述隐式场景模型可以同时训练多个目标。每个目标训练为隐式函数,从R3中的真实世界位置映射到目标空间。研究人员在训练模型时使用以下目标:
语义标签嵌入:这个函数将3D点的语义信息编码为n维表示向量。团队使用分配给每个点的自然语言标签来训练这一点。可以使用预先训练的语言模型将每个标签转换为语义向量。在实验,研究人员使用了SentenceBERT,得出n=768。
视觉情景嵌入:所述函数将每个点的语言对齐视觉情景编码为一个向量,类似于CLIP。他们将每个点的视觉情景定义为包含该点的每个RGB帧的CLIP嵌入的合成,并通过从camera到该帧中的点的距离进行加权。如果可以从给定的注释中这样做,则将图像嵌入限制为仅对关联对象的边界框中的内容进行编码。实验使用了CLIP ViT-B/32模型,并给出了512个维度的视觉特征。
诸如实例标识的辅助目标:可选heads将点表示投影到一个标识其实例的单热矢量。他们仅在有人类标记的实例标识数据的情况下使用所述投影head,投影维度是已标识实例的数量,加上一个用于未标识实例。
4. 实验
模型使用上述数据集进行训练。然后,他们在对比损失的同时训练投影仪。在这种损失下,每一个嵌入都推向更靠近正标签的位置,而远离负标签。对于标签嵌入head,正样本是与该点关联的标签的语义嵌入,而负样本是任何其他标签的语义嵌入式。对于视觉情景嵌入head,正样本是包含所考虑的点的所有图像或图像片段的嵌入,而负样本是不包含该点的图像的嵌入。与CLIP相似,较大的批次大小有助于减少对比损失函数的方差。
在实验中,CLIPFields可以允许从语义自然语言查询导航到环境中的不同点。团队观察到,如果网络图像模型在数据准备过程中正确识别了对象,当按字面意思查询时,即便查询中存在故意拼写错误,CLIPFields都可以轻松理解并导航到对象。但如果在数据准备过程中错误识别了对象,CLIPFelds将无法正确识别它。例如在上图的第二行第二列中,地板部分被图像模型标识为“桌子”。对于语义查询,CLIPFields有时会混淆两个相关概念;例如,它检索洗碗机中的“洗手地点”和“洗碗地点”。最后,视觉查询有时会将更高的权重放在语义匹配,而不是视觉匹配,例如检索“红色水果碗”,而不是场景中的红色碗。但如果查询“红色塑料碗”,它就会检索到正确的对象。
实验表明,CLIP Fields可以从很少或没有标记的数据中学习3D语义场景表示,依赖于弱监督的网络图像训练模型,并且可以使用模型来执行简单的“查看”任务。对于未来的研究,团队希望探索跨场景共享参数的模型,并能够处理动态场景和对象。