具身视频生成这个词,最近在搞多模态和机器人方向的圈子里热度涨得非常快。很多人一开始觉得,它无非就是“视频生成”加了点机器人动作控制,真正上手之后才会发现,它把感知、控制、生成、评测这些东西全部揉在了一起,是一个全新的交叉课题。国内某家顶尖高校的研究团队跟某家头部科技公司联手放出了一个新基准,代号RBench,我拿到资料之后断断续续跟了挺长时间,今天想把里面的评测逻辑、任务设计、复现心得一次性写清楚,给正在做具身智能、视频生成或者多模态评测的同行一个参考。
RBench这个基准最吸引我的地方,不是它又多了多少评测指标,而是它终于把“视频生成得好看”和“任务能不能落地”这两件事分开看了。过去大家比的是谁生成的视频更像真实世界,现在比的是谁生成的视频能真正指导一个智能体完成任务。这个转变看着不大,实际影响却非常深,从数据集设计到模型架构,再到评测结果怎么解读,每一层都要重新想一遍。
1. 具身视频生成赛道:从“看得见”到“做得了”的跃迁
1.1 视频生成的第三次转向
我习惯把视频生成的发展分成三个阶段。第一阶段是“长得像”,模型能把静态图动起来,生成几秒连贯的画面,大家关注的是清晰度和流畅度。第二阶段是“语义对”,模型开始理解文本指令,你让它“一个人从箱子左侧走过”,它能按语义去生成,评测时用CLIP相似度、文本对齐这类指标看语义匹配度。这两个阶段的成果很漂亮,但跟真实世界里的物理规则、动作执行基本没什么强绑定。
第三阶段就是现在正在发生的,视频生成被当作一种预测工具甚至规划工具来用。模型输入的不再只是一句描述,而是一段初始状态、一个明确任务、一个可执行的动作序列,它生成的视频要能“接得住”后续的控制指令。这个方向圈内有一个惯用叫法:具身视频生成。它跟普通视频生成最大的区别在于,生成的单位不是“一段好看的画面”,而是“一个能在真实或仿真环境里落地执行的动作轨迹的可视化”。
RBench正是冲着第三阶段去的。它把任务定义成一个个带动作条件、带执行结果的视频生成任务。模型生成完不是直接看视频主观质量打分,而是要放到模拟环境里验证,看它预测出来的画面是否真的对应了一条可行的动作路径。这一步的转变,等于把视频生成从“内容创作工具”这类身份,往“世界模型”的方向硬推了一把。
1.2 为什么是现在:多模态强化与World Model合流
为什么具身视频生成这个方向偏偏是现在火起来?我自己总结下来有三个原因,缺一个都推不动。
第一,可控视频生成的能力到临界点了。扩散模型和自回归模型这两条技术路线,在生成质量、可控性、长范围稳定性上都取得过阶段性突破,大家发现“生成”这个动作本身已经不是瓶颈,瓶颈转移到了“生成之后怎么用”。
第二,仿真平台和物理引擎的成熟度到了一个可以“半信半疑”的状态。早几年前想在仿真环境里评测具身任务,动作碰撞、物理稳定性、多传感器同步这些问题够你调试一两个月。现在主流引擎配合标准化的机器人模型,虽然谈不上完全真实,但足够支撑一个统一评测基准的稳定运行。RBench选择走仿真评测这条路,而不是直接上真机,在我看来是非常务实的决定。
第三,World Model的思路在加速成为共识。如果视频生成本质上是在学一个环境动态模型——给定当前状态和动作,预测下一个状态——那它天然就能跟强化学习、模型预测控制结合起来。具身视频生成恰好站在这个结合点上。RBench把视频生成模型放到具身任务里去评测,实际评测的就不只是画质,而是模型对环境动态的理解能力、对动作关系的建模能力,以及长时预测的稳定性。
这三点合流之后,行业里就出现了一个很强烈的需求:需要有人站出来,给具身视频生成定一个跟传统视频生成完全不同的评测坐标。RBench就是在这个背景下出现的。
2. RBench评测框架:任务域、数据管线与核心评分机制
2.1 任务域划分:操作、导航与交互叙事
我看过不少具身评测基准,容易犯的一个毛病是任务域过于狭窄,或者说任务类型之间没有拉开差距。RBench在任务域设计上做得比较聪明,它没有只围绕“机械臂抓取”这一个经典场景,而是分了三大类。
第一类是操作类任务,包括抓取、放取、推拉、插接这类物理交互。这一类任务的关键能力是对接触点、力反馈、遮挡关系进行建模。视频生成模型要能预测出物体在接触前后的状态变化,手和物体接触的位置不能飘,这是最容易暴露问题的地方。
第二类是导航类任务,包括点导航、目标导航、条件导航,以及一些需要多段路径规划才能到达目标的场景。导航类任务里,视频模型要处理的关键信息是空间一致性,画面里的走廊、门、家具的相对位置不能随着视角移动而漂移,否则就是典型的世界模型崩溃。
第三类是交互叙事类任务,可以理解成把多个子步骤串在一起完成一个复合目标,比如“把杯子放到托盘上,再把托盘端到桌角”。这类任务连基准里的真实机器人都需要较长时间来完成,视频模型想要预测得准,必须建模步骤之间的因果依赖,而不是单纯靠视觉相似性去蒙。
三类任务放在同一个框架下,既覆盖了控制层级里的操作和规划,又覆盖了语义层级里的任务理解,评测出来的结果才不会被单一能力短板带偏。
2.2 数据与标注协议:多大程度上贴近真实
数据这块,RBench最核心的原则是“统一格式、分层标注”。统一格式指的是,不管任务是抓取还是导航,都会被表示成一个标准的结构化指令片段,包含初始观测、目标状态描述、可行动作序列、环境反馈四部分。这种格式的好处在于,评测方可以很容易地把不同任务的难度统一量化,模型侧也可以把不同任务抽象成同一种输入输出结构。
分层标注说的是,每一个任务样本都会被贴上三个维度的标签:语义难度、动作复杂度和环境动态等级。语义难度衡量的是“人类理解这个指令有难度”,动作复杂度衡量的是“这个动作序列含多少步、对精度要求多高”,环境动态等级衡量的是“场景里的物体有没有运动、光照有没有变化”。这三个维度互不耦合,评测结果出来之后,你能够非常清楚地定位某个模型到底是被语义理解难住了,还是被动作精度卡住了。
这种数据设计有一个隐蔽的优点:它允许研究者按自己的需求对评测集做子集划分。比如说,我想单独验证模型在“高动态环境+复杂动作”下的表现,我只需要去组合对应的标注子集,不需要重新造数据。这种灵活性在之前的很多视觉基准里是不具备的。
2.3 评分机制:比“图/视频像不像”更狠的一刀
RBench里最让我印象深刻的,是它的评分机制不再把“生成质量”作为唯一主角。传统视频生成评测看的是FVD、LPIPS、CLIP Score这些指标,它们衡量的是画面分布接近程度和语义匹配程度。RBench把这条线往后推了一大步,提出了三层评分结构。
第一层叫视觉保真层,仍然会计算基本的生成质量分,包括画面稳定性、纹理真实度、帧间一致性。第二层叫行为合理性层,由一个可学习的打分子网络对生成视频里的动作轨迹进行显式评估,判断物体运动是否符合物理规律,比如杯子被拿起之后不能悬空、门不能突然穿模。打到这一层,很多传统视频生成模型就已经开始掉分了。第三层才是最核心的执行成功率层,会把生成的视频输入给一个模拟器里的执行器,让执行器来算这条视频对应的动作序列能不能实际完成任务。
这个三层结构形成了一条完整的评价链条:从画面好看,到动作合理,再到任务可行。每一层都过滤掉一批模型。只靠“画面剪得漂亮”的模型,在第二层和第三层会暴露原形。这也解释了为什么RBench的结果报告里,排名靠前的往往不是那些传统视频生成榜单的常见面孔,因为评测的底层逻辑变了,模型真正要比的东西也变了。
3. 评测口径之争:通用指标为什么管不住具身任务
3.1 FVD、CLIP相似度在想什么
要理解为什么RBench要另起炉灶,我得先摊开说说传统指标在想什么。FVD的全称是Fréchet Video Distance,它的思路是把生成的视频和真实视频分别编码成特征向量,然后比较两个特征分布之间的距离。说白了就是,我这个分布跟你那个分布像不像。CLIP Score更直接,把视频帧和文本编码到同一个语义空间里,测量两者的余弦相似度。
这两个指标在现代视频生成技术里非常有价值,但它们都有一个隐含前提:假设画面质量高就等于数据分布准,语义空间对齐就等于任务可执行。这个前提在生成“猫在草地上打滚”这种开放域内容时基本成立,因为作者意图就是画面本身。但放到具身任务里,前提立刻就崩了。一段视频可以每一帧都非常真实,但物体在没有外力的情况下突然移位;一段视频可以和文本指令在CLIP空间里高度匹配,但动作执行到一半就出现物理矛盾。所以传统指标在具身视频生成这条赛道上,能提供的有效信号非常有限。
3.2 具身结果评审:执行闭环、约束满足与多视角一致性
RBench采用的具身结果评审逻辑,我觉得可以用三个关键词来归纳。
第一个是执行闭环。模型生成的视频不只是一个产出物,它会被折算成一条可执行策略,再去模拟器里跑一遍。跑成功了,才是真正的有效生成。这就把视频生成评测从“打分制”变成了“过关制”。
第二个是约束满足。具身视频生成模型必须在生成过程中同时满足物理约束、场景语义约束和任务指令约束。RBench的三层评分结构里,每一层都在对应检查一类约束。物理约束不满足,行为合理性分就低;任务指令约束不满足,执行成功率就低。这种显式的约束检查,是传统指标里几乎不存在的。
第三个是多视角一致性。具身任务的观测视角非常关键,很多模型生成的视频在单一视角下看着没问题,一旦换个视角,物体的相对位置就乱了,动作的空间关系也跟着错乱。RBench在评测时会从多个视角采样观测,要求模型在所有这些视角下保持一致的空间结构。这个度量非常狠,因为它对模型学到的三维结构有硬性要求,不是二维层面的视觉一致性就能糊弄过去的。
3.3 指标组合的价值远比单个SOTA重要
还有一个我想特别强调的点:RBench这套评测体系里,单个指标的绝对值排名远不如指标组合之后形成的“能力轮廓”重要。
举个例子,一个模型在三层评分结构里都排中游,看起来哪一项都不突出,但如果把它的视觉保真分和行为合理分放在一起看,你会发现它可能在“画面真实但行为逻辑弱”这个象限里。这说明它的问题不在生成质量,而在物理建模,下一步优化方向应该往物理约束那边偏。另一个模型可能在执行成功率上特别高,但视觉保真分一般,这说明它靠合成技术把画面预测得“能用”,但距离真实画面还有距离,适合往专有任务上走,而不是直接做开放域生成。
这种把多个指标放在一起读的能力,我觉得是RBench比单一指标榜单更有价值的地方。它不只是告诉你谁强谁弱,而是告诉你强在哪里、弱在哪里、下一步该往哪修。作为研发参考,这比一个冷冰冰的SOTA名次有用得多。
4. 一个从业者的复现记录:跑通RBench的基本盘与意外
4.1 环境准备:模拟器、动作空间与相机参数对不上怎么办
任何基准真正跑起来,都会遇到一些跟算法无关但让你磨掉半条命的工程问题。RBench这套环境,我在复现首日就撞上了“动作空间和相机参数不一致”的坑。
原因不复杂。RBench的任务样本采集自不同的模拟场景,动作路径本身是在统一的机器人控制框架下记录的,但不同场景的相机内参不是完全一样的。我一开始图省事,直接加载了统一默认相机参数,结果所有任务的前几帧画面全是歪的。后来检查任务元数据才发现,每个样本里都已经嵌入了对应的相机初始化参数,只是需要显式读出来并覆盖全局默认值。
处理办法也很简单:在加载任务时,强制用样本级camera config覆盖环境级config,并且在跑首帧之前先做一次渲染对齐检查,确认观察空间没有发生裁剪。这个步骤看起来微不足道,但如果不做,后面的所有评测数据都会带着空间偏差。强烈建议所有打算复现RBench工具链的同行,把这个检查写进初始化流程,别信默认值。
4.2 训练与评估schema里最容易被忽略的版本问题
第二个让我折腾了一晚上的问题,是评估脚本和任务schema的版本匹配。
RBench这种还在快速迭代的基准,会存在一个任务定义schema的多个小版本同时在外流通的时期。某个评估脚本可能是按照旧版本的输出格式设计的,但你加载的评测数据已经升级到新格式,最典型的变化就是动作序列里面的力矩字段被重命名了,或者导航类任务的目标点从绝对坐标改成了相对观测坐标。
我一开始没注意,跑完一批导航任务之后发现成功率全是零,逐个检查才定位到是目标点的坐标归一化方式变了。这种问题不会报错,因为没有语法错误,只在结果层面表现为“表现异常低”。我的经验是,在跑批量评测之前,先挑一个最小任务样本做单条诊断,打印出动作样本和指令文本,跟schema文档人工比对一遍。这一步十分钟之内能做完,能省掉后面整轮无效实验的时间。
4.3 采样不稳定的根因:确定性、随机性与长程一致性
真正让我在复现过程中卡最久的,是视频生成模型在评测时的随机性问题,注意它不是“结果时好时坏”的小波动,而是同样的初始化条件、同样的种子,两次生成的结果会有肉眼可见的差异,尤其是到了视频的后半段。
我排查了一圈,定位出三个主要因素。第一个是采样器本身带了随机性,扩散模型在逐步去噪时如果没有锁定噪声种子,那不管你输入是否一致,输出都会漂移。第二个是任务里可能存在多智能体或环境动态因素,机器人动作在仿真环境里被物理引擎推进时会有微小差异,这种差异在长序列里会被逐步放大。第三个是评测框架默认没有指定生成器和环境是否共享随机流,两者各自使用自己的随机源,逆来顺受就导致结果看起来“不收敛”。
解决方式也并不高大上,就是在运行配置里显式锁好三层随机种子:模型推理层的噪声种子、模拟器物理层的随机种子、任务采样的样本种子。锁完之后,长序列的一致性肉眼可见地提升,评测结果也稳定多了。这件事让我再次意识到,在具身视频生成这种多系统耦合的评测里,随机源的管理本身就是一项核心实验技能。
5. 评测倒逼模型:架构设计里的三组取舍
5.1 动作条件是输入拼接还是交叉注意力
RBench的评测设计决定了一件事:一个视频生成模型如果想拿高分,必须认真思考动作条件到底该往网络哪里灌。
目前实践中常见的有两种路径。一种是把动作信息拼到文本嵌入向量后面,跟文本一起做条件注入。这种做法实现简单,在短动作序列上也能用,但缺点是动作和视觉特征的交互太浅,模型只能学到“动作是某种全局偏好”,很难学到“动作发生在哪个空间位置”。另一种是交叉注意力注入,让动作条件以注意力机制的方式作用到每一层特征上,这相当于在每一个生成步骤上都强制做一次动作-视觉对齐。效果通常更好,但训练时的显存开销和计算量会明显上涨。
我的倾向是,如果任务偏操作类,一定要设计成交叉注意力机制,因为操作类任务对空间位置的敏感性非常高,全局拼接会损失空间信息。如果任务偏导航类,动作本身对画面的影响相对弱,全局拼接在精度上也能凑合,性价比更高。RBench这样一个同时包含操作、导航、复合任务的基准,实际上是在逼着模型架构不能一招吃遍天下。
5.2 自回归视频生成与扩散模型在指令速度上的差异
评测跑多了之后,我发现一个有意思的现象:扩散类模型在RBench的视觉保真层表现普遍更稳,自回归模型在行为合理层和执行成功率层的相对差距会小一些。这个结果其实跟两类模型的结构特性高度相关。
扩散模型是在一个固定步数里逐步去除噪声,它的生成过程更像“从模糊到清晰的修正”,所以在帧内视觉质量上有天然优势,短期空间细节漂亮。自回归模型是一帧帧预测,每一步都是在前一步的基础上追加信息,它对长期依赖的处理能力更强,因为每一步都强制依赖前序输出。具身任务里,动作序列的长期正确性恰恰比单帧细节更重要。
所以在RBench这种同时要求画质和长程可执行性的场景里,只靠单一生成范式是有上限的。现在圈里讨论比较多的混合方案,比如用自回归模型做轨迹主干预测、用扩散模型做局部图像精修,我觉得会更符合RBench的评测偏好。这个思路未来可能会越来越主流。
5.3 策略化世界模型:视频生成不是终点
最后提一个模型侧的方向,我认为RBench真正想推的是“策略化世界模型”这个概念。纯视频生成模型的目标是生成一个尽可能真实的视频,策略化世界模型的目标是生成一个能辅助决策的预测结果。
这两者的差异在评测结果里能直接反映出来。一个纯视频生成模型可能在RBench的视觉保真层拿高分,但当它生成的视频被折算成策略、送进模拟器去执行时,成功率会断崖式下降。问题就在于模型的损失函数里根本没有“任务能不能完成”这一项。
如果往这个方向想,你会发现评测基准的损失函数设计逻辑会影响训练时的优化目标。以后的主流做法可能不再是先训视频生成模型、再单独接策略网络,而是直接把任务成功率作为一项可微目标嵌入到生成模型训练里。RBench的出现,某种意义上就是在催生这种端到端训练方式的规范化。至少我自己已经在用它来验证各类混合训练方案,而不是单纯把它当做一个“跑分榜”。
6. 笔记里能直接用的经验,以及下一步怎么玩
6.1 先离线后在线:评测序列该怎么安排才省算力
RBench的评测成本不低,尤其是执行成功率那一层,每次都要把生成结果送进模拟器跑真实交互。我一开始踩过坑,不管模型强不强,直接全量评测集跑。结果效率极低,还会因为模型版本差异产生大量无效对比。
后来总结出一套顺序,效果不错:先用三分之一的评测子集做离线筛选,只比较视觉保真和行为合理性两个轻量层分数。通过这个筛选的模型,再进入完整评测集,跑三次重复实验取均值。最后对排名前五的模型配置,再加做一遍长序列导航和复合交互任务的重负载测试。这种“先轻后重、逐层筛选”的顺序,至少帮我把评测总耗时压掉了一半。算力紧张的小组,真的建议走这个流程。
6.2 失败样本比成功样本更值钱
在分析RBench结果时,别只盯着成功率。每一个执行失败的样本,如果仔细拆解,几乎都能定位出明确的原因模块:是在视觉预测阶段就已经错了,还是在行为合理性层没拦住错误轨迹,又或者是环境动态相近但生成结果完全偏移。
我每次跑完一批实验,都会把失败样本按这三类原因打标签,然后单独统计它们在不同任务域里的占比。这么做几次之后,我基本能判断一个模型的短板藏在语义理解、物理建模还是空间稳定性。相比之下,只看成功率这张汇总表,大概率会被“整体分数还行”这种表面结果误导,忽略了具体能力缺陷。
6.3 从基准到产品:RBench的边界与扩展思路
最后说一句公道话,RBench不是一个万能标尺。它目前评测的仿真场景相对可控,真机环境里的光照变化、物体材质差异、随机扰动,这些都比仿真里更恶劣。把一个模型从RBench高分直接部署到真机,中间还要经历从sim-to-real的分项验证。
我的玩法是,把RBench当作一个可控的“室内测试场”,先把基础能力模型跑明白,再结合自己的仿真环境做扩展。比如给它增加动态障碍物、改变天气光照参数、或者在指令里加入更模糊的意图表达。这些扩展做起来成本不高,但能帮你在真实硬件上少踩很多坑。基准是起跑线,不是终点线,这个心态我觉得挺重要。
自我总结一句话:RBench最让我受益的地方,是它把“视频生成得好不好”彻底从“任务做没做成”里剥了出来,然后又用一套坐标把它们重新绑在了一起。每个研究视频生成或者具身智能的人,都值得拿它当一面镜子,照一照自己的模型到底是在“画视频”,还是在“懂世界”。