背景介绍
多模态大语言模型(Multi-modal Large Language Models, MLLMs)以文本模态为基础,将其它各种模态对齐至语言模型的语义空间,从而实现多模态的理解和对话能力。
近来,随着多模态大语言模型在 3D 领域的迅速发展,3D 大语言模型展现了其在场景理解和交互方面的巨大潜力。然而,现有 3D 大模型在复杂场景中视觉定位能力仍有较大提升空间,尤其是在多物体、多层次场景的理解与应用方面。
为此,我们推出了 Chat-Scene 模型,这一模型通过引入独特的物体标识符机制,提升了 3D 场景中的多物体引用和定位的效率和精确性,旨在为复杂 3D 场景的理解和互动提供一种创新方案。
论文标题:
Chat-Scene: Bridging 3D Scene and Large Language Models with Object Identifiers
论文地址:
https://arxiv.org/abs/2312.08168
项目代码:
https://github.com/ZzZZCHS/Chat-Scene
方法
2.1 核心设计:物体标识符赋能3D场景交互
Chat-Scene 模型的核心特色在于引入了物体标识符(Object Identifiers),为每个物体分配独特的标识符,从而在复杂场景中实现物体的精准指代和定位。我们希望通过这一设计,能够有效减少现有模型因描述模糊而引发的理解障碍。
如图 1 所示,在之前的大语言模型中,往往依赖冗长的文字描述来指代或定位物体,例如 “the chair at the southwest corner of the rightmost table”。而通过 Chat-Scene 的物体标识符,模型可以直接使用如 “” 这样的简单标识符在对话中指示目标物体,从而提升用户与模型间的交互效率。
此外,这种机制还使得我们可以将多种 3D 任务转化为统一的问答形式,以便模型可以进行更高效的多任务训练。
▲ 图1 在对话中使用物体标识符的例子
2.2 物体级的多模态嵌入表示
Chat-Scene 在场景表示方面的设计也引入了新的思路。由于现有的 3D 场景语言数据较为稀缺,我们通过大规模预训练的物体级嵌入表示,来尽量减少对大量场景语言数据的依赖。我们的模型通过多模态物体级嵌入,结合了 3D 和 2D 视觉模型的语义信息,以提升对场景的理解深度和广度。
具体而言,Chat-Scene 模型首先利用预训练的 3D 检测器将场景分解为若干物体,并为每个物体生成一个独特的标识符。然后,模型通过 3D 和 2D 编码器分别从 3D 点云和多视角图像中提取物体特征。
我们通过线性投影层将这些特征映射到语言模型的嵌入空间,从而形成一系列物体级嵌入以表示整个 3D 场景。我们希望这种设计在减少数据需求的同时,能够显著提升模型在多种 3D 任务中的性能。
▲ 图2 模型整体架构
2.3 统一问答框架和单阶段联合训练
为了进一步简化多模态任务的训练,我们将所有 3D 场景理解任务转化为统一的问答框架。不论是 3D 场景问答、视觉定位,还是密集描述任务,我们的模型都可以通过这一问答框架进行训练与推理。
通过这一统一格式,模型在不依赖任务专用模块的情况下实现了多任务联合训练,从而提升了训练效率,也让模型能够在不同任务间共享知识。每种任务的问答示例如图 3 所示。
当前大多数 3D MLLMs 通常采用两阶段训练方法,即特征对齐训练与特定任务微调。为了进一步优化训练效率,我们选择了联合训练策略,在训练中同步优化投影层和语言模型的参数,避免了额外的对齐阶段。这种策略不仅简化了训练流程,还显著降低了训练开销,同时在不同任务中展示了优异的场景理解表现。
▲ 图3 多种下游任务的问答示例
实验结果
3.1 在多个数据集上的效果验证
▲ 表1 在多个下游数据集上的性能对比
如表 1 所示,我们在ScanRefer、Multi3DRefer、Scan2Cap、ScanQA 和 SQA3D 等数据集上测试了模型的性能,实验结果显示模型在这些任务中的表现得到了显著提升:
-
**ScanRefer 数据集:**在单物体视觉定位任务上,Chat-Scene 的准确率(Acc@0.5)提升了 3.7%,展现了其在精确物体定位方面的潜力。
-
**Multi3DRefer 数据集:**在多物体视觉定位任务上,我们的模型将 F1@0.5 分数提高了 14.0%,表明 Chat-Scene 在复杂场景下的多物体定位能力值得期待。
-
**Scan2Cap 数据集:**在密集描述任务中,Chat-Scene 的 CIDEr@0.5 得分提高了 8.7%,表现出其在物体引用和描述上的优势。
-
**ScanQA 和 SQA3D 数据集:**即便是在不涉及物体引用的问答任务中,Chat-Scene 依旧展现了出色的场景理解和推理能力。
能够在如此多样化的任务上取得显著提升,我们认为这得益于 Chat-Scene 的多模态物体级嵌入表示和物体标识符引用机制,从而让模型在较少的场景语言数据下也能保持较好的泛化能力。
3.2 物体标识符的消融实验
Chat-Scene 采用了可学习的物体标识符,使模型能够精确引用和定位特定物体。实验中,我们将不同标识符类型进行了对比,包括:
-
普通文本标识符:使用常规文本描述物体编号(如 “Obj001”),该方法占用较多 token(每个物体标识符需要 6 个 token),导致训练成本增加且效果较差。
-
固定高斯嵌入:采用固定的随机高斯嵌入作为标识符,与学习型标识符相比,效果略低且缺乏灵活性。
-
可学习的标识符:通过引入可学习的标识符 token,显著减少了 token 数量(降低至 3 个 token),大幅提高了模型的内存利用率和训练速度,同时获得更优的性能。
如表 2 实验结果显示,可学习标识符的方式在 ScanRefer、Multi3DRefer、Scan2Cap 等数据集上的表现优于其他标识符类型,特别是在准确性和内存使用效率上具有明显优势。
▲ 表2 物体标识符的消融结果
3.4 多模态物体级别嵌入的消融实验
如表3所示,在多模态物体级别嵌入方面,我们分别测试了以下几种设置,以评估不同特征融合方法的影响:
-
单模态嵌入:仅使用 3D 特征或 2D 特征来表示物体。在实验中,2D 特征比 3D 特征表现更好,表明 2D 视觉信息在物体语义表达中占据更重要的作用。这可能与 2D 编码器经过大量数据预训练有关,从而具备更强的语义捕捉能力。
-
单视角与多视角嵌入:相比仅使用单视角图像,使用多视角图像嵌入显著提升了模型的效果。多视角能够为物体嵌入提供更丰富的视觉信息,从而提升模型的定位和描述能力。
-
特征融合方式:我们测试了“融合 token” 和“独立 token” 两种多模态特征融合方法。实验表明,“独立 token” 方法效果最佳,通过为每个物体分配独立的 3D 和 2D 嵌入 token,模型在 ScanRefer 和 Multi3DRefer 等多任务上均达到了最优效果,而“融合 token” 虽然减少了 token 数量,但效果略有下降。
这些实验结果表明,在保持较低 token 成本的前提下,使用多视角的独立 token 可以最大化 3D 和 2D 特征的互补性,进一步提升模型的性能。
▲ 表3 多模态物体级别嵌入的消融实验
总结与展望
Chat-Scene 模型在 3D 场景理解方面展示了卓越的表现,通过创新性地引入物体标识符和多模态物体级别嵌入表示,显著提升了对多物体场景的引用和定位精度。
实验结果显示,该模型在多个 3D 场景理解任务上都取得了优异的性能,并在视觉问答、密集描述、视觉定位等任务中展现了多任务泛化的潜力。然而,当前方法也有一些重要的限制,值得在未来工作中进一步探索和改进。
4.1 基础模型的依赖性
Chat-Scene 主要依赖于多个预训练的基础模型,如 2D/3D 检测器和编码器。尽管这些模型在实验中提供了良好的支持,但它们在部分场景中仍存在识别错误。因此,未来的研究方向之一是将这些基础模型整合进端到端的训练过程中,以便对特定任务进行优化。
此外,随着基础模型的改进,Chat-Scene 的性能也将得到进一步提升。
4.2 训练数据的稀缺性
相比 2D 视觉-语言模型受益于数百万对图像-文本数据,3D-语言领域仍然面临着数据稀缺的挑战。当前 3D 数据集的规模有限,这限制了模型在空间关系理解和广泛场景适应性上的表现。
为了弥补这一不足,未来的工作可以专注于扩大 3D 场景语言数据的规模,特别是更广泛的空间关系数据,从而更好地支持模型的训练与泛化。
4.3 结构元素的理解
在一些任务中,Chat-Scene 表现出对场景中结构元素(如墙壁、地板和天花板)理解的不足。这在某些视觉定位任务中尤其明显,例如,当模型被要求识别“靠墙”的椅子时,可能会出现错误选择。
这种不足可能在很大程度上是因为这些结构元素通常不被当作独立物体进行标注和处理。因此,未来工作可以尝试将这些结构元素纳入到训练数据中,以增强模型对整个 3D 场景的整体理解能力。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。