请先看【专栏介绍文章】:
前言
论文题目:Underexposed Photo Enhancement using Deep Illumination Estimation —— 基于深度照明估计的曝光不足照片增强
论文地址:Underexposed Photo Enhancement using Deep Illumination Estimation
论文源码:https://github.com/dvlab-research/DeepUPE (Tensorflow)
非官方Pytorch实现:https://github.com/hermosayhl/DeepUPE_pytorch
CVPR 2019
文章目录
Abstract
本文提出了一种新的神经网络来增强曝光不足的照片。我们没有像以前的工作那样直接学习图像到图像的映射,而是在网络中引入中间照明将输入与预期的增强结果相关联,这增强了网络从专家修饰的输入/输出图像对中学习复杂摄影调整的能力。基于此模型,我们制定了一个损失函数,该函数在光照上采用约束和先验,准备了一个包含3000张曝光不足图像对的新数据集,并训练网络有效地学习各种不同光照条件的调整。通过这种方式,我们的网络能够在增强结果中恢复清晰的细节、不同的对比度和自然颜色。我们在基准 MIT-Adobe FiveK 数据集和我们的新数据集上进行了广泛的实验,并表明我们的网络可以有效地处理以前具有挑战性的图像。
摘要总览:不是端到端训练,而是引入中间状态,并制定损失函数,新数据集。
1. Introduction
由于各种设备上的摄像头很容易获得,尤其是手机,社交网络上的照片共享非常常见。然而,由于低光照和后光照,捕获的照片可能会曝光不足;例如,参见图 1(a)。这样的照片不仅看起来令人不快,无法捕捉用户想要的内容,而且挑战了许多基本的计算机视觉任务,如分割、目标检测和跟踪,因为曝光不足的区域几乎没有可见的细节和相对低对比度,以及枯燥的颜色。
严重曝光不足的照片增强是一项具有挑战性的任务,因为曝光不足的区域通常是难以察觉的,增强过程是高度非线性和主观的。尽管软件存在允许用户交互式调整照片,但非专家来说是相当繁琐和困难的,因为它需要同时操作颜色和对比度等控件,同时在照片中微调各种对象和细节。几个最近的工具为用户提供了一个自动化功能,只需点击一次来增强照片,例如iPhone上的“Auto Enhance”和Lightroom中的“Auto Tone”。这些工具不会极大地改变图像对比度(和曝光),并且由于调整中自动平衡各种因素的固有困难,可能会在严重曝光不足的图像上失败;见图1。
另一方面,研究界提出了各种方法来解决该问题。早期的工作[34,25,32,11,26,4]主要关注对比度增强,可能不足以恢复图像细节和颜色。最近的工作 [16, 17, 13, 9, 15, 22] 采用数据驱动的方法同时学习颜色、对比度、亮度和饱和度方面的调整,以产生更具表现力的结果。我们注意到,现有的方法在严重曝光不足的图像上仍然有各自的局限性;见图2。
本文提出了一种新的端到端网络来增强曝光不足的照片。特别是,我们不是直接学习图像到图像的映射,而是设计我们的网络首先估计图像到照明的映射用于对变化的光照条件进行建模,然后取光照图来照亮曝光不足的照片。通过这种方法,我们使学习过程有效,并推断出各种各样的摄影调整。此外,我们采用基于双边网格的上采样来降低计算成本,并设计了一个损失函数,该函数在光照上采用了各种约束和先验,这样我们就可以有效地恢复曝光不足的照片,自然曝光、适当的对比度、清晰的细节和生动的颜色。我们还准备了一个包含3000张曝光不足照片的新数据集,涵盖了不同的照明条件,以补充现有的基准数据。下面,我们总结了这项工作的主要贡献。
- 我们提出了一个通过估计图像到照明的映射来增强曝光不足的照片的网络,并基于各种光照约束和先验设计了一种新的损失函数。
- 我们准备了一个包含3000张曝光不足图像的新数据集,每张图像都有一个专家修饰参考。
- 我们使用现有数据集和新数据集对我们的方法进行评估,并在定性和定量上证明了该方法的优越性。
2. Related Work
图像增强在计算机视觉和图像处理中有着悠久的历史。一种开创性的方法是著名的直方图均衡化,它扩大了动态范围,增加了图像对比度。随着整个图像的全局调整对比度,其局限性是显而易见的。
基于retina的方法 假设图像可以分解为反射率和照度(或阴影)的像素乘积,基于retina的方法[19]将反射率分量视为增强图像的合理近似。因此,照片增强可以表述为光照估计问题,其中估计光照以增强曝光不足的照片[27,11,31,34,33]。然而,由于颜色通道的非线性和数据复杂度,现有方法对颜色的增强能力有限,因为颜色在局部容易失真。我们的工作还考虑了光照估计,但它从两个方面推进了最先进的技术。首先,神经网络通过利用不同光照条件下的大量照片来学习照明,并对各种各样的摄影调整进行建模。其次,我们的方法实现了多通道照明的非线性颜色增强。
基于学习的方法 最近在照片增强方面的努力大多是基于学习的。例如,Bychkovsky等人[3]提供了第一个最大的数据集MIT-Adobe FiveK,其中包含输入和专家修饰的图像对,用于音调调整。严等人。 [28] 提出了一种机器学习的排名方法,用于自动增强照片中的颜色。严等人。 [29] 构建了语义图来实现语义感知的照片增强。Lore等人[21]提出了一种基于深度自编码器的微光图像增强方法,Gharbi等人[13]引入了双边学习来实现实时性能。Yang等人[30]使用深度往复HDR变换校正LDR图像。蔡等人。 [5] 从多曝光图像中学习对比度增强器。最近,陈等人。 [9] 开发了一种基于双向生成对抗网络 (GAN) 的光增强非配对学习模型,而 Ignatov 等人。 [18]设计了一种基于弱监督图像到图像 GAN 的网络。此外,Deng等人[10]启用了美学驱动的对抗性学习图像增强,而Chen等人[6]通过直接使用新数据集对原始传感器数据进行操作来解决极端微光成像。
强化学习也被用于增强图像调整过程[15,22]。我们的方法以两种方式补充了现有的基于学习的方法。首先,我们估计照明映射,不像其他基于图像到图像回归的图像映射。其次,我们的新数据集完全适合曝光不足的照片增强,它补充了其他基准数据集,并在不同的光照条件下提供了更真实的示例。
3. Methodology
3.1. Image Enhancement Model
从根本上说,图像增强任务可以看作是寻找映射函数F,使得̃I =F(I)是期望的图像,由输入图像I增强。在最近基于retina的图像增强方法[11,14]中,F的逆通常被建模为照明mapS,它以像素的方式与反射率图像̃I相乘,产生观察到的图像I:
I
=
S
∗
I
~
(1)
I=S * \tilde{I}\tag{1}
I=S∗I~(1)
其中∗表示像素级乘法。
与[11,14]类似,我们还将反射率分量̃I视为曝光良好的图像,因此在我们的模型中,我们将̃I作为增强结果,I作为观察到的曝光不足图像。一旦知道 S,我们可以通过 F(I) = S−1 ∗ I 获得增强结果 ̃I。与现有工作 [11, 14] 不同,我们将 S 建模为多通道 (R, G, B) 数据,而不是单通道数据,以增加其在建模颜色增强方面的能力,特别是对于处理不同颜色通道之间的非线性。
为什么这个模型起作用。通过在我们的网络中引入中间照明,我们训练网络学习图像到照明(而不是图像到图像)的映射。关键优势是自然图像的照明图通常具有相对简单的形式,具有已知的先验。因此,该网络具有更强的泛化能力,可以有效地训练学习不同光照条件下的复杂摄影调整。此外,该模型能够通过制定光照约束来定制增强结果。例如,可以通过强制局部平滑照明来增强对比度,或者通过约束照明幅度设置首选曝光级别。
3.2. Network Architecture
图 3 展示了我们的网络的管道,具有有效学习光照映射和高效网络计算的两个主要优势。
有效学习 增强曝光不足的照片需要调整局部特征(如对比度、细节清晰度、阴影和高光)和全局特征(如颜色分布、平均亮度和场景类别)。我们从编码器网络生成的特征考虑局部和全局上下文;参见图 3(顶部)。为了驱动网络学习从输入曝光不足图像(Ii)和相应的专家修饰图像(̃Ii)的照明映射,我们设计了一个损失函数,在光照和重建上具有平滑先验和增强图像上的颜色损失;见图3(底部)。这些策略有效地从 (Ii, ̃Ii) 中学习 S,以恢复具有丰富各种摄影调整的增强图像。高效的运行时我们学习局部和全局特征来预测低分辨率的图像到照明映射,并执行基于双边网格的上采样[8,7,12,13],以将低分辨率预测放大到全分辨率;参见图3。
因此,大多数网络计算都是在低分辨率域中完成的,从而能够实时处理高分辨率图像。
3.3. Loss Function
我们从一组 N 个图像对 {(Ii, ̃Ii)}N i=1 中学习照明映射。它产生 S 和增强结果 F(I) = S−1 ∗ I。我们设计了一个由三个组件组成的损失函数 L,并在网络训练期间对其进行最小化。它表示为
L
=
∑
i
=
1
N
ω
r
L
r
i
+
ω
s
L
s
i
+
ω
c
L
c
i
(2)
\mathcal{L}=\sum_{i=1}^{N} \omega_{r} \mathcal{L}_{r}^{i}+\omega_{s} \mathcal{L}_{s}^{i}+\omega_{c} \mathcal{L}_{c}^{i}\tag{2}
L=i=1∑NωrLri+ωsLsi+ωcLci(2)
其中 Li r 、 Li s 和 Li c 是损失分量,ωr 、 ω 和 ωc 是相应的权重。注意,我们根据经验设置ωr =1, ωs=2, ωc=1。
重构损失 为了获得预测的光照S,我们定义L2误差度量来度量重构误差为
L
r
i
=
∥
I
i
−
S
∗
I
~
i
∥
2
s.t.
(
I
i
)
c
≤
(
S
)
c
≤
1
,
∀
pixel channel
c
,
(3)
\begin{aligned} \mathcal{L}_{r}^{i} & =\left\|I_{i}-S * \tilde{I}_{i}\right\|^{2} \\ \text { s.t. } & \left(I_{i}\right)_{c} \leq(S)_{c} \leq 1, \quad \forall \text { pixel channel } c, \end{aligned}\tag{3}
Lri s.t. =
Ii−S∗I~i
2(Ii)c≤(S)c≤1,∀ pixel channel c,(3)
其中Ii和̃Ii中的所有像素通道归一化为[0,1],()c∈{r,g,b}表示像素颜色通道,(Ii)c≤(S)c≤1是多通道照明范围约束。由于 F(Ii) = S−1 ∗ Ii,将 Ii 设置为 S 的下界可确保增强结果 F(Ii) 中的所有颜色通道都以 1 为界,从而避免超出色域的颜色,而将 1 设置为 S 的上限可以避免错误地变暗曝光不足的区域。
图 4 显示了消融研究结果,展示了各种组件对损失函数的影响。比较图中第 2 和第 3 张图像,我们通过最小化重建损失来观察更清晰的细节和更好的结果对比度。与朴素的图像到图像回归相比,它具有明显的优势,后者直接回归输出图像,而不估计网络中的中间照明(见图3)。虽然重建损失增强的图像看起来更类似于专家修饰的图像,但仍然有可能不会产生正确的对比度细节和生动的颜色(图 4 中的第 3 节和第 6 张图像)。因此,我们还引入了平滑度和颜色损失。
平滑度损失 根据平滑度先验[23,20,2],自然图像中的照明通常是局部平滑的。在我们的网络中采用这个先验有两个优点。首先,它有助于减少过拟合并增加网络的泛化能力。其次,它增强了图像对比度。当相邻像素 p 和 q 具有相似的光照值时,它们在增强图像中的对比度可以估计为 | ̃Ip − ̃Iq | ≈ S−1p ∗ |Ip − Iq |,也应该扩大,因为 S ≤ 1。因此,我们将图 3 中预测全分辨率照明 S 上的平滑度损失定义为
L
s
i
=
∑
p
∑
c
ω
x
,
c
p
(
∂
x
S
p
)
c
2
+
ω
y
,
c
p
(
∂
y
S
p
)
c
2
(4)
\mathcal{L}_{s}^{i}=\sum_{p} \sum_{c} \omega_{x, c}^{p}\left(\partial_{x} S_{p}\right)_{c}^{2}+\omega_{y, c}^{p}\left(\partial_{y} S_{p}\right)_{c}^{2}\tag{4}
Lsi=p∑c∑ωx,cp(∂xSp)c2+ωy,cp(∂ySp)c2(4)
其中我们对所有像素的所有通道 © 求和; ∂x 和 ∂y 是图像空间水平和垂直方向的偏导数; ωp x,c 和 ωp y,c 是空间变化的(每个通道)平滑度权重,表示为
ω
x
,
c
p
=
(
∣
∂
x
L
i
p
∣
c
θ
+
ϵ
)
−
1
and
ω
y
,
c
p
=
(
∣
∂
y
L
i
p
∣
c
θ
+
ϵ
)
−
1
.
(5)
\begin{array}{l} \omega_{x, c}^{p}=\left(\left|\partial_{x} L_{i}^{p}\right|_{c}^{\theta}+\epsilon\right)^{-1} \text { and } \\ \omega_{y, c}^{p}=\left(\left|\partial_{y} L_{i}^{p}\right|_{c}^{\theta}+\epsilon\right)^{-1} . \end{array}\tag{5}
ωx,cp=(∣∂xLip∣cθ+ϵ)−1 and ωy,cp=(∣∂yLip∣cθ+ϵ)−1.(5)
这里,Li 是输入图像 Ii 的对数图像;θ = 1.2 是控制对图像敏感性的参数梯度;ǫ是一个通常设置为0.0001的小常数,防止除以0。
直观地说,平滑损失鼓励光照在梯度较小的像素上平滑,而在梯度较大的像素上不连续。有趣的是,对于曝光不足的照片,图像内容和细节往往很弱。较大的梯度更有可能由不一致的照明引起。如图 4 中的第 4 张图像所示,通过进一步结合平滑度损失,与仅使用重建损失产生的结果相比,我们恢复了不错的图像对比度和更清晰的细节。
颜色损失 接下来,我们制定了颜色损失,以鼓励Ii生成的图像F(Ii)中的颜色与相应的专家修饰图像̃Ii中的颜色匹配为
L
c
i
=
∑
p
∠
(
(
F
(
I
i
)
)
p
,
(
I
~
i
)
p
)
(6)
\mathcal{L}_{c}^{i}=\sum_{p} \angle\left(\left(\mathcal{F}\left(I_{i}\right)\right)_{p},\left(\tilde{I}_{i}\right)_{p}\right)\tag{6}
Lci=p∑∠((F(Ii))p,(I~i)p)(6)
其中 ()p 表示像素; ∠(, ) 是一个算子,它将 RGB 颜色的两个颜色之间的角度计算为 3D 向量。等式。 (6) 对 F(Ii) 和 ̃Ii 中每个像素的颜色向量之间的角度求和。
我们使用这个简单的公式而不是其他颜色空间中的 L2 距离的原因如下。首先,重建损失已经隐含地测量了 L2 色差。其次,由于 L2 度量仅在数值上测量色差,它不能确保颜色向量具有相同的方向。因此,该指标可能会导致明显的颜色不匹配。这可以通过比较图 4 中有和没有颜色损失的第 4 个和第 5 个结果来观察。最后但并非最不重要的一点是,该公式对于网络计算简单而快速。
3.4. Training Dataset
我们准备了一个包含 3,000 张图像的新数据集。出于两个原因,我们在它而不是 MIT-Adobe FiveK 数据集 [3] 上训练了我们的网络。首先,创建了 FiveK 数据集,主要用于增强一般照片而不是曝光不足的照片;它仅包含非常少量的曝光不足图像(大约 4%)。其次,基准数据集中曝光不足的图像覆盖了有限的光照条件;它缺乏夜间图像和光照不均匀的图像等具有挑战性的情况。
为了准备我们的数据集,我们首先使用佳能 EOS 5D Mark III 和索尼 ILCE-7 以 6000 × 4000 的分辨率捕获图像,并通过搜索关键字“曝光不足”、“弱光”和“背光”进一步从 Flickr 收集了大约 15% 的图像。然后,我们从摄影学院招募了三名专家,使用Adobe Lightroom为每个收集的图像准备修饰参考图像。我们的数据集多种多样;它涵盖了广泛的照明条件、场景、主题和风格。有关一些图像对,请参见图 5。最后,我们将数据集中的图像随机分成两个子集:2,750 张图像用于训练,其余用于测试。
3.5. Implementation Details
我们在 TensorFlow [1] 上构建我们的网络,并在 NVidia Titan X Pascal GPU 上训练 40 个 epoch,小批量大小为 16。整个网络使用固定学习率为10−4的Adam优化器进行优化。对于数据增强,我们随机裁剪了512 × 512的补丁,然后是随机镜像,所有补丁的大小和旋转。下采样输入的固定分辨率为256 × 256。编码器网络是预先训练的VGG16[24]。局部特征提取器包含两个卷积层,而全局特征提取器包含两个卷积层和三个全连接层。此外,我们使用基于双边网格的模块 [13] 对输出进行上采样。
4. Experimental Results
数据集 我们在 (i) 我们的数据集和 (ii) 具有 5,000 个原始图像的 MIT-Adobe FiveK [3] 数据集上评估了我们的网络,每个数据集都有由不同专家 (A/B/C/D/E) 生成的五个修饰图像。对于 MIT-Adobe FiveK 数据集,我们遵循以前的方法 [13, 15, 22] 仅使用输出由 Expert C 随机选择 500 张图像进行验证和测试,并在剩余的 4,500 张图像上进行训练。
评估指标 我们使用两个常用的指标(即 PSNR 和 SSIM)来定量评估我们的网络在预测结果与相应专家修饰图像之间的颜色和结构相似性方面的性能。虽然它不是绝对指示性的,但一般来说,高 PSNR 和 SSIM 值对应于相当好的结果。
4.1. Comparison with State-of-the-art Methods
我们将我们的方法与以下五种最先进的图像增强方法进行比较:(i)最新的基于 Retinex 的方法,JieP [4] 和 (ii)-(v) 最近四种基于深度学习的 HDRNet [13]、DPE [9]、WhiteBox [15] 和 Distort-and-Recover [22] 方法。为了公平比较,我们使用作者提供的公开可用的实现和推荐的参数设置来生成他们的结果。对于四种基于学习的方法,我们进一步在我们的数据集和 MIT-Adobe FiveK 数据集上重新训练他们的模型以产生最佳可能的结果。我们的比较有三个方面。
视觉比较 首先,我们展示了图 6 和图 7 在两个具有挑战性的案例中的视觉比较,使用曝光不均匀的照片和几乎没有肖像细节(来自 MIT-Adobe FiveK 数据集)和整体低光照片(来自 MIT-Adobe FiveK 数据集)。比较结果,我们注意到我们的方法 (h) 相对于其他方法 (b)-(f) 的两个关键改进。首先,我们的方法能够恢复更多的细节和更好的对比前景和背景,没有明显牺牲图像的过度/不足部分。其次,它还揭示了生动自然的颜色,使增强的结果看起来更加真实。有关更多视觉比较结果,请参阅补充材料。
定量比较 为了评估我们网络的学习有效性和泛化能力,我们使用PSNR和SSIM指标将其与其他方法进行定量比较。表 1 和表 2 报告了结果,在每种情况下,我们在各自的数据集上重新训练我们的网络以及其他网络。请注意,我们的没有 Lr、Ls 和 Lc 的损失函数简化为数据集中相应图像对之间的像素级 L2 损失。在这里,我们不包括 JieP [4],因为它不是基于学习的方法。对于这两种比较,我们的方法表现更好,表明我们的方法不仅有效地学习了照片调整以增强曝光不足的照片,而且可以很好地推广到具有有限曝光不足照片的 MIT-Adobe FiveK 数据集。
用户研究 此外,我们对 500 名参与者进行了一项用户研究,以比较结果。与[22]类似,我们首先通过搜索关键字“city”、“flower”、“food”、“landscape”和“portrait”,从Flickr抓取100张强度低于0.3的测试图像(图9有一个示例)。然后,我们使用我们的方法和其他方法增强每个测试图像,并通过 Amazon Mechanical Turk 招募参与者对每组结果进行评分,这些结果以随机呈现以避免主观偏差。
对于每个结果,参与者被要求使用从 1(最差)到 5(最佳)的李克特量表对图 8 中显示的六个问题中的每一个进行评分。图 8 总结了结果,其中每个子图显示了特定问题上方法的六个评级分布。方法之间的分布表明我们的结果更受人类受试者青睐,与其他方法相比,我们的方法获得了更“红色”和更少的“蓝色”评级。我们还通过在我们的方法和其他方法之间进行配对 t 检验来对评级进行统计分析。结果很清楚:所有 t 检验结果在 p < 0.01 时具有统计学意义。有关详细信息,请参阅补充材料。此外,我们扩展了用户研究,以与 iPhone 上的“Auto Enhance”和 Lightroom 中的“Auto Tone”进行比较。结果也包含在补充材料中。
4.2. Discussions
消融研究 除了图 4 所示的视觉结果外,我们还定量评估了我们方法中组件的有效性。比较表 1 和表 2 中最后一行(我们的)和第 5 行(我们的没有任何三个损失)的统计数据,我们观察到我们的方法在学习图像到照明的映射方面比简单的图像到图像映射具有明显的优势。此外,对于 MIT-Adobe FiveK 数据集和我们的数据集,每个表中的最后四行通过在我们的方法中具有更多损失组件来揭示对结果的渐进式改进。他们令人信服地证明了每个损失组件的有效性。
限制 图 10 展示了我们的方法以及其他最先进技术的两个示例,它们都无法产生视觉上令人信服的结果。对于顶部图像,我们无法恢复马体的细节,因为该区域几乎是黑色的,没有原始图像中的任何纹理痕迹,而对于底部输入,我们的方法在增强结果中没有明确的噪声。因此,更强的去噪能力将是我们未来的目标。
5. Conclusion
我们提出了一种新的端到端网络来增强曝光不足的照片。我们的关键思想是学习一个图像到照明(而不是图像到图像)的映射,以便利用自然图像中照明的简单性,使网络能够有效地学习丰富的摄影调整。此外,我们设计了一个损失函数,该函数在光照上采用了各种约束和先验,创建了一个包含3000张曝光不足图像对的新数据集,使我们的网络能够在曝光不足的照片中恢复清晰的细节、不同的对比度和生动的颜色。我们对我们的数据集和 MIT-Adobe FiveK 数据集进行了广泛的实验,并将我们的方法与五种最先进的方法进行了比较,以显示我们的解决方案在视觉比较、PSNR 和 SSIM 指标方面的定量比较以及涉及 500 名参与者的用户研究。
我们未来的工作是将去噪模块合并到我们的网络中,并将我们的方法扩展到处理视频。另一个方向是利用场景语义分析和摄影图像合成技术来解决几乎黑色的区域。
用实践巩固理论!请马不停蹄地来到复现文章吧!看看DeepUPE具体是如何实现的吧!
本文对应的复现文章:
至此本文结束。
如果本文对你有所帮助,请点赞收藏,创作不易,感谢您的支持!
点击下方👇公众号区域,扫码关注,可免费领取一份200+即插即用模块资料!