跳转至

Beyond Inpainting: Unleash 3D Understanding for Stable Camera-Controlled Video Re-rendering

会议: ECCV2026
Paper: https://eccv.ecva.net/virtual/2026/poster/3874
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/3495.pdf
代码: https://github.com/FREDZEL2020/DepthDirector
领域: 视频生成
关键词: 相机控制、视频重渲染、深度条件、双流条件、身份保持

一句话总结

DepthDirector 用重投影深度控制新视角、用源视频保留外观与动作,避免直接修补重投影 RGB 的错误纹理;其完整模型在绝对相机设置下取得 RE 1.010、TE 0.053、CamMC 1.434。

研究背景与动机

对已有视频重新运镜,比从文字生成一段带相机运动的视频多了一项要求:人还是同一个人,表情与动作也必须发生在原来的时刻。ReCamMaster 等方法把相机位姿作为隐式条件,但网络还得学会把这些参数对应到场景几何。另一类方法先重建逐帧几何,把原视频投影到目标相机,再让扩散模型填补空洞,控制更直接,却把几何误差变成了生成条件中的可见纹理。

论文将后一问题称为 Inpainting Trap,即“修补陷阱”:模型有了看似完整的重投影 RGB,就容易沿用它,只修补缺失部分。错误人脸形状因而难以纠正;镜面反射也会被烘焙成表面纹理,无法随视角合理变化。即使另外输入源视频,模型仍可能优先复制这个捷径条件,而不真正使用源内容建立对应关系。

目标不是抛弃显式几何,而是限制它传递的信息:几何负责说明“从哪里看、物体在哪里”,外观与运动来自未经目标视角扭曲的源视频。核心 idea:以重投影深度替代重投影 RGB,并将视角条件与内容条件分流注入,迫使视频扩散模型联合解释几何布局和源视频内容来生成新视角。

方法详解

整体框架

输入是单目源视频和逐帧目标相机轨迹,输出是保持原场景动态的新视角视频。推理时先构建逐帧动态网格,渲染目标视角的深度与遮挡掩码,再把它们作为视角条件注入目标噪声 token;源视频则单独作为内容 token,与目标序列共同进入视频扩散 Transformer。

MultiCamWarp 同步多视角数据提供真正的新视角监督,而非仅训练模型修补源视角中的空洞。轻量适配器在冻结的 Wan 骨干上学习这两类条件的融合;数据构建与适配器训练属于训练侧,不是每次推理都要重新执行的步骤。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Input["源视频与目标轨迹"] --> Geometry["重投影深度条件"]
    Input -->|源视频| Dual["视角与内容双流"]
    Geometry -->|深度与掩码| Dual
    Data["MultiCamWarp<br/>同步多视角数据"] -->|训练样本| Adapter["轻量适配器训练"]
    Dual -->|条件融合| Adapter
    Adapter -->|训练后的模型| Output["新视角视频"]

关键设计

1. 重投影深度条件:提供布局而不固定外观

在完整模型中,作者用 \(\pi^3\) 估计源视频的相机外参与逐帧点图,再连接相邻像素对应的三维点形成网格。网格相较直接投影离散点云能够减少渲染深度的噪声伪影,但并不意味着重建已经准确。将逐帧网格放到目标相机下渲染,得到深度视频和遮挡掩码;新视角中原来不可见或超出源画面覆盖范围的位置,掩码为零。模型因而同时知道目标布局以及哪些区域没有可靠源观测。

深度不包含人脸颜色、衣服纹理或反射图案,因此不会直接把这些外观烘焙进目标条件。为了复用预训练视频 VAE,作者在对数空间把深度归一化到 \([0,1]\),再通过预定义色图变成 RGB 表示。这里的“RGB”只是深度数值的编码,不是重投影后的场景颜色;它仍然携带几何误差,但不再要求模型沿用错误像素的外观。论文没有在缓存正文中给出色图名称,不能据此指定某一种色图。

2. 视角与内容双流:让对应关系在注意力中建立

视角流将深度与掩码分别通过 VAE 编码,沿通道维拼接后用线性投影映射到视角 token,再加到 patchify 后的目标噪声 token 上。它不是简单把相机参数附在文本提示里,而是在与目标位置对齐的 token 中提供空间条件。下面按第 3.3 节文字重述其操作关系;缓存公式的部分等号和括号缺损,因此不将此式当作原式的逐字转录:

\[ \hat{x}_{\mathrm{target}} =\operatorname{patchify}(x_t) +F_c\!\left([\mathcal E(D^r),\mathcal E(M^r)]_{\mathrm{channel}}\right). \]

其中 \(D^r\) 和 \(M^r\) 是渲染深度与掩码,\(\mathcal E\) 是 VAE 编码器,\(F_c\) 是线性投影。内容流不重投影源视频,而是把其 VAE latent 变成 token,沿帧维与目标 token 拼接:

\[ \hat{x}_{\mathrm{input}} =\left[\operatorname{patchify}(x_s),\hat{x}_{\mathrm{target}}\right]_{\mathrm{frame}}. \]

这里 \(x_s\) 是源视频 latent。若压缩后的源视频有 \(f\) 个时间位置,拼接后对应 \(2f\) 个时间位置,输入 token 数相对常规目标视频生成翻倍。它不是逐像素混合源帧与目标帧,也不是把源视频作为额外颜色通道;时空自注意力能在两段序列间读取信息,寻找同一物体在不同视角下的对应内容。视角流提供“目标处应有什么几何”,内容流提供“这个物体长什么样、此刻怎样运动”,两者缺一不可。

这也解释了为什么仅在 RGB 重投影条件旁增加源视频还不够:如果目标条件已经包含可复制的纹理,注意力可能弱化源视频的作用。论文的注意力可视化显示,深度条件下目标 patch 对源视频对应区域的关注更集中;这是支持该解释的证据,但不是对完整三维推理能力的形式证明。

3. MultiCamWarp 同步多视角数据:学习重渲染而非只学习填洞

双流机制必须看到“同一时刻、不同相机”的真实配对目标,才能学会从源内容生成新视角。作者在 Unreal Engine 5 中布置环境和带动画的角色,让多个相机同步拍摄,每个动态场景使用 8 条随机轨迹,并渲染 RGB 与真实深度。随后组成源视频、重投影深度及目标视频的训练对;真实目标视角不受源视角重投影伪影的约束,因此为重新生成内容提供监督。

数据共含 40 个三维环境、1K 个动态场景和 8K 段视频,每段为 \(720\times1280\)、81 帧。训练时在深度映射到 RGB 之前做随机缩放与平移,缓解推理时单目估计深度尺度不一致的问题。该增强提高尺度鲁棒性,但不能修复错误拓扑或缺失物体。论文以 8K 对比 ReCamMaster 的 136K 视频说明数据需求减少;这并不是相同硬件、训练步数和骨干条件下测得的计算成本比例。

4. 轻量适配器训练:保留生成先验并学习新条件

完整模型采用 Wan2.2-TI2V-5B,冻结预训练视频扩散骨干,用 rank 32 的 LoRA 适配重渲染任务。VAE 负责视频 latent 编解码,文本提示仍经 T5 编码并通过交叉注意力进入骨干;本文改变的是几何与视频内容的条件路径,而不是另造一个视频生成器。

训练样本以同步目标视频作为生成监督,双流条件让适配器学会何时利用几何布局、何时从源视频读取身份和运动。LoRA 降低的是可训练参数规模,不能等同于低推理成本:完整源视频拼接仍增加 token 数,而且每个输出都需要多步去噪。正文没有单独列出线性投影层的参数量和学习率分组,不补充这些实现细节。

一个完整示例

考虑一段人物表情随时间变化的源视频,要求相机从正面转到侧面。这是机制说明,不是新增实验:逐帧网格先生成目标侧面的深度和可见性;未知侧脸由掩码指出,源视频则保留每个时刻的表情细节。视角流约束脸部在目标画面中的布局,内容流给出其身份和动态,扩散模型联合生成侧面视频。

若移除内容流,只有几何和首帧外观不足以恢复后续细微表情;若换回重投影 RGB,扭曲的脸部纹理又可能成为复制捷径。论文的模型 (c) 和模型 (b) 分别检验了这两种失败路径,而不是只用最终成片进行主观展示。

损失函数 / 训练策略

作者沿用 flow matching 的速度预测目标,监督速度是噪声与目标数据之差,并在训练目标中包含随时间步变化的权重。缓存式 (1)、(2)、(6) 存在明显字符缺损,因此这里不猜测插值表达式、范数排版或权重函数的具体形式;可以确认的是该方法没有在正文中额外提出身份损失或几何重投影损失。

输入调整为 \(704\times1280\)、81 帧,使用 AdamW,学习率 \(1\times10^{-4}\),在 8 张 NVIDIA A100 上训练 4 天。推理采用 50 个去噪步,每段视频约 4 分钟;正文没有明确这个时延对应的推理 GPU 数,不能直接写成单卡速度。

实验关键数据

主实验

测试从 Koala 抽取 150 段真实网络视频,每段使用 10 条轨迹,包括基础平移旋转及 orbit、helix、S-curve、parabola。ViPE 从生成视频估计相机参数,再按 CamI2V 计算 RE、TE 和 CamMC,三者越低越好;缓存没有给出它们的完整计算公式与单位,不能擅自把 RE 写成角度。

RS 是源视频首帧与生成帧之间的 ArcFace 嵌入相似度,IFS 是生成视频相邻帧的身份嵌入相似度,仅在人脸评估子集上计算,越高越好。Img.Q 是 VBench 成像质量。下表摘录原表 1,保留两套相机协议,不能把跨协议的数值视为严格同设置比较。

设置 方法 RE 降 TE 降 CamMC 降 RS 升 IFS 升 Img.Q 升
相对相机 TrajectoryCrafter 1.464 0.133 2.084 0.567 0.916 71.59
相对相机 GEN3C 1.397 0.076 1.982 0.618 0.943 72.04
相对相机 EX-4D 1.186 0.101 1.687 0.653 0.925 70.65
相对相机 Ours(DC) 1.382 0.096 1.962 0.669 0.959 72.88
绝对相机 ReCamMaster 3.576 0.180 5.063 0.576 0.932 67.27
绝对相机 Ours(1.3B) 1.349 0.073 1.913 0.653 0.942 70.00
绝对相机 Ours(Full) 1.010 0.053 1.434 0.663 0.954 72.90

相对相机轨迹以源视频每帧位姿为参考;Ours(DC) 与重投影基线共用 DepthCrafter 深度及固定焦距设置。绝对相机以首帧为参考,Ours(Full) 使用 \(\pi^3\)。相对设置中 Ours(DC) 的身份保持与成像质量更高,但 EX-4D 的 RE、CamMC 更低,GEN3C 的 TE 更低;应理解为几何服从与外观重建的取舍,而非“所有指标全面领先”。

消融实验

原表 3 的配置对应第 4.3 节,所有这些变体都使用 MultiCamWarp。Cs.S. 与 Cs.B. 分别是 VBench 主体一致性和背景一致性,越高越好;本表完整模型的 RS 0.6887 不应与主表的 0.663 混用,正文没有完整解释两表评测口径的差异。

配置 视角条件 源视频内容流 RS 升 IFS 升 Cs.S. 升 Cs.B. 升
模型 (a) 重投影 RGB 无 0.5954 0.9606 94.80 94.57
模型 (b) 重投影 RGB 有 0.6463 0.9621 95.20 94.43
模型 (c) 重投影深度 无 0.5804 0.9628 95.17 94.66
完整模型 重投影深度 有 0.6887 0.9661 95.29 94.66

在 RGB 条件下加入内容流,RS 从 0.5954 提高到 0.6463;保留内容流再换成深度条件,提高到 0.6887。反之,在深度条件下去掉内容流,RS 降至 0.5804,说明几何本身无法保证身份保持。模型 (c) 的 IFS 仍高达 0.9628,也提示“连续帧看起来是同一个人”不等于“这个人就是源视频中的人”。

关键发现

极端视角测试选取固定源相机的视频,以消除相对与绝对轨迹定义差异。下表摘录原表 2 的 \(0^\circ\rightarrow\pm90^\circ\) 条件;GEN3C 与完整模型使用 \(\pi^3\),EX-4D 仍使用 DepthCrafter,因此不是所有方法共享同一几何估计器。

方法 Cs.S. 升 Cs.B. 升 Img.Q 升
EX-4D 86.03 89.02 67.30
GEN3C 87.73 90.07 67.64
ReCamMaster 83.54 86.31 58.42
CamCloneMaster 90.04 90.46 69.32
Ours(Full) 89.92 90.91 71.83

完整模型的极端视角背景一致性和成像质量领先,但主体一致性略低于 CamCloneMaster。作者将后者较高分数解释为未达到要求的相机旋转;仅凭该表不能验证这一归因,也不能把高一致性自动理解为准确运镜。

亮点与洞察

  • 条件越丰富不一定越有利。去掉几何条件中的真实颜色,反而削弱了复制错误纹理的捷径,让源视频内容更有机会参与重建。
  • 同步多视角监督改变了任务本身。模型需要生成另一台相机真正看到的内容,而不是把被遮挡的源画面补回原状。
  • 身份相似与时间稳定必须分开测量。模型 (c) 的高 IFS、低 RS 表明,一个稳定但错误的身份也可能取得漂亮的时序指标。

局限与展望

  • 作者明确讨论了单目点图不准确以及几何服从与视觉质量的取舍,但正文没有独立的局限性章节。生成式纠错不能保证输出严格匹配真实三维场景。
  • 以下是笔记评估:150 段网络视频与学习式位姿、身份、感知指标尚不足以替代真实多机位目标视频验证;缓存也未给出误差条或多随机种子稳定性分析。
  • 8K 合成视频来自 40 个环境,深度尺度增强无法覆盖所有真实世界错误。透明、反光、严重遮挡等情况值得单独测试,不能把它们写成本文已量化的失败结论。
  • 81 帧输入、token 数翻倍及约 4 分钟生成时延限制了实时使用。长视频连续运镜、未知区域真实性和推理加速都是后续问题,正文未提供完整验证。

相关工作与启发

  • 对比 EX-4D、GEN3C、TrajectoryCrafter:这些方法用重投影 RGB 锚定目标视频;DepthDirector 保留显式几何,但让其只传递深度布局,优势是减少外观伪影继承,代价是需要模型生成更多内容。
  • 对比 ReCamMaster:后者以隐式相机条件学习控制;本文用深度给出目标布局。较小的 Ours(1.3B) 在表中仍超过 ReCamMaster,但这不是将所有训练条件严格固定后的单因素实验。
  • 对比 CamCloneMaster:其依赖参考视频引导相机运动,本文直接接受目标轨迹。跨方法比较应同时检查目标视角是否达到,不能只看 VBench 一致性。
  • 可迁移启发:在几何引导的生成任务中,可考虑让布局与外观走不同条件路径,并用真实配对目标监督融合;能否迁移到其他任务仍需实验检验。

评分

  • 新颖性: 4/5。条件信息的解耦切中了 RGB 重投影捷径,创新主要在条件设计与训练数据组织。
  • 实验充分度: 4/5。包含两种相机协议、组件消融和极端视角测试,但缺少误差条及更直接的真实多视角验证。
  • 写作质量: 4/5。问题与消融逻辑清楚,不过部分“全面最好”的文字比表格支持的结论更强。
  • 价值: 4/5。为相机可控视频重渲染提供了可复用方案,实际价值仍受几何误差、时延和长视频能力制约。