你是否尝试过拍摄夜间的城市景观?你通常会面临一个令人沮丧的选择: 要么为了明亮的霓虹灯曝光,导致建筑物变成黑色的剪影;要么为了建筑物曝光,导致灯光变成一片过曝的白色光斑。
为了解决这个问题,现代相机使用了高动态范围 (HDR) 成像技术。它们拍摄一组不同亮度水平的照片并将它们拼接在一起。这对于标准场景 (通常处理 3 到 4 “档”的曝光差异) 效果很好。但是,当差异极度巨大——比如 9 档时会发生什么?或者当画面中的物体在快速移动时又会怎样?
大多数现有算法在这些条件下都会彻底失败,导致出现“鬼影”伪影 (移动的汽车看起来是透明的) 或不自然的颜色。
在这篇文章中,我们将深入探讨 UltraFusion , 这是一篇颠覆传统 HDR 的新研究论文。研究人员没有试图将像素硬凑在一起,而是提出了一个激进的想法: 将 HDR 融合视为一个引导式修复 (guided inpainting) 问题 。 他们利用扩散模型 (如 Stable Diffusion) 的能力,将缺失的细节“画”回你的照片中,实现了以前无法企及的效果。

问题所在: 为什么传统融合会失败
在理解解决方案之前,我们需要了解瓶颈所在。创建 HDR 图像主要有两种方法:
- HDR 重建 (HDR Reconstruction) : 相机将图像合并为 32 位线性格式,然后进行“色调映射 (tone mapping) ”,以便屏幕可以显示它们。这在数学上很复杂,通常会导致奇怪的光晕或“卡通化”的外观。
- 多曝光融合 (MEF) : 这跳过了 32 位步骤,直接混合图像。它更简单,但严重依赖于图像的完美对齐。
当你面对 9 档差异时,“欠曝”图像 (暗) 和“过曝”图像 (亮) 看起来完全不同。使用标准光流对齐它们简直是噩梦,因为计算机无法在漆黑的阴影和明亮的墙壁之间找到匹配的特征。此外,如果在拍摄间隔有人走过画面,传统方法会将一帧中的人与另一帧的背景混合,从而产生鬼影伪影。
UltraFusion 的方法: 引导式修复
UltraFusion 背后的研究人员意识到,生成式 AI 模型,特别是扩散模型,非常擅长幻构细节——即在不存在的地方创造逼真的纹理。
他们的核心理念简单而精彩: 不要只是融合;要进行修复。
他们将过曝图像 (具有良好的阴影细节但高光部分溢出为白色) 作为“画布”。然后,他们将溢出的高光区域视为“缺失信息”。他们使用欠曝图像 (具有良好的高光细节) 作为指南,告诉 AI 应该在这些白点中填入什么。
为什么不直接使用 ControlNet?
如果你熟悉生成式 AI,你可能会问: “我们不能直接用 ControlNet 来做这个吗?”
作者尝试过这样做。如下图所示,标准的 ControlNet 很吃力,因为它不知道哪一帧是位置的“真值 (ground truth) ”。在动态场景中,它会对物体的位置感到困惑,从而导致奇怪的伪影。

UltraFusion 通过建立严格的层级结构解决了这个问题: 过曝图像是几何参考 , 而欠曝图像纯粹用于信息引导。
架构
UltraFusion 是一个两阶段框架。让我们一步步分解它是如何工作的。

第一阶段: 预对齐
在 AI 开始绘画之前,图像需要粗略对齐。由于亮度差异巨大,标准对齐会失败。UltraFusion 使用了一个巧妙的技巧:
- 强度映射 (Intensity Mapping) : 他们人为地调整欠曝图像的亮度以匹配过曝图像,但这仅仅是为了计算对齐。
- 光流 (RAFT) : 他们计算像素在两帧之间是如何移动的。
- 一致性检查 (Consistency Check) : 这很关键。如果像素的移动方式表明它被遮挡了 (例如,一辆车移动到了树后面) ,系统会标记它。
- 掩膜处理 (Masking) : 系统将欠曝图像扭曲以匹配过曝图像,但遮蔽掉被遮挡的区域以防止鬼影。
这一阶段的输出是一个数学运算,描述为:

这里,\(\mathcal{M}\) 是遮挡掩膜。通过乘以 \((1 - \mathcal{M})\),他们确保在繁重的 AI 处理开始之前移除鬼影伪影。
第二阶段: 引导式修复
这就是奇迹发生的地方。该模型使用标准的 Stable Diffusion U-Net,但带有两个专为 HDR 数据设计的自定义“控制分支”。
1. 分解与融合控制分支 (DFCB)
简单地将黑暗图像输入 Stable Diffusion 效果不佳;模型倾向于忽略黑暗中微弱的细节。为了解决这个问题,研究人员将欠曝图像分解为两个分量:
- 结构 (\(S_{ue}\)) : 归一化的亮度 (luminance) ,它捕捉边缘和纹理,无论它们有多暗。
- 颜色 (\(C_{ue}\)) : 色度通道 (chroma channels) 。
结构的计算使用以下归一化公式:

通过将结构与颜色分离,模型可以更好地“看到”暗图像中的细节。

如上图架构所示,这些分解后的特征通过多尺度交叉注意力 (Multi-Scale Cross-Attention) 注入主网络。这使得模型能够在不同细节层次上——从轮廓形状到精细纹理——关注引导图像。
对于对注意力机制的数学原理感兴趣的同学,交叉注意力块使用标准的查询-键-值 (Query-Key-Value) 操作计算过曝特征与引导特征之间的关系:

从视觉上看,交叉注意力模块是这样的:

2. 保真度控制分支 (Fidelity Control Branch)
生成式 AI 因“幻觉”或胡编乱造而闻名。在 HDR 摄影中,你希望照片看起来像现实,而不是幻想。
为了确保保真度,UltraFusion 添加了第二个控制分支。该分支强制 VAE (变分自编码器) 解码器尊重输入图像的原始结构,确保即使在 AI 处理后,砖墙的纹理仍然是砖墙。
数据难题: 合成训练
深度学习研究中的一个主要挑战在于: 数据。要训练一个模型处理带有运动的 9 档动态范围,你需要成千上万对具有… 9 档动态范围且包含运动的图像对。这些数据集并不存在。
研究人员构建了一个训练数据合成流程 。 他们利用视频数据集 (获取真实的运动) 和静态高质量 HDR 数据集 (获取光照信息) 。

- 运动: 从视频中取第 \(N\) 帧和第 \(N+k\) 帧来模拟物体运动。
- 光照: 从静态 HDR 数据集中取一个补丁。
- 合成: 使用计算出的光流和遮挡掩膜将它们结合起来。
这使得模型能够学习如何处理“真实”的运动,而无需难以捕捉的现实世界真值数据。
实验与结果
团队在现有数据集和他们自己收集的新基准上评估了 UltraFusion,其中包括极具挑战性的场景,如夜间城市景观和逆光室内场景。

定量分析
结果使用 MUSIQ (图像质量) 和 MEF-SSIM (结构相似性) 等指标进行衡量。

如表 1 和表 2 所示,与 HDR-Transformer 或 HSDS-MEF 等之前的最先进方法相比,UltraFusion 在感知质量 (MUSIQ) 方面得分始终更高。
融合中通常存在一种权衡: 你要么拥有高保真度 (保留原始像素) ,要么拥有高视觉质量 (看起来好看) 。UltraFusion 成功打破了这种权衡,实现了两全其美。

视觉对比
数字固然重要,但在成像领域,眼见为实。让我们看看 UltraFusion 在困难的静态场景中与竞争对手的对比。

注意最右边的“Ours”一栏。明亮的窗户 (上排) 和洞穴入口 (下排) 中的细节被完美保留,而其他方法要么将它们洗白,要么产生不自然的灰色斑块。
在他们新的 9 档基准测试中,结果更加令人印象深刻。看看下图中的太阳。

在红色放大框中,其他方法将太阳变成了一团混乱的斑点或一个灰色的圆圈。UltraFusion 重建了一个自然的、发光的光源,同时保持了天空的颜色。
处理运动
最难的测试是动态运动。在下图中,一个人在两次拍摄之间移动了手臂。

标准方法 (如 HSDS-MEF) 会产生透明的“鬼影”手臂。UltraFusion 凭借其掩膜和修复方法,渲染出了一个结实、干净且没有鬼影的手臂。
为什么每个部分都很重要 (消融实验)
为了证明他们复杂架构的每一部分都是必要的,作者进行了“消融实验”——系统地移除模型的部分组件,看看哪里会出问题。

- 行 (a) - 无对齐策略 (w/o Alignment Strategy) : 如果移除预对齐,模型无法理解物体在哪里,导致结果模糊一团。
- 行 (b) - 无 DFCB (w/o DFCB) : 移除分解与融合分支会使图像看起来扁平并丢失细节。
- 行 (c) - 无保真度控制 (w/o Fidelity Control) : 移除保真度分支会导致奇怪的颜色偏移和纹理丢失。
他们还专门测试了对齐策略:

如果没有数据合成流程 (d) 或预对齐 (e),模型无法处理前景中人物的大幅度运动。
最后,他们验证了将图像分解为结构和颜色的决定。

仅仅使用原始欠曝图像 (\(I_{ue}\)) 是不够的 (c)。结合使用结构 (\(S_{ue}\)) + 颜色 (\(C_{ue}\)) 以及特殊的控制分支 (f),可以在霓虹灯标志上产生最清晰的文字。
结论与未来潜力
UltraFusion 代表了我们对计算摄影思考方式的重大转变。通过将曝光融合框架化为生成式修复任务,它克服了相机传感器的物理限制和传统合并算法的限制。
它成功处理了极端的 9 档动态范围和快速运动,生成看起来自然的无伪影图像。
有趣的是,这种“引导式修复”方法为其他应用打开了大门。既然模型是根据引导来绘制过曝区域的,理论上你可以用完全不同的图像来引导它。

如上所示,同样的架构可以用于无缝替换天空或融合两个不同的场景——这是对创意图像编辑未来的一瞥。
虽然目前的实现在高端 GPU 上处理每张图像大约需要 3.3 秒 (目前对于移动端实时使用来说太慢了) ,但它为下一代相机算法铺平了道路。过曝的天空和死黑阴影的日子屈指可数了。
](https://deep-paper.org/en/paper/2501.11515/images/cover.png)