InverseCrafter: Efficient Video ReCapture as a Latent Domain Inverse Problem¶
会议: ECCV2026
论文: ECCV 原文
领域: 3D 视觉 / 视频生成
关键词: 新视角合成、连续潜掩码、逆问题、视频修补、相机控制
一句话总结¶
InverseCrafter 将单目视频沿指定相机轨迹的重拍转化为潜空间修补,用轻量编码器预测连续多通道掩码,再以无需反向传播的 DDS 求解观测一致性,在不微调视频扩散模型的前提下取得 71 秒运行时间与 29.35 dB 观测 PSNR。
研究背景与动机¶
视频重拍并不是仅凭文字生成一段相似视频,而是要求同一场景、同一段运动,在用户指定的新相机轨迹下重新呈现。 预训练视频扩散模型已经能生成自然画面,但文本和首帧条件通常不足以精确规定相机运动,也不能保证源视频中的细节保持不变。 一种直接做法是估计视频深度,将可见像素投影到目标视角,再让生成模型补齐新暴露的区域。 这样,几何重投影负责能从输入确定的内容,生成先验负责输入没有观测到的内容。 以 TrajectoryCrafter 为代表的方法进一步微调视频模型来适应这种修补任务,却要承担训练数据、模型更新以及对特定几何重建流程的依赖。
如果希望保留预训练模型,似乎可以在每个去噪步骤要求生成视频匹配已知像素,但这又遇到潜空间压缩的障碍。 在像素域比较就需要反复经过非线性 VAE 解码器,增加计算开销,也可能使优化不稳定。 把像素掩码直接缩小虽然便宜,却默认 VAE 保留了逐位置的可见性对应关系,还默认所有潜通道可以共享同一掩码。 现代视频 VAE 同时压缩空间与时间,这两个默认条件都不可靠。 尤其当物体只在一组帧中的部分帧可见时,按时间逻辑与生成二值掩码会把整组都判成未知,丢掉本可用于约束生成的运动信息。
本文因此把重点从“怎样重新训练生成器”转向“怎样在生成器的潜空间正确表达观测”。 它希望既避免每步解码,又保留足够简单的观测算子,使成熟的线性逆问题求解器能够直接使用。 这里的免训练仅指不微调视频扩散模型;相机控制版本仍要学习一个小型掩码编码器,不能理解为所有组件都未经训练。 核心 idea:学习像素遮挡在各个潜通道中的连续影响,将观测约束近似写成逐元素线性掩码,再在冻结的视频生成先验下完成潜空间求解。
方法详解¶
整体框架¶
输入是源视频、目标相机轨迹以及生成所需的条件信息,输出是沿目标轨迹观看同一动态场景的视频。 DepthCrafter 先估计逐帧深度,系统利用相机内参反投影得到点云,再按每帧的相对相机变换渲染目标视角。 得到的重投影视频含有可见内容和空洞,它是后续修补的观测,而不是完整的新视角真值。 像素可见性掩码记为 \(m\),可见位置取 1;理想像素观测模型为 \(y=m\odot x\),其中 \(x\) 是待恢复的目标视频。 训练侧依次构造“连续潜掩码目标”、学习“轻量掩码编码器”;推理侧用编码器输出的掩码和观测潜变量进入“潜空间 DDS”。 视频扩散模型与 VAE 保持冻结,迭代只修改当前生成的潜变量,不对生成网络更新权重。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
Source["源视频 + 目标轨迹"] --> Warp["深度与重投影<br/>观测视频"]
subgraph Training["离线训练"]
Target["连续潜掩码目标"] -->|监督| Encoder["轻量掩码编码器"]
end
Warp -->|推理输入| Encoder
Warp -->|冻结 VAE 编码观测| Solver["潜空间 DDS"]
Encoder -->|连续多通道掩码| Solver
Prior["冻结视频扩散模型"] -->|逐步去噪估计| Solver
Solver --> Output["最终 VAE 解码<br/>新视角视频"]
关键设计¶
1. 连续潜掩码目标:描述遮挡对潜特征的影响
一个像素被遮住,不意味着压缩后的某个潜位置恰好完全不可用。 VAE 的非线性编码会混合邻近的空间、时间和通道信息,因此应先问遮挡前后潜变量发生了什么变化。 作者对完整视频与其遮挡版本分别编码,再把两者的潜差异归一化,生成与潜变量同形状的连续掩码。 该目标不是对像素掩码做插值,也不是复制一个通道到所有潜通道,而是允许每个通道、每个时空位置具有不同的保留强度。 按原文式 (5) 保留归一化函数的抽象形式:
这里 \(\mathcal E\) 是冻结的 VAE 编码器,\(C\) 是潜通道数,\(M\) 是压缩后的时空位置数,\(f\) 将差异映射到 \([0,1]\)。 当前主文只说明 \(f\) 使用激活函数进行归一化,没有给出可据以复现的完整具体形式,不能擅自替换为某个 sigmoid 或绝对值公式。 这个构造用潜变化提供软约束强度,但并不在数学上保证任意非线性 VAE 都满足严格的乘法算子等价。 因此,论文的 operator equivalence 更适合读作希望逼近的观测关系,而非已经证明对所有输入成立的恒等式。
相机重拍的训练难点是没有真正的目标相机视频,无法直接拿目标视角的完整与遮挡版本计算上述差异。 作者采用双重重投影:从已有完整视频出发,经过视角变换再投回,制造带有几何遮挡的对应版本。 这样原视频可作为完整参考,合成的遮挡视频作为退化观测,二者即可提供潜掩码监督。 它不需要成对的真实动态多视角 4D 数据,但训练遮挡仍受深度估计和合成轨迹分布影响。 另一种看似更直接的办法是用遮挡潜变量除以完整潜变量求掩码,作者指出分母接近零时会出现数值不稳定。 连续差异目标避免直接做这个除法,不过其归一化设计本身仍是有待改进的近似。
2. 轻量掩码编码器:从观测直接预测多通道约束
训练时可获得完整视频,真正重拍时却只有带空洞的目标视角观测,不能重新计算需要完整真值的目标掩码。 掩码编码器因此学习从观测视频 \(y\) 直接预测 \(h\),把离线可计算的监督转化为推理可用的约束。 需要特别注意,主文第 3.2 节定义的网络输入是像素观测视频,而不是单独的二值像素掩码。 文中的“mask encoder”名称描述的是其输出用途,不应被误读成只接收几何掩码的网络。 它基于 Wan2.1 VAE 架构缩减,通道宽度由 96 减至 16,总参数量为 1.5M。 这使新增学习成本集中在观测算子的表达上,而不是让大规模视频生成模型重新学习场景或相机控制。
推理时,观测视频只需形成一次观测潜变量,并由编码器给出一次连续掩码,供后续去噪步骤反复使用。 在编码器输出固定后,掩码对待求潜变量的作用就是逐元素乘法,因此是线性的。 “产生掩码的网络是非线性的”和“掩码固定后的观测算子是线性的”并不矛盾,线性求解器利用的是后者。 原文还说明训练和推理中会先填充被遮挡区域再编码,以缩小输入分布差异;当前主文未完整交代填充值规则。 这种预填充是编码时的处理,并不意味着把未知区域变成真实观测。 其效果仍应结合最终生成对可见区域的保持程度判断,而不能只看编码器是否拟合了掩码目标。
3. 潜空间 DDS:将去噪先验与观测修正交替执行
得到观测潜变量 \(w=\mathcal E(y)\) 和预测掩码后,模型用 \(w\approx h\odot z\) 近似表达目标潜视频与观测的关系。 DDS 即 Decomposed Diffusion Sampler,先由冻结的流模型提供当前干净潜变量估计 \(\hat z_{0|t}\),再单独做观测一致性修正。 修正既要求掩码后的潜变量接近观测,也不希望过度偏离生成先验已经给出的估计。 用 \(\lambda\) 统一记原文式 (8) 的正权重,其近端子问题为:
第一项提供数据约束,第二项把修正限制在去噪估计附近,二者共同决定单步更新。 由于固定掩码等价于对角线性算子,论文用共轭梯度求解这个二次问题,而无需对 VAE 或视频扩散模型反向传播。 求得修正后的干净潜估计,再结合流模型的噪声端估计交给 ODE 求解器推进下一个时间步。 循环结束后才把最终潜变量解码成视频,所以“省去解码”准确地说是省去每步为观测优化而进行的重复解码。 这不是把整个视频生成变成单步算法,预训练模型自身仍要多步采样。
观测约束也不是无差别地在所有时间步施加,作者用更新时段超参数控制何时启动一致性修正。 越早引入观测,越容易保持源视频内容;越晚引入,生成先验就有更多空间形成视觉上自然的补全。 图 9(c) 比较了 0.6、0.8、0.9,正文报告 0.8 在语义匹配和结构保留之间较为合适。 这项时段控制与式 (8) 的近端权重不是同一个参数,也不能误写成共轭梯度迭代次数。 当前缓存中的算法和时段集合符号有提取损坏,因此这里只保留可明确读出的机制与参数比较,不复原损坏伪代码。
一个完整示例¶
以原文图 6 的向外变焦或向上平移为例,源视频先通过深度估计形成逐帧点云。 当目标相机视角改变,原本可见的内容会移动到新位置,而新视角暴露出来的背景则没有对应像素。 重投影输出此时是带空洞的视频,掩码编码器从它判断哪些潜特征应强约束、哪些需要允许模型补全。 每次去噪先提出一个可能的新视角视频潜表示,DDS 再把与已知观测不一致的部分拉回,随后继续采样。 最终结果既要服从目标相机运动,也要保留源视频中的动态内容;没有看过的背景只能由生成先验推测,不能视为真实重建。
对于文本引导的对象替换,情形稍有不同:输入完整源视频与对象掩码都已知,可以直接比较编码前后的差异来计算潜掩码。 因此论文的编辑实验不需要训练或调用预测掩码所必需的学习过程,而相机重拍主实验使用上述学习版本。 首帧条件由现成图像修补模型生成,后续视频修补结合目标文本进行;这与在重拍时假设拥有不可见的目标真值不同。
损失函数 / 训练策略¶
掩码编码器使用预测掩码与目标掩码的 L1 误差,以及加权的 \(1-\operatorname{SSIM}\) 项训练,兼顾逐元素拟合与结构相似性。 训练数据来自 VidSTG 的 7,750 个视频,每个生成 6 个双重重投影样本,共 46,500 个训练样本。 训练分辨率为 \(240\times416\),AdamW 学习率为 \(1\times10^{-4}\),权重衰减为 \(3\times10^{-2}\)。 总 batch size 为 16,分配在 4 张 GPU 上,每张处理 4 个样本,作者报告训练耗时 1 天。 主实验推理使用 Wan2.1-Fun-V1.1-1.3B-InP,分辨率为 \(480\times832\),计算设备为 NVIDIA RTX A6000,显存 48GB。 因此方法节约的是视频扩散模型的任务微调与逐步观测优化开销,不是免除小网络训练、深度估计或采样计算。
实验关键数据¶
主实验¶
相机控制在 UltraVideo 的 1,000 个视频及对应描述上评测,每个视频从 6 条目标轨迹中抽取一条;下表摘录原文第 10 页表 1。 PSNR、LPIPS、SSIM 衡量与重投影观测的逐帧一致性,DINO 距离与 FVD 参照源视频;这些不是完整目标视角真值上的重建指标。 运行时间单位为秒;PSNR、SSIM、VBench 越高越好,LPIPS、DINO、FVD 与时间越低越好。
| 方法 | 时间 (s) | PSNR (dB) | LPIPS | SSIM | DINO | FVD | VBench |
|---|---|---|---|---|---|---|---|
| GCD | 44 | 不报告 | 不报告 | 不报告 | 0.0691 | 250.85 | 0.8865 |
| TrajCrafter | 134 | 28.37 | 0.0573 | 0.8942 | 0.0376 | 120.03 | 0.8954 |
| NVS-Solver | 696 | 26.68 | 0.0816 | 0.8314 | 0.0393 | 96.90 | 0.8955 |
| CogNVS | 164 | 15.41 | 0.4339 | 0.4016 | 0.1108 | 2175.93 | 0.8193 |
| InverseCrafter | 71 | 29.35 | 0.0485 | 0.8827 | 0.0359 | 99.73 | 0.8977 |
相对 TrajCrafter,本文 PSNR 提高 0.98 dB,时间由 134 秒降至 71 秒,但 SSIM 由 0.8942 降至 0.8827。 NVS-Solver 的 FVD 96.90 仍低于本文的 99.73,而 GCD 的 44 秒也比本文快;结论应是较好的综合权衡,而非所有维度全面领先。
消融实验¶
下表来自原文第 13 页表 3,在 DAVIS 子集上比较不同掩码策略的 VAE 重建观测一致性,不是完整相机重拍的端到端消融。 “目标掩码”直接利用完整与遮挡视频的潜差异,“预测掩码”则来自学习的编码器。
| 掩码策略 | PSNR (dB) | LPIPS | SSIM |
|---|---|---|---|
| 二值掩码缩放 | 27.76 | 0.0559 | 0.8794 |
| 逐元素相除 | 26.59 | 0.0688 | 0.8458 |
| 本文目标掩码 | 28.10 | 0.0526 | 0.8764 |
| 本文预测掩码 | 27.97 | 0.0515 | 0.8772 |
预测掩码相对二值缩放将 LPIPS 从 0.0559 降至 0.0515,PSNR 从 27.76 提高至 27.97,但 SSIM 没有超过二值基线。 预测掩码的 PSNR 也低于目标掩码,因此不能把监督目标的效果直接当成网络预测时的效果。
关键发现¶
- 方法的优势来自更细的观测表达与低开销求解配合,而不是依靠重新训练更大的生成器。
- 文本编辑另在 DAVIS 的 20 个视频上评测,每个视频有 5 个目标提示;第 12 页表 2 报告本文 FVD 为 1422.72,VLM 对齐分数为 0.6510。
- 编辑实验的 CLIP Score 为 24.98,低于 Zero4D 的 25.83;作者以近静态输出解释后者的图像指标优势,这是作者的定性解释而非单独因果消融。
- “几乎零额外开销”是相对基础扩散采样的论文表述,表 1 本身未给出完全同配置的裸模型计时,不能据此独立量化该额外开销。
亮点与洞察¶
- 真正值得复用的是让学习网络输出一个易求解的算子参数,而不是输出任意非线性观测映射。固定掩码后的线性结构,使高表达力的编码和廉价数值求解可以共存。
- 连续多通道掩码把“已知或未知”的硬判断改成潜特征保留强度,特别针对时间压缩造成的信息混合。这解释了为什么简单空间缩放不足以适应视频 VAE。
- 掩码是否需要预测取决于任务是否提供完整参考视频。相机重拍与对象编辑共享求解器,却不必共享完全相同的掩码获得方式。
局限与展望¶
- 作者承认初始重投影依赖单目深度,深度错误会变成错误观测;求解器可能忠实保留这种错误,而不自动修正几何。
- 较大视角变化造成更多遮挡时,剩余视觉上下文不足,潜差异构造的掩码目标可能不可靠;同时生成内容仍继承预训练模型偏差。
- 掩码编码器绑定具体 VAE 架构,换用其他潜空间不保证直接迁移;速度也仍受多步扩散采样限制。
- 从读者角度看,软掩码的算子等价主要依靠经验验证,主文未给出误差界;可进一步研究更有理论依据的目标构造与跨 VAE 适配。
- 当前提供的全文止于参考文献,未含正文引用的附录 B.2、D、E;VLM 指标具体判定规则、额外免训练相机控制方案和附录分析未核验。
- 缓存存在部分公式与算法排版损坏,本笔记未猜补归一化实现、采样时段集合或未报告的求解器超参数。
相关工作与启发¶
- vs TrajectoryCrafter(原文参考文献 66):同样利用几何重投影和修补,但该方法进行视频模型适配;InverseCrafter 复用其双重重投影思路,只学习小型掩码编码器。
- vs NVS-Solver / Zero4D(参考文献 65 / 39):这些方法展示了冻结视频先验的可能性,本文进一步处理潜空间掩码不匹配,尤其关注时空压缩和通道差异。
- vs SILO(参考文献 43):SILO 学习潜域前向算子,但算子对待求潜变量仍是非线性的;本文学习掩码后保持线性作用,从而可以用 DDS 的廉价一致性步骤。
- 来自 DDS(参考文献 14)的启发:将先验去噪与观测优化分开,迁移难点就转为如何构造适合新模态的前向算子,而不一定是重新设计生成模型。
评分¶
- 新颖性: 4/5。连续潜掩码与线性求解的结合清晰,算子等价仍是近似建模。
- 实验充分度: 4/5。包含相机重拍、文本编辑与掩码对照,但掩码重建消融不等于端到端收益归因。
- 写作质量: 4/5。主线明确,但“免训练”的范围需要限定,当前缓存的公式提取也影响复现细节阅读。
- 价值: 4/5。对冻结视频先验下的高效几何控制具有参考价值,工程效果仍依赖深度质量与具体 VAE。