跳转至

Consistent Video-to-Video Translation via Explicit Correspondences

会议: ECCV2026
Paper: https://eccv.ecva.net/virtual/2026/poster/3572
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/2023.pdf
作者: Gaurav Parmar, Zhengqi Li, Richard Zhang, Jun-Yan Zhu, Srinivasa Narasimhan, Eli Shechtman, Yotam Nitzan
领域: 视频生成 / 视频到视频转换
关键词: 显式对应关系、潜变量检索、动态记忆、长程一致性、自回归扩散

一句话总结

vid2vid-long 用当前输入块检索很久以前生成过的匹配输出,再通过逐 token 对应关系交叉注意力指导视频转换,使五步 Rolling Forcing 在 VACE-Bench 上的 LPIPS 从 0.427 降至 0.240,但吞吐量也从 10.99 降至 8.10 FPS。

研究背景与动机

流式视频转换不仅要让当前画面好看,还要让暂时离开画面的物体回来时保持原来的外观。自回归扩散模型把生成过程拆成连续视频块,并用过去的 KV 缓存维持连续性;为了控制开销,通常只保留固定长度的滑动窗口。这个设计能记住刚才发生的运动,却无法记住已经滑出窗口的颜色、纹理与身份。因而,一个物体离开几秒后再次出现,模型可能重新为它生成一套合理但不同的外观。

直接扩大窗口会增加注意力和缓存成本,也不等于模型就会找到真正相关的历史。保留开头帧的 attention sink 只照顾最早出现的内容,稀疏关键帧可能漏掉重要局部,平均池化与分辨率压缩则容易抹去细节。对视频到视频转换而言,这些方法还忽略了一个额外条件:输入视频本身一直可见,可以先在输入空间判断“这里以前见过没有”,不必让生成模型从所有历史输出中重新发现对应关系。

本文把这一条件变成一个可检索的输入输出记忆库。重复的输入区域用于索引过去实际生成的外观,近期滑动窗口仍负责局部运动连续性,远期记忆则补回已经遗忘的内容。核心 idea:让输入中的显式局部对应关系决定该取回哪一块历史输出,并只在遇到新内容时扩充记忆,而不是按时间机械地保留或压缩历史。

方法详解

整体框架

输入是连续视频条件,主实验使用深度视频,并保留文本条件;输出是逐块生成的外观视频。vid2vid-long 在 VACE 自回归学生模型旁增加一个外部记忆库:键是输入潜变量块,值是同位置已经生成完的输出潜变量块。这个键值库不是 Transformer 层内部的 KV cache,两者职责不同,前者负责按内容找远期历史,后者继续提供近邻时间上下文。

每个新视频块先经 VAE 编码和 patchify,再进行潜变量键值配对所需的键构造与阈值近邻检索。检索出的历史输出经对应关系交叉注意力参与该块的各次去噪;生成结束后,新颖性写入才把值得保留的输入输出对加入库中。检索每块只做一次,各去噪步复用结果,避免重复做相同匹配。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Input["当前输入块<br/>VAE 编码与分块"] --> Pair["潜变量键值配对"]
    Pair --> Read["阈值近邻检索"]
    Memory["历史输入输出库"] --> Read
    Read --> Corr["对应关系交叉注意力"]
    Context["文本、深度条件<br/>近期 KV 缓存"] --> Corr
    Corr --> Write["新颖性写入"]
    Write -->|更新后供下一块检索| Memory
    Write --> Output["输出视频块"]

关键设计

1. 潜变量键值配对:用输入找位置,用输出保留外观

对应关系的基本单位不是整帧,而是与一个 Transformer token 对齐的潜变量块。VACE 先进行 VAE 压缩,再把潜变量划成形状为 \(1\times2\times2\) 的块;时间维不再在这个 patch 内合并。对全局时空位置 \(g\),输入块 \(z_g\) 直接作为检索键 \(k_g=z_g\),输出值 \(v_g\) 则是该位置完成生成后的潜变量块。于是,“当前深度区域像过去哪一块”与“过去那块被画成什么样”通过同一个索引联系起来。

这个配对区分非常重要:如果拿输入块当输出条件,模型只能再次看到结构,不能恢复之前选定的颜色与纹理;如果只在输出中搜索,当前输出尚未生成,可靠的检索依据就缺失了。输入负责建立对应,输出负责携带已经确定的外观,正好利用了视频转换独有的条件。局部配对还允许一个当前块从不同历史时刻取回不同区域,而不要求整帧都与某一旧帧一致。

作者比较过外部视觉特征,正文称直接使用潜变量块效果最好,也省去潜变量解码与额外特征网络的运行成本。不过,相关特征消融在补充材料中,本地缓存没有对应表格,因此不能据此报告某种视觉编码器的具体劣势。直接潜变量匹配应理解为作者在此任务中的经验选择,而非所有视频条件下都成立的特征最优性结论。

2. 阈值近邻检索:找得到才给历史,不强迫每块都有匹配

生成下一块之前,每个输入键在已有记忆中按余弦相似度寻找最多 \(k=3\) 个近邻,而且候选相似度必须达到检索阈值 \(\tau_m=0.75\)。这里的“近邻”指输入内容相似,不是时间上最近。一个几秒前消失的物体即使已经离开 KV 窗口,只要当前输入与保留的键匹配,仍能找回对应的输出值。

阈值的意义是允许拒绝匹配。没有达标候选时,二值有效掩码 \(m_g=0\),历史分支不提供残差;存在候选时 \(m_g=1\)。对于一个此前没出现过的区域,模型因此可以根据普通深度与文本条件创造外观,不必被一个“全库最像、实际上仍不相关”的旧块误导。具体行为是先过滤相似度,再选 top-\(k\),不能简化为无条件取三个历史块。

该检索使用当前输入及已经生成的历史,不读取未来输出,也不是在待生成视频上预先求全局光流。它每个视频块执行一次,所选近邻会在整个块的去噪过程中复用;同一组稳定的输入对应关系不必随着每个噪声步重新计算。不过,节省重复检索不代表检索复杂度与库大小无关,正文没有给出搜索索引实现与无限长流的成本上界。

3. 对应关系交叉注意力:每个 token 只读自己的历史候选

取回的输出潜变量块使用与输入潜变量相同的 patch embedding 编码成历史 token。在每个 Transformer block 中,新增的对应关系交叉注意力位于 self-attention 与文本 cross-attention 之间。当前 token 的隐藏状态产生 query,只有为它检索到的历史 token 才产生 key 和 value;这不是让整帧共同关注一个混合历史池,而是保留“这个输入区域对应这些历史输出”的局部约束。

\(\mathcal{H}_g\) 表示位置 \(g\) 的历史候选 token,原文式 (4) 的核心操作为:

\[ \operatorname{CorrXA}(g)=m_g W_o\operatorname{Attn}(W_qx_g,W_k\mathcal{H}_g,W_v\mathcal{H}_g), \qquad x_g\leftarrow x_g+\operatorname{CorrXA}(g). \]

历史的作用是可学习的残差条件,不是把旧像素硬贴到当前画面。模型仍可结合当前结构、文本与近期上下文完成生成,历史只帮助恢复之前选择的外观。输出投影 \(W_o\) 零初始化,使这个新残差分支在训练开始时为零,避免刚插入的层破坏预训练模型原有行为;有效掩码则让无匹配 token 保持不受历史影响。

实现上,作者把序列维并入 batch 维,将逐 token 操作变成相互独立的 \(1\times k\) 注意力。这样新增注意力的候选数由 \(k\) 限制,不随全部历史长度直接扩张。需要区分两个成本:这里被限制的是注入历史时的注意力开销,而搜索外部记忆库仍要另外付费。这也解释了为何结构上很轻量,实测同为五步的生成仍会变慢。

4. 新颖性写入:只追加输入尚未覆盖的局部内容

新块完全去噪后,才能把当前输入键与对应生成值组成可供未来读取的记录。作者计算每个新键与旧库的最大余弦相似度;低于历史阈值 \(\tau_h=0.75\) 才追加,否则认为已经有足够相近的内容,不保存这一重复记录。检索阈值决定“这个旧块能不能用”,写入阈值决定“这个新块值不值得存”,两个概念不同,即使默认值相同。

沿用方法中“\(H_b\) 是第 \(b\) 块完成后的记忆”的约定,原文式 (1)-(2) 可写为:

\[ s(k_g,H_b)=\max_{(k_{g'},v_{g'})\in H_b}\frac{k_g^\top k_{g'}}{\lVert k_g\rVert\lVert k_{g'}\rVert}, \qquad H_{b+1}=H_b\cup\{(k_g,v_g):g\in G_{b+1},\ s(k_g,H_b)<\tau_h\}. \]

其中 \(G_{b+1}\) 是新块的 token 索引集合。新视频从空库开始,首块无法读取有效历史;正文没有单独写出空集上最大相似度的数值约定,故这里不补造实现细节。公式还表明更新是向旧库追加记录,而不是覆盖旧值、学习一个固定长度状态,或者在写入前将历史图像反复平均。

如果场景频繁回访,重复块不会一直积累,记忆增长主要由新视觉内容驱动。这并非无条件的固定内存保证:持续出现新内容仍会使库增长,正文也没有给出容量上限或淘汰策略。旧的相似记录不会因一次新生成自动被替换,有助于守住最早确定的外观,但如果最早记录本身有误,也可能被后续反复引用;后一点是基于写入机制的分析,不是作者单独量化的结果。

一个完整示例

原文图 5 的例子是一段深度条件视频:小狗首次出现时,生成结果给了它黄色口鼻部;离开一段时间后再次出现,无对应关系的模型会把口鼻部变成蓝色。vid2vid-long 在首次生成完成后,将当时的输入局部块与黄色口鼻部的输出块配对保留。等小狗回来,当前输入块用阈值 0.75 搜索最多 3 个历史近邻,即使旧画面已不在滑动窗口中,也能重新提供那次外观选择。

随后,对应关系交叉注意力把匹配输出作为当前 token 的额外条件,多次去噪复用这一检索结果,最终保留黄色外观。相似区域一般不再新增记录,新暴露且缺少匹配的局部则可以由普通条件生成并在满足新颖性规则时写入。这是对图示与算法的流程解释;缓存没有提供该例每个 patch 的相似度,因此不能把“最多 3 个”写成它实际恰好命中了 3 个。

损失函数 / 训练策略

默认学生从 VACE 1.3B 初始化,使用五步 Rolling Forcing 蒸馏;教师为双向 VACE 14B,不使用对应关系记忆。所有学生参数与新增交叉注意力层一起微调,而非只训练一个插入式适配器。训练中记忆也处于开启状态,学生读取自己此前生成块所形成的历史,并按相同的新颖性规则写入,所以记忆内容来自学生实际生成分布。

论文明确沿用标准 Rolling Forcing 目标,没有新增对应关系损失或其他额外损失项。因此方法贡献是条件信息的组织与注入,不应将它改写成一种显式光流监督或时序重建损失。优化器为 AdamW,batch size 为 64,学生学习率为 \(2\times10^{-6}\),critic 学习率为 \(4\times10^{-7}\);主实验为 480p。缓存未含补充材料中的完整训练配置、训练时长及数据规模。

实验关键数据

主实验

VACE-Bench 用两个不同的 5 秒片段组成 A→B→A→B 的交错序列,比较内容首次与最后出现时的生成结果;DL3DV 则用标定相机和 3D Gaussian Splatting 渲染精确位姿回访。LPIPS、DreamSim 越低,CLIP-Sim 越高,表示生成结果之间越一致,这些不是对真实目标视频的逐帧重建准确率。Quality 是 V-Bench 中主体一致性、背景一致性、时间闪烁、运动平滑、美学与成像质量六项分数的平均值。

下表节选原文表 1、2。延迟指首帧延迟,吞吐量在单张 NVIDIA H100 上测量;不能把不同采样步数当作相同计算预算。

数据集 方法 LPIPS ↓ DreamSim ↓ CLIP-Sim ↑ Quality ↑ 首帧延迟 / 秒 ↓ FPS ↑
VACE-Bench Rolling Forcing,5 步 0.427 0.172 0.905 0.799 2.58 10.99
VACE-Bench vid2vid-long,2 步 0.302 0.079 0.941 0.814 1.09 13.88
VACE-Bench vid2vid-long,5 步 0.240 0.066 0.955 0.828 3.72 8.10
DL3DV Rolling Forcing,5 步 0.445 0.163 0.907 0.806 2.58 10.99
DL3DV vid2vid-long,2 步 0.379 0.083 0.932 0.799 1.09 13.88
DL3DV vid2vid-long,5 步 0.305 0.058 0.952 0.821 3.72 8.10

同为五步时,VACE-Bench 的 LPIPS 相对下降约 43.8%,DL3DV 约下降 31.5%,按表中原始值计算。与此同时首帧延迟增加 1.14 秒,吞吐量降低 2.89 FPS。两步配置提供更高速度,但一致性逊于五步,DL3DV Quality 也低于原始 Rolling Forcing。因此“维持实时性”更准确地说是保留低步数流式运行能力,并不代表没有速度代价或已达到高帧率交互要求。

消融实验

下表节选原文表 4、5;移除对应关系会同时禁用对应关系交叉注意力,随机检索则保留记忆创建方式但用随机历史块替换相似度检索。FramePack 行用于比较历史压缩机制,并非“去掉某单个模块”的消融。

数据集 配置 LPIPS ↓ DreamSim ↓ CLIP-Sim ↑ Quality ↑
VACE-Bench 不使用对应关系 0.379 0.160 0.910 0.829
VACE-Bench 随机检索 0.396 0.144 0.916 0.807
VACE-Bench FramePack 0.304 0.095 0.938 0.775
VACE-Bench 完整方法 0.240 0.066 0.955 0.828
DL3DV 不使用对应关系 0.437 0.124 0.921 0.822
DL3DV 随机检索 0.451 0.156 0.911 0.801
DL3DV FramePack 0.344 0.105 0.932 0.802
DL3DV 完整方法 0.305 0.058 0.952 0.821

数值核对:相对于“不使用对应关系”,完整方法的 LPIPS 降幅分别约为 36.7% 和 30.2%。原文表 5 标注约 37% 和 30%,但第 4.3 节正文写成 37% 和 40%;后者与 0.437→0.305 不符,本笔记以表中原始数值为准。表 4 标题以 Self-Forcing、窗口 21 为背景,但完整方法行与五步 Rolling Forcing 配置的数值相同,正文没有完整展开所有替代机制的训练配置,因此不把它解读为已严格核实的同骨干单变量比较。

关键发现

  • 长程一致性与画面质量是不同维度:移除对应关系后,两数据集 Quality 反而各高 0.001,但 LPIPS 明显更差。看起来流畅、清晰,不代表回访时还能记住之前的外观。
  • 真正相关的历史比“有历史可读”更重要:随机检索在 VACE-Bench 的 LPIPS 为 0.396,完整检索为 0.240;在 DL3DV 为 0.451 对 0.305,说明收益不能仅归于多加一层注意力。
  • 原文表 3 在 Self-Forcing、LongLive、Rolling Forcing 三种蒸馏方案上都观察到一致性提升,但并非所有 Quality 都提高。例如 DL3DV 的 Self-Forcing 从 0.790 降至 0.775,LongLive 从 0.806 降至 0.786。
  • 正文只给出 \(k=3\) 和两个 0.75 阈值的默认设置;没有缓存内可核实的阈值扫描、特征消融或记忆增长曲线,不能判断其超参数稳定区间。

亮点与洞察

  • 将“相关历史在哪里”交给输入空间,把生成能力留给输出空间。这比按时间筛帧更贴近视频转换任务:输入已携带重访线索,不必重新学习一套隐式全局记忆。
  • 逐 token 历史候选同时解决选择与注入问题。不是先找到一个大历史集合,再期望注意力自行排除无关区域,而是直接缩小每个 query 的候选范围。
  • 写入策略按新颖性保留原始局部输出,避免对所有过去内容反复平均。值得迁移到其他条件视频任务的不是具体 0.75 阈值,而是“可匹配条件作索引、已生成结果作记忆值”的结构。

局限与展望

  • 作者承认大运动、快速视频容易失效,因为可靠跨帧对应更难建立。文本提示与输入深度相矛盾时,语义要求和结构约束也会互相冲突。
  • 主要定量证据来自深度到视频与受控回访协议。条件模态无关是架构层面的主张,缓存不足以确认其他模态、自然开放式长流和强非刚体场景的效果。
  • 新颖性压缩没有固定容量保证,持续探索新场景仍可能增大库与检索成本。容量预算、分层索引或淘汰机制是可考虑的改进,而非本文已经完成的设计。
  • 初次生成错误可能被长期保存,外观相似的输入局部也不保证属于同一物体。置信度、几何约束或可更新的历史值值得研究,但需避免更新机制本身引入外观漂移。
  • 五步 8.10 FPS、3.72 秒首帧延迟限制了严格实时应用。补充材料未包含在缓存中,不能核实长期显存占用、训练成本或附录报告的检索运行时间。

相关工作与启发

  • 与 VACE 相比:VACE 提供视频条件生成基础,但双向整段注意力不天然支持无界流式生成。本文将它适配为自回归学生,并在滑动上下文外补入按输入内容检索的远期记忆。
  • 与 Self-Forcing、LongLive、Rolling Forcing 相比:这些方案主要组织因果生成与少步蒸馏,本文改善历史信息的访问方式。两者是可组合的技术维度,而不是互相替代的完整模型家族。
  • 与 attention sink、FramePack 相比:前者偏向最初出现的内容,后者以降低旧内容空间分辨率换取历史覆盖;本文保留选中的局部生成值,再按当前输入需要取回,强调相关性而非时间位置。
  • 与显式三维记忆相比:本文不要求推理时提供相机位姿或构建三维世界,但也不具有几何地图的空间一致性保证。DL3DV 评估使用 3D Gaussian Splatting 构造回访,不能误写成模型推理依赖三维重建。

评分

  • 新颖性:4/5。把视频条件变成历史生成内容的检索索引,任务针对性明确;近邻检索和交叉注意力本身不是新算子。
  • 实验充分度:4/5。两个回访基准、三种蒸馏方案和多个记忆对照支持核心结论,但缓存缺少补充实验,开放式长流与成本证据有限。
  • 写作质量:3/5。方法链路与公式清楚,但消融正文百分比、部分表格配置说明和“无速度损失”的表述需要谨慎核对。
  • 价值:4/5。提供可组合的局部长期记忆思路,适合研究条件视频一致性;部署仍需权衡首帧延迟、匹配可靠性与库增长。