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

  • 已有模型存在的问题:
    1. RT-2、PALM-E等VLA模型已经可以根据2D图像生成高级计划或低级行动,但人类位于一个比2D图像更丰富的3D物理世界中,需要根据对环境的3D理解进行推理、计划和行动,而目前的VLA模型依赖于2D输入,缺乏与更广泛的3D物理世界领域的集成。
    2. 目前已有的3D具身模型可以在3D环境中进行规划与行动,但此类模型仅通过学习从感知到行动的直接映射来执行动作预测,而忽略了世界的巨大动态以及动作与动态之间的关系。相比之下,人类被赋予了世界模型,这些模型描绘了对未来场景的想象,以相应地规划行动。
  • 构建类似人类的3D世界模型带来的挑战:
    1. 已有的模型局限于语言这一单一模态
    2. 现有的具身数据集主要包含 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):提炼生成数据——在摄像机姿态不变的视频片段中,用于估计哪些像素背景未移动,并将这些背景的深度图对齐到同一视频的不同帧中,同时将每帧的深度图乘以一个系数,以确保深度一致性。

RGBD目标图像的可视化(RGB+Depth深度图):Novel Env为日常生活中收集的未见环境

生成的RGB-D目标图像与目标点云

  • 生成3D标注:

    • 对象的 3D 边界框(bounding box)
      1. 使用spaCy解析获取指令(数据集提供文本指令以描述机器人执行的命令)中的所有名词块(包括操作对象)
      2. 采用预训练的映射/对齐模型(grounding model)(如Grounded-SAM)获取各对象的2D蒙版,并根据有效光流区域中的最高置信度值来选择操作对象
      3. 通过将2D蒙版升维至3D点云中,获取空间中所有对象的3D bounding box

    由于重建了深度和点云,因此可以在未来的帧中使用图像、深度和点云作为ground truth。

    • 3D 空间中的机器人动作:数据集中已提供7D机器人动作

语言标注

生成密集的语言标注,其中包含围绕在生成的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 也会被要求自行生成提示和答案作为这些任务的语言输入和输出。

使用ChatGPT使prompt更加多样化

Model

阅读更多