325 lines
26 KiB
Markdown
325 lines
26 KiB
Markdown
# MultiPLY 技术讲解:面向 3D 世界的多感官、以物体为中心的具身大语言模型
|
||
|
||
> 论文全称:*MultiPLY: A Multisensory Object-Centric Embodied Large Language Model in 3D World*
|
||
> 发表会议:CVPR 2024
|
||
> 机构:UMass Amherst、UCLA、MIT-IBM Watson AI Lab
|
||
> 作者:Yining Hong, Zishuo Zheng, Peihao Chen, Yian Wang, Junyan Li, Zhenfang Chen, Chuang Gan
|
||
> arXiv:[2401.08577](https://arxiv.org/abs/2401.08577)(2024-01-16)
|
||
> 项目主页:<https://vis-www.cs.umass.edu/multiply/>
|
||
> 代码仓库:<https://github.com/UMass-Embodied-AGI/MultiPLY>
|
||
|
||
本讲解面向具身智能 / 多模态大模型方向的研究者,目标是把 MultiPLY 的动机、核心设计、数据构造、模型结构、训练范式与实验结论讲清楚,并对它在技术谱系中的位置与局限做出评估。
|
||
|
||
---
|
||
|
||
## 1. 一句话概括
|
||
|
||
MultiPLY 是第一批把"**主动交互式多感官感知**"塞进大语言模型的工作之一。它让一个由 LLM 驱动的具身智能体(embodied agent)在 3D 场景里**主动行动**——导航、靠近、敲击、触摸物体——并在每一步把视觉、听觉(撞击声)、触觉、温度等**多感官反馈**重新喂回 LLM,从而在"词语—动作—感知"三者之间建立关联。
|
||
|
||
与"被动多模态 LLM"(一次性把所有传感数据当输入塞进去)相比,MultiPLY 的关键差异是:**多感官细节只有在智能体真正去交互时才被"揭示"出来**,这使得感知是按需的、序列化的、可推理的。
|
||
|
||
---
|
||
|
||
## 2. 它想解决什么问题
|
||
|
||
### 2.1 被动感知的局限
|
||
|
||
当下绝大多数多模态 LLM(图文模型、3D-LLM 等)都是**被动吸收**传感数据:图像、点云、音频在推理开始时就被一次性编码为输入 token。这带来两个问题:
|
||
|
||
- **缺乏主动性**:模型无法"决定去摸一下这个杯子有多烫"或"敲一下这个箱子是不是空的"。而物体的很多属性(材质、温度、是否中空、软硬)本质上必须通过交互才能获得。
|
||
- **信息纠缠**:把所有模态一次性融合成单一 embedding,会让细粒度区分(材质 vs 温度 vs 声音)混在一起,难以分步推理。
|
||
|
||
### 2.2 整体点云表示的代价
|
||
|
||
同组的前作 **3D-LLM**(把整体 3D 点云编码进 LLM)证明了 3D 推理的可行性,但代价是:**训练昂贵、对单个物体的推理效率低**。当任务其实只关心场景里少数几个物体时,编码整张场景的稠密点云是浪费。
|
||
|
||
### 2.3 数据稀缺
|
||
|
||
要训练一个"会交互的多感官具身 LLM",需要"动作 + 多感官观测 + 语言"三元对齐的数据。这类数据现实中几乎不存在。MultiPLY 的相当一部分贡献其实在于**用仿真 + LLM 自动化地把这套数据造出来**。
|
||
|
||
---
|
||
|
||
## 3. 核心思想总览
|
||
|
||
MultiPLY 把三件事拼在一起:
|
||
|
||
1. **以物体为中心的抽象场景表示**(object-centric scene representation)——场景一开始只给"有哪些物体、在哪里"的抽象信息,不给细节感官数据。
|
||
2. **动作 token(action tokens)**——让 LLM 直接"生成动作",驱动智能体去交互。
|
||
3. **状态 token(state tokens)**——把交互后获得的多感官观测,编码后**追加回上下文**,供 LLM 生成后续文本或下一个动作。
|
||
|
||
这三者构成一个**闭环**:
|
||
|
||
```
|
||
抽象场景表示 → LLM 生成 [动作 token] → 智能体在仿真中执行动作
|
||
↑ │
|
||
└──── [状态 token](多感官观测编码回填) ←──────┘
|
||
│
|
||
LLM 继续生成文本 / 下一个动作
|
||
```
|
||
|
||
这正是它区别于"一次性塞输入"的被动模型的根本所在:**感知是行动的结果,而行动是 LLM 推理的产物。**
|
||
|
||
---
|
||
|
||
## 4. 数据:Multisensory Universe(500k 条交互数据)
|
||
|
||
数据是 MultiPLY 的基石,整条生成流水线值得拆开看。
|
||
|
||
### 4.1 场景底座:HM3D
|
||
|
||
使用 **Habitat-Matterport 3D(HM3D)** 提供的真实室内 3D 场景作为环境底座,在 **Habitat-sim** 仿真器里运行。
|
||
|
||
**问题**:HM3D 原生场景里的物体传感信息不足、多样性有限,而且在 Habitat-sim 里**不可交互**。
|
||
|
||
### 4.2 注入可交互的多感官物体
|
||
|
||
为此作者往场景里**添加新的可交互物体**,来源有两个:
|
||
|
||
- **ObjectFolder**:约 1k 个物体网格,其**撞击声(impact sound)以隐式神经场(implicit neural field)形式存储**,并标注了材质信息。这是音频与材质感官的主要来源。
|
||
- **Objaverse**:约 80 万个 3D 物体的超大物体库,从中筛选适合出现在室内场景的物体,扩充视觉多样性。
|
||
|
||
### 4.3 多感官信号怎么来
|
||
|
||
不同模态由不同仿真/编码手段生成:
|
||
|
||
| 模态 | 信号来源 | 触发动作 |
|
||
|------|----------|----------|
|
||
| 视觉 / 点云 | 物体网格渲染 + 以物体为中心的特征 | OBSERVE |
|
||
| 音频(撞击声) | ObjectFolder 的隐式神经声场 | HIT |
|
||
| 触觉 | **DiffTactile**(基于 MLS-MPM 仿真刚性 / 弹性 / 弹塑性物体,使用带位置标记点的 bubble gripper) | TOUCH |
|
||
| 温度(热成像) | 物体逐个标注 / 模拟的温度数据 | TOUCH |
|
||
|
||
### 4.4 用 ChatGPT 批量生成任务
|
||
|
||
作者用 **ChatGPT** 来"出题":生成各类任务的输入与输出(指令与目标回答),覆盖多感官描述(captioning)、问答(QA)、对话(dialogue)、操作(manipulation)、任务分解(task decomposition)等。随后让一个**具身智能体在仿真环境里真正去探索、交互**,采集这些任务对应的多感官观测,形成"指令 — 动作序列 — 多感官观测 — 回答"的完整训练样本。
|
||
|
||
最终得到 **Multisensory Universe:约 50 万条多感官交互数据**。
|
||
|
||
> 这套"用 LLM 自动造指令数据 + 仿真采集观测"的思路,是 LLaVA "用 GPT-4 造图文指令数据再做 instruction tuning" 范式向**具身、多感官、3D 交互**的延伸。
|
||
|
||
---
|
||
|
||
## 5. 模型架构
|
||
|
||
### 5.1 以物体为中心的场景编码
|
||
|
||
MultiPLY **不**把整张场景编码成稠密点云,而是构建抽象的、以物体为中心的表示。论文叙述上对标 **ConceptGraphs**(开放词表 3D 场景图、CLIP grounding)的思路:从带位姿的 RGB-D 序列出发,分割出物体区域、用 CLIP 编码并跨多视角融合,得到"3D 物体 + 视觉/语言描述符"的集合。
|
||
|
||
不过**公开仓库里 `simulator/semantic_extractor.py` 与 `feature_extractor.py` 的真实实现更直接**:智能体在房间的可导航网格点上逐点"球形扫描"(左转 3 次凑满 360° + 上看 + 下看,共 6 视角),每帧拿 RGB + 深度 + **仿真器给出的 ground-truth 语义分割**;对每个实例 mask 抠图,送入 **LLaVA 的 CLIP 视觉编码器(`LlaVa_Encoder`)** 编码,再对该物体的多视角特征取均值,得到一个 **1024 维**的物体级特征(逐物体存成 `.pt`);点云则由深度图反投影(`Reconstruct3D.depth_map2points`)后下采样得到。也就是说,released 版用**仿真器真值语义掩码**替代了 SAM/检测器这一步,是一种工程上更省事的近似。
|
||
|
||
这套表示的两大好处不变:**开放词表/语义丰富** + **稀疏高效**(只保留物体级抽象,而非全场景稠密点云)。在 MultiPLY 里,它的作用是先让 LLM 知道"场景里有哪些物体、大致在哪",而**把每个物体的细节多感官信息留到交互时再揭示**。
|
||
|
||
### 5.2 各模态编码器
|
||
|
||
每条感官流都被编码成 **1024 维**特征,再通过各自的投影层映射进 LLM 的隐藏维度(hidden size)。从代码(`llava_arch.py`)看,投影层分两套:
|
||
|
||
- **场景 / 视觉(`<scene>` / `<visual>`)**:复用 LLaVA 原有的视觉投影器 `mm_projector`(线性或 `mlp2x_gelu`)。特征来源是上文的多视角 CLIP 物体特征。
|
||
- **触觉(`<tactile>`)**:来自触觉仿真读数(`tactile_reading/marker4.pt`,对应论文里的 **DiffTactile**,基于 MLS-MPM 仿真、bubble gripper 标记点),经一个**新增的 2 层 GELU MLP**(`tactile_projector`)投影。
|
||
- **声音(`<sound>`)**:来自 ObjectFolder 的撞击声特征(`impact_sound .pt`),或场景环境音的 audioset embedding;经**新增 2 层 GELU MLP**(`sound_projector`)投影。论文层面对应用 **CLAP** 把声音对齐到语言空间。
|
||
- **温度(`<temperature>`)**:论文中作为第四种感官,但 released `llava_arch.py` 中**没有**对应的 `temperature_projector`,公开训练循环也未真正喂入温度特征——属于代码未完整释出的部分。
|
||
|
||
> 关键工程细节:训练时 `del model.model.vision_tower`,即**把 LLaVA 自带的在线 CLIP 视觉塔删掉**——所有感官特征都是**离线预提取**好的 `.pt`,训练时直接加载。这大幅降低了显存与计算开销,但也意味着特征提取与 LLM 训练是解耦的两个阶段。
|
||
|
||
### 5.3 LLM 主干与 token 体系
|
||
|
||
MultiPLY 构建在 **LLaVA 框架**之上,主干语言模型为 **Vicuna-7B(即 `liuhaotian/llava-v1.5-7b`,源自 LLaMA-2)**,并在其上做指令微调。各感官观测由各自的传感编码器编码,再通过投影层(sensor-to-image adapter)连接进 LLM——即把各模态特征对齐到 LLaVA 原本处理图像特征的接口上。它在 LLM 的词表里通过 `tokenizer.add_tokens(..., special_tokens=True)` + `resize_token_embeddings` 引入了两类**特殊 token**(token 字符串均来自仓库 `dataset.py`,是真实命名):
|
||
|
||
- **状态 token(state tokens)**:占位符,前向时其 embedding 会被对应的感官特征**替换**。包括 `<scene>`(场景里各物体的抽象特征)、`<visual>`(观察得到的物体点云/视觉特征)、`<tactile>`(触觉)、`<sound>`(撞击声)、`<temperature>`(温度)、`<ambient>`(环境音)。
|
||
- **动作 token(action tokens)**:让 LLM"说出"要执行的动作,驱动智能体交互。包括 `<observe>`(观察、取物体点云)、`<touch>`(触摸,取触觉/温度)、`<hit>`(敲击,取撞击声)、`<select>`(选定目标物体)、`<nav>`(导航)、`<pick-up>` / `<pick-down>`(拿起/放下)、`<look-around>`(环视探索)。
|
||
|
||
> 注意:论文行文里把动作写成 NAVIGATE / OBSERVE / TOUCH / HIT 等大写名,而**代码里的真实 token 是上面这些尖括号小写形式**。此外,released 训练脚本实际只接入了 `<scene>` / `<visual>` / `<tactile>` / `<sound>` 四类状态特征(见第 7 节),`<temperature>` / `<ambient>` 及部分动作 token 已在词表中定义但未在公开训练循环里完整启用。
|
||
|
||
### 5.4 推理时的闭环
|
||
|
||
推理时模型与环境形成闭环:
|
||
|
||
1. LLM 基于当前上下文(抽象场景 + 已有观测)**生成一个动作 token**;
|
||
2. 智能体在仿真环境中**执行该动作**,得到下一帧多感官状态观测;
|
||
3. 观测经对应编码器编码为**状态 token**,**追加回 LLM 上下文**;
|
||
4. LLM 据此**继续生成文本(回答)或下一个动作 token**,直至完成任务。
|
||
|
||
这套"生成动作 → 环境反馈 → 回填状态 → 再生成"的机制,使 LLM 能像人一样**边探索边收集证据、分步推理**,而不是一次性接收全部感官输入。
|
||
|
||
---
|
||
|
||
## 6. 训练范式
|
||
|
||
- **指令微调(instruction tuning)**:在 Multisensory Universe 数据上做指令微调,把动作 token 与状态 token 一并纳入序列建模。数据以 `Question: ... Answer: ...` 形式组织,**只对答案部分计算语言建模损失**(`fsdp_train.py` 里用分隔符 token id `22550`,即 "Answer" 定位答案起点,之前的 token 全部置为 `-100` 忽略)。
|
||
- **全参数微调,而非冻结**:与"冻结编码器只训投影层"的直觉不同,released 脚本里 `model.requires_grad_(True)`——**整个 LLM + 各投影层一起训练**(视觉塔已被删除,特征离线预提取)。优化器 AdamW,学习率 **1e-6**,`batch_size=2`,`max_length=2048`。
|
||
- **双目标损失**(这是代码里最值得注意的设计,论文正文较少强调):
|
||
- **`loss1`(语言建模)**:标准的下一 token 交叉熵,只在答案 token 上生效。
|
||
- **`loss2`(物体选择 / grounding)**:用 LLM **最后一层、最后一个位置的 hidden state** 与投影后的场景物体特征做点积(`einsum("abf,acf->abc")`)得到每个物体的"被选中分数",再对二值标签 `prediction`(该物体是否为目标)做 **加权 BCE**(正样本权重 1、负样本 0.2、padding 0,外加 `pos_weight=5`)。
|
||
- 总损失 `loss = loss1 + loss2`。这把"物体检索/指代消解"显式地变成一个可监督的注意力对齐任务,正是它在物体检索基准上大幅领先的工程原因之一。
|
||
- **分布式训练**:使用 **FSDP(Fully Sharded Data Parallel)**,`ShardingStrategy.SHARD_GRAD_OP`、fp16 混合精度、按 `LlamaDecoderLayer` 自动 wrap。入口 `fsdp_train.py`,通过 SLURM + `torchrun` 启动(示例:`--folder retrieval_attention3 --num_epochs=1000`,默认 8 卡/节点)。
|
||
|
||
---
|
||
|
||
## 6.5 代码级实现剖析(基于本地仓库精读)
|
||
|
||
仓库结构清晰,分三块:`model_release/`(改造版 LLaVA + 训练/数据)、`simulator/`(Habitat-sim 多感官仿真与特征提取)、`utils/`。以下是把"论文概念"对应到"代码事实"的关键点。
|
||
|
||
### 6.5.1 多感官特征如何"插入"LLM
|
||
|
||
核心在 `llava_arch.py` 的 `prepare_inputs_labels_for_multimodal`:
|
||
|
||
1. 先用 `embed_tokens` 把 `input_ids` 正常编码为文本 embedding;
|
||
2. 把各模态特征过投影层:`scene/visual → mm_projector`,`tactile → tactile_projector`,`sound → sound_projector`;
|
||
3. 用 `_insert_feature` 按"插入位置"(dataset 里记录的各占位 token 出现处 `*_insert_loc`)**逐位替换** embedding,并把这些位置的 label 设为 `-100`(不计入 LM 损失);
|
||
4. 之后就是标准 LLaMA 前向 + `lm_head`。
|
||
|
||
也就是说,多感官信息是以"**把占位 token 的词向量替换成感官特征向量**"的方式进入 LLM 的——这与 LLaVA 处理图像 patch 的机制同源。
|
||
|
||
### 6.5.2 占位符的数量对齐技巧
|
||
|
||
`dataset.py` 里有一个巧妙处理:文本中每出现一个 `<scene>`(或 `<tactile>` 等),会被**按特征条数复制**——`text.replace(self.scene_token, self.scene_token*len(scene_feature))`。这样占位 token 的数量正好等于要插入的特征向量数量,使第 6.5.1 步的"逐位替换"严格对齐。场景特征默认形状是 `(256, 1024)`(最多 256 个物体、每个 1024 维)。
|
||
|
||
### 6.5.3 数据条目的结构
|
||
|
||
每条样本是一个 JSON dict,可能包含:`question` / `answer` / `scene`(场景 id,去 `dataset/feature_dict/<scene>/<obj_id>.pt` 取物体特征)/ `visual` / `tactile_reading` / `impact_sound` / `temperature` / `prediction`(逐物体的目标性标签,用于 `loss2`)。`__getitem__` 用 `try/except` 包裹,取不到特征就回退到上一条——这是研究代码常见的容错写法,也说明数据完整性需要使用者自行保证。
|
||
|
||
### 6.5.4 仿真器(`simulator/`)
|
||
|
||
`MultisensorySimulator` 继承自 `habitat_sim.Simulator`:
|
||
|
||
- **放置可交互物体**:`_place_objs` 把 Objaverse / ObjectFolder 的网格按 bbox 缩放、定位、设材质与质量(动态/静态)后注入 HM3D 场景,并赋予从 10000 起的语义 id(便于和原生物体区分)。
|
||
- **导航**:`move_agent_to_target` 用 `ShortestPathFollower` 沿最短路径走到目标。
|
||
- **声学**:`calculate_audio` 用各步的**房间脉冲响应(RIR)**与声源音频做 `fftconvolve` 卷积,生成**双耳(binaural)空间化音频**——这是 SoundSpaces 式的声学仿真。
|
||
- **特征提取**:`semantic_extractor.py` / `feature_extractor.py` 在网格点球形扫描,借助 GT 语义掩码抠出物体、用 LLaVA CLIP 编码并多视角平均,落盘为物体级 `.pt` 特征与房间点云。
|
||
|
||
### 6.5.5 推理评测
|
||
|
||
`fsdp_train.py` 的 `eval()` 对短答案 QA 做贪心生成(`do_sample=False, max_new_tokens=10`),与真值字符串精确匹配统计准确率——对应论文里问答类任务的评测方式。
|
||
|
||
---
|
||
|
||
## 7. 能做哪些任务
|
||
|
||
MultiPLY 是一个**统一**的多任务模型,论文展示了它在以下任务上的能力:
|
||
|
||
- 多感官描述(multisensory captioning)
|
||
- 多感官问答 / 具身问答(multisensory QA / embodied QA)
|
||
- 对话(dialogue)
|
||
- 物体检索(object retrieval)——给定多感官线索找到目标物体
|
||
- 工具使用(tool use)
|
||
- 任务分解(task decomposition)
|
||
- 操作与导航(manipulation / navigation)
|
||
|
||
---
|
||
|
||
## 8. 实验结论
|
||
|
||
论文围绕几个研究问题(RQ)组织实验:物体检索、工具使用、多感官描述、任务分解,以及各感官模态的贡献(消融)。
|
||
|
||
### 8.1 物体检索(最具代表性的量化结果)
|
||
|
||
| 模型 | 物体检索准确率 |
|
||
|------|----------------|
|
||
| **MultiPLY** | **56.7%** |
|
||
| PointBind-LLM(微调) | 48.9% |
|
||
| ConceptGraph + CLIP | 18.7% |
|
||
|
||
MultiPLY 大幅领先。作者的分析是:**让 LLM 把不同传感数据"解耦、分步推理",而不是融合成单一 embedding**,对于需要细粒度区分(材质、温度等)的检索任务至关重要。
|
||
|
||
### 8.2 总体表现与消融
|
||
|
||
- 在物体检索、工具使用、多感官描述、任务分解等一系列具身任务上,MultiPLY **大幅超越各类基线**。
|
||
- 消融实验表明:**逐步叠加感官模态会持续提升性能**,使用视觉 + 音频 + 触觉 + 温度的完整模型取得最高准确率——验证了"多感官交互式感知"这一核心设计的价值。
|
||
|
||
> 注:除物体检索的具体数值外,工具使用 / 描述 / 任务分解的完整对比表与逐模态消融的精确数值,建议查阅 [CVPR 2024 论文 PDF](https://openaccess.thecvf.com/content/CVPR2024/papers/Hong_MultiPLY_A_Multisensory_Object-Centric_Embodied_Large_Language_Model_in_3D_CVPR_2024_paper.pdf) 原表。
|
||
|
||
---
|
||
|
||
## 9. 在技术谱系中的位置
|
||
|
||
MultiPLY 站在几条线索的交叉点上:
|
||
|
||
- **LLaVA**(视觉指令微调)→ 提供了"用强 LLM 造指令数据 + 冻结编码器 + 指令微调"的训练范式;MultiPLY 把它从 2D 图文推广到具身多感官 3D 交互。
|
||
- **3D-LLM**(同组前作,整体点云进 LLM)→ MultiPLY 用**以物体为中心的稀疏表示**替代稠密点云,降低训练/推理成本。
|
||
- **ConceptGraphs**(开放词表 3D 场景图,CLIP grounding)→ 提供了以物体为中心、开放词表的场景编码骨架。
|
||
- **ObjectFolder / DiffTactile / CLAP**(多感官仿真与编码)→ 提供视觉之外的声、触、热信号来源与编码手段。
|
||
|
||
它的**真正新意**在于把"**动作 token + 状态 token 的交互闭环**"引入 LLM,把感知从"被动输入"变为"主动行动的产物"。
|
||
|
||
---
|
||
|
||
## 10. 局限与可讨论之处
|
||
|
||
以研究者视角,几个值得关注的点:
|
||
|
||
- **强依赖仿真**:多感官信号(撞击声、触觉、温度)主要来自仿真(ObjectFolder 神经声场、DiffTactile、标注温度)。从仿真到真实世界(sim-to-real)的迁移、真实触觉/热传感的噪声与标定,论文未充分覆盖。
|
||
- **数据由 ChatGPT 生成**:指令与目标回答由 ChatGPT 自动产出,可能继承其偏置或产生与物理不完全一致的"幻觉式"标注;数据质量的系统评估是开放问题。
|
||
- **动作空间相对受限**:`<nav>` / `<observe>` / `<touch>` / `<hit>` 等是离散、高层的动作原语,距离真实机器人连续控制(力控、抓取轨迹)还有距离。
|
||
- **以物体为中心的取舍**:抽象表示高效,但会丢失场景级几何/空间关系的细节,对需要精细空间推理的任务可能不利;且 released 特征提取依赖仿真器 GT 语义掩码,迁移到真实场景需换成真正的开放词表分割(如 SAM/ConceptGraphs)。
|
||
- **复现成本与代码完整度**:FSDP 多卡训练 + 多个仿真器/编码器(Habitat-sim、DiffTactile、SoundSpaces 声学、CLIP 提取)的环境搭建较重;并且**公开代码是研究级、部分释出**——`README` 的 Requirements / Dataset Curation 仍为 TODO,温度模态投影器缺失,`model/feature_encoder.py` 等被引用文件未包含,数据 JSON(`all_questions.json`)与预提取特征需自行准备。把它当作"权威参考实现"而非"开箱即用工程"更稳妥。
|
||
|
||
---
|
||
|
||
## 11. 给想上手的研究者的建议路径
|
||
|
||
1. 先读 [arXiv 论文](https://arxiv.org/abs/2401.08577) 的 Method 与 Figure(动作/状态 token 闭环、数据流水线图)建立整体直觉。
|
||
2. 直接读代码三条主线,按这个顺序最省力:
|
||
- **token 与数据**:`model_release/dataset.py`(特殊 token 定义、占位符复制对齐、各模态特征加载);
|
||
- **模型如何吃进多感官特征**:`model_release/llava/llava/model/llava_arch.py` 的 `prepare_inputs_labels_for_multimodal` + `multimodal_projector/builder.py`;
|
||
- **训练目标**:`model_release/fsdp_train.py` 的 `train_one_epoch`(双损失 `loss1`+`loss2`、答案掩码、FSDP 配置)。
|
||
3. 想搞数据/仿真,再看 `simulator/`:`multisensory_simulator.py`(放物体、导航、RIR 声学)与 `semantic_extractor.py` / `feature_extractor.py`(球形扫描 + 物体级 CLIP 特征落盘)。
|
||
4. 沿依赖补外部组件背景:**Habitat-sim + HM3D**(环境)、**Objaverse / ObjectFolder**(物体与撞击声)、**DiffTactile**(触觉)、**LLaVA-1.5**(主干)。
|
||
5. 若关注方法迁移,重点研究"动作/状态 token 闭环 + 物体选择注意力损失"这一组合——它可脱离具体仿真器,迁移到其他需要"模型主动获取信息再决策"的场景(主动视觉、工具调用、检索增强)。
|
||
|
||
---
|
||
|
||
## 12. 相关工作(10 篇相近方向论文)
|
||
|
||
按子方向分组,附 arXiv 链接,并标注与 MultiPLY 的关系。
|
||
|
||
### 12.1 3D-LLM 谱系与具身 VLA(与 MultiPLY 最直接相关,多为同组工作)
|
||
|
||
1. **3D-LLM: Injecting the 3D World into Large Language Models**(NeurIPS 2023)—— MultiPLY 的直接前作,把整体 3D 点云特征注入 LLM;MultiPLY 用"以物体为中心的稀疏表示"改进了它的训练/推理效率。<https://arxiv.org/abs/2307.12981>
|
||
2. **3D-VLA: A 3D Vision-Language-Action Generative World Model**(ICML 2024)—— 同组工作,同样在 LLM 词表里加 scene / object / action 特殊 token,并接生成式世界模型;与 MultiPLY 的 token 机制是姊妹设计。<https://arxiv.org/abs/2403.09631>
|
||
3. **LEO: An Embodied Generalist Agent in 3D World**(ICML 2024)—— 两阶段训练(3D 视觉-语言对齐 + VLA 指令微调)的具身通用智能体,与 MultiPLY 在"3D 具身指令微调"上高度并行。<https://arxiv.org/abs/2311.12871>
|
||
|
||
### 12.2 具身多模态大模型(感知—推理—动作)
|
||
|
||
4. **PaLM-E: An Embodied Multimodal Language Model**(2023)—— 把连续传感模态直接编码进 LLM,建立"词语—感知"链接,是 MultiPLY"多感官入 LLM"思路的奠基工作之一。<https://arxiv.org/abs/2303.03378>
|
||
5. **EmbodiedGPT: Vision-Language Pre-Training via Embodied Chain of Thought**(NeurIPS 2023)—— 具身链式思维 + EgoCOT 数据集的端到端具身基础模型。<https://arxiv.org/abs/2305.15021>
|
||
6. **Matcha: Chat with the Environment — Interactive Multimodal Perception Using LLMs**(IROS 2023)—— 与 MultiPLY"主动交互式感知"最神似:用 LLM 指挥探索性动作,对视觉/声音/触觉/本体感觉反馈做推理与规划。<https://arxiv.org/abs/2303.08268>
|
||
|
||
### 12.3 点云 / 物体级 3D LLM(含 MultiPLY 的实际基线)
|
||
|
||
7. **PointLLM: Empowering LLMs to Understand Point Clouds**(ECCV 2024)—— 物体级彩色点云理解与描述,3D-LLM 方向代表作。<https://arxiv.org/abs/2308.16911>
|
||
8. **Point-Bind & Point-LLM: Aligning Point Cloud with Multi-modality**(2023)—— 把点云与多模态对齐;其微调版 **PointBind-LLM 正是 MultiPLY 物体检索实验里的最强基线**(48.9% vs MultiPLY 56.7%)。<https://arxiv.org/abs/2309.00615>
|
||
|
||
### 12.4 多感官物体感知与触觉
|
||
|
||
9. **The ObjectFolder Benchmark: Multisensory Learning with Neural and Real Objects**(CVPR 2023)—— 视觉/听觉/触觉的物体级多感官数据集与基准,**正是 MultiPLY 撞击声与材质数据的来源**(早期版 <https://arxiv.org/abs/2109.07991>)。<https://arxiv.org/abs/2306.00956>
|
||
10. **VTV-LLM: Universal Visuo-Tactile Video Understanding for Embodied Interaction**(2025)—— 首个面向"视触觉视频"理解的多模态 LLM,把触觉感知接入语言,延续 MultiPLY 的触觉方向。<https://arxiv.org/abs/2505.22566>
|
||
|
||
### 12.5 延伸阅读(3D 场景级 LLM 与综述)
|
||
|
||
- **LL3DA: Visual Interactive Instruction Tuning for Omni-3D Understanding**<https://arxiv.org/abs/2311.18651>
|
||
- **Chat-Scene / Chat-3D v2: Bridging 3D Scene and LLMs with Object Identifiers**<https://arxiv.org/abs/2312.08168>
|
||
- **Scene-LLM: Extending Language Model for 3D Visual Understanding and Reasoning**<https://arxiv.org/abs/2403.11401>
|
||
- **综述:Exploring Embodied Multimodal Large Models**<https://arxiv.org/abs/2502.15336>
|
||
|
||
---
|
||
|
||
## 来源(Sources)
|
||
|
||
- [MultiPLY 论文 arXiv:2401.08577](https://arxiv.org/abs/2401.08577)
|
||
- [CVPR 2024 Open Access PDF](https://openaccess.thecvf.com/content/CVPR2024/papers/Hong_MultiPLY_A_Multisensory_Object-Centric_Embodied_Large_Language_Model_in_3D_CVPR_2024_paper.pdf)
|
||
- [项目主页 vis-www.cs.umass.edu/multiply](https://vis-www.cs.umass.edu/multiply/)
|
||
- [GitHub 代码仓库 UMass-Embodied-AGI/MultiPLY](https://github.com/UMass-Embodied-AGI/MultiPLY)
|
||
- [CVPR 2024 Poster #29685](https://cvpr.thecvf.com/virtual/2024/poster/29685)
|
||
- [UMass Embodied AGI 发表列表](https://embodied-agi.cs.umass.edu/publications/)
|
||
|
||
相关工作(第 12 节)来源:
|
||
- [3D-LLM (2307.12981)](https://arxiv.org/abs/2307.12981)
|
||
- [3D-VLA (2403.09631)](https://arxiv.org/abs/2403.09631)
|
||
- [LEO (2311.12871)](https://arxiv.org/abs/2311.12871)
|
||
- [PaLM-E (2303.03378)](https://arxiv.org/abs/2303.03378)
|
||
- [EmbodiedGPT (2305.15021)](https://arxiv.org/abs/2305.15021)
|
||
- [Matcha (2303.08268)](https://arxiv.org/abs/2303.08268)
|
||
- [PointLLM (2308.16911)](https://arxiv.org/abs/2308.16911)
|
||
- [Point-Bind & Point-LLM (2309.00615)](https://arxiv.org/abs/2309.00615)
|
||
- [ObjectFolder Benchmark (2306.00956)](https://arxiv.org/abs/2306.00956)
|
||
- [VTV-LLM (2505.22566)](https://arxiv.org/abs/2505.22566)
|