【LMM 016】3D-LLM:将 3D 点云特征注入 LLM
论文标题: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
Abstract
大型语言模型(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 范围之外的更多任务。
1 Introduction
在过去几年中,我们见证了大型语言模型(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 具有两方面的优势:
- 1)关于整个场景的长期记忆可以存储在整体3D表征中,而不是局部视角的偶发观察。
- 2)可以从3D表征中推理出affordances和空间关系等3D属性,这远远超出了基于语言或2D图像的 LLM 的范围。
训练 3D-LLMs 的一大挑战在于数据采集。与互联网上大量成对的2D图像和文本数据不同,3D数据的稀缺阻碍了基于3D的地基模型的开发。与语言描述配对的3D数据更是难以获得。为了解决这个问题,我们提出了一套独特的数据生成管道,可以生成与语言配对的大规模3D数据。具体来说,我们利用 ChatGPT [33],为3D数据和语言之间的交流设计了三种高效的提示程序。这样,我们就能获得 30 万个3D语言数据,这些数据涵盖了多种任务,包括但不限于3D图像描述,密集图像描述,3D问题解答,3D任务分解,3D grounding,3D辅助对话,导航等,如图 1 所示。
下一个挑战在于如何获得有意义的3D特征,使之与3D LLM 的语言特征对齐。
- 一种方法是使用类似的对比学习范式(如 CLIP [37])从头开始训练 3D 编码器,以实现 2D 图像与语言之间的匹配。然而,这种范式需要消耗大量的数据,时间和 GPU 资源。
- 从另一个角度看,最近有许多工作从2D多视角图像中建立了3D特征(如concept fusion [26],3D-CLR [20])。受此启发,我们也利用3D特征提取器,从渲染的多视角图像的2D预训练特征中构建3D特征。
- 最近,也有不少视觉语言模型(如 BLIP-2 [30],Flamingo [14])利用2D预训练 CLIP 特征来训练它们的 VLM。由于我们提取的3D特征与2D预训练特征映射到相同的特征空间,因此我们可以无缝地使用2D VLM 作为骨干,并输入3D特征来高效训练3D-LLM。
3D-LLM 有别于 vanilla LLM 和 2D VLM 的一个重要方面是,3D-LLM 应具有潜在的 3D 空间信息感。因此,我们开发了一种3D定位机制,在语言和空间位置之间架起了一座桥梁。具体来说,我们将3D位置嵌入添加到提取的3D特征中,以更好地编码空间信息。此外,我们还在 3D-LLM 中添加了一系列位置标记,通过输出对场景中特定物体的语言描述所给出的位置标记来训练定位。这样,3D-LLMs 就能更好地捕捉 3D 空间信息。
总之,我们的论文有以下贡献:
- 提出了基于3D的大型语言模型(3D-LLMs),它可以将带有特征和语言提示的3D点作为输入,并执行各种与3D相关的任务。我们关注的任务超出了普通 LLM 或 2D-LLM 的范围,例如有关整体场景理解,3D空间关系,affordances和3D规划的任务。
- 设计了可生成大规模3D语言数据的新型数据收集管道。基于这些管道,我们收集了超过 30 万条3D语言数据,这些数据涵盖了各种3D相关任务,包括但不限于3D图像描述,密集图像描述,3D问题解答,任务分解,3D grounding,3D辅助对话,导航等。
- 我们使用的3D特征提取器可从渲染的多视角图像中提取有意义的3D特征。我们利用2D预训练 VLM 作为高效训练的骨干。我们引入了用于训练 3D-LLM 的 3D 定位机制,以更好地捕捉 3D 空间信息。
- 我们在已完成的评估数据集 ScanQA 上进行了实验,结果优于最先进的基线。特别是,3D LLM 在 ScanQA 上的表现远远优于基线(例如,BLEU-1 为 9%)。在3D图像描述,任务组合和3D辅助对话的held-in datasets上进行的实验表明,我们的模型优于2D VLM。定性研究进一步证明,我们的模型能够处理各种任务。
- 我们计划发布我们的 3D-LLM,3D 语言数据集和数据集的语言对齐 3D 特征,用于未来的研究开发。
2 Related Works
Large Language Models.
我们的工作与 GPT-3 [4] 和 PaLM [9] 等大型语言模型 [4, 13, 38, 9, 34](LLMs)密切相关,这些模型能够用单一模型处理不同的语言任务,并显示出很强的泛化能力。这些模型通常在海量文本数据上进行训练,训练目标为自我监督,如预测下一个标记[4, 38]或重建掩码标记[13, 39]。为了更好地将这些 LLM 的预测与人类指令相匹配,提高模型对未知任务的泛化能力,人们提出了一系列指令微调方法 [35, 44] 和数据集 [10, 12]。在这项工作中,我们的目标是为大型语言模型注入3D世界,理解丰富的3D概念,如空间关系,affordances和物理。
Vision-Language Pre-trained Models.
我们的工作还与连接图像和自然语言的视觉语言预训练模型有关 [31, 32, 17, 37, 27]。一些研究[37, 27]从头开始学习使用大量图像-语言对训练模型,并将其应用于下游任务,如视觉问答[18, 51],图像描述[7]和指代表达理解[50],并进行微调。其他研究人员则将预训练视觉模型和预训练 LLM 与额外的可学习神经模块(如 perceiver [2] 和 QFormers [31])连接起来,充分利用了预训练视觉模型的感知能力和 LLM 的推理与泛化能力。受这些前人工作的启发,我们计划建立一个能够理解3D世界并执行相应3D推理和规划的人工智能助手。这并非易事,我们需要克服各种障碍,例如如何处理数据稀疏问题,如何将3D世界与2D图像对齐以及如何捕捉3D空间信息。
3D & Language.
另一个与我们类似的研究方向是3D与语言[5, 49, 8, 20, 1, 15, 24, 49, 3, 21, 19]。
- ScanQA [49] 要求模型回答与 3D 世界相关的问题
- ScanRefer [5] 要求模型定位文本表达所指的区域
- 3D captioning [8] 测试模型生成描述 3D 场景的图像描述的能力
然而,这些3D任务及其相应的模型通常都是针对特定任务的,只能处理训练集相同分布范围内的情况,而不能泛化。与之不同的是,我们的目标是建立一个可以同时处理不同任务的3D模型,并实现3D助手对话和任务分解等新能力。
3 3D-Language Data Generation
由于可以在互联网上轻松获取大量的2D图像和文本对,社会各界见证了多模态数据的激增。然而,当涉及3D相关数据时,获取多模态资源并不容易,这不仅是因为3D资产稀缺,还因为为3D资产提供语言数据存在困难。现有的一些数据集包含3D语言数据(如 ScanQA [49] 和 ScanRefer [5])。但是,这些数据集在数量和多样性方面都很有限,而且每个数据集仅限于一项任务。如何生成一个可用于各种3D相关任务的3D语言数据集非常值得深入研究。
受 GPT 等大型语言模型最近取得成功的启发[33],我们建议利用此类模型进行 3D-language 数据收集。具体来说,如图 2 所示,我们有三种方法来提示纯文本 GPT 生成数据。
- 1)boxes-demonstration-instruction based prompting。我们输入3D场景中房间和物体的轴对齐包围盒(AABB),提供场景的语义和空间位置信息。然后,我们向 GPT 模型提供具体指令,以生成多样化的数据。我们给出了 GPT 模型的 0-3 个短片演示示例,展示了指示它生成的数据类型。
- 2)ChatCaptioner based prompting。我们采用了与 [52] 类似的技术,即通过 ChatGPT 提出一系列有关图像的信息性问题,然后由 BLIP-2 [30] 回答问题。为了收集3D相关数据,我们将不同视角的图像输入 BLIP-2,并指示 ChatGPT 提问并收集不同区域的信息,从而形成整个场景的全局3D描述。
- 3)Revision based prompting。它可用于将一种3D数据传输到另一种3D数据。
如图 1 所示,GPT 能够生成各种类型的 3D 语言数据。我们在附录中展示了生成所有类型数据的详细提示。
我们的3D语言数据集主要建立在一些3D资产之上:
- Objaverse 是一个包含 800K 个3D物体的宇宙。然而,由于这些语言描述是从在线资源中提取的,未经人工检查,因此大多数物体的描述都非常嘈杂(例如,带有网址)或没有描述。我们利用基于 ChatCaptioner 的提示功能为场景生成高质量的 3D 相关描述。
- Scannet [11] 是一个包含约 1k 个 3D 室内场景的丰富注释数据集。它提供了场景中物体的语义和边界框。
- Habitat-Matterport (HM3D) [41] 是一个具身人工智能的3D环境数据集。HM3DSem [47] 进一步为 HM3D 的 200 多个场景添加了语义注释和边界框。
4 3D-LLM
4.1 Overview
本节将介绍我们是如何训练 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 显示了我们的框架。
4.2 3D Feature Extractor
训练 3D-LLM 的第一步是建立有意义的 3D 特征,这些特征可以与语言特征相匹配。对于2D图像,已有像 CLIP 这样的特征提取器,可以从语言监督中学习视觉模型。这些模型使用十亿规模的互联网图像语言对数据进行预训练。很难从头开始预训练这种特征学习器,因为在数量和多样性方面,没有可与互联网规模的图像语言对相媲美的3D语言资产。
相反,从2D多视角图像中提取3D特征的方法层出不穷[26, 20, 16, 23]。受这些工作的启发,我们通过渲染多个不同视角的3D场景来提取3D点的特征,并从渲染的图像特征中构建3D特征。
我们首先按照[26]的方法提取渲染图像的像素对齐密集特征。然后,我们利用三种方法从渲染图像特征中构建3D特征。这些方法针对不同类型的3D数据而设计。
- Direct Reconstruction。我们使用ground truth相机矩阵,从3D数据渲染的 rgbd 图像中直接重建点云。特征直接映射到重建的3D点。这种方法适用于具有完美相机姿态和内在特征的 rgbd 渲染数据。
- Feature Fusion。与 [26] 相似,我们使用 gradslam [28] 将2D特征融合到3D映射中。与密集映射方法不同的是,除了深度和颜色之外,我们还融合了其他特征。这种方法适用于具有噪声深度图渲染的3D数据,或具有噪声相机姿势和内在特征的3D数据。
- Neural Field。我们利用神经体素场(neural voxel field)[43]构建3D紧凑表征[20]。具体来说,除了密度和颜色之外,神经场中的每个体素都有一个特征。然后,我们利用 MSE 损失对射线中的3D特征和像素中的2D特征进行对齐。这种方法适用于有 RGB 渲染但无深度数据的 3D 数据,以及有噪声的摄像机姿势和内在特征。
这样,我们就能获得每个3D场景的 < N, Dv >-dim 的3D特征,其中 N 是点云中的点数,Dv 是特征维数。
4.3 Training 3D-LLMs
4.3.1 2D VLMs as backbones
除了特征提取器之外,从头开始训练 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。
4.3.2 3D Localization Mechanism
除了建立与语言语义相匹配的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 Experiments
我们首先介绍了架构,训练和评估协议。在第 5.1 节中,我们分析了在 ScanQA 数据集上进行的保持实验。第 5.2 节将对保持评估和定性示例进行更多分析。由于篇幅限制,我们将以下内容放入附录:
- 1)关于 3DMV-VQA 和物体导航的 Held-Out 实验
- 2)关于grounding和密集图像描述的 Held-In 实验
- 3)更多消融研究
- 4)更多定性示例
Architecture
我们在三个骨干 2D VLM 上进行了 3D-LLM 实验:
- Flamingo 9B
- BLIP-2 Vit-g Opt2.7B
- BLIP-2 Vit-g FlanT5-XL
对于 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 隐藏特征维数相同。
Training & Evaluation Datasets & Protocols
我们将数据集分为两种类型,一种是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] 的实验分析在补充材料中。
5.1 Held-Out Evaluation
我们在 ScanQA 数据集上对预训练的 3D-LLM 进行了微调,并与基准模型进行了比较。
Baselines & Evaluation Metrics
我们在基准中加入了具有代表性的基线模型。其中,
- ScanQA 是基准测试中最先进的方法,它使用 VoteNet 获取物体建议,然后将其与语言嵌入进行融合。
- ScanRefer+MCAN 是一种基准方法,可识别被推荐的物体,并将 MCAN 模型应用于定位物体周围的图像。
- VoteNet+MCAN 检测3D空间中的物体,提取其特征,并将其用于标准 VQA 模型。
这些基线模型都是从预训练的定位模块中提取明确的物体表征。除了这些基线模型,我们还设计了几种基于 LLM 的基线模型。
- LLaVA 是一种视觉指令微调,它将视觉编码器和 LLM 连接起来,用于通用的视觉和语言理解。我们使用了它的预训练模型,并在我们的数据集上进行了零样本评估。使用单张随机图像作为输入。使用 LLaVA 13B 模型。
- 单图像 + 预训练 VLM 使用 2D VLM 骨干(即 flamingo 和 BLIP-2),用单图像特征替换 3D-LLM 的 3D 输入来训练模型,然后在 ScanQA 数据集上进行微调。
- 多视图图像 + 预训练 VLM 使用 2D VLM 骨干,用多视图图像的串联特征替换 3D-LLM 的3D输入来训练模型,然后在 ScanQA 数据集上进行微调。
我们报告了稳健答案匹配的 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 有关的信息。
5.2 More Extensive Evaluation
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 能够执行各种任务。
6 Conclusion
在本文中,我们提出了一个新的 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 中进行训练,这就引入了额外的渲染过程。
A 3D-Language Data
A.1 Prompts
A.2 Data Distribution
B Experiments
B.1 Implementation Details
B.2 Held-Out Evaluation
B.2.1 3DMV-VQA
B.2.2 3D Grounding (Referring) on ScanRefer
定位/推断能力
B.2.3 Object Navigation
B.3 Held-In Evaluation
B.3.1 3D Dense Captioning
B.4 More Ablative Studies
B.4.1 Ablative Studies on Flamingo Perceiver
B.5 More Qualitative Examples
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!