Learning to Refocus with Video Diffusion Models
Adobe
一句话总结
将”重对焦”重新表述为焦点栈视频生成任务,借助预训练视频扩散模型从单张失焦图像一次性重建整段焦点栈,实现拍摄后的交互式对焦调整。
研究背景
对焦是摄影的核心,但自动对焦系统在动态或复杂场景中经常对不准用户想要的主体,用户也常希望在拍摄后重新调整焦平面。已有的对焦调整方法要么依赖光场相机等专用硬件,要么需要多张图像和深度图,成本和门槛都超出普通用户的能力范围。另一类去模糊方法只输出全清晰(all-in-focus, AiF)图像,无法还原光学系统中自然的散焦效果。
作者观察到:从严重模糊中恢复对焦本质上是欠定(ill-posed)问题,存在多个合理解,因此更适合用生成式方法处理。同时,预训练视频扩散模型天然具备”拉焦”(focus pull)的先验——用文本提示就能让模型生成一段焦点逐渐移动的视频。基于此,作者提出把焦点栈看作一段时序连贯的视频,用视频扩散模型来重建。
方法
整体框架:以单张失焦图像作为条件,用 Stable Video Diffusion (SVD) 一次采样生成完整的九帧焦点栈(对应从近到远的九个对焦位置),用户随后可用滑块交互选择偏好的对焦帧。
flowchart LR
A[单张失焦输入图像] --> B[编码为潜在帧 f_p]
B --> C[放入条件张量对应位置 p<br/>其余位置置零]
C --> D[视频扩散模型 SVD<br/>修改后的 CFG]
D --> E[一次采样生成完整焦点栈<br/>9 帧不同对焦位置]
E --> F[滑块交互选择<br/>偏好对焦帧]
关键设计:
- 位置相关条件(position-dependent conditioning):原始 SVD 通过把首帧潜在复制到所有帧来做条件,这会忽略位置信息并引入歧义。作者改为只把选中的对焦位置潜在 \(\mathbf{f}_p\) 放在条件张量的对应位置 \(p\),其余位置全部置零,从而让模型学到输入对焦位置与输出焦点栈的清晰映射。
- 修改的无分类器引导(modified CFG):预测噪声表述为 \(\tilde{\epsilon}_\theta = (1+w)\,\epsilon_\theta(\mathbf{z}_t, [0,\dots,\mathbf{f}_p,\dots,0], t) - w\,\epsilon_\theta(\mathbf{z}_t, [0,\dots,0], t)\),测试时 CFG 权重取 \(1.5\)。
- 训练策略:每个 batch 随机选取对焦位置索引作为输入帧,覆盖整个焦点栈范围;只微调 UNet 的 transformer block,并使用 EMA。
- 大规模真实焦点栈数据集:用五台 iPhone 12 自制拍摄装置采集 1637 个真实场景(1474 训练 / 163 测试),每个场景九个对焦位置加一张 AiF 图像。数据经过 RAW 转换、径向畸变校正与对齐处理,消除”呼吸效应”(focal breathing)带来的视场变化,避免模型额外去学习畸变校正。
实验结果
在自建焦点栈数据集上,以 LPIPS 和 FID 作为主要感知质量指标,对比多种基线。下表为从对焦位置 1 出发重对焦到各位置(F1~F9)的 FID 结果(数值越低越好,节选):
| 方法 | F1 | F3 | F5 | F7 | F9 |
|---|---|---|---|---|---|
| IP2P | 26.38 | 32.14 | 47.19 | 52.59 | 46.19 |
| Swintormer | 0.540 | 34.12 | 48.51 | 59.23 | 49.38 |
| RGAN-NAF | 0.60 | 32.05 | 45.49 | 57.83 | 50.56 |
| NAFNet | 0.52 | 31.42 | 44.44 | 55.42 | 46.33 |
| Ours | 10.76 | 27.40 | 37.16 | 44.67 | 36.34 |
在较大对焦跳变(从位置 1 或 9 出发)上,本方法感知质量明显优于所有基线;在位置 5 附近(多数场景本就清晰、富含高频细节)时,直接在像素域操作的去模糊基线因保留细节更好而占优,这与本方法使用潜在扩散、受 VAE 压缩限制有关。用户研究中(对焦距离大于 4 个位置的场景,20 场景 20 用户),本方法获得 88.25% 的偏好票,NAFNet 仅 11.75%。
亮点与局限
亮点:
- 首次将视频扩散模型的焦点栈先验用于单图重对焦,一次采样即输出完整焦点栈,而非像 RefocusGAN 那样逐帧生成。
- 对 CFG 仅做极小改动(位置相关条件)即可稳定生成,方法简洁。
- 泛化能力强:可迁移到胶片相机、DSLR、其他手机拍摄的图像;还能顺带做全清晰图合成、景深编辑与轻微运动去模糊等下游任务。
- 发布了目前最大的真实手机焦点栈数据集(1637 个场景)。
局限:
- 对 DSLR 大光圈产生的极端散焦/散景(bokeh)泛化不佳,因训练集为 iPhone 拍摄,缺少此类样本。
- 受潜在扩散模型 VAE 压缩影响,在小幅对焦变化下高频细节重建较弱,PSNR 比去模糊方法低 2~4 dB(作者优先感知真实性而非像素精度)。
- 仅针对单图重对焦,应用到视频帧时不保证时序一致性,会出现时序伪影。
延伸思考
作者提出两条改进方向:一是用像素扩散模型、更好的自编码器或混合方案缓解小幅对焦下的细节丢失;二是纳入大光圈相机及更多传感器数据,并可能把光圈大小、焦距作为额外条件。更广义地看,本文把”物理成像参数变化”建模为”视频时序生成”的思路值得借鉴——若能同时对齐并统一多相机的对焦位置语义,或引入显式的物理散焦约束,可能进一步提升跨设备一致性与可控性。此外,方法对轻微运动模糊的意外抑制效果,暗示了”数据分布先验”在图像修复中的额外价值,也提示训练数据构成会直接塑造模型的隐式行为。