Bi-directional Autoregressive Diffusion for Large Complex Motion Interpolation¶
会议: CVPR 2026
论文: CVF Open Access
代码: 项目页提供(论文称 "Please visit the project page for the code",具体仓库地址未在正文给出 ⚠️ 以原文为准)
领域: 视频插帧 / 扩散模型 / 人体运动
关键词: 视频帧插值, 自回归扩散, DINOv3运动表征, 大幅复杂运动, 时序一致性
一句话总结¶
ARVFI 把视频插帧从"一次性生成所有中间帧"改成"从两端输入帧向中间逐帧自回归生成",并用 DINOv3 特征替代光流作为运动表征,在大幅复杂运动下既显著提升插帧精度(FID 全面领先)又把采样步数压到 15 步、比 backbone Wan 快约 3 倍。
研究背景与动机¶
领域现状:视频帧插值(VFI)的目标是在两张输入帧之间补出时序连贯的中间帧,核心是估计帧间运动来建立像素对应。早期方法靠光流和局部运动假设,近期主流转向用预训练视频扩散模型(如 Wan)把插帧当成"以两端帧为条件的生成任务",隐式学习帧间运动分布。
现有痛点:面对舞者的腿这类大幅、非刚性、高度非线性的运动,现有扩散插帧仍会产生不连贯的运动和跨帧不一致的物体外观(手变形、自行车断裂)。
核心矛盾:作者把失败归到两个根因。其一是全序列生成策略——现有方法把所有中间帧同时生成,却忽略了"离输入帧越远的帧插值越难"这一事实,导致远端帧不确定性高、时序连续性和外观一致性崩坏。其二是像素级重建目标——L1/L2 损失或光流这类低层表征对外观变化敏感、缺乏语义不变性,在大幅运动下无法充分监督运动生成,常把物体结构生成坏掉。
本文目标:在统一框架里同时把"运动"和"外观"建模好,专门攻克大幅复杂运动的插帧。
切入角度:既然远帧更难,就别一次性生成——而是像自回归那样,让每一帧都基于已经生成好的近帧来预测,把难题拆成一连串"有上下文支撑"的简单预测;既然像素/光流表征不够稳,就换成 DINOv3 这种带高层语义、靠 patch 相似度天然给出稠密运动信息的特征当运动表征。
核心 idea:用"双向自回归插值 + DINOv3 运动表征"两条腿,先在 DINOv3 特征空间插出中间运动,再以运动为引导条件生成像素帧。
方法详解¶
整体框架¶
ARVFI 是一个两阶段、双向自回归的插帧框架。输入是两端帧 \(I_0, I_1\) 及其 DINOv3 特征 \(d_0, d_1\),输出是中间帧序列。第一阶段用中间运动估计器 \(G_{\theta d}\) 在 DINOv3 特征空间里插出中间运动表征 \(d = \{d_{\tau_1}, ..., d_{\tau_{N-1}}\}\);第二阶段用中间帧生成器 \(G_{\theta f}\) 以估计出的 DINOv3 特征为条件,生成中间帧像素。两个阶段都不是"同时生成所有帧",而是借由逐帧递增的噪声当软掩码 + 双向因果注意力掩码,让生成从两端输入帧向时序中心逐步推进——每一帧只依赖已被去噪的近邻帧,而非还是纯噪声的远端帧。
值得强调的是,运动估计和帧生成用的是两个独立的扩散 Transformer(都基于 Wan2.1-Fun-InP-1.3B 改造),因为 DINOv3 特征和帧 embedding 的数据分布不同;论文实验证明像 VideoJAM 那样用同一个模型联合生成两者会拉低帧质量。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入:两端帧 I0,I1<br/>+ DINOv3 特征 d0,d1"] --> B["双向自回归插值<br/>噪声当软掩码 + 因果掩码<br/>从两端向中心逐帧去噪"]
B --> C["中间运动估计器 Gθd<br/>在 DINOv3 空间插中间运动<br/>+ 相似度损失监督"]
C --> D["运动引导帧生成 Gθf<br/>DINOv3 生成 K/Q 注入注意力"]
D --> E["输出:连贯中间帧"]
关键设计¶
1. 双向自回归插值:让远帧站在近帧的肩膀上生成
这一设计直击"全序列同时生成导致远帧崩坏"的痛点。ARVFI 不再一次性吐出所有中间帧,而是从最靠近输入的帧开始、向时序中心逐步推进。它没有用硬性的"先完全生成一帧再做下一帧",而是采用一种"软"自回归:用序列噪声当掩码——每帧的扩散时间步随其到输入帧的距离递增,离输入近的帧噪声小、先被去噪,远的帧噪声大、后处理。训练时(Algorithm 1)对第 \(i\) 帧取 \(t_i = \min(t + i \cdot s, T)\),其中 \(t\) 是随机采样的基准时间步、\(s\) 是跨帧步长间隔,从而强制"越远噪声越大"。在同一次采样迭代里,ARVFI 先去掉最近帧 \((\tau_1, \tau_5)\) 的部分噪声,再在刚去噪过的帧和下一批帧 \((\tau_2, \tau_4)\) 上继续去噪,迭代直到所有帧生成完。
为防止"还没处理、仍是纯噪声"的远帧把噪声泄漏进当前帧,ARVFI 给所有 DiT block 套了一个双向因果注意力掩码:每帧的注意力只能看已经去噪过的帧(图 3 红箭头),不能看未处理的噪声帧。这相对 Diffusion-Forcing 是关键改进——Diffusion-Forcing 是单向从首帧采到尾帧、且用 RNN 实现,破坏了 VFI 里"两端都已知"的双向因果性;ARVFI 把它改成从两端向中间的双向因果版本,并适配进扩散 Transformer。每帧基于更多含噪更少的已生成帧,因此运动过渡更平滑、时序更一致,同时因为有上下文支撑可以用更少采样步数。
2. DINOv3 运动表征 + 相似度损失:用语义特征替代光流来稳住大幅运动
这一设计针对"像素级/光流表征监督不了复杂运动"的痛点。光流在小物体和大幅复杂运动上容易退化,且光流上色过程会产生不可预测的颜色突变,让扩散模型训练不稳;稀疏匹配在遮挡和形变下也会退化。ARVFI 改用 DINOv3 特征当运动表征:DINOv3 同时含高层语义和低层结构,靠跨帧 patch 相似度天然给出稠密、对外观/亮度/几何畸变鲁棒的运动信息(图 2 里它对高亮鞋子的 patch 相似度最准)。
为了让生成出来的中间 DINOv3 特征真的携带正确运动,作者在像素重建损失之外加了相似度损失:
其中 \(d\) 是真值中间 DINOv3 特征、\(\hat{d}\) 是估计值、\(d_0, d_1\) 是两端输入特征。它要求"估计特征与输入的 patch 相似度"匹配"真值与输入的相似度",从而显式约束运动一致性(为省显存只算与两端输入的相似度、不算全序列两两相似度)。运动估计器的总损失为 \(L_d = L_{\epsilon d} + \zeta L_{sim}\),\(\zeta = 0.5\)。
3. 运动引导帧生成:把 DINOv3 运动当 K/Q 注入注意力,零额外模块
有了中间 DINOv3 特征后,怎么把它"喂"给帧生成器是个问题。VideoJAM 是联合生成帧和光流可视化,Motion-I2V 是另加模块灌运动,二者都有代价。ARVFI 的做法很轻:帧生成器 \(G_{\theta f}\) 基于 Wan2.1-Fun-InP-1.3B,作者用两个共享的 MLP + 归一化从估计的 DINOv3 特征算出额外的注意力 query \(Q_d\) 和 key \(K_d\),再把它们加到原始帧 embedding 算出的 \(Q_f, K_f\) 上,得到增强后的 \(Q, K\) 用于所有 30 个 DiTBlock 的注意力(图 4)。
由于 DINOv3 的 patch 相似度对所有 block 提供的是同一份运动先验,这两个 MLP 在所有 block 间共享、用同一套 \(Q_d/K_d\)。这样几乎不增加计算量就把运动线索注入了帧生成;又因为预训练 DiT 的结构原封不动,帧生成阶段的训练稳定高效。
损失函数 / 训练策略¶
运动估计器 \(G_{\theta d}\) 用 \(L_d = L_{\epsilon d} + 0.5 \cdot L_{sim}\)(像素重建 + 相似度损失),DINOv3 输入不加噪、沿时间维与噪声拼接并把其时间步设到最小(等价无噪)。训练分两步:先训 \(G_{\theta d}\) 50 万次迭代,再用训好的 \(G_{\theta d}\) 生成 DINOv3 特征去训帧生成器 \(G_{\theta f}\) 20 万次迭代。两个 DiT 都在 \(576\times320\)、\(\to25\) 插值设置下、8 张 A100-80G、总 batch 8、学习率 2e-5、AdamW 训练。推理时 DINOv3 估计和帧生成的时间步间隔分别为 500 和 150,合计仅 15 步扩散采样。
实验关键数据¶
主实验¶
在 DAVIS-7(\(\to8\) 插值)、FCVG 的评测集(\(\to25\) 插值)和自采的 Pixels(100 序列)三个数据集上,与 8 个 SOTA 比(4 个非生成式 + 4 个扩散式)。ARVFI 在 LPIPS / FID / FVD 上全面领先:
| 数据集 | 指标 | ARVFI | 次优 | 备注 |
|---|---|---|---|---|
| DAVIS-7 | FID↓ | 21.65 | 22.10 (LDMVFI) | FVD 188.77 也最佳 |
| 评测集[42] | FID↓ | 19.03 | 28.52 (Wan) | 大幅领先 ~33% |
| 评测集[42] | LPIPS↓ | 0.206 | 0.223 (Wan) | — |
| Pixels | FID↓ | 17.60 | 22.48 (Wan) | FVD 101.71 最佳 |
非生成式方法(如 FILM)常因生成模糊帧而在重建型指标上虚高、但感知质量差;扩散式方法受限于运动生成能力,在大幅运动下退化。ARVFI 同时估运动表征和采样视频,分布更贴近真值。
消融实验¶
在 FCVG 数据集上逐步简化模型(表 2):
| 配置 | LPIPS↓ | FID↓ | FVD↓ | 说明 |
|---|---|---|---|---|
| Frame Full-Seq | 0.217 | 27.63 | 210.53 | 全序列同时生成(基线) |
| Frame Bi-AR | 0.210 | 23.41 | 205.32 | 换成双向自回归,FID −4.2 |
| Uni-Flow Vis | 0.215 | 23.88 | 203.37 | 联合生成光流可视化,仅微改善 |
| Uni-DINOv3 | 0.232 | 28.97 | 223.37 | 联合生成 DINOv3,反而变差 |
| Our ARVFI | 0.206 | 19.03 | 201.47 | 双 DiT 分离 + 运动引导 |
关键发现¶
- 自回归策略是第一大贡献:从 Full-Seq 换成 Bi-AR,FID 由 27.63 降到 23.41,手、头等部位的时序一致性明显改善。
- "联合生成"是反例:把运动表征和帧生成塞进同一个扩散模型(Uni-DINOv3)反而把 FID 拉高到 28.97——因为 DINOv3 特征和帧 embedding 数据分布不同,联合建模会让模型在多分布间被拉偏,证明 ARVFI 用两个独立 DiT 的设计是对的。
- 效率全面碾压(表 3,\(1024\times576\)、\(\to25\)):ARVFI 仅 15 步采样、每帧 0.775s,比第二快的 Wan(50 步、2.582s)省约 70% 时间,比 FCVG(14.382s)、GI(23.467s)快一个量级——自回归把难题拆成有上下文的简单生成,是省步数的根因。
- 人评压倒性:20 名观察者、400 票,85% 认为 ARVFI 运动最自然,12% 选 Wan,其余方法合计 <3%。
亮点与洞察¶
- "远帧更难"这个观察很朴素但被忽略了:现有扩散插帧都默认所有中间帧一视同仁地同时生成,ARVFI 指出离输入越远不确定性越大,并用自回归 + 递增噪声软掩码顺势解决,思路顺滑。
- 双向因果掩码是把 Diffusion-Forcing 搬进 VFI 的关键缝合点:原版单向采样破坏了 VFI"两端已知"的双向性,一个注意力掩码就把它改造成双向因果、并适配扩散 Transformer,工程上很干净。
- 用 DINOv3 当运动表征 + 注意力 K/Q 注入几乎零成本:把语义特征经 MLP 变成额外的 \(Q_d/K_d\) 加到原注意力上、且全 block 共享,不动预训练 DiT 结构,训练稳定——这种"轻量注入运动先验"的范式可迁移到其他需要运动引导的视频生成任务。
- 相似度损失的设计巧在"只跟两端比":用 patch 相似度的相对一致性当监督、且只算与输入帧的相似度避免全序列两两计算的爆炸开销,是精度与显存的务实折中。
局限与展望¶
- 作者把"代码见项目页",正文未给出明确仓库地址,可复现性需查项目页 ⚠️ 以原文为准。
- 依赖预训练 Wan2.1-Fun-InP-1.3B 和 DINOv3 ViT-S,两个独立 DiT 都需各自长训(50 万 + 20 万迭代、8×A100),训练成本不低;对没有强 backbone 的场景迁移性存疑。
- 评测集仍偏小(Pixels 100 序列、人评仅 20 人/400 票),大幅复杂运动的覆盖面有限。
- 自回归虽缓解了远帧误差累积,但本质仍是序列依赖——若近帧生成出错,误差是否会沿自回归链传播到后续帧,论文未深入分析。
- 扩散调度矩阵 \(S\) 的具体构造放在补充材料,正文未展开,是理解推理流程的一个空白点。
相关工作与启发¶
- vs Wan(全序列扩散 backbone):Wan 同时生成所有中间帧、50 步采样;ARVFI 在同一 backbone 上改成双向自回归 + DINOv3 引导,15 步即可,FID 从 28.52 降到 19.03 且快约 3 倍,证明"生成顺序 + 运动表征"比单纯堆 backbone 更关键。
- vs Diffusion-Forcing:后者单向自回归、RNN 实现、破坏 VFI 双向因果性;ARVFI 改为从两端到中间的双向因果掩码并适配 DiT,更契合"两端已知"的插帧设定。
- vs VideoJAM / Motion-I2V(联合/额外模块运动建模):VideoJAM 用同一模型联合生成帧和光流可视化、Motion-I2V 另加模块灌运动;ARVFI 改用 DINOv3 语义特征、双独立 DiT 分离运动与帧,消融显示联合建模(Uni-DINOv3)反而掉点,分离设计更优。
- vs 光流/稀疏匹配类 VFI(FILM、GIMM-VFI、FCVG):它们靠像素级对应,在大幅非刚性运动下产生模糊或形变;ARVFI 用 DINOv3 patch 相似度提供语义鲁棒的运动,对遮挡与外观变化更稳。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 把自回归生成改造成双向因果版搬进 VFI + 用 DINOv3 当运动表征,两个角度都新且互补
- 实验充分度: ⭐⭐⭐⭐ 三数据集主比 + 完整消融 + 效率 + 人评齐全,但评测规模偏小、误差传播未深析
- 写作质量: ⭐⭐⭐⭐ 动机—方法—实验逻辑清晰,图示到位,但调度矩阵等关键细节甩给补充材料
- 价值: ⭐⭐⭐⭐⭐ 大幅运动插帧精度与效率同时大幅提升,对实用 VFI 与视频生成都有借鉴