3DLLM任务和指标
3.1 3D Captioning(3D->text)
任务:
给定场景或对象的 3D 数据,3D 字幕的任务是生成相应的简短自然语言描述。 在这里,我们根据要加字幕的数据类型和生成的字幕类型,将此任务分解为几个常见的问题变体:
- 对象级字幕要求模型生成单个 3D 对象的简短自然语言描述。此字幕应重点关注对象的关键特征,包括其形状和语义特征。
- 场景级字幕是指为整个 3D 场景生成简短的自然语言字幕的任务。这些字幕通常侧重于全局场景信息(例如房间类型和风格)、场景中的关键对象及其关系。我们认为“基础字幕”是场景字幕的一种变体,其中模型输出场景中对象之间关系的描述,可能还有这些对象的位置信息
- 3D 密集字幕是指在 3D 场景中定位对象实例并使用自然语言字幕描述它们的联合任务。在这种情况下,输出可能还包含有关被标注对象的位置信息。通常,来自 3D 基础数据集的引用描述用于生成 3D 密集字幕所需的字幕和位置数据。例如,Scan2Cap [217] 中的字幕是使用来自 ScanRefer [218] 的引用表达式生成的
指标:
3D 字幕的评估指标要求将生成的字幕与测试样本的真实字幕进行比较。
- 精确匹配 (EM) 要求生成的字幕与地面实况完全匹配。精确匹配具有不同的准确度阈值,表示为 EM@K,这意味着正确答案在模型生成的前“K”个答案中。 常用的阈值是 EM@1 和 EM@10
- BLEU [220] 在预测字幕和真实字幕之间匹配 n-gram,其中“BLEU@x”指的是长度为“x”的匹配 n-gram(典型值在 1-4 范围内)
- ROUGE [221] 类似地旨在匹配 n-gram,常用的 ROUGE-L 侧重于句子的结构相似性。
- METEOR [222] 基于单词匹配的准确率和召回率,同义词和互为形态变体的单词之间也存在“匹配”。
- CIDEr [223] 根据 n-gram 的频率对 n-gram 进行加权,频率较高的 n-gram 的权重较低。
- 由于上述指标依赖于 n-gram 匹配,因此它们无法解释语义相似的单词之间的差异。因此,引入了各种通过学习到的嵌入空间中的相似性来衡量语义内容重叠的指标(例如,SentenceSim [224] 和 BERT Score [225])
对于密集字幕,字幕定位到场景的某些部分,需要调整基准。
- 通常,BLEU、ROUGE、METEOR 和 CIDEr 分数仍被使用,但是,如果预测边界框和对象之间的并集交集 (IoU) 小于阈值“k”,则分数设置为零。典型的“k”值为 0.25 和 0.5 [19, 217, 226]。
- 然而,这些指标侧重于字幕召回率,而忽略了假阳性。最近的研究解决了这个问题,该研究还测量了生成的字幕相对于 BLEU、ROUGE、METEOR 和 CIDEr 指标的精度和 F-1 分数 [227]。
3.2 3D Grounding (3D + Text → 3D Position)
任务:
给定一个 3D 场景和一个描述场景中某个对象相对于其他对象的“引用表达式”,3D 基础涉及为目标对象生成位置、边界框或分割蒙版。
单物体定位涉及根据给定的参考信息(例如语言描述[218,228]或其他手势[229])在场景中定位单个查询对象。
多对象定位涉及使用指称表达式定位多个对象。这种定位有两种主要变体。
第一种涉及单句描述,该描述可能具有歧义,可能指代 3D 场景中同一类别的零个、一个或多个目标对象 [230]。 第二种变体使用段落长度的指称表达式来描述可能属于不同类别的多个对象及其之间的空间关系 [231]。
指标:
3D 基础的评估指标需要将预测位置(通常以边界框的形式)与测试样本中物体的真实位置进行比较。
- Acc@KIoU [218] 是 3D 视觉基础中广泛使用的指标,它测量与地面真实值的交集 (IoU) 大于阈值 K 的正预测的百分比,该阈值通常设置为 0.25 或 0.5。
- 对于多物体基础,F1 分数用作指标 [230]。他们首先根据 IoU 获得预测和真实边界框之间的一一匹配。然后,IoU 高于阈值的对被视为真阳性
3.3 3D Conversation (3D + Text → Text)
任务:
考虑询问有关 3D 场景的问题的任务也很自然,无论是在单轮设置中还是在更自然的多轮对话设置中。
- 3D Question Answering (3D-QA):3D 问答 (3D-QA) 是一项要求模型在给定 3D 场景的情况下生成用户提出问题的答案的任务。问题的主题范围很广,模型必须理解 3D 场景和问题才能生成正确的答案。问题包括确定物体是否存在等简单任务,以及空间推理等更困难的任务。由于存在几个完善的基准,并且基准中的大多数问题都是具有独特答案的事实,因此 3D-QA 是评估多任务模型能力的流行任务
- 3D Situated Question Answering (3D-SQA):3D 情境问答 (3D-SQA) 是 3D-QA 的一个特例。关键区别在于 3D-QA 要求模型从能够访问场景所有信息的观众的角度回答问题,而 3D-SQA 需要从预定义情境中的玩家的角度回答问题。例如,在“站在餐桌后面并面向餐桌”的情况下,3D-SQA 可能会问“我面前有多少把椅子?”
- 3D Dialogue:3D 对话要求模型与用户就 3D 场景进行连贯而自然的多轮对话,而不是一轮问答。例如,用户可能想了解一个房间,因此他们会不断询问有关房间每个部分的问题,而模型则需要正确而连贯地做出回应
指标:
评估指标涉及将模型的响应与测试样本的真实响应进行比较。
- 对于 3D-QA 和 3DSQA,主要指标是精确匹配 (EM),这意味着模型生成的答案必须与正确答案完全匹配。这是因为现有 3D-QA 基准 [233、234、235、236] 中的大多数问题都是事实问题,只有一个明确正确的答案。
- 对于答案不唯一的 3D 对话和任务规划,使用 BLEU [220]、ROUGE [221]、METEOR [222]、CIDEr [223] 和 SPICE [237] 等语义指标来评估生成的响应与基准提供的参考答案之间的相似性。它们还用于 3DQA,特别是 ScanQA 基准,以测量语义相似性和准确性
3.4 3D Embodied Agents (3D + Text → Action)
任务:
考虑涉及与 3D 场景交互的任务也很有用,这些任务以描述所需动作或目标的特定文本提示为条件。
- 3D Task Planning:3D 任务规划是用户提供高级目标,而模型需要概述实现该目标的低级步骤的任务。例如,给定一个房间的 3D 场景,用户可能会询问如何清洁房间,而模型需要提供清洁房间的详细步骤。
- 3D Navigation:3D 导航是指使 3D 代理(例如机器人或虚拟角色)能够在 3D 空间内移动和定位的任务。这涉及理解和解释 3D 环境、识别障碍物以及规划安全、有效的路径以达到指定目标。
- 3D Manipulation :3D 操纵是指 3D 代理与其环境中的对象进行物理交互的能力。这可以是拾取和移动物体,也可以是更复杂的动作序列,例如组装零件或打开门
指标:
- 3D 任务规划的评估指标还依赖于将模型的文本/token输出与测试样本的真实动作进行匹配。BLEU [220]、ROUGE [221]、METEOR [222]、CIDEr [223] 和 SPICE [237] 用于评估生成的响应与真实答案之间的相似性。
- 对于 3D 导航,有两个主要指标来评估性能。1) 成功率 (SR) 衡量 3D 代理是否在预定义的距离阈值内到达目标位置。2) 按路径长度加权的成功率 (SPL) [238],其计算为按真实长度和实际路径长度之比加权的 SR,旨在反映模型实现其目标的效率。其他指标包括 Oracle 成功率 (OSR)、轨迹长度 (TL) 和目标过程 (GP) [239]。除了上述衡量代理是否成功到达目标及其效率的指标外,考虑代理路径与语言指定的路径的匹配程度也很有用(当使用语言指定详细路径时)。其中一个指标是按归一化动态时间规整 (SDTW) [240] 加权的成功率,它将 SR 与给定指令的代理路径和地面真实路径之间的差异相结合。
- 对于 3D 操作,关键指标是成功率 [242],对于操作,成功率定义为成功操作的次数除以任务样本的总数。不同的数据集对于如何使用文本表示其操作有不同的约定,例如使用结构化输出、使用规范化数字分数或引入新标记。
3.5 Text-to-3D Generation (Text → 3D)
任务:
除了使用文本描述和与现有 3D 场景交互之外,还可以通过语言规范生成 3D 对象和场景。
- 3D Object Generation:3D 对象生成涉及根据文本描述生成单个对象的 3D 模型。文本输入可以提供有关对象类别、属性、零件结构和应反映在生成的 3D 形状中的其他属性的详细信息。
- 3D Scene Generation:3D 场景生成是根据文本场景描述创建完整 3D 环境(例如房间或室外空间)的任务。这涉及为文本中指定的对象生成 3D 模型,以及根据文本中指定的约束(如对象类别、计数、空间关系和场景属性)智能地排列和组合多个 3D 对象模型。
- 3D Editing :3D 编辑是指根据文本指令修改现有的 3D 资产(如形状或场景)。这可能涉及根据给定的文本添加、删除或转换对象、更改材质或颜色,或更改高级场景属性。
指标:
3D 生成任务的评估指标评估生成的形状/场景的质量以及生成的内容与输入文本的匹配程度。
- 测量生成的几何图形的常用指标包括倒角距离 (CD) 和网格体积/表面距离 (MVD)。CD 是通过将点对点距离相对于真实 3D 数据的平方相加来计算的,而 MVD 计算两个网格之间的体积/表面以测量几何误差。
- 为了评估整体质量,分类准确度检查语义属性是否得到保留,而 (FID) 则捕捉真实性和多样性。
- 为了检查生成的形状是否与输入文本匹配,通常使用对齐的 3D 形状嵌入(例如 ULIP [244])或渲染图像(例如 CLIP [174])来测量文本的相似性。使用人类研究进行评估也很常见。
- 然而,最近的研究 [245] 表明,可以使用 GPT-v4 等 LVLM 来替代人工评判。
- 对于基于文本的 3D 编辑,CD 和 IoU 评估指导编辑在输入几何体上应用得如何良好,而不会造成过度失真。
4.1 How do LLMs process 3D scene information?
传统 LLM 的输入和输出都仅限于文本,因此,所有 3D-LLM 方法的主要关注点在于获取 3D 信息的能力。其基本思想是将 3D 对象或场景信息映射到语言空间中,从而使 LLM 能够理解和处理这些 3D 输入。具体来说,这通常涉及两个步骤:(i) 使用预先训练的 3D 编码器处理相应的 3D 表示,从而产生原始 3D 特征;(ii) 使用对齐模块将这些 3D 特征转换为 LLM 可以处理的 3D 标记,类似于第 2.2.1 节中提到的标记化过程。然后,预先训练的 LLM 可以在生成输出时使用这些对齐的 3D 标记。
鉴于 3D 表示的多样性,如第 2.1 节所述,有多种方法可以获得 3D 特征。如表 1 中的 3D 几何列所示,点云最为常见,因为它们简单且与各种预训练的 3D 编码器兼容,这使其成为多任务和多模态学习方法的热门选择。多视图图像也经常使用,因为 2D 特征提取的研究已经很成熟,这意味着 3D 特征提取只需要额外的 2D 到 3D 提升方案。 RGB-D 数据可通过深度相机轻松获得,通常用于 3D 具身代理系统以提取与视点相关的信息,用于导航和理解。3D 场景图是一种更抽象的 3D 表示,在建模对象的存在及其关系以及捕获场景的高级信息方面表现出色。它们通常用于 3D 场景分类 [274] 和规划任务 [275]。NeRF 目前在 3D-LLM 方法 [21] 中使用较少。我们认为这是由于它们的隐式性质,这使得它们更难以标记和与前馈神经网络集成。
- 对于仅接受 3D 输入的模型(图 2a),线性层 [269, 24, 266] 或 MLP [171, 172] 用作对齐模块,将 3D 特征转换为 LLM 输入空间。
- 接受 3D 和文本作为输入的模型通常使用两个单独的分支来对齐 3D 特征和文本(图 2b)。
- 一些工作 [171, 172] 使用单层 vanilla 转换器,允许 3D 对象特征在对齐过程中相互关注。
- 其他工作,例如 [270, 271],创建基于转换器的对齐模块,其中标准转换器架构经过调整,以更好地适应不同类型的 3D 数据,例如密集点云和稀疏 LiDAR 扫描。同时,使用预先存在的 LLM 文本嵌入表对文本进行编码。
- 其他作品 [153, 268, 276] 遵循 [195] 的 Q-Former 风格方法来对齐 3D 特征和文本(图 2c),引入固定长度的查询标记作为附加输入,并遵循基于 BERT 的结构以促进对齐过程中 3D 和文本特征之间的交互。
- 大多数情况下,上述三种类型的架构都是通过利用 3D 字幕数据集 [218] 来实现对齐的,其中字幕损失(即 LLM 生成的字幕与场景的简短、真实描述之间的交叉熵损失)用于微调对齐模块,同时冻结预先训练的 3D 特征提取器和 LLM
- 最后,一些模型 采用 ChatGPT 等闭源模型,根本不训练对齐模块(图 2d)。不是将 3D 特征与 LLM 输入空间对齐,而是直接从 3D 数据生成文本描述,例如通过描述 3D 边界框、位置和关系,或者使用预先存在的标题。这些文本描述被输入到 ChatGPT 中。这些工作中没有提出额外的对齐模块,因此不需要训练。
4.2 LLMs for Enhancing 3D Task Performance
在将 LLM 应用于 3D 任务时,我们可以将其用途分为两类:知识增强方法和推理增强方法。知识增强方法利用 LLM 中嵌入的大量世界知识来增强 3D 任务性能。这可能提供背景见解,填补知识空白,或可能增强对 3D 环境的语义理解。或者,推理增强方法不依赖于其世界知识,而是利用 LLM 逐步推理的能力,从而提供更好的泛化能力以应对更复杂的 3D 挑战。以下两节分别描述了这些方法.
4.2.1 Knowledge-enhanced approaches
有几种方法可以利用 LLM 世界知识。
- Chen 等人 [274] 使用 LLM 从 RGB-D 图像中进行 3D 房间分类。在这里,嵌入在 LLM 中的知识用于根据房间中包含的对象类别信息确定房间类别。首先,这种方法从 Matterport3D [285] 数据创建场景图,其中区域和对象的节点以及链接到房间节点的对象节点。接下来,选择关键对象以形成每个房间类型的查询。LLM 对从选定对象中提取的描述进行评分,最高分数预测房间标签。还可以提供大小或位置等空间信息。
- ViewRefer [20] 使用 LLM 扩展具有视图相关描述的接地文本。例如,给定原始文本“面向沙发的正面,沙发右侧的桌子”,LLM 用于创建一个类似的句子,但从另一个说话者的角度,例如“背对沙发的正面,选择沙发左侧的桌子”。通过多次改写输入文本及其相反视图的同义词,该模型改进了跨视图接地。它还采用了具有视图间注意的融合转换器,并包括可学习的多视图原型,可以捕获视图间知识并进一步提高 3D 接地性能
- Abdelreheem 等人 [22] 解决了 3D 形状中的语义对应问题。他们通过将渲染的视图输入 BLIP2 模型来生成类别建议列表,从而对 3D 形状进行分类。ChatGPT [286] 将这些统一为每种形状的单个类。ChatGPT 还生成语义部分名称和成对映射(例如手臂 → 翅膀)。然后,3D 分割器根据语义区域分割形状,利用部分映射来生成稀疏对应图。
上述知识增强策略能够实现出色的性能,尤其是在零样本场景中,即没有可用于特定对象或场景类型的标记 3D 数据。这允许对固定本体之外的对象部分、关系和语义进行开放式推理,如 (i) Chen 等人 [274] 生成空间和语义对象描述、(ii) ViewRefer [20] 描述多视图对象关系,以及 (iii) Abdelreheem 等人 [22] 生成和匹配跨形状的对象部分语义所证明的那样。
4.2.2 Reasoning-enhanced approaches
具体而言,LLM 首先从文本描述中识别锚点和目标对象。然后,它根据接地工具返回的坐标分析多个候选对象之间的空间关系(或描述的属性),以选择与文本描述最匹配的候选对象。此外,(i) Transcribe3D [23] 和 LLM-Grounder [21] 采用多轮交互式问答流程,帮助用户明确意图,提示他们提供更多信息的说明,以获得更准确的结果,而 (ii) LLM-Grounder 包含多个接地工具选择,例如 OpenScene [29] 或 LERF [30],以适应不同的 3D 表示,如点云或 NeRF。这些方法的一个常见缺点是 LLM 的“盲目性”,因为它仅提供 3D 场景的抽象文本描述,而不是场景的原始点云。这可能会导致关键场景细节的丢失。因此,当 3D 场景包含同一类的多个对象时,缺少必要的场景细节意味着无法解决基于文本的引用的歧义,从而限制了整体性能.
除了视觉基础之外,LLM 的推理能力还可以促进其他任务。3DAP [273] 利用 GPT-4V,使用视觉提示技术从对象的 2D 图像中推断对象的 3D 信息,其中它用 3D 轴注释输入图像,以增强 LLM 对 3D 比例的认识。ConceptFusion [18] 使用 GPT3 使用预定义的基本空间比较模块生成指令,以便使用他们提出的 3D 特征图实现更复杂的空间推理
4.3 LLMs for 3D Multi-Task Learning
许多研究侧重于利用 LLM 的指令跟随和上下文学习功能将多个 3D 任务统一到单个语言空间中。通过使用不同的文本提示来表示不同的任务,这些研究旨在让 LLM 充当统一的对话界面。使用 LLM 实现多任务学习通常涉及几个关键步骤,首先是构建 3D 文本数据对。这些对需要以文本形式制作任务指令并定义每个不同任务的输出。接下来,将 3D 数据(通常为点云形式)输入 3D 编码器 [288, 34] 以提取 3D 特征。随后使用对齐模块 来 (i) 将 3D 特征与来自 LLM 的文本嵌入在多个级别(对象级别、关系级别和场景级别)上对齐,以及 (ii) 将 3D 特征转换为 LLM 可解释的标记。最后,需要选择适当的训练策略,例如单阶段或多阶段 3D 语言对齐训练和多任务指令微调。在本节的其余部分,我们将详细探讨这些方面。我们还在表 2 中总结了本节中回顾的每种方法的范围和能力。
4.3.1 Data for Multi-Task Learning
如表 2 所示,我们将任务分为四类: 字幕、基础、问答 (QA) 和具体代理任务(即规划、导航和操作)。因此,每个任务的文本输出都遵循预定义的格式。
- 对于字幕和 QA 任务,输出是纯文本,不受特定格式的限制。
- 基础任务的输出是一个 3D 边界框,通常是所指对象的中心坐标及其 3D 大小。通常,点和大小的值被规范化为 0-255 范围内 [19],这限制了 LLM 需要预测的标记范围。
- 对于规划,模型以文本形式输出一系列执行任务的步骤,而对于导航,输出是一系列空间坐标。对于操作,输出是文本形式的动作序列。现有方法遵循这些准则来构建其多任务指令微调数据集。
一旦确定了文本格式,不同的方法就会使用不同的策略来获取其数据集的文本注释。
- 有几种方法利用人工标注者为每个样本生成“真实”注释 [218, 228, 234, 233],但这可能是一个昂贵且耗时的过程。
- 另一种方法是使用 ChatGPT [286] 为每个样本生成文本注释,这是 3DMIT [269]、LiDAR-LLM [271]、Chat-3D [171] 和 Chat-3D v2 [172] 所采用的策略。在这里,3D 场景数据被转换为文本(通常通过以文本形式描述对象边界框和空间关系),并创建任务描述来描述所需的输出。为了引导 ChatGPT 实现任务的预期输出格式,提供了演示示例,这允许 ChatGPT 执行上下文学习以生成其他 3D 场景的合理文本注释。
- 或者,其他多任务数据集 [19, 266] 是通过简单地合并现有的 3D 视觉语言 (VL) 数据集 [218, 228, 234, 153] 来构建的。一些多任务数据集是使用这三种方法的组合构建的,如 LEO [270]、LiDAR-LLM [271] 和 3D-LLM [153] 中所示,旨在将人工注释的准确性与使用 LLM 生成的注释所提供的可扩展性结合起来。
4.3.2 Training an LLM for multiple 3D tasks
训练 LLM 执行多个 3D 任务的第一步是获取有意义的 3D 特征,其中提取方法因 3D 场景的类型而异。
- 对于单个对象点云,Point-LLM [267]、Chat-3D [171] 和 GPT4Point [268] 利用 Point-BERT [288] 提取 3D 对象特征。
- 对于室内场景,LEO [270] 使用 PointNet++ [34] 进行特征提取,而 Chat-3D v2 [172] 和 3DMIT [269] 对场景进行分割并使用 Uni-3D [289] 提取每个分割部分的特征。同时,MultiPLY [24] 将提取的对象特征集成到场景图 [290] 中以表示整个场景。3D-LLM [153] 和 Scene-LLM [266] 将特征从 2D 多视图图像提升到 3D 表示中。 3DLLM [153] 从 Mask2Former [291] 或 SAM [211] 中提升了 2D 语义特征。Scene-LLM [266] 遵循 ConceptFusion [18] 融合了全局信息和局部细节,将像素级 CLIP 特征映射到点级 3D 特征。
- 对于户外 3D 场景,LiDAR-LLM [271] 使用 VoxelNet [292] 提取 3D 体素特征。
对于对齐模块,如第 4.1 节所述,使用了各种网络架构。
- 值得注意的是,MultiPLY [24] 使用不同的线性层来对齐来自每个模态的特征。
- Chat3D [171] 和 Chat-3D v2 [172] 使用单层 vanilla 转换器,允许 3D 对象特征在对齐过程中相互关注。
- LEO [270] 和 LiDAR-LLM [271] 使用经过修改的转换器作为其对齐模块,以更好地适应不同类型的 3D 数据(密集点云与稀疏 LiDAR)。
- LEO [270] 修改了自注意机制,以明确编码点云中对象对之间的空间关系。相比之下,
- LiDARLLM [271] 同时采用自注意和交叉注意机制来将鸟瞰图 (BEV) 特征与文本特征对齐。
- 3D-LLM [153] 和 GPT4Point [268] 采用了 Q-Former,
- 而 LL3DA[19] 在 Q-Former 之上添加了一个额外的分支,允许查询标记与用户提供的视觉提示进行交互。
可以使用第 2.2.3 节中讨论的不同策略对 LLM 进行微调,以整合多个 3D 任务。
- LEO [270] 和 3DMIT [269] 使用低秩自适应 (LoRA) 进行微调。因此,包括对齐模块和 3D 编码器在内的总可训练参数不到原始 LLM 参数的 10%,显著提高了训练效率。
- Chat-3D [171]、LL3DA [19]、Chat-3D v2 [172]、LiDARLLM [271] 和 MultiPLY [24] 采用自适应微调。具体而言,这些模型包括将 3D 场景中的空间信息与语言对齐的模块,例如转换器层,以捕获对象关系。这些模块以及预先训练的 3D 编码器和 LLM 都经过微调以进行对齐。
- 3D-LLM [153]、Scene-LLM [266]、Point-LLM [267] 和 GPT4Point [268] 采用了层冻结。通过冻结大多数 LLM 层并对某些层(如嵌入层)进行微调,该策略在提高 3D 理解的同时保留了语言能力。
- 最后,Agent3D-Zero [17] 使用提示调整,这是一种无需训练的方法,用于引导 LLM 实现 3D 任务理解。这种方法利用定制的提示,在 3D 场景的 BEV 图像上添加网格线和刻度标记,这有助于 2D VLM 理解 3D 几何形状
训练这些模型进行 3D 多任务学习还涉及对 3D 语言特征对齐进行微调。
- PointLLM [267]、3D-LLM [153]、Scene-LLM [266]、LEO [270] 和 GPT4Point [268] 均采用单阶段对齐方法。具体而言,Point-LLM [267] 仅使用字幕数据训练 MLP,并额外更新输入嵌入层以适应新添加的标记,这些标记用 (⟨p start⟩, ⟨p end⟩) 标记点云标记的开始和结束。3D-LLM [153] 使用自定义数据集训练对齐模块以及输入和输出嵌入层,以更新新添加的位置标记的权重。 Scene-LLM [266] 仅训练一个线性层,使 LLM 能够使用相机和世界坐标系中的 3D 帧语言对字幕任务理解以自我为中心和以场景为中心的视角。它还更新了输入嵌入层,以适应新添加的标记 3D 标记的开始和结束的标记(⟨3D⟩、⟨/3D⟩)。LEO [270] 也使用字幕任务训练对齐模块,但独特地收集了三种类型的字幕数据:对象级 [293]、场景中的对象 [228, 294] 和场景级 [295],并使用所有三个数据集训练其对齐模块。 GPT4Point [268] 遵循 BLIP2 [195] 的结构和训练策略,通过三个任务实现对齐:点文本对比 (PTC)、点文本匹配 (PTM) 和点标题生成 (PTG)。
- 与这些单阶段对齐方法相比,LiDARLLM [271]、Chat-3D [171] 和 Chat-3D v2 [172] 均采用 2 阶段 3D 语言对齐过程。LiDAR-LLM [271] 专注于通过两个阶段的 3D 字幕任务增强局部和全局场景感知:首先,专注于单视图字幕,然后扩展到全景场景描述。他们通过字幕和基础任务的融合开发实例级感知能力。Chat-3D [171] 首先使用用于 3D 对象分类的数据集将 3D 对象与文本对齐 [296, 293, 297],旨在通过仅更新对齐模块来最大化映射的 3D 对象特征和对象类别词嵌入之间的余弦相似度。在场景级对齐的第二阶段,它利用 ScanRefer [218] 来启用字幕功能,并更新额外的转换器层,专门用于对对象的空间关系进行建模。类似地,Chat-3D v2 [172] 结合了对象级和场景级对齐,第二阶段还额外训练了一个位置嵌入层。为了提高训练效率,LL3DA [19] 和 3DMIT [269] 都跳过了对齐阶段,只关注下面描述的指令调整阶段
几乎所有的多任务学习方法最终都需要能够根据指令完成各种 3D 任务。因此,作为训练的最后阶段,每种方法通常使用自己构建的多任务指令跟踪数据集进行指令微调。由于所有任务输出都统一为文本形式,因此使用的训练损失是 LLM 中使用的标准自回归损失。此阶段通常涉及联合训练对齐模块和 LLM。一个例外是 Agent3D-Zero [17],它通过向 GPT4V 提供来自不同视角的 2D 图像来完成各种 3D 任务,因此它不需要任何训练
4.4 LLMs as 3D Multi-Modal Interfaces
除了探索 3D 多任务学习器之外,最近的一些研究还结合了不同模态的信息,以进一步提高模型的能力并实现新颖的交互。除了文本和 3D 场景外,多模态 3D-LLM 还可以包括场景中的 2D 图像、音频或触摸信息作为输入。
大多数作品旨在构建一个跨不同模态的共同表示空间。由于现有的一些作品[299,300]已经提供了将文本、图像或音频映射到公共空间的预训练编码器,因此一些作品选择学习一个3D编码器,将3D嵌入与其他模态的预训练编码器的嵌入空间对齐。JM3D-LLM [279]学习一个3D点云编码器,将点云的嵌入空间与SLIP [301]的文本图像嵌入空间对齐。它在训练期间渲染点云的图像序列并构建一个分层文本树,以实现详细的对齐。Point-Bind [272]也学习了一个类似的3D编码器,并将其与ImageBind [302]对齐,以统一图像、文本、音频和点云的嵌入空间。这使得使用不同的任务头在各种模态中处理不同的任务,例如检索、分类和生成。然而,一个值得注意的限制是,这种方法只适用于小规模的对象级场景,因为 3D 编码器处理具有数百万个点的大型场景在计算上是昂贵的。此外,大多数预训练的多模态编码器(如 CLIP)都是为单对象场景设计的,不适用于具有多个对象和局部细节的大型场景。
相反,大型场景需要更细致的设计来整合多种模态。ConceptFusion [18] 构建了一个增强特征图,该图融合了大型场景的每个组成图像的全局信息和局部细节。这是通过使用预先训练的特征提取器 [187, 188] 实现的,这些提取器已经与包括文本和音频在内的不同模态对齐。然后,它使用传统的 SLAM 方法将特征图映射到场景的点云。MultiPLY [24] 采用与 ConceptGraph [290] 类似的表示。它识别场景中所有显著对象,获得每个对象的全局嵌入,最后构建场景图。结果表示是与 Llama [140] 的嵌入空间对齐的场景嵌入。其他模态的嵌入,包括音频、温度和触觉,也可以使用线性投影映射到同一空间。所有嵌入都被标记化并立即发送到 LLM。与对象级场景的方法相比,能够处理大场景的方法通过依赖预先训练的编码器来弥合模态差距,而不是从头开始学习新的编码器,从而降低了成本。
4.5 LLMs for Embodied Agents
可以使用 LLM 的规划、工具使用和决策能力来创建 3D 具身代理。此类能力使 LLM 能够生成智能决策,包括在 3D 环境中导航 [270, 275, 11]、与对象交互 [14] 以及选择适当的工具来执行特定任务 [24]。本节介绍 3D 具身代理如何执行规划、导航和操作任务。
4.5.1 3D Task Planning
对于具身代理,“任务规划”是指在给定任务描述和 3D 环境的情况下生成执行特定任务的步骤的能力。任务规划通常是导航和操作任务的先决条件 [12, 275],因为规划的准确性直接影响后续任务的执行。
- LEO [270] 和 LLM-Planner [12] 利用 LLM 生成分步计划,并根据环境感知进行动态调整。LEO [270] 强调基于当前场景配置的场景感知规划,而 LLM-Planner [12] 采用 GPT3 [127] 将规划分为高级子目标和低级动作,并在代理在任务执行过程中遇到困难时重新规划。
- 3D-VLA [276] 通过生成世界模型集成 3D 感知、推理和动作。它专注于通过利用其生成模型预测未来状态表示(例如目标图像和点云)来增强规划能力。
- Agent3D-Zero [17] 引入了线集提示 (SoLP),通过生成不同的观察视点来增强 VLM 对场景几何方面的理解。具体来说,SoLP 将网格线和刻度线叠加到 BEV 图像上,并提示 VLM 提供更准确的相机位置和方向,从而使 VLM 能够理解 3D 空间概念。
- UniHSI [277] 解决了人景交互 (HSI) 的任务,该任务涉及根据输入的语言命令在 3D 环境中生成人与物体之间的交互。它使用 LLM 作为规划器,将语言命令转换为表示为接触链 (CoC) 的任务计划,CoC 是一个表示人体关节点和物体位置之间时间顺序关系的序列。虽然上述方法侧重于单个场景内的规划,但 SayPlan [275] 可以通过 (i) 利用 3D 场景图进行语义搜索和 (ii) 将经典路径规划与迭代重新规划管道相结合以细化计划来处理多个房间和楼层。
4.5.2 3D Navigation
3D 导航是指实体代理在 3D 环境中移动和定位自身的能力,通常基于视觉输入和语言指令。
上述每种方法(LEO [270]、Agent3D-Zero [17]、LLM-Planner [12] 和 NaviLLM [11])都以不同的方式实现 3D 导航。LEO [270] 处理以自我为中心的 2D 图像和以对象为中心的 3D 点云以及文本指令。它生成一系列与可执行导航命令(如“向前移动”或“向右转”)相对应的动作标记。
- LEO 采用“最短路径导航试验”,与人类演示相比,它提供了噪音更小、更直接的学习环境。
- Agent3D-Zero [17] 通过根据对环境的评估不断选择新视点来进行导航。它结合了来自先前视点的历史数据来完善其导航路径,以实现特定目标,例如在办公室环境中找到打印机。
- LLM-Planner [12] 采用分层方法,首先生成高级计划作为子目标序列,然后由低级规划器将其转换为一系列原始动作。这使得整个过程能够适应当前环境。
- NaviLLM [11] 使用基于模式的指令将各种具体导航任务转换为生成问题。这些指令包括 4 个元素:由单词序列定义的任务、所有可达视点的观察、过去视觉观察的历史以及指导动作生成的输出提示(例如选择方向或对象)。
4.5.3 3D Object Manipulation
在 3D 具身代理的上下文中,操作是指它们与对象进行物理交互的能力,范围从移动对象到组装零件或开门等复杂序列。使 LLM 能够执行操作任务的核心思想在于标记动作序列。要让 LLM 输出特定动作,首先需要定义动作标记,使 LLM 能够根据任务和 3D 场景上下文生成所述动作。随后,CLIPort [242] 等平台或机器人手臂中的运动规划模块将这些标记化的动作转换为代理要执行的物理动作。
LEO [270]、MultiPLY [24] 和 3D-VLA [276] 各自使用不同的动作标记将口头或书面指令转换为 3D 空间中机器人的动作。
- LEO [270] 使用 500 多个特定标记来使机器人动作精确。具体来说,对于 CLIPort [242] 任务,动作姿势使用 516 个标记进行编码:x 轴姿势箱为 320 个标记,y 轴为 160 个标记,z 旋转箱为 36 个标记。
- MultiPLY [24]通过引入标记(如用于对象交互的 ⟨SELECT⟩、用于移动的 ⟨NAVIGATE⟩、用于仔细观察的 ⟨OBSERVE⟩、用于触觉反馈的 ⟨TOUCH⟩、用于听觉反馈的 ⟨HIT⟩、用于操作的 ⟨PICK-UP⟩ 和 ⟨PUT-DOWN⟩ 以及用于意识的 ⟨LOOKAROUND⟩)对此进行了扩展。这种方法还集成了感官反馈(触觉、温度和听觉),从而增强了机器人与周围环境的互动。
- 3D-VLA [276]包含 (i) 对象标记 (⟨obj⟩⟨/obj⟩) 来识别被操纵的对象,(ii) 位置标记 (⟨loc0-255⟩) 用于空间接地,以及 (iii) 机器人动作的专用标记,如手臂位置/旋转/夹持器状态。这些标记由 ⟨ACTSEP⟩ 分隔。此标记结构支持理解和执行复杂的 3D 操作。
虽然这些系统通过将指令映射到动作使机器人能够执行复杂的任务,但它们忽略了对可操作对象的语义理解,并且通常无法区分适合和不适合操作的部分。
- 为了解决这个问题,VoxPoser [13]、LAN-grasp [14] 和 ManipLLM [15] 专注于“可供性”,并创建可供性图来表示可用于执行特定任务的物体及其周围环境的特征,例如可抓握的手柄 [14, 15]、可按按钮 [15] 或可移动物体 [13]。
- 具体来说,VoxPoser [13] 使用 LLM 分解自由格式的语言指令,推断可供性和约束,并通过使用代码接口与 VLM 交互来组成 3D 体素图。这些地图能够生成对动态变化具有鲁棒性的闭环机器人轨迹,并能够从接触丰富的环境中的在线体验中学习。
- LAN-grasp [14] 采用基础模型,通过结合多个模型来识别可抓取部件,从而加深机器人对物体的理解,实现语义上适当的抓取,而无需重新训练。
- ManipLLM [15] 通过从文本提示、RGB 图像和深度图中识别接触点和夹持器方向的 3D 坐标来预测操作结果。
4.6 LLMs for 3D Generation
传统上,3D 建模是一个复杂且耗时的过程,门槛很高,需要仔细关注几何、纹理和照明才能获得逼真的效果。在本节中,我们将仔细研究 LLM 与 3D 生成技术的集成,展示语言如何提供一种在场景中生成情境化对象的方法,并为 3D 内容创建和操作提供创新的解决方案。
4.6.1 Object-level Generation
- Shape-GPT [283] 使用形状特定的 3D VQ-VAE 将 3D 形状量化为离散的“形状词”标记。这使得形状数据能够与文本和图像一起集成到 T5 语言模型 [139] 的多模态输入中。这种多模态表示使 T5 能够学习跨模态交互,例如文本到形状的生成和形状编辑/完成。
- GPT4Point [268] 使用双流方法 - 通过 Point-QFormer 将点云几何与文本对齐,然后将其输入到耦合的 LLM 和扩散路径中,以进行文本理解和符合文本输入的高保真 3D 对象生成。
- 相比之下,MeshGPT [282] 和 PolyGen [280] 不以文本为生成条件,但它们仍然采用类似于 LLM 中的序列建模的自回归方法。 MeshGPT 使用图卷积将网格几何/拓扑编码为通过残差矢量量化压缩的丰富嵌入,并输入到 GPT 样式的转换器中,以自回归方式预测标记/嵌入,从而生成具有所需属性的网格。
- PolyGen [280] 是一种基于自回归转换器的 3D 网格模型,它利用指针网络。它由一个无条件建模网格顶点的顶点模型和一个以输入顶点为条件的网格面模型组成,使用自回归网络输出面索引和顶点坐标,以生成各种高质量网格。
4.6.2 Scene-scale Generation
Holodeck [284] 和 GALA-3D [25] 采用多阶段流水线,逐步将初始粗略的 3D 场景布局从文本细化为详细的逼真的 3D 环境。
Holodeck 使用专门的模块来制作基本布局、选择材料,并根据 GPT4 的空间推理和位置/样式建议加入门窗等元素。 然后,它使用与 GPT-4 的文本描述匹配的 Objaverse 资产填充布局。 优化器根据从 GPT-4 获得的空间关系约束排列这些对象,以鼓励逼真的对象布局和交互。
GALA-3D [25] 首先使用 LLM 从文本生成粗略布局,然后将它们转换为 3D 高斯表示。 该表示是使用实例级文本到图像扩散先验创建详细 3D 内容的基础。它采用组合优化来微调布局引导高斯的参数,确保最终场景与文本在对象放置、缩放和交互方面保持一致。两者都利用 LLM 的互补优势来提取高级语义布局和生成模型/优化,以将其转换为几何和物理上合理的 3D 场景。
4.6.3 Procedural Generation and Manipulation
LLMR [281]、3D-GPT [26] 和 SceneCraft [303] 采用模块化架构,具有专门的组件/代理,用于交互式 3D 世界创建和从自然语言生成代码。
LLMR 由不同的组件组成,用于生成代码以在 Unity 中构建场景、理解现有场景对象和属性以进行修改、识别执行指令所需的函数以及评估最终代码质量。
同样,3D-GPT 具有用于解释指令和确定所需生成函数的组件,使用详细的建模属性丰富描述,并将丰富的描述转换为 Blender API 的 Python 代码。总体而言,这些方法展示了 LLM 组件的任务分解和专业化,以处理指令解释、函数映射和强大的代码生成。
5. 3D TASKS WITH VLMS
虽然第 4 节讨论了将 LLM 集成到 3D 任务中的方法,但大量研究已经通过 2D 视觉语言模型 (VLM) 的视角探索了 3D 理解的各个方面。VLM 包含更丰富的视觉信息,可以直接链接到 3D。本节回顾了一系列近期论文的贡献,涵盖语言驱动的开放世界理解、实例级理解、统一的端到端架构、空间推理、生成等。
5.1 Open-Vocabulary 3D Scene Understanding
开放词汇 3D 场景理解旨在使用自然语言描述而不是预定义的类别标签来识别和描述场景元素。OpenScene [29] 采用零样本方法,通过预测与 CLIP 的文本和图像像素嵌入共同嵌入在共享特征空间中的 3D 场景点的密集特征,实现与任务无关的训练和开放词汇查询,以识别对象、材料、可供性、活动和房间类型。CLIP-FO3D [304] 遵循类似的方法,修改 CLIP 以从投影到点云的 3D 场景中提取密集像素特征,然后通过蒸馏训练 3D 模型以传输 CLIP 的知识。语义抽象 [305] 从 CLIP 中提取相关性图作为抽象的对象表示,以推广到新的语义、词汇和领域。 Open-Fusion [306] 将 SEEM [307] 视觉语言模型与 TSDF 3D 映射相结合,利用基于区域的嵌入和置信度图实现实时开放词汇场景创建和查询。
PLA [308] 和 RegionPLC [309] 等方法利用对比学习将字幕与 2D 和 3D 数据模态相结合,以关联视觉和语义信息。
- PLA [308] 使用 3D 字幕对和对比学习将多视图图像与字幕关联起来,以学习视觉语义表示,
- 而 RegionPLC [309] 则通过结合映射到 3D 点的 2D 模型的区域级字幕,提出区域感知对比学习。
- OVIR-3D [310] 将现成的 2D 检测器中的 2D 区域提议和文本对齐特征融合到 3D 实例中,以实现高效的开放词汇检索。
- CoDA [311] 在其 3D 新对象发现 (3D-NOD) 策略中使用来自带注释基本类别的 3D 几何先验和 CLIP 的 2D 语义先验。其发现驱动的跨模态对齐 (DCMA) 将 3D 和图像/文本特征对齐,以实现新颖的对象定位和分类。
- OpenMask3D [312] 和 Open3DIS [313] 等实例级场景理解工作利用预测的类无关 3D 实例掩码和 2D 段级 CLIP 嵌入来实现开放词汇 3D 实例分割。
- OpenIns3D [314] 无需对齐图像即可实现开放词汇理解,使用“Mask-Snap-Lookup”管道,该管道预测 3D 掩码提议,生成合成场景图像,并通过语言模块为掩码分配类别。Rozenberszki 等人 [315] 建议利用 CLIP 特征为 3D 特征学习奠定基础,以实现 3D 语义和实例分割。
使用 NeRF 进行语言基础研究已在开放词汇场景理解中显示出良好的效果。DFF [316]、LERF [30]、VL-Fields [317] 和 3D-OVS [318] 等几种方法通过最小化体积渲染特征相对于 2D 特征的误差,将 DINO 或 CLIP 等 2D 特征提取器的知识提炼到 3D 特征域中,从而实现基于查询的局部编辑并将语言基础化为神经隐式表示。LERF [30] 通过体积渲染 CLIP 嵌入优化了密集的、尺度条件化的 3D 语言域。LangSplat [319] 和 N2F2 [320] 通过利用分层监督和多尺度特征域,展示了 3D 高斯 Splatting 表示中的高效开放词汇查询和交互。
5.2 Text-Driven 3D Generation
第 4.6 节介绍了使用 LLM 进行 3D 生成的方法。 在这里,我们调查了利用 2D VLM [174] 和文本到图像扩散模型 [321, 322] 指导的文本到 3D 生成方法,使用可微分渲染。
早期的作品,如 DreamFields [323]、CLIP-Mesh [32]、CLIP-Forge [324] 和 Text2Mesh [325] 探索了由 CLIP 指导的零样本 3D 生成。 DreamFusion [31] 引入了分数蒸馏采样 (SDS),其中通过使 3D 表示从任意角度呈现的高度逼真来优化其参数,如预先训练的 2D 扩散模型所评估的那样。它使用文本到图像 Imagen 模型 [322] 通过 SDS 优化 NeRF 表示。
Magic3D [326] 提出了一个两阶段框架:使用低分辨率扩散先验和稀疏 3D 哈希网格生成粗模型,然后使用高效可微渲染器和高分辨率潜在扩散模型 [321] 优化纹理 3D 网格模型。Fantasia3D [327] 使用混合 DMTet [328] 表示和空间变化的 BRDF 解开几何和外观。
ProlificDreamer [329] 引入了变分分数蒸馏 (VSD),这是一个基于粒子的框架,将 3D 参数视为随机变量以提高保真度和多样性。
Dream3D [330] 利用显式 3D 形状先验和文本到图像的扩散模型来增强文本引导的 3D 合成。
MVDream [331] 采用可在少量数据上训练的多视图一致扩散模型进行个性化生成。
Text2NeRF [332] 将 NeRF 表示与预训练的文本到图像扩散模型相结合,从语言中生成多样化的室内/室外 3D 场景。除了同时生成几何图形和外观外,一些研究还探索了仅基于给定几何图形合成纹理的可能性 [333、334、335]。
对于人类化身,AvatarCraft [336] 使用扩散模型来指导神经隐式场从文本提示中进行几何/纹理学习。此外,它通过使用显式扭曲场来变形神经隐式场,从而将目标人体网格映射到模板人体网格,从而为这些人类化身制作动画。 AvatarCLIP [337] 提出了一个零样本 CLIP 监督框架,用于从文本生成 3D 化身、几何雕刻、纹理映射和运动合成。
CG-HOI [338] 使用扩散模型从文本中表征动态的人与物体交互。
GenZI [339] 通过预先训练的视觉语言模型提取有关人类交互的信息,从文本提示中生成零样本 3D 人与场景交互合成。 在探索组合生成方面,CG3D [340] 通过合成没有边界框的单个对象,使用显式 3D 高斯辐射场生成可扩展的 3D 场景。Po 等人 [341] 通过文本提示和边界框引入局部条件扩散,以实现细粒度的场景控制。GraphDreamer [342] 通过将场景图分解为全局-局部描述来优化对象 SDF,从场景图生成组合场景。
总体而言,这些方法结合了扩散模型、视觉语言模型、神经表征和 3D 先验,用于文本到 3D 的对象、头像和场景的生成。
5.3 End-to-End Architectures for 3D Vision & Language
在大型 3D 文本数据集上进行预训练的 Transformer 模型可以学习到强大的联合表示,从而连接视觉和语言模态。
3D-VisTA [343] 是一个 Transformer 模型,它利用自注意力机制对 3D 视觉和文本数据进行联合建模,从而能够对掩码语言/对象建模和场景文本匹配等目标进行有效的预训练。
UniT3D [227] 采用统一的 Transformer 方法,结合 PointGroup 3D 检测主干、BERT 文本编码器和多模态融合模块,并对合成生成的 3D 语言数据进行联合预训练。
SpatialVLM [344] 采取了不同的策略,在大型合成 3D 空间推理数据集上联合训练 VLM,从而提高 3D 空间视觉问答任务的性能,并实现机器人的思路链推理等应用。
MultiCLIP [345] 预训练 3D 场景编码器,将场景特征与 CLIP 的文本和图像嵌入对齐,旨在迁移 CLIP 的知识,从而提高对视觉问答等任务的 3D 理解。
除了预训练方法外,研究人员还探索了在端到端框架中将 3D 感知与语言功能统一起来的架构。D3Net [27] 将密集字幕和视觉基础与 3D 对象检测器、用于根据检测生成字幕的扬声器和用于使用字幕区分对象的监听器相结合。Uni3DL [28] 在点云上运行,具有用于文本编码、点编码、语义/掩码预测和各种任务输出(如分割、检测、基础和字幕)的模块。InstanceRefer [346] 使用全景分割和语言线索根据语言描述筛选 3D 点云中视觉基础任务的实例候选,而 LanguageRefer [347] 将语言嵌入与来自 3D 边界框的空间嵌入相结合。 3DVG-Transformer [348] 也解决了点云中的 3D 基础问题,它具有坐标引导的上下文聚合模块和多路复用注意力机制,可实现有效的特征融合。
6 DATASETS
7 CHALLENGES AND OPPORTUNITIES
- 表示选择对 3D 视觉语言模型的性能有很大影响。目前,由于点云的简单性和神经网络兼容性,它主要用于表示室内(例如网格的顶点)和室外(例如 LiDAR 点云)环境。然而,它们很难捕捉到对准确、丰富的空间模型至关重要的细节。开发新的 3D 场景表示,更有效地弥合空间信息和语言之间的差距,可以开启新的理解和交互水平。通过寻找创新的方法在 3D 表示中编码语言和语义信息,例如使用精简语言和语义嵌入 [30, 316],可以帮助弥合这两种模式之间的差距。
- 3D 数据处理和 LLM 的计算需求都带来了重大挑战。随着 3D 环境的复杂性和语言模型的大小增加,可扩展性仍然是一个问题。为适应性和计算效率而设计的 LLM 架构的进步可以显著拓宽其应用范围。
- 改进基准对于全面评估和提高多模态 LLM 在 3D 任务中的能力至关重要。当前的基准范围有限,特别是在 3D 推理方面,阻碍了对空间推理技能的评估以及 3D 决策/交互系统的开发。此外,目前使用的指标不足以捕捉 LLM 在 3D 环境中的全部能力。制定更精确地衡量各种 3D 任务性能的任务特定指标至关重要。最后,当前场景理解基准的粒度过于简单,限制了对复杂 3D 环境理解的洞察。需要更多样化的任务。
- 在使用 LLM 进行 3D 理解时,必须考虑安全和道德影响。 LLM 可能会产生幻觉并输出不准确、不安全的信息,从而导致关键 3D 应用中的错误决策。此外,LLM 经常以不可预测且难以解释的方式失败。它们还可能继承训练数据中存在的社会偏见,在现实世界的 3D 场景中进行预测时,不成比例地使某些群体处于不利地位。在 3D 环境中使用 LLM 时必须谨慎,采用策略来创建更具包容性的数据集、用于偏差检测和纠正的强大评估框架以及最小化幻觉的机制,以确保负责任和公平的结果。