前言
本文仅仅是本人在英语水平不够的情况下对原论文的翻译,如果有错烦请指正。
另,本文只翻译了前四章,最后的实验与结果没有翻译。
原始论文地址参见:https://arxiv.org/abs/2307.12981
下面开始正式翻译:
翻译
摘要
大规模语言模型(LLM)和视觉语言模型(VLM)在多个任务上被证明效果显著,如常识推理。但是,这些模型并没有建立在真实的3D物理世界上,后者涉及更为丰富的概念,如空间关系、语用性、物理学、布局等。在这项工作中,我们提出将3D世界注入大规模语言模型,并引入一整套新的3D-LLM。具体来说,3D-LLM可以接受3D点云及其特征作为输入,并执行各种3D相关任务,包括字幕、密集字幕、3D问答、任务分解、3D定位、3D辅助对话、导航等。通过设计三种提示机制,我们能够收集超过30万条涵盖这些任务的3D语言数据。为了有效训练3D-LLM,我们首先利用从渲染的多视图图像中提取3D特征的提取器。然后,我们利用2D预训练的VLM作为我们的骨干网络来训练我们的3D-LLM。通过引入3D定位机制,3D-LLM可以更好地获取3D空间信息。在ScanQA数据集上的实验表明,我们的模型大大超过了目前最先进的基准模型(例如,BLEU-1分数超过最先进的分数9%)。此外,在我们的自建数据集上进行的3D字幕、任务组合和3D辅助对话方面的实验表明,我们的模型也优于2D VLM。定性例子还显示我们的模型能够处理VLM和LLM目前无法处理的更广泛的任务。项目地址: https://vis-www.cs.umass.edu/3dllm/。
1 引言
在过去的几年中,我们见证了大规模语言模型(LLM)(例如GPT4 [33])的蓬勃发展,这些模型在多个任务上表现出色,如交流和常识推理。最近的工作探索了将图像和视频与LLM对齐以获得新一代的多模态LLM(例如Flamingo [14]),这些模型赋予了LLM理解和推理2D图像的能力。然而,强大如这些模型在交流和推理方面,它们并没有建立在真实的3D物理世界上,后者涉及更为丰富的概念,如空间关系、语用性、物理学和交互等。因此,这样的LLM与科幻电影中描绘的机器人相比明显逊色——那些能够理解3D环境并基于3D理解进行推理和规划的助手。
为此,我们提出将3D世界注入大语言模型,并引入一整套新的基于3D的大语言模型(3D-LLM),这些模型可以采用3D表示(即带有特征的3D点云)作为输入,并执行一系列3D相关任务。通过采用场景的3D表示作为输入,LLM获得了两方面的优势:(1)长期记忆可以存储在整体3D表示中,而不是片段观测的episodic部分视图中。 (2) 3D属性如语用性和空间关系可以从3D表示中推理出来,远远超出基于语言或基于2D图像的LLM的范围。
训练拟议的3D-LLM的一个主要挑战在于数据获取。与互联网上大量的图像文本对数据相比,3D数据的稀缺阻碍了3D基础模型的发展。成对的3D数据及其语言描述更难以获得。为解决这个问题,我们提出了一组独特的数据生成流水线,可以生成大规模的3D数据与语言成对。具体来说,我们利用ChatGPT [33]并设计了三种高效的提示过程,以实现3D数据与语言之间的交流。通过这种方式,我们能够获得涵盖多种任务的30万条3D语言数据,包括但不限于3D字幕、密集字幕、3D问答、3D任务分解、3D定位、3D辅助对话、导航等,如图1所示。
训练3D-LLM的下一个挑战在于如何获得与语言特征对齐的有意义3D特征。一种方法是使用类似CLIP [37]的对比学习范式从头开始训练3D编码器。但是,这种范式消耗了大量的数据、时间和GPU资源。从另一个角度来看,最近有许多工作通过构建2D多视图图像的3D特征来建立3D特征(例如concept fusion [26], 3D-CLR [20])。受此启发,我们也利用一个3D特征提取器,它从渲染的多视图图像中构建3D特征。最近,也有许多视觉语言模型(例如BLIP-2 [30], Flamingo [14])利用2D预训练的CLIP特征来训练他们的VLM。由于我们提取的3D特征映射到与2D预训练特征相同的特征空间,我们可以无缝地使用2D VLM作为我们的骨干网络,输入3D特征以高效训练3D-LLM。
与普通LLM和2D VLM不同,3D-LLM预期具有基本的3D空间感知信息。因此,我们开发了一个3D定位机制,以弥补语言和空间位置之间的差距。具体来说,我们在提取的3D特征中附加3D位置嵌入,以更好地编码空间信息。此外,我们在3D-LLM中添加一系列位置标记,通过输出给定场景中特定对象的语言描述的位置标记来训练定位。通过这种方式,3D-LLM可以更好地获取3D空间信息。
总之,我们的论文做出了以下贡献:
- 我们引入了一种新的基于3D的大语言模型家族(3D-LLM),可以接受带有特征的3D点作为输入和语言提示,并执行各种3D相关任务。我们关注超出普通LLM或2D-LLM范围的任务,如与整体场景理解、3D空间关系、语用性和3D规划有关的任务。
- 我们设计了创新的数据收集流水线,可以生成大规模的3D语言数据。在这些流水线的基础上,我们收集了一个数据集,其中包含超过30万条涵盖多种3D相关任务的3D语言数据,包括但不限于3D字幕、密集字幕、3D问答、任务分解、3D定位、3D辅助对话、导航等。
- 我们使用从渲染的多视图图像中提取有意义3D特征的3D特征提取器。我们利用2D预训练的VLM作为我们的骨干网络进行高效训练。我们引入了一个3D定位机制来训练3D-LLM,以更好地获取3D空间信息。
- 在保留的评估数据集ScanQA上的实验优于目前最先进的基准模型。特别是,3D LLM在ScanQA上明显优于基准模型(例如BLEU-1优于9%)。在我们的自建数据集上进行的3D字幕、任务组合和3D辅助对话方面的实验表明,我们的模型也优于2D VLM。定性研究进一步证明我们的模型能够处理比现有LLM和VLM更广泛的任务。
- 我们计划发布我们的3D-LLM、3D语言数据集以及数据集的语言对齐3D特征供未来研究开发。
2 相关工作
大语言模型。
我们的工作与大语言模型如GPT-3 和PaLM 紧密相关,这些模型能够用单一模型处理不同的语言任务,并展示了强大的泛化能力。这些模型通常在大规模文本数据上进行自监督训练,训练目标如预测下一个token或重建masked token。为了更好地使这些LLM的预测与人类指示对齐,改进模型在未见任务上的泛化能力,提出了一系列指令微调方法和数据集。在本文中,我们旨在将3D世界注入大语言模型,理解丰富的3D概念,如空间关系、语用性和物理学。
视觉语言预训练模型。
我们的工作也与将图像和自然语言连接的视觉语言预训练模型有关。一些研究从零开始训练模型,使用了大量的图像语言对,并将它们应用于像视觉问答,字幕和指代表达理解等下游任务的微调。其他研究人员通过额外的可学习神经模块(如perceiver 和QFormers)将预训练的视觉模型和预训练的LLM连接起来,利用预训练视觉模型中的感知能力,以及LLM中的推理和泛化能力。受这些以前的工作的启发,我们计划构建一个AI助手,它可以理解3D世界并根据3D理解进行相应的3D推理和规划。这并非易事,我们需要克服数据稀疏性问题,如何将3D世界与2D图像对齐以及如何捕捉3D空间信息等障碍。
3D和语言。
另一条与我们相关的研究线是3D和语言。ScanQA 要求模型回答与3D世界相关的问题; ScanRefer 要求模型定位文本表达式参考的区域; 3D字幕测试模型描述3D场景的能力。然而,这些3D任务及其相应的模型通常是特定任务的,并且只能处理与训练集相同分布的情况,没有泛化能力。与他们不同,我们的目标是构建一个3D模型,可以同时处理不同的任务,并启用新的能力,如3D助手对话和任务分解。
3 3D语言数据生成
随着互联网上易于访问的大量多模态数据的激增,社区已经见证了多模态数据的激增。但是,当涉及到3D相关数据时,获得多模态资源并不容易,不仅因为3D数据集的稀缺,还因为为3D数据集提供语言数据的困难。存在一些包含3D语言数据的现有数据集(例如ScanQA ,ScanRefer)。但是,这些数据集无论是数量还是多样性都很有限,仅限于每个数据集一个任务。如何生成一个可以用于各种3D相关任务的3D语言数据集值得深入探究。
受最近大语言模型的成功启发,比如GPT 。我们提出利用这种模型来收集3D语言数据。具体来说,如图7所示,我们有三种提示纯文本GPT生成数据的方法。
- 框演示说明提示。我们输入3D场景中房间和对象的轴对齐包围盒(AABB),提供场景中语义和空间位置的信息。然后,我们向GPT模型提供特定指示,以生成各种数据。我们提供0-3个GPT模型的演示示例,展示它被指示生成什么样的数据。
- 基于ChatCaptioner的提示。我们使用类似于[52]的技术,在其中,ChatGPT被提示问一系列关于图像的信息性问题,BLIP-2回答这些问题。为了收集3D相关数据,我们将不同视角的图像输入到BLIP-2,并指示ChatGPT询问不同区域的问题并形成整个场景的全局3D描述。
- 基于修订的提示。它可以用于将一种3D数据转换为另一种。
给定提示流水线,GPT能够生成图1总结的各种类型的3D语言数据。我们在附录中详细展示了生成所有类型数据的提示。
我们主要在几个3D数据集上建立我们的3D语言数据集:
- Objaverse是一个包含80万个3D对象的宇宙。但是,由于语言描述是从在线源提取的,没有经过人类检查,大多数对象具有非常嘈杂的描述(例如带有url)或没有描述。我们利用基于ChatCaptioner的提示为场景生成高质量的3D相关描述。
- Scannet [11]是一个约有1k个3D室内场景的丰富注释数据集。它提供场景中对象的语义和边界框。
- Habitat-Matterport (HM3D) [41]是具身AI的3D环境数据集。HM3DSem [47]进一步为HM3D的200多个场景添加了语义注释和边界框。
4 3D-LLM
4.1 概述
在这一节中,我们介绍我们如何训练我们的3D-LLM。我们认为从零开始训练3D-LLM是困难的,因为我们收集的3D语言数据集还没有达到训练2D VLM所用的十亿级图像语言数据集的规模。此外,对于3D场景,没有像2D图像那样可用的预训练编码器(例如CLIP ViT编码器)。因此,从零开始重新训练3D语言模型在数据效率和资源方面都很低效。最近,研究人员提出从2D多视图图像中提取3D特征[26,20]。使用这些对齐方法,我们可以使用预训练的图像编码器提取图像特征,然后将特征映射到3D数据上。由于预训练的图像特征用作2D VLM的输入,映射到同一特征空间的3D特征也可以无缝地输入预训练的2D VLM,我们将其用作骨干网络来训练3D-LLM。我们还提出了一个3D定位机制来增强模型获取3D空间信息的能力。图3显示了我们的框架。
4.2 3D特征提取器
训练3D-LLM的第一步是构建与语言特征对齐的有意义3D特征。对于2D图像,存在诸如CLIP等特征提取器,这些提取器从语言监督中学习视觉模型。这些模型使用十亿级的图像语言互联网数据进行预训练。从零开始预训练这样的特征学习者是困难的,因为没有与互联网规模的图像语言对相当的3D语言资产可以利用,无论是在数量还是多样性方面。
与此同时,许多方法已经提出从2D多视图图像中提取3D特征[26,20,16,23]。受这些工作的启发,我们通过从几个不同视角渲染3D场景来提取3D点的特征,并从渲染的图像特征构建3D特征。
我们首先使用从渲染的图像中提取像素对齐的密集特征的方法。然后,我们利用三种方法从渲染的图像特征构建3D特征。这些方法是为不同类型的3D数据设计的。
- 直接重建。我们直接从使用真实相机矩阵渲染的3D数据的RGBD图像中重建点云。特征直接映射到重建的3D点上。这种方法适用于渲染的RGBD数据,其中相机姿态和内参完美。
- 特征融合。类似于[26],我们使用gradslam [28]将2D特征融合到3D图中。与密集映射方法不同,特征与深度和颜色一起融合。这种方法适用于具有嘈杂深度映射渲染或嘈杂相机姿态和内参的3D数据。
- 神经场。我们利用[20],它使用神经体素场[43]构建紧凑的3D表示。具体来说,字段中的每个体素除了密度和颜色之外还有一个特征。然后,我们使用MSE损失对齐射线中的3D特征和像素中的2D特征。这种方法适用于具有RGB渲染但没有深度数据以及嘈杂相机姿态和内参的3D数据。
通过这种方式,我们能够获得每个3D场景的-维3D特征,其中
是点云中的点数,
是特征维数。
4.3 训练3D-LLM
4.3.1 2D VLM作为骨干网络
除了特征提取器之外,从零开始训练3D-LLM也非常困难。事实上,根据[30,14](这是两篇论文,Flamingo和Blip2,作者注),2D VLM的训练只有在消耗了5亿张图像后才开始显现“生命迹象”。它们通常使用冻结的预训练图像编码器(如CLIP)来提取2D图像的特征。考虑到使用3D特征提取器,3D特征可以映射到与2D图像相同的特征空间,使用这些2D VLM作为我们的骨干网络是合理的。
Perceiver体系结构由[25](论文Perceiver: General perception with iterative attention. 作者注)提出,它利用非对称注意力机制迭代地将输入压缩到一个紧凑的潜在瓶颈中,允许它处理任意大小的输入,因此可以处理不同的模式,因此可以处理不同的模式。 Flamingo [14]等VLM利用了这个体系结构。 BLIP-2 [30]也使用了一个类似的结构,称为QFormer。来自冻结的图像编码器的2D图像特征被展平并发送到perceiver,以生成固定大小的输入。
鉴于我们的3D特征由3D特征提取器构建在与2D特征相同的特征空间中,并且perceiver能够处理相同特征维数的任意大小的输入,点云特征也可以馈送到perceiver中。因此,我们使用3D特征提取器提取与冻结的图像编码器特征相同特征空间中的3D特征。然后,我们使用预训练的2D VLM作为我们的骨干网络,输入对齐的3D特征,使用我们收集的3D语言数据集训练3D-LLM。
4.3.2 3D定位机制
除了构建与语言语义对齐的3D特征之外,捕捉3D空间信息也是必不可少的。为此,我们提出了一个3D定位机制,以增强3D LLM吸收空间信息的能力。它由两部分组成:
使用位置嵌入增强3D特征
除了从2D多视图特征聚合的3D特征之外,我们还向特征添加位置嵌入。假设特征维数为。我们为三个维度中的每个生成sin/cos位置嵌入,每个嵌入大小为
/3。我们连接三个维度的嵌入,并将它们与3D特征连接。
使用位置标记增强LLM词汇
为了将3D空间位置与LLM对齐,我们提出在词汇中嵌入3D位置,遵循[6]和[45] (论文Pix2seq,Unifying architectures, tasks, and modalities through a simple sequence-to-sequence learning framework. 作者注)。具体来说,要定位的区域可以表示为表示包围盒的离散token序列,格式为AABB。将包围盒的连续角点坐标统一量化为位置token中的体素整数。在添加这些额外的位置token之后,我们解冻语言模型输入和输出嵌入中的这些token的权重。