4D-VLA:具有跨场景标定的时空视觉-语言-动作预训练
25年6月来自复旦和华为的论文“4D-VLA: Spatiotemporal Vision-Language-Action Pretraining with Cross-Scene Calibration”。
利用多样化的机器人数据进行预训练仍然是一项关键挑战。现有方法通常使用简单的观测数据作为输入来建模数据集的动作分布。然而,这些输入通常不完整,导致条件动作分布分散——称之为坐标系混沌和状态混沌。这种不一致性严重影响预训练的效率。为了解决这个问题,提出 4D-VLA,可以有效地将 4D 信息集成到输入中,从而缓解这些混沌源。模型通过连续的 RGB-D 输入将深度和时间信息引入视觉特征中,从而对齐机器人和场景的坐标系。这种对齐赋予模型强大的时空推理能力,同时最大限度地降低训练开销。此外,引入记忆库采样,这是一种旨在从历史图像中提取信息帧的帧采样策略,进一步提高有效性和效率。实验结果表明,预训练方法和架构组件显著提升了模型性能。在模拟和真实世界实验中,模型相比 OpenVLA [1] 的成功率均有显著提升。为了进一步评估空间感知及其对新视角的泛化能力,引入多视角模拟基准 MV-Bench。
如图所示:上:预训练设计理念强调,先前的方法通常缺乏关键的输入线索,无法进行准确的动作推理。这导致目标动作分布表现出较高的方差或非平滑性,从而对预训练性能产生负面影响。粗略分析表明,在 DROID 数据集中,67% 的样本的机器人底座被遮挡,导致坐标系混乱。下:在模拟和真实机器人环境中验证方法,并报告 openVLA 基线和 4D-VLA 方法的性能。
如图所示,模型处理连续的 RGB-D 图像作为输入,将其转换为相应的空间视觉 token。这些 token 与特定于任务的文本 token 一起,作为后续 Transformer 的特征输入。经过 VLM Transformer 和动作头解码后,最终生成动作输出。
初步问题
问题定义。视觉-语言动作 (VLA) 模型以语言指令作为输入,旨在控制机器人完成指定任务。具体而言,具有低级控制策略的 VLA 模型是指一类使用当前观测值作为输入来预测机器人当前状态下动作的模型,从而实现端到端闭环控制。动作由三个分量定义:∆x 、∆θ 和 g ∈ [0, 1] ,分别表示控制平移、旋转偏移和机器人末端执行器的开闭状态。
视觉-语言模型主干网。用一个预训练的大视觉-语言模型 (VLM) 作为主干网,具体来说是 InternVL-4B [12],它由一个文本token化器 T、一个视觉编码器 E 和一个 Transformer 解码器 D 组成。视觉编码器处理视觉观测数据,随后由 MLP 投影器 P 压缩以生成视觉嵌入,而文本输入则被token化和嵌入以形成结构化的文本tokens。然后,这些多模态 tokens 被输入到解码器 D 中进行下一个 token 预测。该主干网为将视觉信息与共享语义空间对齐提供了坚实的基础,从而能够有效地生成机器人动作。
空间-觉察视觉 token
合理的动作预测需要同时感知场景的语义感知和空间感知。空间感知的一个基本方面是机器人必须准确确定其在场景中的相对位置,从而有效地解决坐标系混乱问题。为了解决这个问题,同时增强空间感知能力,且不损害语义感知,从深度获得的坐标信息与视觉 token 融合,从而生成空间视觉 token。
在该方法中,输入图像 I 首先由 E 编码成一个下采样率为 c 的特征图,得到 f_v = E (I),k 为特征维度。接下来,获得一个下采样的深度图 D,它将深度值分配给每个相应的特征体。利用相机的外参 [R|T] 和内参 K,将深度值反向投影到世界(或机器人)坐标系中的三维坐标 P_w。
应用可学习的位置嵌入 E_S 对 3D 坐标进行编码,并通过逐元素相加将其与原始视觉特征图集成,形成增强空间表征的空间视觉特征。这些特征随后由 InternVL [12] 中的 MLP 投影器 P 处理,生成空间视觉 token eST = P(E(I) + E_S(P_w))。
具有多帧编码的四维表示
由于空间视觉 token 旨在表示单帧信息,并且 LLM 已使用视频数据进行微调,因此可以自然地扩展编码过程,使用相同方法合并多帧信息。这能够无缝集成连贯的四维时空表示。一种简单的方法是将当前帧的空间视觉 tokens 与均匀采样的历史帧中的 tokens 一起使用,作为输入 {eST_t−j | j = 0, 1, 2, … , n − 1},其中 n 表示使用的时间帧总数,t 表示当前帧在序列中的索引。然后,将这些 tokens 与来自任务指令的相应文本 tokens一起输入到 VLM 的 Transformer 中进行解码。
记忆库采样。然而,实验表明,该模型的性能对采样间隔和总时间窗口 n 都高度敏感。虽然更密集的帧采样可以提升性能,但它会显著增加内存消耗并降低推理速度。此外,由于机器人的移动速度随时间变化,简单的均匀采样策略往往会导致信息冗余,从而导致效率低下。
为了有效地利用时间信息,提出一种基于记忆库的自适应历史帧采样方法,旨在以最少的帧数捕获丰富的历史信息。具体而言,给定当前时间戳t,所有图像观测值 {I_t−j | j=0,1,2,…,n−1},时间窗口为 n,记忆库采样 M 返回一组 k 个采样时间戳 H = M(t, {I}, k, φ),其中 k 是基于特定特征提取器 φ 的样本帧数。该算法详见算法 1,它按顺序遍历图像组,同时维护一个相似度队列,确保每个新添加的帧的相似度低于当前最大值。
时间位置编码。由于记忆库采样遵循非均匀策略,因此必须对每个采样的空间视觉 tokens 相对于当前帧的时间位置进行编码。为了增强模型的灵活性和泛化能力,引入一个时间编码 token eT,它捕获历史帧和当前帧之间的相对时间偏移量,eTj = E_T (t−j),其中 j 表示历史帧的时间戳,t 表示当前观察时间,E_T 是可学习的时间编码函数。因此,最终的输入 token 集结构如下:
每个采样帧 i 贡献一个 token 对 [eT_i |eST_i],其中时间编码标记位于空间视觉 token 之前。这种设计确保模型能够有效地捕捉时间关系,同时保持空间感知。
损失函数
为了加速控制策略的生成,用一个带有两个 MLP 层的动作头,该动作头使用 VLM Transformer 最后一个 token 的隐特征来预测动作 [∆xˆ, ∆θˆ, gˆ]。总训练损失可以写成如下形式:
L = L_t + L_r + L_g + λ_d L_d。
MV-Bench
提出 MV-Bench 来全面评估模型在不同视角下学习控制策略以及推广到新视角的能力,同时评估模型的空间理解能力和适应性。
基准测试设置:基于 LIBERO-SPATIAL [4] 构建一个多视角数据集。对于每条轨迹,在 270° 正面范围内均匀采样 6 个训练视角和 6 个测试视角。评估包括两个任务:In-View(训练和测试使用相同的视角)和 Cross-View(测试在未知的视角上进行)。相机设置如图所示。
仿真数据和环境
数据处理。在 DROID [2] 数据集上对模型进行预训练。RGB-D 帧的大小调整为 448×252,每条轨迹均匀下采样至 100 个动作。移除本体感觉不变的帧,特别是静止帧,并排除总动作数超过 600 的轨迹。动作定义为末端执行器当前状态与目标状态之间的差异,平移缩放 15 倍,旋转(欧拉角)缩放 5 倍以进行归一化。
预训练细节。预训练模型基于 InternVL-4B。用 20 的时间窗口,并应用存储库采样来选择 5 个过去帧以及当前帧。RGB-D 输入由 InternVL 中的原始视觉编码器处理,并在传递到投影器(一个下采样率为 4 的多层感知器 (MLP))之前加入 3D 位置编码,该投影器由预训练的 InternVL 权重初始化。为了处理 DROID 的稀疏或不完整深度,计算每个视觉块内的平均深度。如果超过 90% 的块被遮盖,跳过添加 3D 特征的步骤,这实际上相当于 丢弃(dropout) 和数据增强。
在训练过程中,冻结视觉编码器,但训练所有其他参数。λ_d 设置为 1。用余弦学习率调度器,初始学习率为 2e-5。模型训练 1 个 epoch,批大小为 512,大约需要 2 万步才能完成。训练在 8 块 NVIDIA A6000 GPU 上进行,耗时 96 小时。在 bf16 中使用 FlashAttention 进行推理大约需要 8 GB 的 GPU 内存。
真实世界评估
为了在现实场景中评估模型,使用 Franka 机械臂进行了物理实验。具体来说,设计 4 个代表性任务来评估模型的能力,并以成功率作为主要评估指标。对于每个任务,手动收集 50 条不同的训练轨迹,并对模型进行 20 个 epoch 的训练。对于任务 4,涉及按颜色排序的拾取指令,使用 5 个颜色序列,每个序列有 10 个演示,总共 50 条轨迹。
任务描述:如图所示,设计 4 个真实世界操作任务,以评估模型空间推理和泛化能力的不同方面。任务 1:空间泛化。机器人的任务是将一个黄色立方体从训练期间未见过的位置放入盘子中,以评估其跨新空间位置进行泛化的能力。任务 2:对干扰物的鲁棒性。机器人被要求在背景杂乱的场景中将两个绿色立方体放入盘子中。此任务评估模型对环境干扰物的鲁棒性。任务 3:精确放置。机器人需要将黄色立方体精确地堆叠到红色立方体上。这项任务强调了对细粒度动作预测的必要性。任务 4:指令执行。机器人需要执行按颜色顺序排列的拾取和放置命令(例如,红色 → 绿色 → 蓝色)。这项任务评估模型正确执行结构化指令的能力。