PointLLM:使大型语言模型能够理解点云

文摘   2024-11-13 07:04   中国香港  
摘要
大型语言模型 ( LLMs ) 的前所未有的进步对自然语言处理产生了深远的影响,但尚未完全涵盖 3D 理解领域。本文介绍了 PointLLM,这是填补这一空白的初步努力,使LLMs能够理解点云并提供超越 2D 数据的新途径。PointLLM 通过人类指令理解彩色对象点云,并生成上下文适当的响应,说明其对点云和常识的掌握。具体来说,它利用具有强大LLM点云编码器来有效融合几何、外观和语言信息。为了克服点文本指令跟随数据的稀缺性,我们开发了一个自动数据生成管道,收集了超过 730K 个样本和 660K 个不同对象的大规模数据集,这有助于采用 MLLM 中流行的两阶段训练策略发展。此外,我们通过提出两个新颖的基准来解决缺乏适当基准和当前评估指标的局限性:生成 3D 对象分类和 3D 对象描述,这两个基准得到了来自人类和 GPT 分析的新的综合评估指标的支持。通过探索各种训练策略,我们开发了 PointLLM,显着超越了 2D 和 3D 基线,在人类评估的对象描述任务中取得了显着的成就,在超过 50% 的样本中超越了人类注释者。
代码、数据集:https://github.com/OpenRobotLab/PointLLM

 欢迎加入自动驾驶实战群

在我们的研究中,我们评估了各种训练方案,并观察到最佳数量的投影层可以有效地增强特征聚类、对齐点和文本特征。我们还发现,采用最大池化来聚合点令牌可以减少令牌数量并大大提高训练速度,尽管性能会受到轻微影响。对数据变异性的进一步分析表明,模型性能在大约 600K 样本用于对齐和多样化指令数据时达到峰值,显着增强了微调,强调了数据量和多样性的价值。这些见解促成了 PointLLM 的发展,它明显超越了 2D 和 3D 基线,在超过 50% 的对象字幕样本中得分令人印象深刻地高于人类注释者。

  • 相关工作:

多模态大语言模型。多模态大语言模型(MLLM)旨在理解和解释超出单纯基于文本的数据的广泛信息[ 56 ] ,包括但不限于图像[ 23、31、14、61、51 ] 、音频[ 22 ] 、运动[ 25 ]等。广义上,模型可以分为两类。第一类包括采用大型语言模型与单独的、特定于模态的模型或 API 进行交互的模型[ 52,46,16,22,38 ] 。这种方法避免了模型训练的需要,但严重依赖于现有模型或 API 的可用性和功能。第二类涉及采用端到端训练策略的模型。这一类别中有两个突出的范例。第一个涉及从头开始训练模型,类似于纯文本LLMs ,使用大规模多模态语料库和数据集[ 23 , 39 ] 。第二个范式建立在预训练的LLMs和单峰编码器的基础上。 [ 10、28、1、2、59、11、31、14、61、27、8、44、60 ] 。该策略通常涉及两个阶段的过程:将单峰编码器与LLM的特征空间对齐,然后进行基于指令的微调。在我们的工作中,我们坚持对齐和调整策略来构建能够理解 3D 对象点云的 MLLM。

用语言理解对象点云。受到 CLIP [ 41 ]等连接视觉和文本模态的模型的启发,3D 对象领域也出现了类似的进步[ 58 , 62 , 24 , 50 , 32 , 54 , 55 , 19 ] 。PointCLIP [ 58 ] 、PointCLIPv2 [ 62 ]和 CLIP2Point [ 24 ]利用点云的深度图像投影通过 2D CLIP 模型进行 3D 识别。其他的,例如 ULIP [ 54 ] 、JM3D [ 50 ] 、OpenShape [ 32 ]和 CG3D [ 19 ] ,使用点云、图像和文本的三元组训练点云编码器以与 CLIP 表示对齐。ULIP-2 [ 55 ]和 OpenShape [ 32 ]通过采用图像字幕模型进行自动数据生成来扩展这一点,从而增强训练三元组的可扩展性。Cap3D [ 33 ]和UniG3D [ 45 ]采用类似的方法来生成点文本数据集。在我们的工作中,我们利用 Objaverse 上的 Cap3D 字幕在训练 PointLLM 时自动生成指令数据。最近推出的 3D- LLM [ 21 ]还试图通过将LLMs渲染为多视图图像,使用 CLIP [ 41 ]和 SAM [ 26 ]等 2D 基础模型进行特征提取,以及 2D MLLM 等来理解 3D。BLIP [ 28 ]用于输出生成。同时,Point-Bind LLM [ 15 ]将点云特征与 ImageBind [ 13 ]对齐,并使用 Imagebind- LLM [ 17 ]等 2D MLLM 进行生成。虽然简单,但由于其检索性质,它面临着幻觉等挑战。与众不同的是,PointLLM通过端到端训练直接将点云与LLM对齐,避免了复杂的数据预处理,并实现了准确、开放和自由形式的交互。

  • 方法:

开发端到端多模态LLM面临的艰巨挑战是获取大规模多模态指令跟踪数据,这对于表示学习、调整潜在空间以及调整模型以遵循人类意图至关重要[ 1 、 29、8、31、61 ] 。然而,手动标记此类数据成本高昂且劳动密集型。为了克服这个问题,我们遵循[ 31 ]并在GPT-4 [ 35 ]的帮助下提出了一种利用大规模点云字幕数据集Cap3D [ 33 ]的自动数据生成技术。生成的数据集遵循模板后的统一指令,如表 1 所示。如图1所示,由简要描述指令和复杂指令组成,分别有助于潜在空间对齐和指令调整。

出于对数据质量的关注,我们从 Cap3D 人工注释的分割中选择了 15K 个标题用于数据生成,每个标题包含五个以上的单词。在过滤了不正确的 GPT-4 输出后,我们收集了 70K 条复杂指令,其中包括 15K 条详细描述、40K 条单轮对话和 15K 条多轮对话。指令列表、GPT-4提示、数据示例和分布分析可以在补充材料中找到。

  • 模型架构

如图2所示,我们的PointLLM是一个生成模型,旨在完成包含点云和文本的多模态句子。该模型由三个主要组件组成:预训练的点云编码器 fpe 、投影仪 fproj ,以及预训练的大语言模型( LLM )主干 fllm 。

点云编码器 fpe 将点云作为输入 Pn×d , 在哪里 n 是点数并且 d 是每个点的特征维度。编码器的输出是一系列点特征 X=(x1,x2,,xm)m×c , 在哪里 m 是点特征的数量, c 是特征维度。投影仪 fproj 是映射点特征的MLP X 指向代币 Y=(y1,y2,,ym)m×c , 在哪里 c 是点标记的维度,与文本标记相同。

LLM骨干 fllm 是一个仅解码器的 Transformers [ 49 ] ,它接受由文本和点标记组成的标记序列。这种混合的标记序列表示为 Z=(z1,z2,,zk)k×c , 在哪里 k 是代币总数。利用自注意力机制, LLM主干能够理解不同类型令牌之间的上下文关系,使其能够基于文本和点云输入生成响应。形式上, LLM主干的输出 fllm 是预测标记的序列 Z^=(z^1,z^2,,z^k)k×c 。的预测 i -th 令牌, z^i ,以所有先前的标记为条件, Z<i=(z1,,zi1) ,数学上表示为


z^i=fllm(Z<i).

每个 z^i 通过最后一个线性层,然后进行 softmax 操作,将隐藏状态映射到词汇表上的概率分布。该附加层表示为 fvocab:cV , 在哪里 V 是词汇量的大小。最终预测 z~i 为 i -th token 是词汇表中概率最高的单词:


z~i=argmaxwvocabfvocab(z^i)[w].
  • 结束语:

当大语言模型范式来袭的时候,我们是否已经幸运的抓住了这波浪潮,并且能够在这波浪潮下有所成就!


最后别忘了,帮忙点“在看”。  

您的点赞,在看,是我创作的动力。


AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。


长按扫描下面二维码,加入知识星球。


Ai fighting
全网第一且唯一分享自动驾驶实战,以代码、项目的形式讲解自动驾驶感知方向的关键技术,从算法训练到模型部署。主要致力于3D目标检测,3D目标追踪,多传感器融合,Transform,BEV,OCC,模型量化,模型部署等方向的实战。
 最新文章