Warp-as-History:用一条训练视频实现可泛化的相机控制视频生成 Warp-as-History: Generalizable Camera-Controlled Video Generation from One Training Video
把相机诱导的 warp 塞进视频模型的原生历史通路,零样本激活相机跟随行为。
前置知识
扩散 Transformer(DiT)
DiT 是把扩散模型的去噪过程搬到 Vision Transformer 架构上的实现:用 patch 化的潜变量 token 序列替代 UNet 的 2D 特征图,再用 self-attention + RoPE 时空位置编码建模。Helios 等现代视频扩散模型基本都是 DiT 变体。
本文所有 warp、history、RoPE 对齐的操作都发生在 DiT 的 token 序列层面,只有理解 DiT 把时空信息编码为带位置索引的 token 流,才能跟上『目标帧位置对齐』与『可见 token 选择』等核心机制。
相机条件化视频生成
在视频扩散模型中显式注入目标相机轨迹(camera pose/plücker ray),使生成视频从给定首帧出发按预设视角移动。代表方法有 CameraCtrl、Gen3C、ViewCrafter、Voyager 等,通常需要相机编码器或控制分支并配合大量相机标注数据后训练。
本文是把『相机控制』重新解释为『历史条件化』的尝试,必须先理解传统做法为什么要塞额外模块,本文才显得反直觉而又有说服力。
LoRA(Low-Rank Adaptation)
LoRA 通过在原权重 $W$ 上叠加低秩分解 $W + BA$,$B \in \mathbb{R}^{d \times r}$、$A \in \mathbb{R}^{r \times k}$ 且 $r \ll \min(d,k)$,仅训练 $A$、$B$ 即可近似全参数微调效果。
本文最关键的论断是『一条视频 + 1000 次 LoRA 迭代』就能让方法在不同测试集上稳定工作,这与 LoRA 的低秩近似性质紧密相关,读者需要理解为什么少量数据 + 强约束更新能避免过拟合到单条训练视频。
历史条件化视频生成(History-conditioned video generation)
把已观测到的过去帧打包成『视觉历史』送入视频模型作为条件,用于引导后续 chunk 的生成。Helios 把它做成了原生接口:模型本身就用 history 续写场景。本文的关键是把相机 warp 也塞进同一条 history 通路,假装它是历史。
这是整个 Warp-as-History 方法的『地基』:相机控制不再被当作新模块,而是被包装成 history 的样子喂给同一个 backbone,这是论文反复强调的设计哲学。
RoPE(Rotary Position Embedding)
RoPE 通过对 attention 的 query/key 施加按位置 $\theta$ 旋转的相位,把相对位置信息编码进内积。在视频 DiT 中,RoPE 同时承担『时间帧序』和『空间网格』的双重定位。本文通过给 warp token 重新分配 RoPE 索引实现『目标帧位置对齐』。
没有 RoPE 概念就读不懂『目标帧位置对齐』这一步——本质是把 warp token 的时间索引从历史位置改写到对应目标帧位置,从而让模型把它当作『目标帧的视觉证据』而非『过去的回放』。
研究动机
当前相机控制视频生成方法普遍依赖两条路径:训练式方法(如 CameraCtrl、PRoPE、UCPE、Gen3C、ViewCrafter、Voyager)需要相机编码器、控制分支或位置编码改造,并在数万到十万级相机标注视频上做后训练;训练自由方法(如 Training-free Camera Control、NVS-Solver、Latent-Reframe、WorldForge)则把成本移到推理阶段,依靠测试时优化、去噪引导、递归 repaint 等手段强行约束相机轨迹。这两类方法都有明显痛点:第一,相机特定模块和大量标注数据使『开箱即用』几乎不可能,部署成本极高;第二,测试时优化引入不可忽视的额外时延,且对每个测试视频都需要重新拟合;第三,作者观察到『现代视频生成模型其实已经隐含了相当丰富的相机运动先验』,这意味着过去为相机控制专门设计模块的做法可能只是在『重新发明轮子』。以 DAVIS 上的具体数据为例,Gen3C 用约 90K 视频训练也仅得到 16.29 PSNR、ViewCrafter 用约 85K 视频 → 632K clips 也只得到 14.72 PSNR,但本研究用『1 条视频 → 4 clips』的 LoRA 微调就能达到 15.21 PSNR,且视觉质量(FVD 57.95、Subject 0.941、Background 0.940)反而全面领先,这种巨大的资源差距直接暴露出传统方案的低效。
本文的目标是本文的核心目标是把『相机控制』从『在扩散模型外加新模块/新优化』中解放出来,转而利用一个『现成的』历史条件化视频生成模型(Helios)的原生历史通路。具体目标包括:1)设计一个统一接口 Warp-as-History,把目标相机轨迹转化为 camera-warped pseudo-history,让冻结的预训练模型仅通过这条 history 通路就能产生非平凡的零样本相机跟随行为(Camera Control 在 WorldScore 上从 26.42 跃升到 61.32,相对提升 132.1%);2)验证『一条视频的离线 LoRA 微调』足以稳定并泛化这种行为到完全未见过的测试视频,无需测试时优化或针对测试样本的适配;3)在 WorldScore、RE10K、DAVIS 三个公开基准上与使用数量级更多数据的 SOTA 基线(Gen3C、Voyager、ViewCrafter、HyWorldPlay)同台比较,证明在算力-性能权衡上的压倒性优势。
与已有工作不同的是,Warp-as-History 与已有方法的本质差异在于『相机信号进入生成模型的位置』。传统训练式方法把相机信息注入到模型架构内部(新增控制分支、相机编码器、RoPE 修改),传统训练自由方法把相机信息作为采样时的硬约束(优化目标或 repaint 信号)。本文的独特切入是把 warp 注入到 backbone 早已存在的『history 通路』中——这不是新控制信号,而是伪装成历史的相机证据;它不需要新模块、新优化、也不需要新的训练目标,只需要在历史 patchify 路径上做两件事:1)给每个 warp token 重新分配 RoPE 索引,使其与对应目标帧对齐;2)基于 warp 有效性 mask 剔除不可见 token,让 backbone 的预训练补全行为去处理 disocclusion。这种『用原生接口表达新含义』的范式切换,使得『一条视频 LoRA 微调』足以在多个未见数据集上稳定工作,论文也把这条线索作为验证『历史条件化模型确实隐含相机跟随先验』的诊断工具。
核心方法
Warp-as-History 的整体思路非常反直觉:作者观察到现代视频扩散模型(Helios)的 history 通路本质上是一种『从过去视觉证据推演未来帧』的学习接口,因此尝试把『目标相机轨迹』也以视觉证据的形式喂进这条通路,而非当作新模块。给定一段生成窗口对应的目标相机轨迹 $C = (c_1, \dots, c_T)$ 和当前 chunk 之前的若干真实观测帧 $X_{<t}$,方法先用现成 3D 重建模型(来自 Wang et al. 2025)把场景重建出来,然后渲染出 warp 视频 $W_C$——这是过去相机控制方法的常规做法。但本文的关键改造在于:把 $W_C$ 当作『伪历史』塞进 backbone 的 history 构造算子 $H$ 后,做两件额外的处理:第一步是『目标帧位置对齐』,给每个 warp latent 分配对应目标帧的 RoPE 时间索引,让模型把它解读为『目标帧位置的视觉证据』而非『历史回放』;第二步是『可见 token 选择』,基于 warp 有效性 mask $M_C$ 把不可见 token 从 DiT history 流中剔除,留给 backbone 自身的预训练补全行为去处理 disocclusion。这个接口单独使用就能在冻结模型上看到清晰的零样本相机跟随行为;为了进一步稳定质量和独立前景动态,再做一次『一条视频的 LoRA 微调』(1000 次迭代、单卡 A800、约 1 小时),训练目标与 backbone 完全一致——微调的作用不是学新控制,而是让 backbone 在『可见 warp 证据』和『自身生成先验』之间形成更稳定的权衡。
与已有相机控制方法相比,Warp-as-History 有三个本质区别。第一,相机信号不进入模型架构:传统方法要加控制分支、改 RoPE、装相机编码器;本文让 warp 走原生的 history patchify 路径,所以 backbone 架构完全不动,连训练目标都不改。第二,相机信号不进入推理损失:传统训练自由方法把『相机一致性』作为测试时优化目标或 denoising-time guidance;本文在采样时只多花不到 1 秒打包一次 history,后续完全沿用标准采样器,没有任何测试时拟合。第三,相机信号以『视觉历史』的形态出现:关键是给 warp token 重新分配 RoPE 索引(目标帧位置对齐)+ 剔除不可见 token(可见 token 选择),从而让 backbone 把它当作『目标帧位置的伪历史』来续写——这种『伪装成历史』的思路让冻结模型自身就具备零样本相机跟随能力,而一条视频的 LoRA 只是在『放大一个已存在的先验』而非『从零学相机控制』,论文附录 D 的 source-sensitivity 实验还专门验证了这一点(不同训练视频虽影响绝对数值,但都一致优于零样本)。
方法步骤详情
整个方法可以形式化为一个清晰的流水线。设 $X = (x_1, \dots, x_T)$ 为待生成视频,$p$ 为文本提示,$X_{<t}$ 为当前 chunk 之前的已观测历史,$X_{t:t+K}$ 为 backbone 要生成的新 chunk。Step 1(场景重建与 warp 渲染):用现成 3D 重建模型 $R$ 从 $X_{<t}$ 重建场景几何,然后按目标相机轨迹 $C = (c_1, \dots, c_T)$ 投影得到 warp 视频 $W_C \in \mathbb{R}^{T \times H \times W \times 3}$,同时得到 warp 有效性 mask $M_C \in \{0,1\}^{T \times H \times W}$。Step 2(构造 camera-warped pseudo-history):把 $W_C$ 沿 backbone 的原生 history 算子 $H$ 打包,得到 history token 序列 $\tilde{H}^C_t = H(W_C)$;这里的 $H$ 与预训练时完全一致,包括 patchify、token 编码和打包过程,因此不需要改架构。Step 3(目标帧位置对齐):保留 warp token 处于 history patchify 路径,但把每个 warp latent 的时间 RoPE 索引重新赋值为对应目标帧 noisy latent 的索引,使得第 $j$ 个 warp frame 的所有 token 与第 $j$ 个去噪目标帧共享 RoPE 位置;这一改写不替换或覆盖 noisy target token,只改变 warp 证据的『时间位置语义』。Step 4(可见 token 选择):把 $M_C$ 映射到 latent token 网格 $M_C^{\text{lat}}$,剔除支持不足的 warp token(具体做法是当 patch 内有效像素比例低于阈值时整组丢弃),让 backbone 的预训练补全行为去处理被剔除区域,模拟『历史片段中常见的不完整观察』。Step 5(生成条件组合):最终生成式为 $\hat{X}_{t:t+K} \sim p_\theta(\cdot \mid H_t, \tilde{H}^C_t, p)$,其中 $H_t$ 为真实历史构造(可为空),$\tilde{H}^C_t$ 为相机 warp 伪历史,二者都走同一条 history 流,无新控制分支、无采样时引导损失。Step 6(一条视频的 LoRA 微调):选定一条与测试集无关的相机标注视频,按 backbone 原训练目标优化 LoRA 参数 $A$、$B$($W + BA$),只动低秩更新;推理时不再做任何 per-video 适配。
技术新颖性
本文的技术新颖性集中在三点。第一,把相机 warp 注入点选在『原生 history 通路』而不是架构内部、采样时目标或专门控制分支,这种『伪装成历史』的相机控制范式在 CameraCtrl/Gen3C/ViewCrafter/Voyager 等所有已知 SOTA 中都没有出现过。第二,『目标帧位置对齐 + 可见 token 选择』是一个紧凑且可解释的组合:前者只动 RoPE 索引,不改 token 内容;后者只动 mask 丢弃,不引入新模块。两者结合就把『带几何错位的相机证据』转换成 backbone 早已会处理的『不完整历史』,这是论文反复强调的『设计哲学』级创新。第三,『一条视频 LoRA 微调』作为『行为稳定化』而非『从零学相机控制』的诊断视角——通过附录 D 的 source-sensitivity 实验,作者证明无论用哪一条单独视频做微调,效果都稳定优于零样本,但绝对数值对源视频敏感,这一可重复观察到的现象反过来支持『相机跟随先验在 backbone 内部已经存在』这一论文核心论断。
实验结果
论文在 WorldScore、RE10K、DAVIS 三个公开基准上对 Warp-as-History(零样本与 one-shot 两种设置)做了系统评估。WorldScore 静态世界生成基准上,Helios-Distilled 文本基线 Camera Control 仅 26.42;Warp-as-History 零样本把这一指标拉到 61.32(相对 +132.1%),one-shot 微调后达到 62.00(相对 +134.7%),Subjective Quality 从 47.37 升到 54.83(+15.7%),平均分从 62.42 升到 65.64,且 3D Consistency、Style Consistency 等保持与 SOTA 相当。30 秒长视频对比 HyWorldPlay 上,Ours 在 Flicker (0.9843 vs 0.9798) 和 Motion Smoothness (0.9944 vs 0.9907) 上略胜,HyWorldPlay 在 VBench Overall、Imaging Quality、Dynamic Degree、Background Consistency 上更强,这是公平体现——本方法用 1 条视频,HyWorldPlay 使用专门长视频方案。DAVIS 上,Ours(1 video → 4 clips)取得 FID 68.18(最佳)、FVD 57.95(最佳)、Subject Consistency 0.941(最佳)、Background Consistency 0.940(最佳)、Imaging Quality 62.20 居中,相机跟随指标(PSNR 15.21、R-Err 2.97)也与使用 ~90K 视频的 Gen3C 相当;RE10K 上 Ours 用 DAVIS 训练、RE10K 测试的域错配设置仍取得 FID 22.11、FVD 17.92、DOVER 0.442、Subject 0.956、Background 0.958、Imaging 65.97 多个最佳,证明跨域泛化能力。表 5 的接口消融显示完整接口在 DAVIS(One-shot)上 R-Err 2.97、VisLPIPS 0.224、DOVER 0.448,明显优于 NoAlign(R-Err 7.06、VisLPIPS 0.312)和 NoVisDrop(VisLPIPS 0.231),说明目标帧位置对齐和可见 token 选择缺一不可;零样本设置上链式观察更明显:NoAlign 的 R-Err 高达 7.33,加入 Target-frame align 后零样本立即具备相机跟随能力(VisLPIPS 从 0.343 → 0.275 → 0.274),最后做 Visible-token sel 才完成可用行为。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| WorldScore 静态世界生成 | Camera Control | Ours (zero-shot) 61.32; Ours (one-shot) 62.00 | Helios-Distilled (text-only) 26.42; CogVideoX-I2V 38.27; Voyager 85.95 | 相对文本基线相对 +132.1% / +134.7%,在不使用相机训练数据的情况下接近使用专门 SOTA 方案 |
| WorldScore 静态世界生成 | Subjective Quality | Ours (one-shot) 54.83 | Helios-Distilled (text-only) 53.21; FantasyWorld-1.0 61.46 | 相对文本基线 +1.62 绝对分,one-shot 微调相对 zero-shot 提升 15.7% |
| DAVIS 相机跟随 | PSNR / R-Err | Ours PSNR 15.21 / R-Err 2.97 | Gen3C (~90K 视频) PSNR 16.29 / R-Err 2.24; ViewCrafter (~85K 视频) PSNR 14.72 / R-Err 3.85 | 用 1 视频 vs 90K 视频,PSNR 接近 Gen3C(差 1.08),R-Err 优于 ViewCrafter/Voyager |
| DAVIS 视觉质量 | FID / FVD / Subject / Backgr. | Ours FID 68.18 / FVD 57.95 / Subject 0.941 / Backgr. 0.940 | Gen3C FID 72.71 / FVD 64.98 / Subject 0.926 / Backgr. 0.936; ViewCrafter FID 76.54 / FVD 65.76 / Subject 0.885 / Backgr. 0.903 | 四个指标全部为最佳,相对 ViewCrafter FID 降 8.36、FVD 降 7.81,Subject 提升 5.6 个百分点 |
| RE10K 视觉质量(域错配) | FID / FVD / DOVER / Imaging | Ours FID 22.11 / FVD 17.92 / DOVER 0.442 / Imaging 65.97 | Gen3C FID 16.55 / FVD 12.66 / DOVER 0.298; ViewCrafter FID 30.67 / FVD 23.44 / DOVER 0.436 | DOVER/Subject/Background/Imaging 四项最佳,FVD/FID 优于 ViewCrafter/Voyager |
| 30 秒长视频(vs HyWorldPlay) | Flicker / Motion Smoothness | Ours Flicker 0.9843 / Motion 0.9944 | HyWorldPlay Flicker 0.9798 / Motion 0.9907 | Flicker 提升 0.0045、Motion 提升 0.0037,体现冻结模型自身的时序稳定性 |
| WorldScore 接口消融(DAVIS,One-shot) | R-Err / VisLPIPS / DOVER | Full R-Err 2.97 / VisLPIPS 0.224 / DOVER 0.448 | NoAlign R-Err 7.06 / VisLPIPS 0.312 / DOVER 0.471; NoVisDrop VisLPIPS 0.231 / DOVER 0.452 | 去掉任一组件 R-Err/VisLPIPS 都明显恶化,目标帧对齐是关键开关 |
局限与改进
作者在正文中坦率承认了几点局限:第一,one-shot 训练视频的『源敏感性』——附录 D 表明 Warp-as-History 性能对所选单条训练视频敏感,car-roundabout 是先验选择且仅是高性能源之一,因此方法对源选择有依赖、不是任意单条视频都同等有效;第二,零样本设置下模型仍可能过度信任 warp 伪历史,导致动态前景被刚性复制、可见性边界出现不自然过渡,这正是必须做 one-shot LoRA 才能缓解的问题;第三,长视频整体质量上 Ours 略输 HyWorldPlay(Imaging Quality 54.54 vs 62.87、Dynamic Degree 0.34 vs 0.38),说明在『超长时序的动态范围与画面质感』上 1 视频方案仍不及专门长视频方案。此外,从实验数据可以观察到几个隐含的不足:本文严重依赖一个外部 3D 重建模型(Wang et al. 2025)生成 warp,这把『重建质量』的瓶颈引入方法;接口设计只在 Helios 的最低分辨率 stage 做了改造并依靠后续 stage 的 native refinement,可能限制了对细粒度相机位移的敏感度;最后,全文几乎未讨论复杂遮挡与多物体独立运动场景下的失败模式。
独立分析的弱点
独立审视后可以看到 Warp-as-History 至少存在三处可改进的弱点。第一,依赖外部 3D 重建质量:方法需要 Wang et al. 2025 重建模型从 $X_{<t}$ 重建场景几何再渲染 warp,如果重建在低纹理区域、透明物体或动态前景下出现错位,最终 warp 就会把几何错位『喂』给 backbone,再多的目标帧对齐或可见 token 选择也难以修复;改进方向是允许在训练时引入噪声扰动让 backbone 对 warp 不确定性鲁棒,或采用多假设 warp 集合。第二,one-shot 源敏感性过强:附录 D 明确说不同源视频带来显著性能波动,这意味着一旦挑选不当(比如用完全静态或无强相机运动的视频)效果可能崩盘;改进方向是设计一个自动『源选择』准则(如依据视频的相机运动幅度、前景动态度等挑选最合适的源),或在训练时把『源域自适应』目标也加入 LoRA 损失。第三,仅在最低分辨率 stage 接入 Warp-as-History:限制了对细粒度相机位移的响应能力,高分辨率 stage 完全沿用 native refinement,可能错过一些细粒度校准机会;改进方向是尝试在多个 stage 接入 warp history,并研究 stage-wise 的多尺度对齐策略。第四,复杂动态场景的边界瑕疵:作者承认『模型可能过度信任 warp 证据、产生不自然边界』,目前的 one-shot LoRA 只能缓解但未根治;改进方向是在 history 拼接处显式建模『warp 边界不确定性』,让 backbone 学会在 warp 不可靠处回归生成先验。
未来方向
作者明确提出的未来方向是:探索『源选择策略』与『few-shot 缩放』——附录 D 已经发现单视频对结果敏感,作者希望系统研究多源融合、多视频微调的非单调效应,进一步降低对源选择的依赖。基于本文成果可进一步延伸的方向包括:第一,把 Warp-as-History 拓展到其他视频生成 backbone(不限于 Helios),验证『原生 history 通路』这一范式是否对其他历史条件化架构(如 Wan 系列)同样成立;第二,结合显式深度/法线证据,让 warp 不仅是 RGB 图像而是带几何信息的 3D-aware 伪历史,从而缓解重建瓶颈;第三,把『单视频 LoRA』思路与 RLHF / RLAIF 类偏好学习结合,让模型在『相机跟随』与『人类审美』之间形成可调控的权衡;第四,研究 Warp-as-History 与 4D 动态场景重建的耦合,让 warp 视频本身随时间演进而无需每窗口重做静态重建,进一步把端到端开销降到生成时间量级。
复现评估
论文在复现性方面表现中等:核心思想与公式(式 1-3)已完整给出;backbone 选定为 Helios 蒸馏版本([Yuan et al., 2026]),并承诺在附录 C 中提供 checkpoint / LoRA / packing 的具体细节;warping 用 Wang et al. 2025 的现成 3D 重建模型。训练配置明确:单卡 A800、1000 次 LoRA 迭代、约 1 小时、训练目标与 backbone 一致。评测覆盖三个公开数据集(WorldScore、RE10K、DAVIS)与多个公开基线(Gen3C、Voyager、ViewCrafter、HyWorldPlay),并使用 DOVER、VBench、PSNR/SSIM/LPIPS/R-Err/T-Err 等多套标准指标。然而仍存在几处复现门槛:第一,Helios 模型本身是相对新的 backbone,其官方实现与预训练权重的可用性会影响复现;第二,外部 3D 重建模型(Wang et al., 2025)的具体实现未在本文展开,需要读者自行查阅并接入;第三,附录 C 中提到的 checkpoint / LoRA 权重尚未在公开论文中明示链接。整体而言,代码仓库 https://github.com/yyfz/Warp-as-History 与项目页 https://yyfz.github.io/warp-as-history/ 提供了主要入口,但完整复现仍需配合 Helios 与外部重建模型两份外部资源,难度中等。
论文图表
项目页 teaser,展示多种未见场景(室内、室外、复杂前景物体)下用『一条训练视频』微调后的 Warp-as-History 都能稳定跟随任意未见的相机轨迹生成视频。
这是论文最强的视觉证据:让读者在第一眼就看到『1 video → 全场景泛化』的不可思议效果,定下整篇文章的论调。