未来光流预测提升机器人控制与视频生成 Future Optical Flow Prediction Improves Robot Control & Video Generation
统一VLM-Diffusion架构从网络视频学习语言驱动的未来光流预测,赋能机器人操控和视频生成
前置知识
光流(Optical Flow)
光流是描述图像中每个像素在连续帧之间运动方向和速度的密集向量场。给定两帧图像,光流计算每个像素从前一帧到后一帧的位移 $(dx, dy)$。传统光流(如RAFT算法)是从已有帧对中估计过去/现在的运动。而本文研究的是「未来光流」——给定当前单帧和语言指令,预测未来帧之间的像素运动。光流可以用极坐标表示,包含幅度(magnitude)和方向(angle)两个分量,本文将其映射到HSV色彩空间再转为RGB图像,以便复用现有的VAE编解码器。
光流是本文的核心预测目标,理解其定义、表示方式和与RGB帧预测的区别是理解整个方法的基础。
扩散变换器(Diffusion Transformer, DiT)
DiT是将扩散模型中的U-Net骨干替换为Transformer的架构。它通过迭代去噪过程从噪声生成目标数据:在训练时向目标添加噪声,学习预测噪声或目标;在推理时从纯噪声开始,经过k步去噪生成结果。DiT通过交叉注意力或特征拼接接收条件输入(如文本、图像特征),OmniGen等架构进一步将其扩展为统一的多模态生成模型。本文使用OmniGen的DiT作为核心生成模块。
DiT是FOFPred的核心生成骨干,理解其工作机制和条件输入方式是理解模型架构的关键。
视觉语言模型(Vision-Language Model, VLM)
VLM是同时处理图像和文本的多模态模型,通常基于大型语言模型(如Qwen2.5-VL基于Qwen2.5),通过视觉编码器将图像转为token序列后与文本token一起输入Transformer。VLM具有强大的多模态推理能力,能理解图像内容并根据文本指令进行推理。本文使用Qwen2.5-VL(3B参数)作为文本特征编码器,负责将语言指令和视觉观察编码为语义丰富的特征向量 $f_c$。
VLM提供了语言理解和多模态推理能力,是模型能根据自然语言指令预测运动的关键组件。
流匹配(Flow Matching)
流匹配是一种训练扩散模型的方法,相比传统DDPM的去噪得分匹配更直接。其核心思想是学习从噪声分布到目标分布的传输路径:给定目标 $f_y$、噪声 $f_0$ 和被破坏的目标 $\tilde{f}_y$,训练模型预测残差 $f_y - f_0$。损失函数为 $\mathcal{L}_{FM} = \|D(f_c, f_v, \tilde{f}_y) - (f_y - f_0)\|_2^2$。本文采用这种训练范式来优化DiT模块。
这是FOFPred的具体训练目标函数,理解流匹配损失有助于理解模型是如何学习生成未来光流的。
相对光流与运动解耦(Relative Optical Flow & Motion Disentangling)
网络视频通常包含两种运动:相机运动(如手持拍摄时的晃动)和物体运动。原始光流混合了这两种运动,直接用作训练目标会引入大量噪声。本文通过单应性(Homography)估计全局相机运动 $F_{cam}$,然后从原始光流中减去相机运动分量得到相对光流 $F_{obj} = F_{raw} - F_{cam}$,从而解耦出纯粹的物体运动。这一过程使用RANSAC鲁棒估计,配合后处理阈值去除残余噪声。
运动解耦是本文从嘈杂网络视频中提取有效训练信号的关键技术,没有这一步,模型很难从网络视频中学到有意义的运动模式。
研究动机
在机器人控制和视频生成领域,现有方法在处理未来运动预测时面临三个核心困境。第一,数据瓶颈:大多数机器人操控方法(如LTM、FlowVLA)依赖遥操作机器人演示数据来学习运动表示,这类数据采集成本高、场景多样性有限。像DROID这样的大规模机器人数据集虽然提供了多样化的场景和动作,但其覆盖范围和运动多样性仍然远不及互联网上数以百万计的人类活动视频。然而,网络视频数据高度非结构化——视频质量参差不齐、字幕描述嘈杂不准确、同时包含相机运动和物体运动,直接用来训练运动预测模型效果很差。第二,表示瓶颈:已有方法大多预测稀疏的像素轨迹(如ATM方法在16×16网格上预测轨迹点),这会丢失大量全局运动信息,比如机械臂整体运动趋势、物体旋转等密集运动细节。稀疏表示在CALVIN基准上的平均完成长度仅为2.92,远低于密集表示的4.39。第三,架构瓶颈:之前的运动预测方法要么只用VLM(如MAGMA),限制了预测只能产生稀疏轨迹;要么只用扩散模型,缺乏对语言指令的深层理解能力。
本文的目标是本文的目标是构建一个能够从大规模网络人类活动视频中学习的语言驱动未来光流预测框架FOFPred,使其具备三个关键能力:(1)跨域泛化能力——从网络人类视频预训练后能迁移到机器人操控场景;(2)像素级密集运动预测——生成空间密集的光流而非稀疏轨迹,保留完整的运动细节;(3)多模态条件生成——同时利用VLM的语言推理能力和扩散模型的像素级生成保真度。最终通过两个下游任务验证:在CALVIN基准上实现超过4.40的平均任务完成长度,在SSv2视频生成任务上超越CogVideoX等基线模型。
与已有工作不同的是,本文的独特切入角度有三个关键洞察。首先,不同于MAGMA等仅用VLM做运动预测从而受限于稀疏轨迹表示的工作,本文发现光流可以用RGB图像形式表示(极坐标映射到HSV色彩空间),这样就能复用现有的强大VAE编解码器(如Flux.1 VAE),无需重新训练或微调VAE。其次,不同于以往回避网络视频噪声数据或仅用RGB帧预测的方法,本文设计了一套完整的运动解耦算法(基于单应性估计和RANSAC),从嘈杂的网络视频中分离出干净的物体运动信号。第三,本文发现光流分布相比自然RGB图像分布更简单(处于更低维的流形上,包含更少的高频纹理信息),因此扩散模型在仅1步去噪就能生成有意义的光流输出,而RGB图像生成通常需要至少20步——这使得光流预测在推理效率上有天然优势。
核心方法
FOFPred的方法可以用一个类比来理解:想象你是一个机器人操控专家,给你看一张静态照片和一句「把瓶子从左移到右」的指令,你需要在脑中想象出未来物体的运动轨迹。FOFPred就是做这件事的AI系统——它接收当前帧图像和自然语言指令,输出未来若干帧的密集光流场,用RGB图像的形式表示每个像素未来的运动方向和距离。技术路线上,FOFPred采用统一的VLM-Diffusion架构:VLM(Qwen2.5-VL,3B参数)负责理解语言指令和视觉内容,提取语义特征 $f_c$;VAE编码器(Flux.1 VAE,83M参数)将输入图像和目标光流编码到潜空间,得到视觉特征 $f_v$;核心的DiT模块(基于OmniGen,4B参数)接收这两个条件特征,通过流匹配扩散过程生成未来光流的潜空间表示。训练完成后,框架通过连接不同的下游头(扩散策略头用于机器人控制,视频扩散头用于视频生成)来适配具体任务。
FOFPred的核心创新在于将VLM的多模态推理能力与扩散模型的像素级生成能力统一在一个架构中,并通过运动解耦算法从网络视频中提取有效训练信号。这与已有方法的本质区别体现在三个层面。第一,与仅用VLM做运动预测的方法(如MAGMA)不同,FOFPred利用扩散模型生成密集光流图像,而非稀疏像素轨迹。MAGMA的Trace-of-Mark标注限制了其只能追踪少量关键点的运动,而FOFPred预测的是每个像素的运动,这在机器人操控中尤为关键——机械臂的每个关节、物体的每个表面点的运动都可能影响抓取成功率。第二,与VPP等帧预测方法不同,FOFPred直接预测运动表示(光流),去除了静态背景信息的干扰,学习信号更纯粹。实验表明,在RoboTwin基准上FOFPred(68.6%)显著优于帧预测基线VPP(61.8%)。第三,架构设计上,FOFPred冻结VLM和VAE权重,仅训练DiT模块,通过修改RoPE编码和注意力机制支持时序建模,使得框架能直接从OmniGen的图像编辑预训练权重中受益,无需从头训练。
方法步骤详情
FOFPred的工作流程分为训练阶段和推理阶段。训练阶段包含以下步骤:(1)数据预处理(离线一次性完成):对约50万网络视频-字幕对,首先使用Lucas-Kanade方法在32×32低分辨率下快速估计运动量,通过运动引导帧采样(top-10%百分位数阈值过滤)筛选出运动显著的帧序列;然后用RAFT算法计算原始光流 $F_{raw}$,使用基于深度特征的单应性估计相机运动 $F_{cam}$,通过 $F_{obj} = F_{raw} - F_{cam}$ 得到相对光流;最后将极坐标光流转为HSV再转RGB图像。(2)模型训练:将相对光流目标用Flux.1 VAE编码为 $f_y$,输入帧 $x_{t-1}, x_t$ 用VAE编码为 $f_v$,语言字幕 $c$ 和图像用Qwen2.5-VL编码为 $f_c$,两组特征分别通过MLP投影到公共维度 $D=2520$,拼接后输入DiT;使用流匹配损失 $\mathcal{L}_{FM} = \|D(f_c, f_v, \tilde{f}_y) - (f_y - f_0)\|_2^2$ 训练,同时执行分类器自由引导的条件丢弃。训练使用8×H200 GPU,全局batch size 4096,训练100个epoch。(3)下游微调:机器人任务在机器人视频-字幕数据上微调光流预测,再在机器人演示数据上训练扩散策略头;视频生成任务连接Go-with-the-Flow(GWTF)模型,以预测光流为中间运动信号引导视频合成。
技术新颖性
FOFPred的技术新颖性体现在以下几个方面。首先,光流的RGB表示是一个巧妙的设计选择:通过将极坐标的幅度映射到S通道、方向映射到H通道、V通道设为常量1,光流被转化为类似动画图像的RGB表示。这种表示能直接利用Flux.1 VAE这样在大规模图像数据上预训练的强大编解码器,而之前的工作(如LTM)需要专门训练或微调VAE来处理光流的特殊数值范围。其次,运动解耦算法(Algorithm 1)是专门为从网络视频学习而设计的:通过在均匀采样的网格点上用原始光流推导稠密对应点,再用RANSAC估计单应性矩阵 $H$,计算全局相机运动场 $F_{cam}$,最终得到物体运动 $F_{obj}$。这比MAGMA中显式的相机运动校正更通用,不依赖额外的相机参数标注。第三,DiT的时序建模修改(3D RoPE和全时空注意力)是在不引入额外参数的情况下实现的——通过重新解释OmniGen原有的3轴位置编码为时序轴+空间轴,并在输出token上执行全时空注意力,使得模型能直接继承图像编辑预训练的权重。第四,运动引导帧采样策略(Algorithm 2)通过在低分辨率下快速估计运动量,用top-k百分位数而非均值来衡量运动强度,确保了训练数据聚焦于动态场景。
实验结果
FOFPred在机器人操控和视频生成两个正交领域都展示了强劲的性能。在CALVIN长程机器人操控基准上(ABC→D零样本设置,全量训练数据),FOFPred在5个链式任务上分别达到98.8%、95.0%、90.4%、84.6%、78.7%的成功率,平均任务完成长度为4.48,超越了此前最佳模型DreamVLA(4.44)和VPP(4.33)。相比VPP基线,任务5成功率提升+1.8%,平均长度提升+0.15。在数据受限设置(仅用10% ABC数据)下,FOFPred平均长度达到3.43,显著高于VPP(3.25)和GR-1(1.41),证明了框架的数据效率优势——这得益于从网络人类视频中预训练所获得的运动先验知识。在RoboTwin 2.0双臂操控基准上(5个需要双臂协调的任务),FOFPred平均成功率为68.6%,比VPP基线(61.8%)提升+6.8个百分点。在所有5个任务上FOFPred均一致优于VPP:Handover Block(61% vs 54%, +7)、Handover Mic(87% vs 80%, +7)、Pick Diverse Bottles(67% vs 60%, +7)、Pick Dual Bottles(68% vs 63%, +5)、Place Dual Shoes(60% vs 52%, +8)。在视频生成任务上,FOFPred在SSv2数据集上超越CogVideoX基线:SSIM 68.4(+1.2)、PSNR 22.26(+0.75)、LPIPS 28.5(+1.8降低越好)、FVD 75.39(+3.08降低越好)、KVD 11.38(+1.08降低越好)、MF 0.662(+0.068)。值得注意的是,FOFPred仅依赖语言提示和视觉上下文,不依赖手部/物体遮罩等辅助控制信号,就能达到或超越依赖这些额外输入的基线方法。消融实验进一步验证了关键设计选择:VLM-Diffusion骨干+图像编辑预训练达到最高分(4.39),相比扩散模型(4.01)和无预训练VLM-Diffusion(4.14)都有显著提升;运动解耦至关重要——使用原始光流(无解耦)性能暴跌至3.89;密集表示(4.39)远优于稀疏表示ATM(2.92)和朴素下采样(1.24)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| CALVIN长程机器人操控(ABC→D,全量数据) | 平均任务完成长度(Avg Len) | 4.48 | DreamVLA 4.44 / VPP 4.33 | +0.04(vs DreamVLA)/ +0.15(vs VPP) |
| CALVIN长程机器人操控(ABC→D,10%数据) | 平均任务完成长度(Avg Len) | 3.43 | VPP 3.25 / GR-1 1.41 | +0.18(vs VPP)/ +2.02(vs GR-1) |
| RoboTwin 2.0双臂操控(easy设置) | 平均成功率(%) | 68.6 | VPP 61.8 / DP3 59.0 | +6.8(vs VPP)/ +9.6(vs DP3) |
| SSv2视频生成(语言驱动运动控制) | FVD↓ | 75.39 | CogVideoX 78.47 / InterDyn 19.27 | +3.08(vs CogVideoX) |
| SSv2视频生成(语言驱动运动控制) | SSIM↑ | 68.4 | CogVideoX 67.2 / InterDyn 66.4 | +1.2(vs CogVideoX) |
局限与改进
作者在论文中坦承了几个重要局限。首先,FOFPred对文本提示敏感——稍微不同的文本表述(如moving from right to left vs moving left)可能导致错误的预测结果,这表明模型对语言指令的理解还不够鲁棒。其次,模型规模较大(总计约7B参数:VLM 3B + DiT 4B + VAE 83M),部署成本高,推理至少需要24GB GPU显存,难以实现实时控制。此外,从我自己的观察来看,论文在SSv2视频生成任务上相比InterDyn(FVD 19.27)等专门方法差距明显(FOFPred为75.39),说明语言驱动的运动控制视频生成整体仍处于较早期阶段。论文也未提供推理速度的定量数据,考虑到扩散模型通常需要多步去噪,实际推理延迟可能较高。消融实验仅在400序列子集上进行(而非完整1000序列),可能影响结论的可靠性。最后,论文在RoboTwin基准上无法复现部分基线结果(如Handover Mic),这给公平比较带来了一定不确定性。
独立分析的弱点
从独立分析角度,FOFPred有几个值得关注的弱点。第一,提示敏感性问题的根源可能在于VLM特征编码阶段——Qwen2.5-VL将语言指令编码为全局向量 $f_c$,缺乏对运动动词和方向词的细粒度关注机制。改进方向可以引入运动关键词提取或注意力加权机制,确保left to right这类方向信息被准确编码。第二,约7B的参数规模对于机器人实时控制场景过大。论文作者提出了蒸馏到轻量架构的方向,另一个思路是采用LoRA等参数高效微调策略,只在DiT的部分层上训练,或者设计更紧凑的VLM-Diffusion架构(如用1B级VLM替代3B的Qwen2.5-VL)。第三,光流的RGB表示虽然巧妙地复用了VAE,但HSV映射中的参数(如缩放因子 $\eta=64.0$)是手动调优的,对不同场景和运动幅度可能不最优。可以探索自适应缩放或学习映射参数。第四,运动解耦依赖单应性假设(全局相机运动),对于复杂相机运动(如旋转+平移+变焦)可能不准确,导致相对光流中残留相机运动噪声。第五,论文在视频生成方面仅展示了与GWTF的两阶段管线,缺乏与端到端视频生成方法的深入对比,且FVD指标(75.39)距离专用方法(InterDyn 19.27)差距较大,说明光流作为中间表示的视频生成管线还有很大优化空间。
未来方向
作者提出了三个未来方向:(1)训练数据增强——通过自动化的文本标签重写(text-label re-phrasing)来缓解提示敏感性问题;(2)模型蒸馏——将FOFPred蒸馏到轻量架构以支持实时部署;(3)深入分析光流分布的快速收敛特性和多样性。基于FOFPred的成果,我看到几个可延伸的方向:首先,将框架扩展到3D场景理解——结合深度估计预测3D运动场,这对于机器人避障和路径规划更有价值;其次,探索在线微调策略——在实际机器人部署时,利用少量域内演示数据快速适配光流预测头,减少域间差距;第三,将光流预测与世界模型结合——用预测的未来光流作为世界模型的运动先验,增强模型的长期规划能力;第四,探索光流在多智能体协作场景中的应用——预测多个机器人或人-机协作场景中的密集运动场。此外,论文中观察到光流分布只需1步去噪就能生成有意义输出,这一发现值得深入研究——可以探索非迭代生成方法(如一致性模型或单步蒸馏)来大幅提升推理速度。
复现评估
FOFPred在复现性方面做得较好。作者已将代码、训练好的模型权重和数据配置公开发布在项目网站 fofpred.github.io。框架建立在开源预训练模型之上(Qwen2.5-VL和Flux.1 VAE均可从Hugging Face Hub获取),关键实现细节和超参数在论文中有详细记录。数据方面,主要训练集为Something-Something-V2(约20万视频)和EgoDex数据集,总计约50万视频-字幕对。算力需求方面,原始训练使用8×H200 GPU训练100个epoch,消融实验在SSv2上进行(规模更小),数据预处理使用4×A100 GPU约30小时完成50万视频的光流计算。复现难度中等:光流预处理(运动解耦算法)是离线一次性步骤,但需要额外的RAFT模型和单应性估计代码;模型训练需要大batch size(4096)和大显存GPU(H200或A100级别);下游微调(机器人和视频生成)需要各自领域的特定数据和评估环境。对于计算资源有限的研究者,可以考虑仅复现消融实验(SSv2预训练+CALVIN评估),使用更少的GPU和训练步数验证核心想法。
论文图表