3D-VLA: A 3DVision-Language-Action Generative World Model
Date:2024-3-14
论文链接:https://arxiv.org/abs/2403.09631
原文代码仓库:[UMass-Embodied-AGI/3D-VLA: [ICML 2024] 3D-VLA: A 3D Vision-Language-Action Generative World Model]
提出了 3D-VLA,通过生成世界模型无缝地将 3D 感知、推理和行动联系起来。具体来说,3D-VLA 构建在基于 3D 的大型语言模型(3D-LLM)之上,并引入了一组交互tokens来与具体环境互动。此外,为了将生成能力注入模型,还训练了一系列扩散模型,并将它们对齐到LLM用于预测目标图像和点云的模型中。3D-VLA 显着提高了具身环境中的推理、多模态生成和规划能力,展示了其在实际应用中的潜力。
Background
- 已有模型存在的问题:
- RT-2、PALM-E等VLA模型已经可以根据2D图像生成高级计划或低级行动,但人类位于一个比2D图像更丰富的3D物理世界中,需要根据对环境的3D理解进行推理、计划和行动,而目前的VLA模型依赖于2D输入,缺乏与更广泛的3D物理世界领域的集成。
- 目前已有的3D具身模型可以在3D环境中进行规划与行动,但此类模型仅通过学习从感知到行动的直接映射来执行动作预测,而忽略了世界的巨大动态以及动作与动态之间的关系。相比之下,人类被赋予了世界模型,这些模型描绘了对未来场景的想象,以相应地规划行动。
- 构建类似人类的3D世界模型带来的挑战:
- 已有的模型局限于语言这一单一模态
- 现有的具身数据集主要包含 2D 图像或视频,缺乏用于 3D 空间推理和规划的 3D 相关注释
Dataset:3D embodied instruction tuning datasets
出发点:已有的数据集(视频-动作对)大多不提供深度或 3D 注释以及机器人操作中的精确控制,而如果没有 3D 信息,机器人很难理解和执行需要 3D 空间推理的命令(“将最远的杯子放入中间抽屉”)
构建方式:从已有的具身数据集(12个数据集:语言指令/图像/深度信息/模拟环境/人机交互/3D注释)中提取3D-语言-动作对,得到如下信息的标注:点云、深度图、3D bounding boxes;机器人7D动作(与RT系列文章一致,x/y/z/roll/pitch/yaw/抓持器打开);文本描述
视觉标注
- 获取3D点云数据:基于深度图数据,可使用相机标定内参/姿态数据将RGB-D图像升维至3D点云
- 估计深度:ZoeDepth
- 估计光流:RAFT
光流(optical flows):提炼生成数据——在摄像机姿态不变的视频片段中,用于估计哪些像素背景未移动,并将这些背景的深度图对齐到同一视频的不同帧中,同时将每帧的深度图乘以一个系数,以确保深度一致性。
生成3D标注:
- 对象的 3D 边界框(bounding box):
- 使用spaCy解析获取指令(数据集提供文本指令以描述机器人执行的命令)中的所有名词块(包括操作对象)
- 采用预训练的映射/对齐模型(grounding model)(如Grounded-SAM)获取各对象的2D蒙版,并根据有效光流区域中的最高置信度值来选择操作对象
- 通过将2D蒙版升维至3D点云中,获取空间中所有对象的3D bounding box
由于重建了深度和点云,因此可以在未来的帧中使用图像、深度和点云作为ground truth。
- 3D 空间中的机器人动作:数据集中已提供7D机器人动作
- 对象的 3D 边界框(bounding box):
语言标注
生成密集的语言标注,其中包含围绕在生成的3D视觉标注周围的tokens:采用带有tokens的预训练语言模板,将3D标注构建至提示词与答案中
e.g. I should
pick up
the chip bag [loc tokens] </img /pcd>
使用基于ChatGPT的提示词工具,使提示词prompt更加多样化:
- 向 ChatGPT 提供指令和标注对象及其bounding box,要求 ChatGPT 总结信息并将模板生成的提示重写为更多样化的形式;
- 提供 2-3 个人工编写的小样本演示,以指导 GPT 了解它被指示生成的数据类型;
- 对于没有预定义模板的任务,ChatGPT 也会被要求自行生成提示和答案作为这些任务的语言输入和输出。