懂 3D 的语言模型来了!UCLA、上交、MIT 等联合提出 3D-LLM:性能大涨 9%
有了 3D - 语言模型,去重庆导航也不在「话」下!
大型语言模型(LLM)和视觉语言模型(VLM)在各种评测基准中都展现出了强大的性能,比如可以看图说话、进行常识推理。
但这些模型的训练过程并没有引入 3D 物理世界,也就无法理解更丰富的现实概念,包括空间关系、布局、物体反馈等。
最近,加州大学洛杉矶分校、上海交大、华南理工大学、麻省理工学院等机构的研究人员联合提出了一个全新的 3D-LLM 任务,把 3D 世界的知识注入到大型语言模型中,以 3D 点云及其特征作为输入,从而可以执行各种 3D 相关的任务,包括描述生成、3D 问题回答、任务分解、3D 辅助对话、导航等。
论文链接:https://arxiv.org/pdf/2307.12981.pdf
基于这个思路,研究人员设计了三种类型的提示机制,收集了超过 30 万的 3D 语言数据来支持上述任务。

为了有效地训练 3D-LLM,首先使用从渲染的多视图图像获得 3D 特征的 3D 特征提取器,再用 2D VLMs 作为模型的骨干来训练 3D-LLM 网络;通过引入 3D 定位机制,3D-LLM 可以更好地捕获 3D 空间信息。
在 ScanQA 上的实验结果表明,该模型显著优于最先进的基线模型,例如,BLEU-1 指标上的性能提升达到 9%
此外,在 3D 描述生成、3D 辅助对话等数据集上的实验表明,该模型优于 2D VLMs
定性结果也表明,该模型可以执行超出现有的 LLM 和 VLM 能力范围的一些任务。
三维语言数据生成
从互联网上可以轻松获取海量的二维图像和相应文本的数据对,不过三维多模态数据的获取却非常困难,网络上的三维资产非常稀缺,而且提供文本标注也更有挑战。
现有的三维语言数据,如 ScanQA、ScanRefer 等在数量和多样性方面都很有限,而且每个数据集都仅限于一项任务,如何自动生成一个可用于各种三维相关任务的三维语言数据集非常值得深入研究。
受 GPT 等大型语言模型的启发,研究人员提出利用此类模型来收集 3D 语言数据。
具体来说,主要有三种方法来提示纯文本 GPT 模型来生成数据:
基于 boxes-demonstration-instruction 的提示。
输入三维场景中房间和物体的轴对齐包围框(AABB),提供场景的语义和空间位置信息,然后向 GPT 模型提供具体指令,以生成多样化的数据。
研究人员给 GPT 模型提供 0-3 个少样本演示示例,用来指示生成的数据类型。
基于 ChatCaptioner 的提示。
使用 ChatGPT 输入提示询问一系列关于图像的有信息量的问题(informative questions),然后用 BLIP-2 模型回答这些问题。
为了收集三维相关数据,研究人员将不同视角的图像输入 BLIP-2,然后要求 ChatGPT 提问并收集不同区域的信息,从而形成整个场景的全局三维描述。
基于 revision 的提示,可用于将一种三维数据迁移到到另一种类型的三维数据。
经过上述流程,GPT 能够生成各种类型的三维语言数据,主要基于下列三维资产:
Objaverse,包含 80 万个三维物体,不过由于语言描述是从在线资源中提取的,未经人工检查,因此大多数对象的描述都包括大量噪声,比如网址等,或是无法生成描述。研究人员利用基于 ChatCaptioner 的提示功能为场景生成高质量的 3D 相关描述。 Scannet,包含约 1000 个 3D 室内场景的富标注数据集,提供了场景中物体的语义和边界框。- Habitat-Matterport (HM3D) ,具身人工智能(embodied AI)的三维环境数据集。HM3DSem 为 HM3D 的 200 多个场景进一步添加了语义注释和边界框。
3D-LLM
3D 特征抽取器
训练 3D-LLM 的第一步是建立有意义的 3D 特征,使之可以与语言特征相匹配,但由于缺乏大规模三维资产数据集,所以无法采用预训练的方式学习表征。
受到从二维多视角图像中提取三维特征的方法启发,研究人员提出通过渲染多个不同视角的三维场景来提取三维点的特征,并从渲染的图像特征中构建三维特征。
首先提取渲染图像的像素对齐密集特征,然后针对不同类型的三维数据,设计了三种方法从渲染图像特征中构建三维特征:
直接重建(direct reconstruction)
基于 3D 数据,使用真实相机矩阵,直接从三维数据渲染的 rgbd 图像中重建点云,将特征直接映射到重建的三维点。
这种方法适用于具有完美相机姿势和内在特征的 rgbd 渲染数据。
特征融合(feature fusion)
使用 gradslam 将二维特征融合到三维映射中,与稠密映射方法不同的是,除了深度和颜色之外,模型还融合了其他特征。
这种方法适用于具有噪声深度图渲染或噪声相机姿势和内在特征的三维数据。
神经场(neural field)
利用神经 voxel 场构建三维紧凑表征,具体来说,除了密度和颜色外,神经场中的每个 voxel 都有一个特征,可以利用 MSE 损失对射线中的三维特征和像素中的二维特征进行对齐。
这种方法适用于有 RGB 渲染但无深度数据的三维数据,以及有噪声的相机姿态和本征。
训练 3D-LLMs
考虑到使用三维特征提取器可以将三维特征映射到与二维图像相同的特征空间,因此使用这些二维视觉语言模型作为 3D-LLM 的骨干是合理的。
鉴于三维特征与三维特征抽取器提取的二维特征处于相同的特征空间,而且感知器能够处理相同特征维度的任意输入大小,因此任意大小的点云特征也可以输入到感知机中。
因此,研究人员使用三维特征提取器在与冻结图像编码器特征相同的特征空间中提取三维特征,然后使用预训练二维视觉语言模型作为骨干网络,输入对齐的三维特征和收集的 3D 语言数据集来训练 3D 语言模型。
3D 定位机制
除了建立与语言语义相匹配的三维特征外,捕捉三维空间信息也至关重要。
研究人员提出了一种三维定位机制,以提高三维 LLMs 吸收空间信息的能力。
该机制由两部分组成:
用位置嵌入增强三维特征,将所有嵌入串联起来作为最终特征 将三维位置放入嵌入词汇表,用 AABB 的形式表示边界框,连续角坐标被统一离散为 voxel 整数,在语言模型的输入和输出嵌入中解冻这些 token 的权重。
实验部分
从 ScanQA 验证集和测试集的实验结果中可以看到,几乎所有的评估指标都得到了明显提升。
例如,对于 BLEU-1 指标,该模型在验证集上比最先进的 ScanQA 模型高出约 9%,在测试集上高出约 7%。
这些结果表明,通过将 3D 注入 LLM,模型生成的答案与真实答案更为相似。
此外,基于 3D 的基线使用对象检测器(如 VoteNet)来分割对象,然后将每个对象的特征发送到它们的模型中,而文中提出的模型输入是整体 3D 特征,没有显式的对象表征。
结果表明,即使没有明确的对象表征,该模型也能对物体及其关系进行视觉推理。
还可以发现,以单视角图像或多视角图像作为输入,二维 VLM 的性能会比三维 VLM 下降很多,也就是说多视角图像也包含整个场景的信息,但与 3D-LLM 相比,3D VLM 的性能仍然要低得多,可能是因为多视角图像的特征是无序的,从而丢失了与 3D 有关的信息。
参考资料: