VLA

先看一眼未来,再决定下一步:ForeAct 如何用视觉前瞻引导 VLA

yiwan-cat2026-09-14 22:16
先看一眼未来,再决定下一步:ForeAct 如何用视觉前瞻引导 VLA

论文:ForeAct: Steering Your VLA with Efficient Visual Foresight Planning
会议:CVPR 2026 Highlight
作者:Zhuoyang Zhang、Shang Yang、Qinghao Hu、Luke J. Huang、James Hou、Yufei Sun、Yao Lu、Song Han
机构:MIT、NVIDIA、Caltech
论文:arXiv:2602.12322
项目主页:MIT HAN Lab
代码:GitHub
模型与数据:见 GitHub README 中的官方 Hugging Face 链接

一句话概括 ForeAct:

它不再只用一句抽象指令要求 VLA 自己完成“理解任务—拆解步骤—识别目标—生成动作”的全部工作,而是先生成一张下一阶段应该出现的未来画面,再让 VLA 朝着这张图行动。

在 11 个真实世界多步任务上,ForeAct 将以 π0 为底座的平均得分从 46.5% 提升到 87.4%。即便给 π0 增加 VLM 文本子任务规划,结果也只有 57.1%。这组对照说明,论文真正有效的部分并不只是“把长任务拆成短任务”,而是把抽象语言进一步落成了可直接比较的视觉目标。

但先给出一个同样重要的判断:ForeAct 是一个很有价值的高层视觉子目标规划器,却还不是轻量、纯端侧的完整实时控制系统。论文中的 0.33 秒只统计 H100 上的未来图像生成,不是端到端闭环延迟。


一、VLA 已经能动了,为什么仍然容易在长任务里“走丢”?

“把桌上的垃圾清理干净”对人来说很自然,但对机器人来说,这句话省略了几乎全部执行细节:

  • 哪些物体属于垃圾?
  • 先拿瓶子还是纸团?
  • 每个物体应该送到哪里?
  • 当前子任务是否已经完成?
  • 如果抓取失败,下一次应该继续抓,还是重新规划?

标准 VLA 接收到当前图像和高层语言后,需要同时承担两类性质很不一样的工作:

  1. 高层语义推理:理解任务、识别对象、拆解步骤、维护进度;
  2. 低层视觉—动作映射:根据相机画面和本体状态生成连续动作。

问题是,为了满足机器人控制的延迟要求,VLA 常采用相对紧凑的视觉语言骨干。论文认为,让同一个模型既负责开放世界语义推理,又负责精细动作生成,容易出现能力争抢;而在机器人数据上微调,还可能削弱原有视觉语言模型的通用知识。

传统的层级方案会外挂一个更强的 VLM,把“清理桌面”拆成“拿起瓶子”“把瓶子放进垃圾桶”等文本子任务。这样确实减轻了一部分规划压力,但文本仍然没有明确告诉 VLA:

目标物体究竟在哪里?机械臂应该出现在画面的哪个区域?执行到什么视觉状态才算完成?

ForeAct 的答案很直观:如果语言不够具体,那就直接给 VLA 看目标画面。


图1|仅靠高层语言容易在长任务中失败;ForeAct 则逐步提供子任务文本和想象的未来观测

上半部分中,VLA 从头到尾只拿到“清理桌面”这一条指令,很容易在若干步后停滞或做错。下半部分中,规划器每次只给出一个立即可执行的子任务,并画出完成该阶段后应该看到的景象。机器人执行、重新观察、检查进度,然后再生成下一张图。

这就是 ForeAct 的核心口号:

Show the VLA what to achieve, not only tell it what to do.


二、一张图看懂 ForeAct:VLM 管“下一步做什么”,ImGen 管“做完后长什么样”


图2|ForeAct 总体框架

整个系统可以拆成三个角色。

1. VLM 子任务规划器:决定当前阶段的目标

VLM 读取机器人头部相机画面和总任务,例如“清理桌面”,输出一个简短、立即可执行的子任务,例如:

Pick up the bottle.

它运行在一个 Reason–Execute–Monitor 循环中:

  • Reason:根据当前画面决定下一项子任务;
  • Execute:把子任务交给图像生成器和 VLA;
  • Monitor:重新观察环境,判断上一项是否完成;若未完成就保持当前目标,完成后再规划下一步。

论文实现使用 Qwen3-VL-8B-Instruct。附录实验还比较了不同规模的 VLM,说明 8B 模型已能完成大部分子任务规划,并非必须依赖最大模型。

2. ImGen:把文本子任务变成视觉子目标

ImGen 接收:

  • 当前头部相机观测;
  • 当前子任务文本。

然后输出一张想象的未来观测。例如当前机械臂还没有抓住瓶子,子任务是“拿起瓶子”,ImGen 会生成一张机械臂已经接近或抓住瓶子的未来图像。

它不是一次预测完整任务终点,也不是生成一段很长的视频,而是预测大约半个子任务之后的单张未来画面。这个设计有两个好处:目标比最终状态更近,执行难度更低;生成单张图也比滚动生成视频更快。

3. VLA:只负责朝视觉目标行动

VLA 最终拿到:

  • 当前多相机观测;
  • ImGen 生成的未来头部相机观测;
  • 当前子任务文本;
  • 机器人的本体状态。

然后输出动作块,驱动机器人执行。下一轮再用新观测检查进度并重规划,形成闭环。

换成一条更简洁的链路就是:

总任务 + 当前观测
        ↓
VLM:现在先做哪件事?
        ↓
ImGen:做成后画面应是什么样?
        ↓
VLA:如何从当前画面走向目标画面?
        ↓
执行 → 新观测 → 检查 → 重规划

这种分工把原本压在一个 VLA 上的任务拆成了“语义规划—视觉落地—动作执行”三层。


三、ImGen 为什么能在 0.33 秒内画出 640×480 的未来图?


图3|ForeAct 的未来图像生成器 ImGen

ForeAct 没有从零设计一个视频世界模型,而是从高效图像生成模型 SANA-1.6B-512px 初始化,并做了三项针对机器人场景的改造。

1. 32 倍深度压缩,先把高分辨率图像变成少量 token

机器人相机通常至少有 640×480 分辨率。若直接在高分辨率像素或密集视觉 token 上做扩散,计算量会迅速上升。SANA 的深度压缩自编码器先把图像压到紧凑潜空间,显著减少后续 Transformer 处理的 token 数量。

2. Linear DiT,将高分辨率注意力开销压下来

压缩后的当前图像 token 会与噪声 token 拼接,再送入 Linear DiT。当前图像告诉模型“世界现在是什么样”,噪声位置则逐步被还原成“下一阶段应该是什么样”。文本子任务、系统提示和时间步嵌入共同控制生成过程。

3. 用 Flow Matching 训练,但推理仍采用 8 步生成

ImGen 使用 Flow Matching 目标学习从噪声到未来图像潜变量的变化。真实部署中,作者比较了不同生成步数:

  • 1~2 步会产生明显伪影;
  • 8 步时画面已经稳定;
  • 继续增加步数,质量提升很小。

因此论文采用 8 步推理,在单张 H100 上生成一张 640×480 未来图像需要 0.33 秒。

这里必须避免一个误读:这并不是 0.33 秒完成一次完整机器人控制循环。论文还使用 VLM 做规划,未来图在云端 H100 上生成,VLA 在边端 RTX 5090 上推理,中间还有图像上传、结果回传和机器人执行。作者没有报告包含这些部分的完整端到端延迟。

所以更准确的说法是:

ImGen 已经快到可以充当低频高层视觉规划器,但论文尚未证明整套 ForeAct 能在纯端侧或高频控制环中实时运行。


图4|生成步数对图像质量与时延的影响,作者最终采用 8


四、真正支撑泛化的,不只是架构,而是 1000 万组“当前—未来”图像对


图5|预训练数据规模与机器人本体分布(对应论文 Fig. 4:Number of subtasks from each dataset / Diverse robot embodiments)。

一个图像生成模型会画机器人,并不代表它理解机器人动作如何改变世界。为了让 ImGen 学到具身动态,作者整合了四个公开数据源:

  • AgiBot-World Colosseo;
  • RoboMind;
  • Galaxea Open-World;
  • Bridge。

由于 Open-X-Embodiment 和 DROID 中不少图像分辨率偏低,论文没有将它们纳入这次预训练。

数据预处理后得到 116 万个子任务。作者在每个子任务内部每隔 1 秒采样一个当前帧,再选择“半个子任务长度之后”的画面作为未来帧,最终构建约 1000 万组图像对。所有图像统一到 640×480,模型在 64 张 H100 上训练 80 万步。

这套数据构造非常聪明:它不需要额外人工标注动作轨迹,只要已有视频具备子任务分段和文本描述,就能自动形成:

当前观测 + 子任务文本 → 稍后的未来观测

同时,它也带来一个隐含限制:所谓“未来”并不是由候选动作显式推出的,而是训练视频中半个子任务后的真实画面。因此 ImGen 更像一个条件视觉子目标生成器,而不是可以接收动作序列、精确滚动物理状态的 action-conditioned world model。


五、“即插即用”到底意味着什么?

论文强调 ForeAct 可无缝接入 π0、π0.5 等现有 VLA,因为它不改动作模型内部结构,只扩展视觉输入。

这句话成立,但需要加上后半句:

不改架构,不等于不用重新训练。

在训练 VLA 时,作者会把每个子任务的当前观测与子任务末帧拼接,让模型学会“当前图 + 目标图 → 动作”。推理时,真实末帧被 ImGen 生成的未来图替换。

因此,接入一个新的 VLA 或机器人平台,至少需要:

  1. 让 VLA 接收额外视觉输入;
  2. 用带未来目标图的机器人数据微调 VLA;
  3. 用目标平台数据轻量微调 ImGen;
  4. 部署 VLM—ImGen—VLA 的闭环调度。

ForeAct 的优势是避免重写 VLA 网络或动作头,而不是提供一个完全零样本的外部插件。

还有一个版本差异值得记录:论文 v1 的设计只生成头部相机视角,因为该视角最能覆盖全局场景;官方 GitHub 在 2026 年 4 月又加入了多视角视觉前瞻生成和按视角设置分辨率的能力。博客中的方法与实验数字均以论文 v1 为准,多视角属于后续工程能力,不能反向写成论文原始实验设定。


六、真实世界实验:87.4% 是怎样得到的?


图6|厨房、办公桌和工厂三类真实任务示例

真实实验使用 Galaxea R1 Lite 双臂移动操作机器人,共设计 11 个任务,覆盖厨房、工作台和工厂场景,例如:

  • 从多种蔬菜中找到指定目标并放入盘子;
  • 叠放三个碗;
  • 清理桌面垃圾;
  • 将不同积木放进对应颜色的盒子;
  • 整理办公桌;
  • 识别指定工具并放入工具箱;
  • 对不同口罩分类;
  • 将花装入盒子,同时避开干扰物。

数据集包含 420 条完整 episode,拆分后得到 2312 条子任务 episode。其中 370 条完整 episode 用于微调,50 条用于分布内测试。

作者设置了三组系统:

系统 高层规划 视觉子目标 VLA 底座
π0 无 无 π0
VLM + π0 VLM 文本子任务 无 π0
ForeAct VLM 文本子任务 ImGen 未来图 π0

图7|11 个真实任务的逐项结果

平均结果为:

方法 平均得分 相对 π0 的绝对提升
π0 46.5% —
VLM + π0 57.1% +10.6 个百分点
ForeAct 87.4% +40.9 个百分点

这张表最重要的并不是 87.4% 本身,而是两个差值:

  • 文本子任务规划带来 10.6 个百分点;
  • 在相同 VLM 规划框架上再加入未来图,继续带来 30.3 个百分点。

换句话说,任务分解有用,但把子任务变成明确的视觉目标更有用。

不过,这里的 “success rate” 不是最严格的整条任务二元成功率。论文把完整任务拆成“接近并抓取”“移动并放置”等原子动作,再按成功原子动作占比计分;错误抓取会扣除一个原子动作的分值,某个动作尝试 5 次仍未完成才判定其失败。这个指标比只看是否完整完成任务更细,但也意味着 87.4% 不能直接理解为“100 次长任务中有 87 次从头到尾全部成功”。

换成更强的 π0.5,ForeAct 还有用吗?

在 6 个代表性真实任务上,ForeAct 将 π0.5 的平均得分从 70.3% 提升到 88.2%。其中 Pick_Tool 从 50.0% 提升到 96.7%,说明视觉目标对“从多个相似位置中找到指定对象”尤其有效。

在 LIBERO 模拟基准上,π0.5 本身已经达到 96.8%,ForeAct 进一步提升到 97.5%。这个增幅不大,但基线接近饱和,因此它主要证明兼容性,而不是展示巨大优势。


七、为什么不能直接用 GPT-Image、Gemini 或 Qwen-Edit 来“画下一步”?

作者专门把 ImGen 与通用图像编辑模型做了定性比较。结果显示,通用模型常出现三类问题:

  • 几乎不修改画面;
  • 让机械臂形成不自然的抓取姿态;
  • 直接在目标位置“凭空画出”一个物体,而不是表现机器人搬运过程。

原因在于,通用图像编辑模型重点学习语义与视觉美感,并不一定理解机器人、物体和接触动作的具身动态;同时它们通常更大、更慢,也不适合频繁进入闭环。


图8|通用图像编辑模型会不修改场景、生成不合理抓取,或直接幻觉出目标物体

更关键的证据来自预训练消融:

ImGen 训练方式 分布内保真度 分布内质量 OOD 保真度 OOD 质量
无跨本体预训练 0.18 0.24 0.00 0.00
有跨本体预训练 1.00 1.00 0.88 0.96

这些分数来自每组 50 张图像的二元人工评估。它说明跨任务、跨本体数据确实是泛化的关键,但也提醒我们:目前的图像质量评价仍有主观性,尚未形成细粒度、自动化的物理一致性指标。


图9|没有跨本体预训练时,模型无法稳定完成 OOD 的“拿起玉米”指令;预训练后不同随机种子均生成正确趋势


八、OOD 与数据效率:视觉目标真正解决的是“组合爆炸”

在 Pick_Tool 中,桌面有 5 种工具。仅考虑工具排列就有 5! = 120 种,再乘以 5 个目标工具,共有 600 种组合。若 VLA 必须在演示数据中看遍所有“工具—位置—目标”组合,数据采集成本会迅速失控。

作者做了一个很有解释力的模态消融:

指令方式 Pick_Tool 得分
π0 + 语义文本:“拿起锤子” 20.0%
π0 + 空间文本:“拿起右下角物体” 46.8%
ForeAct:语义文本 + 目标图像 93.4%

空间文本已经绕开了一部分“锤子究竟在哪里”的语义定位难题,所以明显优于纯语义文本;但一张目标图还能同时携带目标位置、机械臂方向、局部几何关系和期望状态,因此更明确。


图10|Pick_Veg 的空间 OOD、组合 OOD 与联合 OOD 结果

随着测试从分布内逐步增加空间变化、组合变化以及二者联合,π0 与 VLM + π0 明显下降;ForeAct 在最难的 Joint OOD 中仍达到 58.4%。

在一个训练时只见过“单次拿一种蔬菜”的任务中,测试要求机器人连续把胡萝卜、青菜和茄子放入盘子。文本规划基线会反复回到胡萝卜原来的位置,而 ForeAct 能根据新观测确认第一件物体已经移动,再生成下一张视觉目标。


图11|文本规划基线陷入重复抓取,ForeAct 通过逐步视觉前瞻完成三个未见过的组合子任务

数据效率实验同样符合这套解释:在 Clean_Rubb 任务上,ForeAct 只使用 20% 数据时仍达到 79%,使用 60% 数据时超过 90%;文本子任务基线即使继续增加数据,提升也更缓慢。


图12|不同训练数据比例下的结果

需要注意,Fig. 11 的子集实验只使用 Clean_Rubb 单任务数据,因此 100% 数据点仍略低于主实验中的多任务联合训练结果,不能把两处数值直接混为一谈。


九、ForeAct 与已有路线到底有什么不同?

路线 给动作策略的引导 优点 主要代价
端到端 VLA 总任务文本 系统简单、控制紧凑 高层推理与低层动作互相争抢容量
VLM + VLA 层级规划 子任务文本 易于拆解长任务、可监控进度 文本仍缺少精确空间与状态信息
视频世界模型规划 未来视频 动态信息丰富 生成慢、滚动误差大,常难接入现有 VLA
CoT-VLA 类统一视觉思维 模型内部生成视觉中间过程 规划和控制一体化 需要改造或重训统一模型
ForeAct 子任务文本 + 单张未来观测 视觉目标明确、闭环、可复用现有 VLA 架构 仍需微调,且依赖重型云端生成与规划

ForeAct 最值得借鉴的地方,不是“世界模型”这个标签,而是它把世界模型的任务收窄了:

不追求从动作序列精确模拟全部未来,只生成一张足以指导下一阶段动作的视觉子目标。

这种收窄换来了更低生成成本,也让未来图可以像普通相机帧一样接入现有 VLA。


十、对 1-NFE 实时 VLA 研究有什么启发?

ForeAct 与 1-NFE 动作生成其实解决的是两个不同层级的问题。

层级 ForeAct 1-NFE 动作专家
核心问题 高层指令如何落成当前可执行目标 动作分布如何以极少积分步快速生成
主要输出 子任务文本 + 未来观测图 连续机器人动作块
运行频率 低频规划/监控 高频动作推理
主要瓶颈 VLM、图像生成、云边传输 动作专家 NFE 与端侧推理

因此二者更像上下游,而不是竞争方法:

低频:VLM + ImGen 生成视觉子目标
                    ↓
高频:1-NFE VLA 动作专家追踪该目标
                    ↓
实时执行与安全控制

对你的 Bidirectional Flow 路线,ForeAct 至少带来三个值得写进 Related Work 或未来工作的观点:

  1. 动作生成加速并不等于长程任务推理已经解决。 1-NFE 可以显著降低低层动作解码时延,但高层目标落地仍可能成为系统瓶颈。
  2. 固定 1-NFE 与低频视觉规划天然互补。 上层每隔若干秒更新一次目标,下层以固定一步高速生成动作,可以形成更清晰的多时间尺度系统。
  3. 新的端侧问题会从 NFE 转移到视觉前瞻。 ForeAct 的 ImGen 仍需 H100、8 个生成步,尚未使用蒸馏或量化。若未来把视觉前瞻也蒸馏为 1~2 步,才可能真正进入 Jetson 级本体闭环。

不过现阶段不能直接宣称两者已验证兼容。ForeAct 需要重新微调 VLA 以接收目标图;是否会影响 1-NFE student 的表征对齐、动作成功率和端侧显存,需要单独实验。


十一、这篇论文仍有哪些没有解决的问题?

1. 0.33 秒不是整套系统的端到端时延

论文只报告 ImGen 在单张 H100 上的生成时间。VLM 规划、云边通信、VLA 推理、动作派发均未计入,也没有给出规划周期抖动或网络异常下的表现。

2. 计算资源仍然很重

预训练使用 64 张 H100、80 万步;部署时云端为 H100,边端为 RTX 5090。这证明了方法可运行,但距离低成本本体部署仍有明显距离。

3. “跨本体预训练”不等于“跨本体真实部署已验证”

训练数据包含多种机器人,但全部真实控制实验集中在 Galaxea R1 Lite。换机械臂、相机位置或控制接口后需要多少数据,论文尚未回答。

4. ImGen 更像目标图生成器,不是完整物理模拟器

它不接收候选动作、本体状态或力觉,也不显式比较多条动作轨迹。生成的画面能否实现,最终仍由 VLA 和真实环境检验。如果未来图看似合理但机械上不可达,系统需要依赖下一轮监控纠正。

5. 未来帧监督采用启发式时间偏移

统一选择“半个子任务之后”的画面简单有效,但不同子任务的速度、接触阶段和视觉变化程度差异很大。更自适应的关键状态选择可能进一步提高目标质量。

6. 主指标不是严格的完整任务成功率

原子动作计分能体现部分进展,却可能弱化长任务中任何一步失败导致整体失败的现实影响。后续工作最好同时报告完整任务成功率、平均恢复次数和任务完成时间。


十二、代码已经开放,但复现时应如何理解当前能力?

截至本文核验时,官方仓库已经提供:

  • ForeAct 代码;
  • 预训练模型与真实机器人数据链接;
  • 单视角与多视角微调配置;
  • 单视角/多视角 CLI 推理;
  • Gradio 演示;
  • 基于 LeRobot 的策略训练示例。

但它仍不是“一条命令跑完整机器人闭环”的成品系统。仓库最直接可复现的是未来图像生成与微调;要接入自己的 VLA 和真实机器人,还需要准备子任务分段数据、目标帧、相机视角配置、VLA 微调流程以及规划—执行调度。

论文模式下最值得先验证的不是整机部署,而是三件事:

  1. 官方 checkpoint 在你的场景中能否保持物体身份和空间布局;
  2. 新本体少量数据微调后,未来图是否真的能被现有 VLA 利用;
  3. 生成错误时,闭环监控能否恢复,而不是把错误视觉目标持续放大。

结语:ForeAct 的价值,不是让机器人“预测得更远”,而是让下一步更具体

ForeAct 把一个常被混在一起的问题拆开了:

  • VLM 负责理解长任务;
  • ImGen 把语言计划翻译成视觉子目标;
  • VLA 负责把当前视觉状态变成动作。

这种设计没有要求 VLA 自己变成更大的推理模型,也没有让世界模型滚动生成漫长视频,而是选择一个更务实的中间层:每次只画出下一阶段应该看见什么。

从实验看,这张图确实比一句子任务文本更能消除对象、位置和状态歧义:π0 从 46.5% 提升到 87.4%,空间与组合 OOD 下仍保持明显优势,数据使用量也更低。

从工程角度看,它还有三道关要过:端到端延迟、边缘部署,以及换本体后的数据成本。尤其是 0.33 秒 H100 生成尚不能等同于实时端侧 VLA。

但作为一种系统分层思路,ForeAct 很清楚地指出:

未来的机器人不一定要让一个模型包办所有智能。低频模型负责“想象下一步应该看到什么”,高频模型负责“现在立刻怎么动”,可能是一条更现实的路线。


参考资料

  1. ForeAct 论文(arXiv)
  2. ForeAct 官方项目页(MIT HAN Lab)
  3. ForeAct 官方代码仓库
  4. Zhang, Zhuoyang, et al. ForeAct: Steering Your VLA with Efficient Visual Foresight Planning. CVPR 2026 Highlight.
点赞收藏
// 评论1
0 / 500
用户04752026-09-15 11:09

学习!