【GitHub】
【Paper】
摘要
由于相机能力的限制,数字图像通常比真实场景辐射更窄的动态光照范围。为了解决这个问题,高动态范围(HDR)重建被提出,以恢复动态范围,更好的表示真实世界的场景。然而,由于不同的物理成像参数,图像与真实辐射之间的色调映射函数高度多样化,这使得HDR重建极具挑战性。现有的解决方案无法明确说明色调映射函数与生成的HDR图像之间的对应关系,但这种关系在HDR图像重建的指导过程中至关重要。为了解决这个问题,我们提出了一种方法,在一个网络中显示估计色调映射函数及其对应的HDR图像。首先,基于色调映射函数的特性,我们通过多项式构建一个模型来描述色调曲线的趋势。为了拟合这条曲线,我们使用一个可学习的网络来估计多项式的系数。该曲线将根据低动态范围(LDR)图像的色调空间自动调整,并重建真实的HDR图像。此外,由于当前所有数据集都没有提供色调映射函数与LDR图像之间的对应关系,我们构建了一个包含合成图像和真实图像的新数据集。大量实验表明,我们的方法在不同的色调映射函数下具有良好的泛化能力,并且达到了最先进的(SOTA)性能。
1. 介绍
现实世界的场景通常大大超出消费级相机传感器的工作范围【26】。因此,相机必须对动态范围进行裁剪和压缩,导致数字图像的动态范围较低(LDR)。高动态范围(HDR)重建旨在提高图像的动态范围,以更好地表示真实世界的场景。近年来,HDR重建引起了广泛的关注,并在电视、摄影、电影制作和工业领域得到广泛应用【10, 17, 20, 28, 22】。
HDR重建的一个常见设置【5, 18, 4】是逆转色调映射函数【1】。这些方法【16】假设用于LDR图像的色调映射函数包含在一个称为响应经验模型(EMoR)【7】的预定义库中。然而,该库仅包含有限数量的色调映射曲线,无法涵盖色调映射函数的所有可能情况。因此,在这种条件下表现良好的模型【25】,在面对真实世界的图像时可能无法很好地泛化。
只有少数现有的方法考虑到了这一点。Pan等人【24】提出了一种元学习方法,旨在捕捉不同色调映射之间的共性模式,但LDR图像与色调映射函数之间的明确对应关系仍然不清晰。大多数现有的基于学习的方法【5, 4, 18, 11】隐式地捕捉色调映射函数的信息。然而,当色调空间发生剧烈变化时,这些方法表现不佳,如图1所示。
在本文中,我们提出了一个新颖的HDR重建框架,能够处理广泛的色调空间,并为每张图像显式估计相应的色调映射函数。首先,我们将相机处理流程建模为一个非线性色调映射,随后是一个退化模型。HDR重建的目标是通过恢复退化的信息并逆转非线性映射来还原这一过程。本文的重点在于后者,即如何训练一个模型来逆转未知的非线性色调映射。
为了解决这个问题,我们提出使用多项式函数族对未知的色调映射函数进行参数化,并通过金字塔路径视觉Transformer(PPViT)来估计其系数。PPViT是一种架构,可以有效地利用LDR图像的多尺度信息。这对于逆向色调映射函数的估计尤为重要,因为多尺度信息对于准确重建HDR图像至关重要【14, 19, 13】。
为了评估我们方法的有效性,我们开发了一个新颖的数据集,该数据集能够模拟具有广泛色调映射函数的真实世界场景。实验结果表明,我们的模型在多样化的图像集上表现出色,能够有效捕捉各种色调映射函数之间的对应关系。
我们的贡献总结如下:
- 我们提出了一个新框架,用于显式建模和估计色调映射函数参数,该框架能够处理多种色调映射函数,从而在重建过程中提供更准确的结果。
- 我们构建了一个专门为此任务设计的新数据集,该数据集展示了LDR图像及其对应的色调映射函数之间的明确关系。
- 我们的方法在合成数据集和真实数据集上均达到了最先进的(SOTA)性能,并且明确了色调映射函数与生成的HDR图像之间的对应关系。
2. 相关工作
高动态范围(HDR)重建通常可以分为两类:单帧HDR图像重建(Si-HDR)和多帧HDR重建(MF-HDR)。MF-HDR侧重于不同曝光下图像的不同信息【34】,并融合这些信息以获得高动态范围图像。相比之下,Si-HDR旨在从单张图像中恢复动态范围信息,这更具挑战性。本文主要关注Si-HDR。Eilertsen等人【5】首次将深度学习引入HDR图像重建,并解决了从单次曝光图像中预测丢失信息的问题。Endo等人【6】将具有不同曝光的LDR图像(即括号中的图像)合并,然后通过融合它们来重建HDR图像。Marnerides等人【18】设计了一种多尺度架构以提高图像质量。这些方法通常假设训练和测试使用相同类型的色调曲线,因此在面对不同色调曲线时表现不佳。Lee等人【12】和Raipurkar等人【27】尝试提出生成式方法来解决HDR重建问题,但它们的核心问题仍然是恢复曝光区域。Chen等人【4】认为成像过程中常常会产生噪声和量化误差,因此他们使用了一个U形网络专注于去噪和去量化。Liu等人【16】提出了一种有趣的方法,通过三个独立的阶段学习逆向相机处理流程。在他们的研究中,使用了一种基于PCA和EMoR模型的简单方法来估计CRF(相机响应函数),但这会将CRF空间限制在EMoR内。总的来说,大多数现有方法没有对未知的色调映射函数进行建模,因此在训练和测试图像具有非常不同的色调映射函数时,可能会遇到泛化问题。我们的方法本质上不同,通过显式估计色调映射函数,在应对多样化的相机参数时具有优势。
盲图像修改(Blind Image Restoration)是一类图像处理任务,我们的工作可以归类于此类研究。盲图像修复已经在超分辨率、去噪和去模糊领域中得到了广泛研究。盲图像超分辨率通常通过估计退化过程中的卷积核和噪声水平,使模型能够处理具有不同类型退化的真实世界图像。同样,盲去噪通常在处理流程中包含一个噪声估计子模型,从而避免对特定类型噪声的过拟合。我们的工作可以视为一种盲问题,因为我们显式的估计色调映射函数。这使得我们的模型能够适应使用不同色调映射函数处理的LDR图像。
3. 方法
一般来说,数字相机拍摄图像时,首先会记录场景辐射并生成HDR图像,然后将HDR图像转换为LDR图像。LDR图像可以在大多数屏幕上显示,并且在我们的日常生活中非常常见。我们的目标是将LDR图像反转回HDR图像,从而使照片修饰和增强变得更加可行。
HDR到LDR的转换通常包括动态范围裁剪、色调映射和量化。动态范围裁剪将HDR值裁剪到有限的范围内。色调映射在调整像素值至可显示范围的同时,保留对场景重要的图像内容。量化则将真实像素值离散化为离散值(通常为8位)。在这些步骤中,动态范围裁剪和量化使退化过程,必然会导致信息丢失,而色调映射则是一个非线性函数,可能因不同的相机或不同的艺术家而有所不同。因此,HDR到LDR的转换可以简化为以下过程:
与现有的将HDR和LDR之间的转换视为一个整体的工作相比,这种表述将退化过程和色调映射分解开来,使得能够分别对这两个过程进行建模。
我们的整体框架如图2所示。我们使用两个独立的模块对 τ − 1 ( ⋅ ) \tau^{-1}(\cdot) τ−1(⋅) 和 ζ − 1 ( ⋅ ) \zeta^{-1}(\cdot) ζ−1(⋅) 进行建模,分别是金字塔路径视觉Transformer (PPViT) 和可学习的像素级元素 (LVE)。这两个模块随后通过深度多项式曲线估计相结合,生成最终输出。在我们的实现中, ζ − 1 ( ⋅ ) \zeta^{-1}(\cdot) ζ−1(⋅) 基本上是一个Transformer,其实现细节见补充文件。 τ − 1 ( ⋅ ) \tau^{-1}(\cdot) τ−1(⋅) 被精心设计,以处理未知的色调映射。其关键思想将在下文详细阐述。
3.1 数化色调映射函数
尽管反向色调映射函数
τ
−
1
(
⋅
)
\tau^{-1}(\cdot)
τ−1(⋅) 对不同图像可能有所不同,但它们通常遵循一些共同的结构,即它们通常是单调的或至少是半单调的【8】。在这种情况下,我们可以使用某些函数族来对色调映射函数进行参数化。在这项工作中,我们选择了多项式函数【21】,因此公式 (2) 可以重写为:
3.2 学习多项式系数图
即使在将
τ
−
1
(
⋅
)
\tau^{-1}(\cdot)
τ−1(⋅)表示为多项式系数图(PCMs)之后,学习
τ
−
1
(
⋅
)
\tau^{-1}(\cdot)
τ−1(⋅)仍然具有挑战性。在推理阶段,模型需要仅基于 LDR 图像推断色调映射函数,而无法访问其 HDR 对应图像。此外,本文考虑了测试图像的色调映射函数与训练图像不同的情况。因此,利用神经网络记忆训练的
τ
(
⋅
)
\tau(\cdot)
τ(⋅) 可能无法很好地推广。
幸运的是,现有研究表明,可以基于一些统计信息从单张 LDR 图像估计色调映射函数。例如,Lin 等人【14】表明,特定边缘区域的颜色分布揭示了色调映射函数的特征。Matsushita 和 Lin【19】证明,色调映射可以通过噪声分布的对称性来估计。Li 等人【13】展示了人脸包含丰富的色调映射估计线索。虽然这些研究在一些受限场景中存在局限性,但它们展示了从单张 LDR 图像中估计
τ
(
⋅
)
\tau(\cdot)
τ(⋅)(或等效地,
τ
−
1
(
⋅
)
\tau^{-1}(\cdot)
τ−1(⋅))的可行性,这激励了我们的解决方案。
由于传统方法【14, 19, 13】利用局部和全局信息来估计色调映射函数,我们的模型也设计为捕捉多尺度信息。如图2所示,我们提出了金字塔路径视觉Transformer(PPViT),这是一种新型的Transformer,具有金字塔路径,可以融合来自不同尺度的图像特征。此外,我们还提出了内部U形Transformer块(IUTB),使Transformer能够有效地提取局部特征。
-
金字塔路径视觉Transformer(PPViT)
-
内部U形Transformer块(IUTB)
在我们的PPViT中,我们用内部U形Transformer块(IUTB)替代了常用的Transformer [29]。与传统的Transformer相比,IUTB在提取局部信息方面具有优势,而局部信息在估计色调映射函数时非常重要 [14]。如图3所示,IUTB由一个MDTA模块 [35] 和一个U形局部前向块组成,这样的设计能更好地提取局部特征。正如第5.4节所示,这种设计带来了性能提升。 -
实现细节
我们的模型采用端到端的训练方式。具体而言,我们使用平滑L1损失函数来训练模型。初始学习率设置为 1 0 − 5 10^{-5} 10−5,并在800万步内迭代训练。学习率采用阶梯式调整,每经过200万步后,学习率衰减至原来的二分之一。批量大小设置为4。
4. HDR 数据集
4.1 数据集详细信息
为了评估不同框架在HDR重建任务上的性能,我们基于NTIRE HDR竞赛 [25] 的基准数据集构建了一个新的数据集。如前所述,多项式函数可以通过变化的多项式系数来逼近实际的色调映射函数。因此,为确保训练的模型能够适用于经历未知色调映射退化的任意LDR图像,我们通过在原始训练集 [25] 中的HDR图像上应用基于多项式的色调映射曲线来获取LDR和HDR图像对。用符号表示,给定HDR图像H,LDR图像可以通过以下方式获得:
[图片]
另一方面,测试集分为两个部分。第一部分是来自NTIRE HDR竞赛 [25] 的测试基准,称为“Test-Real”,代表真实世界中的退化情况。此外,为了验证我们的方法是否能适应各种类型的色调映射曲线,我们选择了一组与训练集中多项式函数差异较大的伽玛色调映射函数,并将这些伽玛色调映射函数应用于 [25] 中的HDR图像,以获得LDR和HDR图像对。给定一个HDR图像H,相应的LDR图像计算为
L
=
b
⋅
H
γ
L = b \cdot H^\gamma
L=b⋅Hγ,其中
b
=
1
b = 1
b=1 和
γ
∈
(
0
,
1
]
\gamma \in (0, 1]
γ∈(0,1]。在这个测试集中,我们设置了8个γ值,这部分数据集称为“Test-Gamma”。
4.2 练测试方法
在训练过程中,对于每个场景,我们从对应的LDR图像堆栈中随机选择一张图像并输入到网络中。然后,我们计算输出结果与真实值之间的平滑L1损失。
我们的测试数据集包括“Test-Gamma”和“Test-Real”。对于“Test-Gamma”,我们将合成的LDR图像输入到网络中,以验证我们的框架是否能推广到其他色调映射曲线。对于“Test-Real”,我们从真实的LDR图像中恢复HDR图像,并计算定量指标。
训型时,我们仅需4张Nvidia 3090 GPU。测试阶段,我们使用一张Nvidia 3090进行推理,模型的速度约为每张图像47毫秒,这符合当前的高效标准。
5. 实验
5.1 定量比较
为了进行定量评估,我们选择了一些最先进的方法进行比较。这些最先进的方法包括两种考虑了隐式建模色调映射曲线的方法,即 ExpandNet [18] 和 HDRUNET [4]。最近,基于 Transformer 的框架在低级视觉任务(如图像去噪和超分辨率)中表现出令人满意的性能,我们也在比较中选择了通用的最先进框架 Uformer [32]。
我们从两个方面评估 HDR 重建的性能,即 HDR 图像本身和经过色调映射函数处理后的 HDR 图像。对于前者,我们计算重建 HDR 图像的 PSNR 和 SSIM,并使用 HDR-VDP-2.2 [23] 这一指标。HDR-VDP-2.2 专为 HDR 重建任务设计,测试设置如下:HDR 图像在 28 英寸、2K(2560*1440)屏幕上显示,屏幕与人眼之间的距离为 0.5 米。对于色调映射函数处理后的评估,我们还计算图像的 PSNR 和 SSIM 值,分别称为 µ-PSNR 和 µ-SSIM。
此外,为了平衡这两种指标,我们设计了一种新指标 AvgPSNR,其定义为 AvgPSNR = 0.7 × PSNR + 0.3 × µ−PSNR。AvgPSNR 是一种可以联合评估 HDR 图像在色调映射前后的 PSNR 值的指标。我们考虑色调映射前的评估,因为 HDR 重建是我们任务的目标,其重建精度非常重要,因此传统的 PSNR 值占 AvgPSNR 指标的 70%。另一方面,我们还考虑 HDR 图像在视觉系统中的评价。HDR 图像通常在色调映射后以 8 位格式显示在常见显示设备上,以便于人类感知。因此,我们在指标中引入了 30% 的 µ-PSNR,以评估重建 HDR 图像在标准显示设备上的视觉效果。
在“Test-Real”上的定量比较结果,如表 1 所示,其中包含了真实世界的 LDR-HDR 对。可以看出,除了 µ-PSNR 外,我们的方法在所有指标上都能实现 SOTA 性能,展示了我们方法在完成 HDR 重建任务方面的有效性。ExpandNet [18] 结果异常,PSNR 值非常低,因为 ExpandNet 无法准确重建 HDR 强度图像。但在色调映射后,ExpandNet 在色调映射图像的细节展示方面表现更好。参考 AvgPSNR 指标,ExpandNet 仍然无法为 HDR 重建提供良好的重建能力。
5.2 定性比较
首先,我们在图 4 中展示了在“Test-Real”上的视觉比较。可以明显看出,我们方法的结果更接近真实值,展示了我们框架在动态范围扩展方面的能力。我们还提供了可视化证明我们的方法能够处理具有不同色调映射曲线的同一场景。如图 5 所示,有不同 γ 值的 gamma 色调映射函数的 LDR 图像,我们的方法在所有输入的 LDR 图像上的结果接近目标真实值。另一方面,其他基线方法的结果与真实值相差较大,并且在相同场景中的 LDR 图像在不同色调映射曲线下的结果各异。所有比较结果都展示了我们框架在处理 HDR 重建任务中的有效性。
5.3 曲线估计评估
我们框架的一大显著优势是对色调映射曲线的显式估计,我们在 Test-Gamma 数据集上进行分析,以测量曲线估计的准确性。给定一个输入的 LDR 图像,我们的框架为所有像素估计多项式系数。为了推导全局色调映射曲线,我们通过最小二乘法 [14] 构建 LDR 图像像素值与生成的 HDR 图像之间的多项式关系,从而估计全局多项式系数。对于采用隐式曲线建模策略的方法,我们也可以通过最小二乘法和多项式函数假设来计算其隐式学习曲线。如图 6 所示,色调映射曲线的真实值是 gamma 函数,而我们框架估计的多项式色调映射曲线可以与真实曲线完美一致。另一方面,其他基线方法的曲线与真实值存在偏差。因此,我们的框架能够估计 LDR 图像的色调映射函数,即使这些曲线在训练过程中没有出现过。
5.4 消融研究
在这一部分,我们进行消融研究,以验证我们框架中重要组件的影响,即 PPViT 的金字塔结构、IUTB 和 LPE。为了验证 PPViT 的金字塔结构的效果,我们进行实验,删除 PPViT 中除了输入路径 L 之外的所有金字塔路径。对于 IUTB 的消融研究,我们将 IUTB 替换为传统变压器的前向模块。我们还从框架中移除 LPE 以验证其有效性。结果显示在表 2 中,分别命名为“w/o PPViT”、“w/o LPE”和“w/o IUTB”,表明这三个组件均对我们框架的 HDR 重建性能有贡献。此外,我们还进行了实验以证明使用平滑 L1 损失比简单 L1 损失的优势。结果显示在表 2 的“L1 损失”列中,平滑 L1 损失能够比简单 L1 损失更好地优化我们的模型。
5.5 在实际场景中的HDR重建
作为一种能够有效估计 tone-mapping 曲线的方法,我们的框架可以用于扩展实际场景中 LDR 图像的动态范围。这些图像的 tone-mapping 曲线可能与我们实验数据集中图像的曲线差异很大。为了进一步评估我们模型在实际场景中的有效性,我们选择了来自具有丰富场景的数据集的数据 [2]。结果显示在图 7 中,证明了我们的模型能够在实际场景中增强细节、进行色彩校正和曝光重建。
6. 局限性
尽管我们的方法可以有效地估计给定 LDR 图像的 tone-mapping 曲线,但在遇到极端 tone-mapping 曲线(例如,gamma=0.2)时(尽管这种情况很少发生),我们的方法可能无法重建出完美的 HDR 图像。我们的模型将经历不可避免的色彩和光线扰动(更多示例见补充材料)。采用更灵活的 tone-mapping 曲线估计策略并提供更大的 tone-space 可能是 HDR 重建领域未来的研究方向。
7. 结论
在本文中,我们探讨了 HDR 重建任务,其中不同的 tone-mapping 函数被应用于 HDR 图像的退化。通过对 tone-mapping 曲线的显式建模,我们提出了一种新的框架——深度多项式曲线估计(Deep Polynomial Curve Estimation),能够从 LDR 图像中估计 tone 曲线。我们在具有代表性的数据集上进行了大量实验,结果表明我们的框架在各项指标上均达到最先进水平,证明了我们方法的有效性。作为 HDR 重建领域的首个研究工作,我们的框架可以在各种实际场景中用于 HDR 重建。
未来,我们的工作有两个主要扩展方向。首先,我们计划将我们的框架扩展到多帧 HDR 重建任务(MFHDR),在这种任务中,显式曲线估计同样重要。与单帧 HDR 重建任务(Si-HDR)不同,从多帧中计算出的 tone-mapping 曲线可能会有所不同,因此需要融合机制来合并来自不同帧的 tone-mapping 函数。此外,正如本文所述,HDR 重建包括两个部分:恢复退化信息和反转非线性映射,而我们在本文中解决了后者。未来,值得探索如何建模从 HDR 到 LDR 图像的退化过程,例如动态范围裁剪、量化和噪声,然后设计相应的模块来反转这些退化。