论文链接:VideoCoCo: Code-as-CoT for Physically-Consistent Video Generation via an Agentic Dual-Engine System 发表时间:2026年7月 机构:香港中文大学(Pheng-Ann Heng, Feng Zhao)+ 中国科学技术大学 + 武汉大学等多校合作(26位作者) 领域标签:cs.CV / cs.AI / 文生视频 / 物理一致性


一、论文背景

1.1 文生视频的物理一致性困境

文生视频模型(如Sora、Wan2.2、Kling)已经能生成视觉质量惊人的视频。然而,一个持续困扰的问题是:生成的视频经常违反物理定律。

球穿过固体桌面、液体凭空消失、物体碰撞后不反弹——这些"物理幻觉"的根本原因在于:视频的时间演化必须从高度压缩的文本提示中隐式推断。一句"球从管道滚出撞击鸭子"包含的物理信息(球的质量、管道角度、撞击力度、鸭子材质)远远超出了文本能编码的精度。

1.2 现有链式思维方法的局限

为解决物理不一致问题,研究者尝试在文本到视频之间引入"中间表示"作为链式思维(Chain-of-Thought):

中间表示类型代表做法关键问题
文本动作计划先用LLM生成逐步文本描述再生成视频非可执行,无法控制完整时空过程
稀疏关键帧预测中间关键帧再插值时间稀疏,帧间物理过程无法控制
物理参数预测物体位置、速度等参数需要预定义物理引擎,泛化性差

这些方法的共同问题是:中间表示要么不可执行(文本计划),要么时间稀疏(关键帧),要么需要预定义引擎(物理参数),无法实例化和控制完整的连续时空过程。

1.3 VideoCoCo的灵感:代码是最精确的物理描述

VideoCoCo的核心洞察是:可执行的程序代码是描述物理过程最精确的语言。Blender(开源3D建模软件)的Python API可以精确指定场景中每个物体的几何、材质、位置,以及它们随时间的完整演化——这正是生成物理一致视频所需的全部信息。

更重要的是,Blender内置了确定性物理仿真引擎:代码运行的结果是确定的、可检查的、可修改的。如果物理过程不对,可以直接修改代码重新运行,而非盲目调整视频生成器的参数。


二、论文定位和关联工作

2.1 文生视频物理一致性研究脉络

方向代表工作核心思想与VideoCoCo的区别
像素空间直接生成Sora 2, Wan2.2扩散模型从文本直接预测像素无中间表示,物理隐式
文本计划CoTVideoDirectorGPT先生成文本场景计划非可执行,时间稀疏
关键帧+插值逐帧生成+插值预测稀疏关键帧物理过程不可控
物理引擎约束Physics-driven生成将物理方程嵌入生成器需预定义方程,泛化差
VideoCoCo可执行Blender代码CoT代码→仿真→渲染确定性可执行全过程控制

2.2 代码生成在AI中的应用趋势

VideoCoCo处于"代码作为中间推理表示"这一更大趋势中:

  • AlphaCode/Codeforces:代码作为算法竞赛的推理中间表示
  • ViperGPT:代码作为视觉问答的推理中间表示
  • VideoCoCo:代码作为视频生成的物理推理中间表示

这一趋势的核心理念是:代码的可执行性和确定性使其成为比自然语言更精确的推理语言。

2.3 VideoCoCo的定位突破

VideoCoCo是首个将可执行仿真引擎代码用作视频生成过程级CoT的工作。它的突破不在于更好的视频生成器,而在于用确定性仿真引擎分离过程级推理与高保真视觉实现。

维度传统文生视频文本计划CoTVideoCoCo
中间表示无文本可执行代码
可执行性✗✗✓(确定性仿真)
时空完整性模糊稀疏完整连续
可检查性✗部分✓(代码可审)

三、问题定义

3.1 从具体场景到抽象问题

具体场景:给定文本提示"球从管道滚出撞击鸭子",生成物理一致的视频。

核心洞察:问题的本质不是"如何生成更好的视频",而是**“如何将物理过程的推理与视觉渲染分离,使物理一致性由确定性引擎保证,视觉保真度由生成器优化”**。

3.2 形式化定义

VideoCoCo将文生视频分解为两个子问题:

  1. 过程级推理:给定文本提示 $T$,合成可执行程序 $P$,使得 $P$ 在仿真引擎中运行产生的时空草稿 $D = \text{Simulate}(P)$ 的物理过程与 $T$ 描述一致。

  2. 草稿条件渲染:给定时空草稿 $D$,生成式视频引擎 $G$ 将其转化为逼真视频 $V = G(D, T)$,使 $V$ 在保持 $D$ 物理过程的同时拥有照片级真实感。

约束:

  • $P$ 必须是可执行的(在Blender仿真引擎中运行不报错)
  • $D$ 必须是确定性的(同一程序多次运行产生相同草稿)
  • $G$ 必须在保持 $D$ 物理过程的同时提升视觉质量

3.3 抽象的精妙之处

这个定义将"什么需要确定性"和"什么需要创造性"清晰分离——物理过程需要确定性(由仿真引擎保证),视觉外观需要创造性(由生成器优化)。就像建筑中的结构计算需要精确(由工程师保证),而外立面设计需要创意(由建筑师发挥)。


四、问题解法

VideoCoCo由两个"引擎"构成,形成"推理→仿真→渲染"的完整管线。

4.1 引擎一:编码智能体(Coding Agent)

目标:将文本提示转化为可执行的Blender程序。

机制:

步骤做法输出
场景理解LLM理解文本提示中的物体、空间关系、时间演化场景描述
代码合成生成Blender Python API代码可执行程序 $P$
代码验证在Blender中运行检查是否报错通过/报错反馈

代码指定内容:

  • 场景物体(几何形状、材质、初始位置)
  • 物理参数(质量、摩擦系数、弹性)
  • 时间演化(运动轨迹、速度曲线、碰撞关系)
  • 相机参数(视角、运动路径)

4.2 仿真引擎

目标:运行Blender程序产生确定性时空草稿。

关键特性:

  • 确定性:同一程序产生相同草稿
  • 物理正确:Blender内置刚体、流体、碰撞物理引擎
  • 可检查:草稿可视化检查物理过程是否正确

输出:时空草稿 $D$——一个低视觉保真但物理正确的视频。

4.3 引擎二:生成式视频引擎(Generative Video Engine)

目标:将物理正确但视觉粗糙的草稿转化为照片级逼真视频。

机制:草稿条件编辑(Draft-Conditioned Editing)——以草稿视频作为条件,引导扩散模型在保持物理过程的同时提升视觉质量。

训练数据:VideoCoCo-3K数据集——精心策划的草稿-指令-目标三元组,用于训练视频编辑器适应仿真草稿。

输入:时空草稿 $D$ + 文本提示 $T$

输出:照片级逼真视频 $V$

4.4 全景流程总结

输入:文本提示 T = "球从管道滚出撞击鸭子"
  ↓
[编码智能体] → Blender程序 P
  ↓
[仿真引擎] → 确定性时空草稿 D(物理正确,视觉粗糙)
  ↓
[生成式视频引擎] → 逼真视频 V(物理正确 + 视觉逼真)

关键特性:

  • 可执行代码作为过程级CoT,提供可检查、可控的中间表示
  • 确定性仿真保证物理一致性
  • 草稿条件编辑分离物理与视觉两个优化目标

五、评估指标与实验证据

5.1 评估基准

基准衡量什么为什么选它
PhyGenBench视频生成的物理一致性专门评估物理合理性的基准
VBench-2.0视频生成的综合质量行业标准综合视频评估

5.2 核心实验结果

PhyGenBench(物理一致性,越高越好):

方法分数
OmniWeaving(baseline)0.475
VideoCoCo0.558

VBench-2.0(综合质量,越高越好):

方法分数
OmniWeaving(baseline)52.18
VideoCoCo77.88

VideoCoCo在两个基准上均获最佳平均分。

5.3 VideoCoCo-3K数据集

为训练生成式视频引擎适应仿真草稿,构建了VideoCoCo-3K数据集:

  • 内容:草稿-指令-目标三元组
  • 草稿:Blender仿真产生的低视觉保真视频
  • 目标:对应的真实/高质量视频
  • 作用:训练视频编辑器学习"如何从物理正确的粗糙草稿生成视觉逼真的视频"

5.4 实验如何证明核心主张

  • PhyGenBench从0.475提升至0.558:证明可执行代码CoT显著改善物理一致性——因为物理过程由确定性仿真引擎保证
  • VBench-2.0从52.18提升至77.88:证明草稿条件编辑在保持物理一致性的同时大幅提升综合视觉质量
  • 两个基准同时最佳:证明VideoCoCo没有在物理一致性和视觉质量之间做妥协——两者同时提升

六、效果优势的根源解释

6.1 baseline的根本局限

OmniWeaving等baseline的根本局限在于:物理过程必须从文本提示中隐式推断,且推断结果与视觉渲染纠缠在一起。

这导致三个不可逾越的障碍:

  1. 物理推断不可靠:文本"球撞击鸭子"无法编码碰撞力度和角度,模型只能猜测
  2. 错误不可定位:物理不一致时,无法知道是推断错了还是渲染错了
  3. 物理与视觉耦合:修改物理过程必然影响视觉质量,反之亦然

6.2 VideoCoCo的根本性改变

方法差异:文本隐式推断物理 → 可执行代码确定性仿真物理

机制变化链:

  1. 物理过程从隐式推断变为确定性仿真 → Blender物理引擎保证刚体碰撞、流体运动等完全遵循物理定律
  2. 过程推理与视觉渲染解耦 → 编码智能体专注物理正确性(不受视觉质量干扰),生成引擎专注视觉保真度(受草稿物理约束)
  3. 中间表示可检查可修改 → 如果物理过程不对,直接修改Blender代码重新运行,而非盲目调参

因果验证:

  • PhyGenBench从0.475提升至0.558 → 因为物理过程由确定性仿真引擎保证而非隐式猜测
  • VBench-2.0从52.18提升至77.88 → 因为生成引擎在草稿物理约束下可专注视觉质量提升

6.3 反事实推理

如果去掉仿真引擎,直接从Blender代码的文本描述生成视频(跳过确定性仿真),物理一致性将退化至baseline水平——因为失去了确定性物理保证。

如果去掉生成式视频引擎,直接使用Blender仿真输出作为最终视频,物理一致性最高但视觉质量极低(Blender渲染远不如扩散模型)——这反证了双引擎分离的必要性。


七、必要知识反推

7.1 领域知识层

  • 视频物理一致性的本质:理解什么使视频"物理一致"(运动轨迹合理、碰撞响应正确、材质行为准确)——不理解这点无法设计评估基准
  • Blender仿真引擎的能力边界:理解Blender能模拟什么(刚体、流体、布料、碰撞)和不能模拟什么——这是代码生成的约束

7.2 方法论知识层

  • 链式思维(CoT)原理:理解中间推理步骤如何帮助复杂任务——这是"代码作为CoT"的理论基础
  • 扩散模型视频编辑:理解如何用条件视频引导扩散生成——这是草稿条件编辑的基础
  • 代码生成与验证:理解LLM如何生成可执行代码及验证流程——这是编码智能体的基础

7.3 工程知识层

  • Blender Python API:理解如何用代码控制Blender的场景构建和物理仿真——这是代码合成的具体技术
  • 视频编辑训练数据构建:理解如何构建草稿-目标对训练视频编辑器——这是VideoCoCo-3K构建的关键

7.4 知识融合的关键节点

创造性洞察:“代码作为过程级CoT"概念的提出——将链式思维的推理范式与仿真引擎的确定性物理保证融合。代码不仅是推理的中间表示,更是可执行、可验证的确定性过程——这使得物理一致性从"生成器尽力而为"变为"仿真引擎确定性保证”。


八、论文中可以提取的通用性灵感

灵感一:确定性引擎分离推理与生成的范式

核心思想:当某个维度(如物理一致性)需要确定性保证时,将其交给确定性引擎处理,生成器只负责需要创造性的维度(如视觉质量)。

论文证据:VideoCoCo将物理过程交给Blender确定性仿真,将视觉质量交给扩散模型——两者解耦后同时提升。

推广场景:

  • 代码生成:将语法正确性交给编译器(确定性),将功能正确性交给LLM(创造性)
  • 数学证明:将证明检查交给Lean/Coq(确定性),将证明构造交给LLM(创造性)
  • 数据库查询:将查询计划交给SQL引擎(确定性),将自然语言转SQL交给LLM(创造性)

灵感二:可执行中间表示优于描述性中间表示

核心思想:当代码可以执行并产生确定性结果时,它比任何文本描述都更适合作为推理中间表示——因为它自带验证机制(运行检查)。

论文证据:Blender代码可运行产生确定性草稿,文本计划无法运行验证——可执行性使物理一致性可控可查。

推广场景:

  • Agent规划:用可执行的API调用序列替代文本计划,运行验证可行性
  • 实验设计:用可执行的实验协议代码替代自然语言描述,确定性地验证设计合理性
  • 流程自动化:用可执行的工作流定义替代文档描述,运行时自动验证

灵感三:草稿条件编辑——从粗糙到精细的两阶段生成

核心思想:先生成低保真但结构正确的草稿,再用生成器提升保真度——比直接生成高保真内容更可控。

论文证据:Blender草稿(低保真物理正确)→扩散模型编辑(高保真保持物理)——两阶段比一阶段效果更好。

推广场景:

  • UI设计:先生成低保真线框图(结构正确),再生成高保真视觉稿
  • 写作:先生成大纲(逻辑正确),再扩展为完整文章
  • 3D建模:先生成低多边形模型(拓扑正确),再细分生成高精度模型