DynaVid:借助合成运动数据学习生成高动态视频 DynaVid: Learning to Generate Highly Dynamic Videos using Synthetic Motion Data
用合成光流替代合成视频,解耦运动与外观生成高动态视频。
前置知识
潜在扩散模型 (Latent Diffusion Model)
在预训练 VAE 的潜在空间中进行扩散过程的生成模型,先通过 VAE 将像素压缩到低维潜码 $z$,再在其上做前向加噪和反向去噪。论文中视频 $I$ 与运动光流 $F$ 都先编码为潜码 $z_I, z_F$ 再训练扩散模型,显著降低了显存与算力开销。
DynaVid 两阶段框架都建立在潜码空间上,理解 VAE 潜码如何承载 RGB 与光流两类信息,是看懂该论文数据表示的前提。
光流 (Optical Flow) 与 HSV 可视化映射
光流是相邻帧间像素的二维位移矢量 $f(p)=(f_x,f_y)$。论文先用 $\|f\|_2$ 归一并取第 99 百分位 $s_f$ 缩放,将幅度 $m=\|f'(p)\|_2$ 与方向角 $\alpha=\arctan2(f'_y,f'_x)$ 映射到 HSV 的 value 与 hue 通道(saturation 固定为 1),再转 RGB,从而把向量场变成 VAE 可编码的三通道图像。
把光流当图像处理让作者能直接复用为 RGB 视频训练好的 VAE,是该方法能跨模态工作的关键技术拼图。
Plücker 嵌入 (Plücker Embedding)
相机射线的 Plücker 坐标由方向向量 $\mathbf{d}$ 和力矩 $\mathbf{m}=\mathbf{o}\times\mathbf{d}$($\mathbf{o}$ 为相机原点)组成,常用于表示 3D 相机位姿。CameraCtrl 等工作证明其可作为扩散模型的条件输入实现相机可控视频生成。
DynaVid 在运动生成器中把 Plücker 嵌入通过 VACE 控制分支注入 transformer,控制流场反映的相机轨迹,从而实现极端视角变化的相机可控视频。
Flow Matching 训练目标
Flow Matching 通过常微分方程连接噪声分布与数据分布,训练时构造线性插值 $F_{t_f}=(1-t_f)F_0+t_f F_1$($t_f\in[0,1]$),让网络预测目标速度场 $v_F=\epsilon-F$;损失即 $\mathbb{E}\|\hat u_F(\cdot)-v_F\|_2^2$。相比 DDPM,它收敛更快且更稳定。
两阶段都使用 Flow Matching,理解该损失函数是看懂训练公式 (2)(3) 和迭代去噪流程的关键。
循环一致性 (Cycle Consistency)
对前后向光流做 warp 回原图后,理想情况下应回到原像素位置,误差反映光流估计质量。论文报告最大误差可达 1080.05 像素,90 分位为 1.19 像素,因此通过阈值过滤剔除误差大的样本以提升监督质量。
该过滤策略是消融实验中保证运动-视频一致性的关键环节,对理解 Tab.3 中 (c) 的差异至关重要。
研究动机
现有视频扩散模型如 CogVideoX、Wan2.2-5B 在合成高动态场景(如 breakdancing 街舞、180° 急转相机)时表现明显退化,根本原因在于训练数据的运动分布偏置:尽管 VideoCrafter、Panda-70M 等数据集规模庞大,但真正涉及剧烈人体动作或极端视角变化的片段在数据中代表性不足。例如论文在 Wan2.2-5B 上观察到生成 breakdancing 时出现不真实的扭曲动作。同时,相机可控方法如 CameraCtrl、AC3D、GEN3C 高度依赖准确的 3D 相机位姿监督,但在帧间重叠很小的剧烈运镜视频里 SfM/COLMAP 等位姿估计工具几乎失效,因此模型只能在运动幅度有限的数据上训练,泛化到剧烈视角变化时出现明显 artifact(GEN3C 的不可见区域伪影)。直接用渲染引擎生成合成视频虽然能提供动态运动与精确控制信号,但渲染结果的纹理、光照、阴影与真实视频差距过大,模型会把"合成的假外观"一并学到,导致输出视频呈现渲染质感。
本文的目标是DynaVid 的目标是同时解决"高动态人体运动生成"和"极端相机运动控制"两类问题,并保持真实视频的视觉自然度。具体而言,希望在 breakdancing、acrobatic 等剧烈动作场景下生成自然、连贯的视频帧(此类场景在 Pexels 等通用数据集中十分稀缺),同时在 Rapid Rotation、Large Translation 等极端相机轨迹下实现高保真相机可控合成(此类场景在 RE10K 等通用数据集中接近缺失)。作者希望建立一个统一框架,使模型既能学到真实视频的外观分布,又能获得远超真实数据集运动多样性的监督信号。
与已有工作不同的是,已有工作主要分两类思路但各有硬伤:第一类是纯真实数据方法(MoVideo、LFDM、FloVD、GEN3C),虽然在真实视频上表现良好,但受限于真实运动分布,无法覆盖高动态场景;第二类是直接用合成视频训练(RecaMaster、Shuai 等),运动信号丰富但会出现严重的外观域迁移——模型把渲染外观误当作视频本身去学习。DynaVid 的核心切入角度是把"运动"从"视频外观"中解耦,用渲染光流(motion-only signal)作为训练数据而非渲染 RGB 视频,从而同时获得高动态运动监督与真实外观:运动生成器在合成光流上学习极端运动模式,运动引导的视频生成器则在真实数据上学外观,并在推理时由运动生成器先合成光流、再由视频生成器照着这份"剧本"渲染帧。这一解耦思路在现有文献中没有同类型的系统方案。
核心方法
DynaVid 是一个两阶段视频生成框架。第一阶段是运动生成器(Motion Generator),输入文本 $c_{txt}$ 与(可选的)相机参数 $C$,输出代表视频运动的光流图 $F$;第二阶段是运动引导的视频生成器(Motion-Guided Video Generator),输入文本与同一份 $F$,输出最终 RGB 视频 $I$。两个阶段都以 Wan2.2-5B 作为扩散主干,配合 VACE 控制分支分别接收 Plücker 嵌入或光流本身作为控制信号。训练时,运动生成器先在真实视频提取的光流 $F^{real}$ 上预训练以学习常规运动统计,再在 Blender Cycles 渲染出的合成光流 $F^{syn}$(来自 DynaVid-Human 和 DynaVid-Camera 两个数据集)上微调以扩展到高动态模式,每个 batch 混入真实与合成数据以避免灾难性遗忘;视频生成器则在真实 (视频, 光流) 数据对上训练,并通过循环一致性阈值过滤剔除估计误差过大的样本。推理时只需先采样 $F$,再采 $I$,无需任何人工干预或后处理。
最核心的创新是把监督信号从合成视频切换到合成光流。光流天然只编码运动、不编码外观,因此无论渲染引擎贴图多么虚假,监督给模型的只是"运动本身",跨域迁移被压到最小;同时通过两阶段解耦,运动知识从合成域迁移到真实外观渲染的过程中始终由光流充当媒介,模型不需要直接见过合成视频的纹理。这是一个"分而治之"的设计:动力系统(motion)和渲染系统(appearance)各自用最合适的数据训练。此外,VACE 控制分支让 Plücker 嵌入可在不破坏 Wan2.2-5B 原架构的前提下注入运动生成器,使相机控制成为模型内部一致性而非后处理 hack。
方法步骤详情
完整方法分四步:(1) 数据合成 — 使用 Blender Cycles 搭建 DynaVid-Human(3D 人体资产 + Mixamo 动作 + 半穹顶随机相机)和 DynaVid-Camera(BlendSwap 城市场景 + NURBS 曲线采样急转相机轨迹),渲染合成 RGB 视频与逐帧光流,光流通过追踪连续帧间 3D 表面点在像平面上的位移计算。(2) 表示转换 — 把光流 $f(p)$ 用第 99 百分位 $s_f$ 归一得到 $f'(p)$,再以幅度映射 value、角度映射 hue 写出 HSV 图,转 RGB 喂给为视频预训练的 VAE 编码到潜码 $z_F$,视频直接编码为 $z_I$。(3) 运动生成器训练与采样 — 先在 $F^{real}$ 上用 Flow Matching 目标 $\mathbb{E}_{F,c_{txt},C,\epsilon,t_f}\|\hat u_F(F_{t_f};c_{txt},C,t_f)-v_F\|_2^2$ 预训练,再在混合 batch 上微调,推理时迭代去噪得到光流 $F$;当用于相机控制时,Plücker 嵌入通过 VACE 控制分支以逐像素相加方式注入 transformer 块,相机参数 $C$ 不进入视频生成器。(4) 运动引导视频生成器 — 用 (视频, 光流) 真实对训练目标 $\mathbb{E}_{I,F,c_{txt},\epsilon,t_I}\|\hat u_I(I_{t_I};c_{txt},F,t_I)-v_I\|_2^2$,循环一致性阈值 1.19 像素过滤样本,推理时以采样得到的 $F$ 作 VACE 控制信号去噪得到最终帧。
技术新颖性
技术新颖性体现在三个层面:第一,把合成监督从 RGB 域转到光流域是数据选择的范式转换,多数同行(Free-form Motion Control、RecaMaster、Sharma 等)仍执着于改进渲染流程本身的真实感,本文则干脆放弃在外观维度和真实视频对齐;第二,运动-外观解耦设计并非全新思路(MoVideo、LFDM、FloVD 都有两阶段),但 DynaVid 首次把合成光流与 VACE 控制分支结合,使同一架构可同时处理"高动态物体运动"和"极端相机控制"两类任务,并保持相机参数信号不进入视频生成器从而避免双监督源冲突;第三,循环一致性过滤(最大 1080.05 像素误差、90 分位 1.19 像素阈值的具体数字)提供了具体的工程级数据清洗规范,给后续工作一个可参考的实现模板。这些组合让方法在通用数据(Pexels、RE10K)和高动态数据(DynaVid-Human、DynaVid-Camera)两侧都取得可比或更优指标。
实验结果
实验在两类任务上对比 4 个基线。物体运动生成 (Tab.1):在 Pexels 通用场景下,DynaVid 的 FVD=1126.38 略优于 Wan2.2-5B 的 1172.02,A-Qual=0.5807、I-Qual=0.7342 均为对比中最佳;在 DynaVid-Human 高动态场景下,FVD=1351.94 显著优于 Wan2.2-5B 的 1775.99(提升 ~24%)和 CogVideoX-5B 的 2238.68,I-Qual 0.7352 同样最佳。相机可控合成 (Tab.2):在 RE10K 通用场景下 DynaVid 的 mRotErr=0.1136 优于 AC3D 的 0.1347,与 GEN3C 的 0.0809 仍有差距,但 I-Qual=0.7224、A-Qual=0.5425 均最高;在 DynaVid-Camera 极端场景下 mRotErr=0.9289 大幅优于 AC3D 的 1.1529(~19% 改进)和 GEN3C 的 1.1852,FVD=674.72 略高于 GEN3C 但视觉质量 I-Qual=0.6713 远胜 GEN3C 的 0.5659。消融 (Tab.3):去掉合成运动数据导致 DynaVid-Human 的 FVD 从 1351.94 退化至 1878.98 (+527.04),证明合成数据是高动态生成的关键;去掉 batch mixture(仅用合成光流微调)使 Pexels FVD 上升 759.36,说明真实光流对保留通用运动先验不可或缺;用合成视频替代合成光流时 Pexels FVD 升高 104.43 并出现明显合成质感外观(Fig.6),印证了"运动 vs 视频"的解耦价值。鲁棒性 (Tab.4):在 25dB、20dB 噪声下 M-Err 维持在 4.371、4.374,A-Qual 仅微降 0.5312→0.5233 → 0.5239,模型在中等光流噪声下仍能渲染合理视频。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 通用场景物体运动生成 (Pexels) | FVD ↓ | 1126.38 | Wan2.2-5B: 1172.02 | +45.64 (约 3.9% 改善) |
| 高动态物体运动生成 (DynaVid-Human) | FVD ↓ | 1351.94 | Wan2.2-5B: 1775.99; CogVideoX-5B: 2238.68 | 相对 Wan2.2-5B 改善 ~24%,相对 CogVideoX 改善 ~40% |
| 高动态物体运动生成 (DynaVid-Human) | I-Qual ↑ | 0.7352 | Wan2.2-5B: 0.6974 | +0.0378 |
| 通用相机控制 (RE10K) | mRotErr ↓ | 0.1136 | AC3D: 0.1347 | +0.0211 (~15.7% 改善) |
| 极端相机控制 (DynaVid-Camera) | mRotErr ↓ | 0.9289 | AC3D: 1.1529; GEN3C: 1.1852 | 相对 AC3D 改善 ~19.4%,相对 GEN3C 改善 ~21.6% |
| 极端相机控制 (DynaVid-Camera) | I-Qual ↑ | 0.6713 | AC3D: 0.5407; GEN3C: 0.5659 | 相对 AC3D +0.1306,相对 GEN3C +0.1054 |
| 噪声光流鲁棒性 (25dB→5dB) | M-Err ↓ | 4.287 → 4.434 | 无干净基线 | 在 <=20dB 范围内 M-Err 平稳,仅在 5dB 时轻微退化,模型对运动生成误差具备中等容忍度 |
局限与改进
作者坦诚承认两个局限:(1) DynaVid-Human 数据集主要为单人场景,Fig.8 显示当 prompt 中出现多人(如多人街舞、交战小队)时模型出现明显结构崩坏、手脚错乱,因为合成数据从未覆盖 multi-person 复杂交互;(2) 模型受限于训练数据的动作类别,扩展到全新物体类别(如图 7 中动态运动的熊猫、人体结构完全不同的角色)时只能生成大致形状而非精细结构,运动风格也不一定符合物理直觉。从个人观察看,结果中"HyperMotion 的 FVD 极低但视觉人工感强"的对比说明单一数值指标容易误导评估,仅凭 FVD 难以判断模型实际生成质量;GEN3C 在 DynaVid-Camera 上 mRotErr 反而比 AC3D 略差(0.0809 vs 0.1347 看似更优,实际上 DynaVid-Camera 上是 1.1852 vs 1.1529 GEN3C 略差)说明 I2V 模型在新视角的几何外推上仍存系统性短板;此外视频生成器 M-Err=4.287 反映即使在干净光流下,重建后的运动也存在固有偏差,意味着下游可能需要一个像素级对齐模块做后处理。
独立分析的弱点
在仔细阅读全文后我整理出几个独立弱点:(1) 数据规模偏小:DynaVid-Human / DynaVid-Camera 各仅约 100 测试样本,论文未明确报告训练集大小,若与 Panda-70M、RE10K 训练集相比数量差距悬殊,模型可能无法学到充分的场景多样性;(2) 评估集割裂:通用与高动态场景分属两个独立测试集,模型在两侧各自最优但缺乏"在通用测试集上同时体现高动态能力"的直接证据,使得整体性能陈述稍显分散;(3) FVD 在跨域分布下可能产生误导:Tab.3 的 (d) 项使用合成视频训练后 FVD 在 DynaVid-Human 上反而更低(-653.98),但视觉上有明显合成质感,说明 FVD 对外观偏差敏感的可靠性存疑;(4) 算力报告缺失:作者未公布 5B 模型规模下预训练 + 微调两个阶段所需的 GPU 时数和显存峰值,社区复现门槛不透明;(5) 鲁棒性测试只到 5dB,更剧烈的运动噪声下行为未知,且评测只测一种注入方式(高斯噪声),缺乏对自然光流漂移(如快速非刚体运动下 WAFT 估计误差的真实分布)的评估。改进方向:扩大合成数据集并增加多人、刚体、非人形资产;引入 human preference score 等主观指标与 FVD 并列;公开训练算力与具体超参;在真实世界光流误差分布(不仅是高斯噪声)下重做鲁棒性测试。
未来方向
作者在 Limitations 与 Conclusion 部分提到把合成数据集规模与多样性扩展到多人交互动作为下一步方向。基于 DynaVid 的解耦思路可延伸的研究包括:(1) 将同一框架应用于其他动态场景,如流体(湍流、对流)、刚体(机械臂装配、车辆碰撞),仅需替换 Blender 资产与 Mixamo 类动作源,不必改架构;(2) 把运动生成器升级为多模态输入(草图 + 文本 + 相机参数)甚至交互式控制(在线编辑光流),使视频生成变成"剧本驱动"创作工具;(3) 探索用物理仿真器(Isaac Sim、Drake)替代 Cycles 渲染光流,自动保证光流物理一致性,缓解 WAFT 在极端运动时的真实分布误差;(4) 把 VACE 控制分支泛化为"任意运动信号"(深度图、关键点轨迹),进一步解耦任务;(5) 用 3D 重建评估(NeRF、DUSt3R 类指标)替换当前相对粗略的 mRotErr,以更严格度量相机轨迹忠实度。
复现评估
可复现性整体中等偏上。作者明示骨架是 Wan2.2-5B 与 VACE 控制分支,两者在 arXiv 与官方代码仓库中均有公开实现(arXiv:2503.20314、arXiv:2503.07598),光流估计使用 WAFT(arXiv:2506.21526),数据集基于 Blender Cycles 渲染(开源)。但有几个关键信息缺失:论文未公布 DynaVid-Human 与 DynaVid-Camera 训练样本量、未发布相应数据集或预训练权重、未详细说明 Flow Matching 的具体噪声调度、batch 大小、optimizer、GPU 数量与训练小时数,也未给出超参搜索范围与显存占用。两个阶段的损失 (2)(3) 仅展示数学形式,缺少伪代码级工程细节。对于希望严格复现极端相机控制结果的研究者,至少需要多卡 A100/H100 集群运行数日级别微调,门槛不低;运动生成器在 $F^{real}$ 上的预训练时间未说明,估计需要更高算力。综合看,方法路径清晰但工程细节不全,复现难度中高。
论文图表
上半部分对比 breakdancing 街舞场景:左 Wan2.2-5B 生成出明显不自然动作,右 DynaVid 给出流畅的人体运动;下半部分对比急转相机轨迹:左 GEN3C 在不可见区域出现伪影,右 DynaVid 沿预设 Plücker 轨迹生成自然厨房视角。
该 teaser 图把两类任务的核心痛点(动态动作 + 极端视角)放在一页,并直接对比最强基线的失败模式,是动机与结论同时出现的位置。
展示训练集中不存在的熊猫动态运动示例:模型生成出大致符合动态描述的熊猫运动,但身体结构与人形并非完全一致,提示模型有外推能力但受训练分布限制。
辅助说明模型在某种程度上具备 out-of-distribution 泛化能力,但也间接暴露了 humanoid-only 训练的局限,对 Limitations 章节点题。
展示多人动态场景下模型输出:出现肢体错乱、面部融合、身体相互穿插等明显崩坏。
作者公开承认的最大局限之一,是论文 honesty 的体现,也提示未来工作合成数据集需要扩展至多人交互。
在 25/20/15/10/5 dB 五档噪声下报告 M-Err 与 A-Qual:M-Err 从 4.287 缓慢升至 4.434,A-Qual 从 0.5312 降至 0.4632,整体呈现稳定退化曲线,表明视频生成器对中等运动误差具有较强容忍度。
衡量 pipeline 鲁棒性的关键辅助表,说明即使运动生成器出现非零误差,下游视频生成器仍能维持视觉质量。