你是否尝试过拍摄夜间的城市景观?你通常会面临一个令人沮丧的选择: 要么为了明亮的霓虹灯曝光,导致建筑物变成黑色的剪影;要么为了建筑物曝光,导致灯光变成一片过曝的白色光斑。

为了解决这个问题,现代相机使用了高动态范围 (HDR) 成像技术。它们拍摄一组不同亮度水平的照片并将它们拼接在一起。这对于标准场景 (通常处理 3 到 4 “档”的曝光差异) 效果很好。但是,当差异极度巨大——比如 9 档时会发生什么?或者当画面中的物体在快速移动时又会怎样?

大多数现有算法在这些条件下都会彻底失败,导致出现“鬼影”伪影 (移动的汽车看起来是透明的) 或不自然的颜色。

在这篇文章中,我们将深入探讨 UltraFusion , 这是一篇颠覆传统 HDR 的新研究论文。研究人员没有试图将像素硬凑在一起,而是提出了一个激进的想法: 将 HDR 融合视为一个引导式修复 (guided inpainting) 问题 。 他们利用扩散模型 (如 Stable Diffusion) 的能力,将缺失的细节“画”回你的照片中,实现了以前无法企及的效果。

UltraFusion 与之前的方法在极端 9 档动态范围场景下的对比。

问题所在: 为什么传统融合会失败

在理解解决方案之前,我们需要了解瓶颈所在。创建 HDR 图像主要有两种方法:

  1. HDR 重建 (HDR Reconstruction) : 相机将图像合并为 32 位线性格式,然后进行“色调映射 (tone mapping) ”,以便屏幕可以显示它们。这在数学上很复杂,通常会导致奇怪的光晕或“卡通化”的外观。
  2. 多曝光融合 (MEF) : 这跳过了 32 位步骤,直接混合图像。它更简单,但严重依赖于图像的完美对齐。

当你面对 9 档差异时,“欠曝”图像 (暗) 和“过曝”图像 (亮) 看起来完全不同。使用标准光流对齐它们简直是噩梦,因为计算机无法在漆黑的阴影和明亮的墙壁之间找到匹配的特征。此外,如果在拍摄间隔有人走过画面,传统方法会将一帧中的人与另一帧的背景混合,从而产生鬼影伪影。

UltraFusion 的方法: 引导式修复

UltraFusion 背后的研究人员意识到,生成式 AI 模型,特别是扩散模型,非常擅长幻构细节——即在不存在的地方创造逼真的纹理。

他们的核心理念简单而精彩: 不要只是融合;要进行修复。

他们将过曝图像 (具有良好的阴影细节但高光部分溢出为白色) 作为“画布”。然后,他们将溢出的高光区域视为“缺失信息”。他们使用欠曝图像 (具有良好的高光细节) 作为指南,告诉 AI 应该在这些白点中填入什么。

为什么不直接使用 ControlNet?

如果你熟悉生成式 AI,你可能会问: “我们不能直接用 ControlNet 来做这个吗?”

作者尝试过这样做。如下图所示,标准的 ControlNet 很吃力,因为它不知道哪一帧是位置的“真值 (ground truth) ”。在动态场景中,它会对物体的位置感到困惑,从而导致奇怪的伪影。

视觉对比显示 ControlNet 的伪影与 UltraFusion 的清晰输出。

UltraFusion 通过建立严格的层级结构解决了这个问题: 过曝图像是几何参考 , 而欠曝图像纯粹用于信息引导。

架构

UltraFusion 是一个两阶段框架。让我们一步步分解它是如何工作的。

完整的 UltraFusion 架构图。

第一阶段: 预对齐

在 AI 开始绘画之前,图像需要粗略对齐。由于亮度差异巨大,标准对齐会失败。UltraFusion 使用了一个巧妙的技巧:

  1. 强度映射 (Intensity Mapping) : 他们人为地调整欠曝图像的亮度以匹配过曝图像,但这仅仅是为了计算对齐。
  2. 光流 (RAFT) : 他们计算像素在两帧之间是如何移动的。
  3. 一致性检查 (Consistency Check) : 这很关键。如果像素的移动方式表明它被遮挡了 (例如,一辆车移动到了树后面) ,系统会标记它。
  4. 掩膜处理 (Masking) : 系统将欠曝图像扭曲以匹配过曝图像,但遮蔽掉被遮挡的区域以防止鬼影。

这一阶段的输出是一个数学运算,描述为:

带有遮挡掩膜的预对齐输出公式。

这里,\(\mathcal{M}\) 是遮挡掩膜。通过乘以 \((1 - \mathcal{M})\),他们确保在繁重的 AI 处理开始之前移除鬼影伪影。

第二阶段: 引导式修复

这就是奇迹发生的地方。该模型使用标准的 Stable Diffusion U-Net,但带有两个专为 HDR 数据设计的自定义“控制分支”。

1. 分解与融合控制分支 (DFCB)

简单地将黑暗图像输入 Stable Diffusion 效果不佳;模型倾向于忽略黑暗中微弱的细节。为了解决这个问题,研究人员将欠曝图像分解为两个分量:

  1. 结构 (\(S_{ue}\)) : 归一化的亮度 (luminance) ,它捕捉边缘和纹理,无论它们有多暗。
  2. 颜色 (\(C_{ue}\)) : 色度通道 (chroma channels) 。

结构的计算使用以下归一化公式:

结构分量提取公式。

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

分解与融合控制分支的架构。

如上图架构所示,这些分解后的特征通过多尺度交叉注意力 (Multi-Scale Cross-Attention) 注入主网络。这使得模型能够在不同细节层次上——从轮廓形状到精细纹理——关注引导图像。

对于对注意力机制的数学原理感兴趣的同学,交叉注意力块使用标准的查询-键-值 (Query-Key-Value) 操作计算过曝特征与引导特征之间的关系:

交叉注意力公式。

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

交叉注意力模块的详细架构。

2. 保真度控制分支 (Fidelity Control Branch)

生成式 AI 因“幻觉”或胡编乱造而闻名。在 HDR 摄影中,你希望照片看起来像现实,而不是幻想。

为了确保保真度,UltraFusion 添加了第二个控制分支。该分支强制 VAE (变分自编码器) 解码器尊重输入图像的原始结构,确保即使在 AI 处理后,砖墙的纹理仍然是砖墙。

数据难题: 合成训练

深度学习研究中的一个主要挑战在于: 数据。要训练一个模型处理带有运动的 9 档动态范围,你需要成千上万对具有… 9 档动态范围且包含运动的图像对。这些数据集并不存在。

研究人员构建了一个训练数据合成流程 。 他们利用视频数据集 (获取真实的运动) 和静态高质量 HDR 数据集 (获取光照信息) 。

合成训练数据流程示意图。

  1. 运动: 从视频中取第 \(N\) 帧和第 \(N+k\) 帧来模拟物体运动。
  2. 光照: 从静态 HDR 数据集中取一个补丁。
  3. 合成: 使用计算出的光流和遮挡掩膜将它们结合起来。

这使得模型能够学习如何处理“真实”的运动,而无需难以捕捉的现实世界真值数据。

实验与结果

团队在现有数据集和他们自己收集的新基准上评估了 UltraFusion,其中包括极具挑战性的场景,如夜间城市景观和逆光室内场景。

新 UltraFusion 基准的数据分布。

定量分析

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

定量对比表。

如表 1 和表 2 所示,与 HDR-Transformer 或 HSDS-MEF 等之前的最先进方法相比,UltraFusion 在感知质量 (MUSIQ) 方面得分始终更高。

融合中通常存在一种权衡: 你要么拥有高保真度 (保留原始像素) ,要么拥有高视觉质量 (看起来好看) 。UltraFusion 成功打破了这种权衡,实现了两全其美。

MEF-SSIM 和 MUSIQ 之间的权衡曲线。

视觉对比

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

静态数据集上的视觉对比。

注意最右边的“Ours”一栏。明亮的窗户 (上排) 和洞穴入口 (下排) 中的细节被完美保留,而其他方法要么将它们洗白,要么产生不自然的灰色斑块。

在他们新的 9 档基准测试中,结果更加令人印象深刻。看看下图中的太阳。

UltraFusion 基准测试上的视觉对比。

在红色放大框中,其他方法将太阳变成了一团混乱的斑点或一个灰色的圆圈。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 秒 (目前对于移动端实时使用来说太慢了) ,但它为下一代相机算法铺平了道路。过曝的天空和死黑阴影的日子屈指可数了。