论文标题:3D-LLM: Injecting the 3D World into Large Language Models
论文作者:Yining Hong, Haoyu Zhen, Peihao Chen, Shuhong Zheng, Yilun Du, Zhenfang Chen, Chuang Gan
作者单位:University of California, Los Angeles, Shanghai Jiao Tong University, South China University of Technology, University of Illinois Urbana-Champaign, Massachusetts Institute of Technology, UMass Amherst and MIT-IBM Watson AI Lab
论文原文:https://arxiv.org/abs/2307.12981
论文出处:NeurIPS2023
论文被引:28(01/05/2024)
项目主页:https://vis-www.cs.umass.edu/3dllm/
论文代码:https://github.com/UMass-Foundation-Model/3D-LLM,591 star
大型语言模型(LLM)和视觉语言模型(VLM)已被证明在常识推理等多项任务中表现出色。这些模型虽然功能强大,但它们并不基于3D物理世界,而3D物理世界涉及更丰富的概念,如空间关系,affordances,物理,布局等。在这项工作中,我们建议将3D世界注入大型语言模型,并引入全新的 3D-LLMs 系列。具体来说,3D-LLMs 可以将3D点云及其特征作为输入,并执行各种与3D相关的任务,包括图像描述,密集图像描述,3D问题解答,任务分解,3D grounding,3D辅助对话,导航等。利用我们设计的三种提示(Prompt)机制,我们能够收集到涵盖这些任务的 30 多万条 3D 语言数据。为了有效地训练 3D-LLMs,我们首先利用 3D 特征提取器从渲染的多视图(Multi-view)图像中获取 3D 特征。然后,我们使用2D VLM 作为骨干来训练3D LLM。通过引入3D定位(localization)机制,3D-LLM 可以更好地捕捉3D空间信息。在 ScanQA 上的实验表明,我们的模型在很大程度上优于最先进的基线模型(例如,BLEU-1 分数比最先进的分数高出 9%)。此外,在3D图像描述,任务组合和3D辅助对话的held-in datasets上进行的实验表明,我们的模型优于2D VLM。定性实例还表明,我们的模型可以执行现有 LLM 和 VLM 范围之外的更多任务。
在过去几年中,我们见证了大型语言模型(LLMs)(如 GPT4 [33])的蓬勃发展,这些模型擅长多种任务,如交流和常识推理。最近的一些研究探索了将图像和视频与 LLM 对齐,以开发新一代多模态 LLM(如 Flamingo [14],BLIP-2 [30]),使 LLM 具备理解和推理2D图像的能力。然而,尽管这些模型在交流和推理方面功能强大,但它们并不基于真实的3D物理世界,而真实的3D物理世界涉及更丰富的概念,如空间关系,affordances,物理和交互等。因此,与科幻电影中描绘的机器人能够理解3D环境并根据3D理解进行推理和规划的助手相比,这种 LLM 显得苍白无力。
为此,我们建议将3D世界注入大型语言模型,并引入一个全新的3D LLM 系列,将3D表征(即3D点云及其特征)作为输入,执行一系列与3D相关的任务。将场景的3D表征作为输入,LLMs 具有两方面的优势:
训练 3D-LLMs 的一大挑战在于数据采集。与互联网上大量成对的2D图像和文本数据不同,3D数据的稀缺阻碍了基于3D的地基模型的开发。与语言描述配对的3D数据更是难以获得。为了解决这个问题,我们提出了一套独特的数据生成管道,可以生成与语言配对的大规模3D数据。具体来说,我们利用 ChatGPT [33],为3D数据和语言之间的交流设计了三种高效的提示程序。这样,我们就能获得 30 万个3D语言数据,这些数据涵盖了多种任务,包括但不限于3D图像描述,密集图像描述,3D问题解答,3D任务分解,3D grounding,3D辅助对话,导航等,如图 1 所示。
下一个挑战在于如何获得有意义的3D特征,使之与3D LLM 的语言特征对齐。
3D-LLM 有别于 vanilla LLM 和 2D VLM 的一个重要方面是,3D-LLM 应具有潜在的 3D 空间信息感。因此,我们开发了一种3D定位机制,在语言和空间位置之间架起了一座桥梁。具体来说,我们将3D位置嵌入添加到提取的3D特征中,以更好地编码空间信息。此外,我们还在 3D-LLM 中添加了一系列位置标记,通过输出对场景中特定物体的语言描述所给出的位置标记来训练定位。这样,3D-LLMs 就能更好地捕捉 3D 空间信息。
总之,我们的论文有以下贡献:
我们的工作与 GPT-3 [4] 和 PaLM [9] 等大型语言模型 [4, 13, 38, 9, 34](LLMs)密切相关,这些模型能够用单一模型处理不同的语言任务,并显示出很强的泛化能力。这些模型通常在海量文本数据上进行训练,训练目标为自我监督,如预测下一个标记[4, 38]或重建掩码标记[13, 39]。为了更好地将这些 LLM 的预测与人类指令相匹配,提高模型对未知任务的泛化能力,人们提出了一系列指令微调方法 [35, 44] 和数据集 [10, 12]。在这项工作中,我们的目标是为大型语言模型注入3D世界,理解丰富的3D概念,如空间关系,affordances和物理。
我们的工作还与连接图像和自然语言的视觉语言预训练模型有关 [31, 32, 17, 37, 27]。一些研究[37, 27]从头开始学习使用大量图像-语言对训练模型,并将其应用于下游任务,如视觉问答[18, 51],图像描述[7]和指代表达理解[50],并进行微调。其他研究人员则将预训练视觉模型和预训练 LLM 与额外的可学习神经模块(如 perceiver [2] 和 QFormers [31])连接起来,充分利用了预训练视觉模型的感知能力和 LLM 的推理与泛化能力。受这些前人工作的启发,我们计划建立一个能够理解3D世界并执行相应3D推理和规划的人工智能助手。这并非易事,我们需要克服各种障碍,例如如何处理数据稀疏问题,如何将3D世界与2D图像对齐以及如何捕捉3D空间信息。
另一个与我们类似的研究方向是3D与语言[5, 49, 8, 20, 1, 15, 24, 49, 3, 21, 19]。
然而,这些3D任务及其相应的模型通常都是针对特定任务的,只能处理训练集相同分布范围内的情况,而不能泛化。与之不同的是,我们的目标是建立一个可以同时处理不同任务的3D模型,并实现3D助手对话和任务分解等新能力。
由于可以在互联网上轻松获取大量的2D图像和文本对,社会各界见证了多模态数据的激增。然而,当涉及3D相关数据时,获取多模态资源并不容易,这不仅是因为3D资产稀缺,还因为为3D资产提供语言数据存在困难。现有的一些数据集包含3D语言数据(如 ScanQA [49] 和 ScanRefer [5])。但是,这些数据集在数量和多样性方面都很有限,而且每个数据集仅限于一项任务。如何生成一个可用于各种3D相关任务的3D语言数据集非常值得深入研究。
受 GPT 等大型语言模型最近取得成功的启发[33],我们建议利用此类模型进行 3D-language 数据收集。具体来说,如图 2 所示,我们有三种方法来提示纯文本 GPT 生成数据。
如图 1 所示,GPT 能够生成各种类型的 3D 语言数据。我们在附录中展示了生成所有类型数据的详细提示。
我们的3D语言数据集主要建立在一些3D资产之上:
本节将介绍我们是如何训练 3D-LLM 的。我们认为,从零开始训练 3D-LLMs 是很困难的,因为我们收集的 3D 语言数据集还没有用于训练 2D VLMs 的十亿规模图像语言数据集的规模大。此外,对于3D场景,还没有像2D图像那样的预训练编码器(如 CLIP ViT 编码器)。因此,从头开始重新训练3D语言模型既缺乏数据效率,又占用大量资源。最近,研究人员提出了从2D多视角图像中提取3D特征的方法 [26, 20]。利用这些对齐方法,我们可以使用预先训练好的图像编码器来提取图像特征,然后将这些特征映射到3D数据。由于预训练的图像特征是2D VLM 的输入,因此同一特征空间的映射3D特征也可以无缝地输入到预训练的2D VLM 中,我们将其作为训练 3D-LLM 的骨干。我们还提出了一种3D定位机制,以提高模型捕捉3D空间信息的能力。图 3 显示了我们的框架。
训练 3D-LLM 的第一步是建立有意义的 3D 特征,这些特征可以与语言特征相匹配。对于2D图像,已有像 CLIP 这样的特征提取器,可以从语言监督中学习视觉模型。这些模型使用十亿规模的互联网图像语言对数据进行预训练。很难从头开始预训练这种特征学习器,因为在数量和多样性方面,没有可与互联网规模的图像语言对相媲美的3D语言资产。
相反,从2D多视角图像中提取3D特征的方法层出不穷[26, 20, 16, 23]。受这些工作的启发,我们通过渲染多个不同视角的3D场景来提取3D点的特征,并从渲染的图像特征中构建3D特征。
我们首先按照[26]的方法提取渲染图像的像素对齐密集特征。然后,我们利用三种方法从渲染图像特征中构建3D特征。这些方法针对不同类型的3D数据而设计。
这样,我们就能获得每个3D场景的 < N, Dv >-dim 的3D特征,其中 N 是点云中的点数,Dv 是特征维数。
除了特征提取器之外,从头开始训练 3D-LLM 也并非易事。事实上,根据 [30, 14] 的研究,2D VLM 的训练只有在消耗了 5 亿张图像后才开始显示出 “signs of life”。他们通常使用冻结和预训练的图像编码器(如 CLIP)来提取2D图像的特征。考虑到使用3D特征提取器可以将3D特征映射到与2D图像相同的特征空间,因此使用这些2D VLM 作为我们的骨干是合理的。
[25]提出的 perceiver 架构利用非对称注意力机制,将输入信息迭代提炼成一个紧密的潜在瓶颈,使其能够处理任意大小的超大输入信息,从而可以处理不同的模态。Flamingo [14] 等 VLM 就采用了这种架构。BLIP-2 [30] 也采用了名为 QFormer 的类似结构。冻结图像编码器输出的2D图像特征会被扁平化并发送给perceiver,以生成固定大小的输入。鉴于我们的3D特征与3D特征提取器提取的2D特征处于相同的特征空间,而且perceiver能够处理相同特征维度的任意输入大小,因此任意大小的点云特征也可以输入到perceiver中。因此,我们使用3D特征提取器在与冻结图像编码器特征相同的特征空间中提取3D特征。然后,我们使用预训练的2D VLM 作为骨干,输入对齐的3D特征,利用收集到的3D语言数据集训练3D LLM。
除了建立与语言语义相匹配的3D特征外,捕捉3D空间信息也至关重要。为此,我们提出了一种3D定位机制,以提高3D LLMs 吸收空间信息的能力。该机制由两部分组成:
Augmenting 3D features with position embeddings
除了由2D多视角特征聚合而成的3D特征外,我们还为特征添加了位置嵌入。假设特征维数为 Dv。我们生成三个维度的 sin/cos 位置嵌入,每个嵌入的大小为 Dv /3。我们串联所有三个维度的嵌入,并将其串联到3D特征中。
Augmenting LLM vocabularies with location tokens
为了使3D空间位置与 LLM 保持一致,我们建议按照 [6] 和 [45] 的方法将3D位置嵌入词汇表中。具体地说,要grounding的区域可以表示为一串离散的标记,以 AABB 的形式表示边界框。边界框的连续角坐标被统一离散为体素整数,作为位置标记?xmin, ymin, zmin, xmax, ymax, zmax?。添加这些额外的位置标记后,我们会在语言模型的输入和输出嵌入中解冻这些标记的权重。
我们首先介绍了架构,训练和评估协议。在第 5.1 节中,我们分析了在 ScanQA 数据集上进行的保持实验。第 5.2 节将对保持评估和定性示例进行更多分析。由于篇幅限制,我们将以下内容放入附录:
我们在三个骨干 2D VLM 上进行了 3D-LLM 实验:
对于 BLIP-2,在预训练 3D-LLM 时,我们从 LAVIS 库[29] 中发布的 BLIP-2 检查点初始化模型,并对 QFormer 的参数进行微调。3D特征为 1408 维特征,与 BLIP-2 使用的 EVA_CLIP 隐藏特征维数相同。我们冻结了 LLM(即 Opt 和 FlanT5)的大部分内容,但输入和输出嵌入中新添加的位置标记的权重除外。对于 Flamingo,我们从 OpenFlamingo 存储库[2]中发布的 Flamingo9B 检查点初始化模型。我们对perceiver,门控交叉注意层的参数,以及输入和输出嵌入式中附加位置标记的权重进行了微调。3D特征为 1024 维特征,与 Flamingo 使用的 CLIP 隐藏特征维数相同。
我们将数据集分为两种类型,一种是held-in datasets,另一种是held-out datasets。具体来说,我们的3D语言数据生成管道会生成多个任务的held-in datasets。我们将数据集分为训练集/验证集/测试集=8:1:1。我们利用held-in datasets的训练集对基础 3D-LLM 进行预训练,并将其验证集和测试集用于held-in评估。在预训练过程中,我们混合了所有任务的held-in datasets。模型的训练采用标准语言建模损失来输出响应。另一方面,在训练基础 3D-LLM 时,不使用 held-out 数据集。我们使用两个held-out的 3D 问答数据集进行held-out评估:ScanQA 和 3DMV-VQA。3DMV-VQA[20] 的实验分析在补充材料中。
我们在 ScanQA 数据集上对预训练的 3D-LLM 进行了微调,并与基准模型进行了比较。
Baselines & Evaluation Metrics
我们在基准中加入了具有代表性的基线模型。其中,
这些基线模型都是从预训练的定位模块中提取明确的物体表征。除了这些基线模型,我们还设计了几种基于 LLM 的基线模型。
我们报告了稳健答案匹配的 BLEU,ROUGE-L,METEOR 和 CIDEr。我们还使用了精确匹配 (EM) 指标。
Result Analysis
我们在表 1 中报告了 ScanQA 验证集的结果,在表 2 中报告了测试集的结果。我们观察到评估指标有了显著提高。例如,对于 BLEU-1,我们的模型在验证集上比最先进的 ScanQA 模型高出 ~ 9%,在测试集上高出 ~ 7%。就 CIDER 而言,与 ScanQA 相比,我们的收益为 5%,远高于其他基于 3D 的基线。这些结果表明,通过将 3D 注入 LLM,模型生成的答案与ground truth答案更为相似。此外,基于 3D 的基线使用物体检测器(如 VoteNet)来分割物体,然后将每个物体的特征发送到它们的模型中,而我们的输入是整体 3D 特征,没有明确的物体表示。这表明,即使没有明确的物体表征,我们的模型也能对物体及其关系进行视觉推理。然后,我们研究了2D VLM 是否具有同样的能力。我们发现,以单视角图像或多视角图像作为输入,2D VLM 的性能会比3D VLM 下降很多。具体来说,多视角图像也包含整个场景的信息。然而,与 3D-LLM 相比,它们的性能要低得多,这可能是因为多视角图像的特征是无序的,从而丢失了与 3D 有关的信息。
Held-In Evaluation
我们在三个任务的held-in datasets上进行了实验: 3D图像描述,3D辅助对话和任务分解。基线包括2D VLM,与保持不变评估相同。我们增加了一个纯语言基线: FlanT5 基线考察了 LLM 在没有任何视觉输入的情况下完成这些任务的能力。为了评估响应质量,我们将 BLEU,ROUGEL,METEOR 和 CIDEr 作为衡量指标。我们在表 3 中报告了 held-in 的评估结果。从表中可以看出,3D-LLM 可以生成高质量的应答,其性能优于 2D VLM 和纯语言 LLM。
Qualitative Examples
图 4 展示了 3D-LLM 预测的定性示例。3D-LLM 能够执行各种任务。
在本文中,我们提出了一个新的 3D-LLM 系列,它可以将3D表征作为输入并生成响应。我们引入了一系列3D-language数据生成管道,生成了一个包含 30 万个3D语言对的数据集来训练我们的 3D-LLMs,包括密集图像描述,3D问题解答,任务分解,3D grounding,3D辅助对话,导航等。我们的 3D-LLM 利用2D预训练 VLM 作为骨干,并采用新颖的3D定位机制。实验表明,我们的 3D-LLM 在 ScanQA 数据集上的表现优于最先进的基线模型,并且可以执行各种 3D 相关任务。局限性在于,3D特征提取器依赖于2D多视角图像,因此需要对所有3D场景进行渲染,以便在3D LLMs 中进行训练,这就引入了额外的渲染过程。
B.2.1 3DMV-VQA
B.2.2 3D Grounding (Referring) on ScanRefer
定位/推断能力
B.2.3 Object Navigation
B.3.1 3D Dense Captioning
B.4.1 Ablative Studies on Flamingo Perceiver