跳转至

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) 保留归一化函数的抽象形式:

\[ h=1-f\!\left(\mathcal E(x)-\mathcal E(m\odot x)\right), \qquad h\in[0,1]^{C\times M}. \]

这里 \(\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) 的正权重,其近端子问题为:

\[ z^{(y)}=\arg\min_z \frac{\lambda}{2}\lVert w-h\odot z\rVert_2^2 +\frac{1}{2}\lVert z-\hat z_{0|t}\rVert_2^2. \]

第一项提供数据约束,第二项把修正限制在去噪估计附近,二者共同决定单步更新。 由于固定掩码等价于对角线性算子,论文用共轭梯度求解这个二次问题,而无需对 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。