跳转至

ConfCtrl: Enabling Precise Camera Control in Video Diffusion via Confidence-Aware Interpolation

会议: ECCV2026
Paper: https://eccv.ecva.net/virtual/2026/poster/3892
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/3568.pdf
领域: 视频生成 / 新视角合成
关键词: 首尾帧插值、相机控制、点云投影、置信加权、预测—更新

一句话总结

ConfCtrl 用首尾帧视频插值提供生成先验,以置信加权的点云投影潜变量改变 rectified flow 的起点,再用预测—更新模块修正相机条件,在 CO3D-Hydrant 上取得 15.54 dB PSNR、0.143 m 平移误差和 0.103 rad 旋转误差。

研究背景与动机

给定同一场景的两张图片,沿指定相机轨迹生成中间视角,不只是把画面平滑地连接起来。相机绕到物体另一侧时,输入中不可见的背景和表面需要补全,已经可见的结构又必须随视角发生正确的透视变化。PixelSplat、MVSplat 等前馈重建方法能按相机位姿渲染,但双视图、宽基线下的几何估计错误和未观测区域会直接变成渲染缺陷。视频扩散模型具有更强的补全先验,却可能生成看似合理、实际没有沿目标轨迹移动的画面。

相机参数和点云投影解决的是不同问题。前者说明要从哪里看,后者提供该视角下哪些内容已有几何依据。CameraCtrl 主要依赖位姿条件;ViewCrafter 一类方法引入点云投影,但错误的深度、尺度和遮挡处理会把变形也作为条件送入生成器。即使改用 VGGT 这样的双视图几何基础模型,投影也不是无噪声真值。直接拼接两类特征并没有告诉模型哪些区域可以相信,哪些区域应该让生成先验补全。

本文进一步选择首尾帧插值模型,而非从单张图片不断向后生成:两端观测共同约束中间帧,能减少单端生成逐帧偏移的问题。在此基础上,几何信息既影响生成的初始分布,也在网络内部作为可以被修正的观测使用。核心 idea:让可靠的几何投影引导生成起点,再以相机驱动预测与投影残差更新逐层融合条件,避免把不可靠点云当作必须服从的真值。

方法详解

整体框架

输入是两张端点图片及目标相机轨迹,输出是沿该轨迹合成的中间视角序列。ConfCtrl 建立在 1.3B Wan-2.1-InP 上;VGGT 从输入估计点云及逐点置信信息,再把点云和置信值投影到目标相机空间。模型处理的是这些投影的潜变量,不是直接回归一套最终可独立渲染的 Gaussian 参数。

流程中有三个需要区分的环节:首尾帧插值先验约束两端外观,置信加权初始化决定 rectified flow 从哪里出发,预测—更新相机条件则在生成过程中持续修正特征。网络均匀插入 10 个 Kalman DiT 模块;每个这样的模块包含三个 DiT 块,不能把“10 个模块”误读为“只增加 10 个普通 DiT 块”。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["两张输入图片<br/>与目标相机轨迹"] --> B["首尾帧插值先验"]
    A --> C["VGGT 点云与置信<br/>投影到目标视角"]
    B --> D["置信加权初始化"]
    C --> D
    D --> E["预测—更新相机条件"]
    C --> E
    E --> F["指定轨迹下的<br/>新视角序列"]

关键设计

1. 首尾帧插值先验:同时用两端观测约束中间视角

从单帧出发的视频模型容易把早期的小偏差延续到后续帧,而新视角合成恰好已有第二张真实观测可用。ConfCtrl 继承预训练首尾帧插值模型的中间内容生成能力,使生成过程不只“离开第一帧”,还必须“到达最后一帧”。这提供了外观与时空连续性的先验,但并不意味着中间轨迹自动正确;相同端点之间仍可以有不同运动路径,所以还需要显式相机条件和几何投影。

这一选择也解释了训练数据少时为何仍能工作:主要生成能力来自已有视频预训练,当前训练把它适配到宽基线双视图场景,而不是从少量序列学习整个世界的外观分布。消融中的“去掉插值”实际是换成预训练相机引导视频扩散模型,并非把一个普通插值算子关掉;解释收益时必须保留这层底座变化。

2. 置信加权初始化:让可靠投影参与流模型的起点

传统做法从纯高斯噪声出发,再把点云投影作为额外控制条件。这里先取得投影潜变量及相应的目标视角置信权重,用逐元素加权后的几何潜变量与噪声相加。高置信投影会对初始状态产生更强影响;低置信区域的几何约束较弱,给生成先验留下修补空间。这不是把点云内容直接复制到最终图像,也不是最终输出阶段的遮罩合成。

缓存中式 (3) 的部分符号损坏,下面依据紧邻文字明确描述的“加权和”整理,属于语义转写而非逐字复刻:

\[ z_0=\lambda_1\bigl(w\odot\hat z_{pc}^{0}\bigr)+\lambda_2\epsilon, \qquad \epsilon\sim\mathcal N(0,I). \]

其中 \(\hat z_{pc}^{0}\) 是点云投影潜变量,\(w\) 是对应置信权重,\(\odot\) 表示逐元素乘法。实验设置 \(\lambda_1=1\)、\(\lambda_2=1\),因此它不是权重之和必须等于一的凸插值。作者还对投影潜变量做线性插值,以匹配时间通道和空间分辨率;这里的尺寸对齐不要与首尾帧视频插值混为一谈。正文没有完整说明置信值的归一化、遮挡冲突处理或缺失投影填充值,不能从这个公式自行补出实现。

3. 预测—更新相机条件:把几何误差变成可学习的修正信号

初始化只设定起点,无法保证随后每层都正确理解目标位姿。因此每个 Kalman DiT 模块先形成预测,再利用投影特征与预测之间的差异更新特征。预测分支编码目标相机的 Plücker 表示,通过相机潜变量和点云投影潜变量之间的交叉注意力形成控制特征,再经过零初始化线性层残差加入主干。原文概述把预测称为“仅由目标位姿条件化”,但随后的实现明确使用了投影特征参与交叉注意力;应以实现描述理解,不能把预测分支画成完全不接触点云。

更新分支把已经经过前面模块处理的投影潜变量当作带噪测量,计算它与预测特征的差异,将该差异送入额外 DiT 块学习修正,再通过零初始化线性层注入主干。下面将式 (4)–(6) 合并成一个机制表达,保留原文预测减观测的符号方向:

\[ \begin{aligned} z_{\mathrm{pred}}^n &= z^n+\operatorname{zero\text{-}linear}(u^k),\\ z_{\mathrm{update}}^n &= z_{\mathrm{pred}}^n+ \operatorname{zero\text{-}linear}\!\left( \operatorname{Diff}\!\left(z_{\mathrm{pred}}^n-\hat z_{pc}^{k-1}\right)\right). \end{aligned} \]

\(n\) 标识主干层,\(k\) 标识对应 Kalman DiT 模块,\(u^k\) 是上述交叉注意力形成的控制特征,\(\operatorname{Diff}\) 是学习差异修正的网络,而非另一次独立扩散采样。两个零初始化线性层是各自分支的接口;它们让新增条件最初不会大幅扰动预训练特征,再随训练逐步学会注入控制。与直接拼接相比,网络显式看到“预测和观测哪里不一致”,可以学习降低错误投影的影响。

Kalman 的联系仅在于预测—更新结构。作者明确排除了跨扩散步的递归贝叶斯状态估计,也没有给出显式状态协方差传播或解析 Kalman 增益。置信图在初始化中显式加权,更新阶段的可靠性调节则由残差网络学习;不能把两者混写成每层都显式乘一次相同置信图。

一个完整示例

以围绕消防栓拍摄的两张图片为例,目标是生成包含两端的 33 帧视角序列。VGGT 提供可见表面的点云和置信信息,在某个中间目标视角下,消防栓正面的可靠投影会较强地进入初始潜变量;侧后方估计不稳的区域则获得较弱几何引导。这里描述的是机制示例,没有假定论文报告了某个像素的具体置信值。

随后,预测分支结合目标相机与投影特征,把当前主干表示推向所需视角;若投影中的边缘位置与预测不一致,更新分支依据这种差异学习修正,而非强制把扭曲边缘复制到画面上。两端图片仍约束整体外观,生成先验补齐未观测内容。最终得到的是视角序列,而不是对不可见表面具有真值保证的三维模型。

损失函数 / 训练策略

训练采用 rectified flow,让置信初始化 \(z_0\) 向真实视频潜变量 \(z_1\) 演化。根据式 (7) 的文字说明,可将线性路径写为:

\[ z_t=(1-t)z_0+t z_1,\qquad z_{\mathrm{target}}=z_1-z_0. \]

速度网络学习上述目标方向;初始化改了,速度监督中的起点也必须随之改变,不能仍用纯噪声替代 \(z_0\)。此外,作者让预测速度与目标速度在潜空间的水平和垂直梯度上对齐,以保留局部结构、减少急剧视角变化下的噪声和闪烁。总目标由 rectified flow 项与权重为 \(\lambda_{\mathrm{grad}}=0.05\) 的梯度正则项组成。缓存式 (8)–(10) 的范数、求和等符号不完整,因此不补写无法核实的精确损失展开式。

三个数据集分别训练、测试,CO3D-Hydrant、CO3D-Teddybear 和 DL3DV 分别使用 250、450、200 条训练序列,其余序列用于测试。配置为 \(256\times256\) 分辨率、33 帧、batch size 1、学习率 \(10^{-5}\)、20k 步;单 GPU 约需 40 GB 显存和 24 小时训练。50 步采样约需每场景 10 秒,但正文未给出 GPU 型号,也没有细分几何预处理与生成的计时边界。

实验关键数据

主实验

以下摘录原表 1。PSNR 越高越好,LPIPS、平移误差 \(E_t\) 和旋转误差 \(E_r\) 越低越好;\(E_t\) 是预测与真实相机位置的平均欧氏距离,单位为 m,\(E_r\) 是旋转矩阵之间的平均角距离,单位为 rad。相机轨迹由 VGGT 从生成视频估计,并以第一张输入图为参照,而非直接读取生成模型内部相机参数。

数据集 方法 LPIPS PSNR (dB) SSIM \(E_t\) (m) \(E_r\) (rad)
CO3D-Hydrant Gen3R 0.341 15.32 0.321 0.189 0.144
CO3D-Hydrant Uni3C 0.350 15.41 0.322 0.219 0.167
CO3D-Hydrant ConfCtrl 0.339 15.54 0.328 0.143 0.103
CO3D-Teddybear Gen3R 0.368 16.92 0.452 0.234 0.159
CO3D-Teddybear Uni3C 0.382 16.45 0.438 0.271 0.198
CO3D-Teddybear ConfCtrl 0.354 17.27 0.480 0.210 0.155
DL3DV Gen3R 0.296 16.34 0.391 0.225 0.160
DL3DV Uni3C 0.306 15.99 0.395 0.213 0.159
DL3DV ConfCtrl 0.287 16.49 0.427 0.195 0.149

CameraCtrl、ViewCrafter、Uni3C 被适配到同一首尾帧视频扩散底座,并按相同数据设置训练;ViewCrafter 与 Uni3C 还使用相同 VGGT 投影。SeVA、Gen3R 则作为大规模预训练模型另行比较,不能据此宣称所有方法的预训练预算相同。跨域原表 3 中,DL3DV 训练后零样本测试 GraspNet,ConfCtrl 的 PSNR 为 15.23,\(E_t\) 为 0.099,\(E_r\) 为 0.071;Uni3C 对应为 15.05、0.128、0.091。

消融实验

以下摘录原表 4,全部位于 CO3D-Hydrant,避免混用不同数据集数字。

配置 LPIPS PSNR (dB) SSIM \(E_t\) (m) \(E_r\) (rad)
完整 ConfCtrl 0.339 15.54 0.328 0.143 0.103
(a) 纯噪声初始化 0.347 15.44 0.326 0.174 0.128
(b) 置信权重统一为 1.0 0.366 14.75 0.296 0.164 0.117
(c) 去掉更新分支 0.386 14.65 0.305 0.194 0.139
(d) 同时去掉更新与置信初始化 0.362 14.85 0.304 0.213 0.155
(e) 去掉梯度正则 0.339 15.49 0.322 0.152 0.110
(f) 预测仅使用位姿 0.370 14.90 0.312 0.192 0.141
(g) 位姿与投影直接相加 0.363 15.06 0.313 0.174 0.124
(h) 换用非插值底座 0.491 13.45 0.193 0.457 0.362
(i) 对无更新变体增加参数 0.382 14.56 0.306 0.202 0.145
(l) VGGT 换为 Pi3 0.333 15.56 0.326 0.146 0.107

关键发现

  • 插值底座变化对应最大的退化:PSNR 从 15.54 降至 13.45,平移误差从 0.143 增至 0.457。它证明预训练起点重要,但不是保持所有条件不变的单模块移除实验。
  • 置信权重全设为 1.0 比纯噪声初始化的画质更差,却有稍低的位姿误差,说明错误几何可以同时“更约束相机”和“损伤外观”。去掉两个组件也并非每项指标都比单独移除更差,互补性证据主要体现在相机控制。
  • 梯度正则收益较小:去掉后 LPIPS 仍为 0.339。Pi3 的 LPIPS 0.333、PSNR 15.56 好于默认 VGGT,但 SSIM 与位姿误差略差,因此几何底座选择存在指标权衡。
  • 原表 2 的 DL3DV FVD 是一个明确例外:ConfCtrl 为 113.46,Gen3R 为 105.52,低值更好。不能把原表 1 的全面领先延伸成所有生成质量指标都最佳。

亮点与洞察

  • 置信度不仅可用于损失加权,也可用于设计生成的起始分布。这使可信几何在第一步就起作用,而不是完全依赖后续控制分支纠偏。
  • 预测与测量的差异本身是有用条件。让网络学习如何修正不一致,比假定所有几何特征都可靠更适合宽基线、遮挡多的场景。
  • 首尾帧约束与显式轨迹约束是互补的:前者提供外观边界条件,后者决定中间视角路径。该分工可启发其他稀疏观测生成任务,但迁移收益仍需另做实验。

局限与展望

  • 作者明确指出,视频 VAE 偏向相邻帧平滑变化,不适合突发相机运动或较大位置跃迁;面向新视角合成优化 VAE,或探索无 VAE 路线,是原文提出的方向。
  • 本文只在 \(256\times256\)、33 帧和较小训练集合上验证,不能据此推断高分辨率、长序列或实时生成表现。每场景约 10 秒也不等于实时交互。
  • VGGT 既提供几何条件又用于估计评测轨迹,可能存在共享模型偏差;这是笔记的评测风险判断,不是已经证实的作弊或失效。独立位姿估计器与几何标定评测可提供交叉验证。
  • 当前缓存没有补充材料中的完整训练拆分、置信归一化细节,也未报告结果方差或置信区间。小幅指标提升应谨慎解释;未观测区域的视觉合理性也不能等同于真实三维恢复。

相关工作与启发

  • 与 PixelSplat、MVSplat、AnySplat 比较:前馈方法生成显式场景表示后按相机渲染,ConfCtrl 则直接借视频先验补全视图;后者更能处理未知外观,但不自动获得可任意重渲染的统一三维模型。
  • 与 CameraCtrl、ViewCrafter、Uni3C 比较:本文并非首次加入相机参数或点云,而是改造几何进入模型的位置与融合方式。相同 VGGT 输入和同底座重训的对照,有助于隔离这种条件设计的贡献。
  • 与经典 Kalman 滤波比较:这里只借鉴预测—更新的结构先验,没有解析不确定度估计保证。未来可以单独评估显式置信校准是否能改善残差更新,而不能将这种尚未实验的扩展写成现有能力。

评分

  • 新颖性: 4/5。将置信加权的流初始化与预测—更新条件结合较有针对性,但组成技术来自已有插值、几何基础模型和残差控制。
  • 实验充分度: 4/5。覆盖三数据集、跨域测试和多类消融;分辨率、训练规模及独立位姿验证仍有限。
  • 写作质量: 4/5。核心流程与消融对应清楚,但预测分支的概述和交叉注意力实现措辞存在不一致。
  • 价值: 4/5。适合关注稀疏视图生成与相机控制的研究者,尤其值得借鉴不可靠几何条件的处理方式。