图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning

Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning

  • 1. 摘要
  • 2 "S"曲线
  • 3 ExCNet网络(基于CNN的无监督S曲线估计方法)
    • 3.1 利用估计的S曲线调整亮度通道
    • 3.2 计算损失
  • 3.3 实现细节
  • 4. 图像增强流程
  • 5. 参考文献

论文代码

1. 摘要

如何恢复背光图像仍然是一个具有挑战性的任务。这一领域中最先进的方法是基于监督学习,因此它们通常局限于特定的训练数据。在本文中,我们提出了一种“零次”(Zero-shot)的背光图像恢复方案,它利用了深度学习的能力,但不依赖任何之前的图像示例或之前的训练。具体来说,我们在测试时训练一个针对图像的小CNN,即ExCNet (Exposure Correction Network,简称Exposure Correction Network),以估计出最适合测试背光图像的“s曲线”。一旦估计出s曲线,就可以直接恢复测试图像。ExCNet可以适应每个图像的不同设置。这使得我们的方法可以广泛适用于不同的拍摄场景和各种背光条件。对1512张真实的背光图像进行的统计研究表明,我们的方法可以大大超过竞争对手。据我们所知,我们的方案是第一个无监督的基于cnn的背光图像恢复方法。
: 本文的Zero-shot 指的是网络不需要提前训练,然后测试。它可以对给定的背光图像直接估计出最适合的s曲线。通过它的s曲线,背光图像可以相应地恢复。
思路启发 :仅从测试图像本身学习恢复模型的思想在图像超分辨率[1]领域已经证明是可行的。在[1]中,Shocher等人提出了一种超分辨率模型,该模型是一个仅从低分辨率测试图像中提取内部示例训练而成的针对图像的CNN。
本文贡献

  1. 我们方法的核心是设计特定的CNN,即曝光校正网络(Exposure Correction Network)。给定一个测试的背光图像I, ExCNet可以在有限的迭代时间内估计出最适合I的参数“s曲线”。用它的s曲线,我可以直接还原。据我们所知,我们的工作是第一个自动纠正图像曝光的无监督学习框架。它可以很容易地应用于不同曝光水平下的各种内容的图像。
  2. 在设计ExCNet时,一个关键问题是如何设计一个损失函数来评估图像的不良曝光程度。为此,我们在MRF (Markov Random Field)[17]公式的驱动下,设计了一个基于块的损失函数,该函数倾向于最大化所有块的可见性,同时保持相邻块之间的相对差异。实验表明,所设计的损失函数可以指导ExCNet获得较好的结果。
  3. 由于ExCNet的CNN结构,我们的方法可以学习到图像与其最佳“s曲线”参数之间的映射关系。因此,随着处理图像的增加,当面对不可见的图像时,ExCNet只需较少的迭代就能收敛到优化曲线。另外,在处理视频流时,后续帧的校正可以通过前一帧的参数来指导,不会产生像[28]这样的明显闪烁伪影,计算成本相对较低。

2 "S"曲线

本文通过网络估计"S"曲线的参数,从而确定特定S曲线,对图像进行非线性映射变换。下图为典型的S曲线图,图的横轴表示原始图像的值,纵轴表示新的调整值。当调整图像时,图形的右上方区域表示高亮,左下方区域表示阴影。
图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning_第1张图片
"S"曲线方程如下:
在这里插入图片描述
其中:x为输入像素值,
ϕs :阴影量 有助于将低照度区域的像素映射到曝光良好的水平。
ϕh :高光量 有助于抑制高曝光像素
S曲线的形状由 ϕs 和 ϕh 的值确定 ,对于一幅低照度图像,可以通过S曲线映射变换改变其灰度范围,从而达到增强的目的。S曲线的确定需要明确 ϕs 和 ϕh ,本文通过ExCNet网络确定 ϕs 和 ϕh 。
下式为增量函数,

其中k1、k2和k3是默认参数(k1=5、k2=14、k3=1.6),因此增量函数在[0,0.5]区间范围递减。

3 ExCNet网络(基于CNN的无监督S曲线估计方法)

ExCNet实际上是一个CNN,根据输入图像 I 的亮度通道估计最佳S曲线。 通过估计的S曲线,可以相应地恢复 I 。
ExCNet的结构如图所示。为了更好地理解它,ExCNet的每个训练迭代在概念上可以被视为有两个阶段,1.使用中间S曲线调整亮度通道 2.计算损失。
图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning_第2张图片

3.1 利用估计的S曲线调整亮度通道

对于每次训练迭代,亮度通道首先通过一个内部CNN网络。这个CNN由一堆卷积层组成,然后是几个全连接层。最后一个全连接层有两个输出,分别为阴影量ϕs和高光量ϕh的中间估计(每次迭代会更新),分别用ϕs和ϕl表示。亮度通道通过估计的S曲线进行映射增强。

3.2 计算损失

为了更新ExCNet的权重,我们需要有一个损失函数来评估每次亮度通道增强结果欠曝光程度。如果有一个理想的损失函数,通过迭代最小化它,就可以获得输入图像的s曲线的最佳参数ϕs和ϕl
在本文中,我们将ExCNet的损耗函数(增强后的亮度通道为ExCNet输入)表述为一个基于块的能量最小化问题。与基于像素的公式相比,基于分块的方法可以更好地表示内容的可见性和度量相邻区域的相对差异的优势。在设计能量函数时,我们需要注意低照度图像增强需要最大化每个块的可见性,同时保持相邻区域之间的相对差值。受MRF[17]公式的启发,我们定义ExCNet的损失函数为
在这里插入图片描述
其中 Ei 是一元数据项,Eij 为成对项,λ是一个预定义的常数。对于给定的块 i ,通过最小化Ei,它的可见性预计会增加。Eij 表示相邻块 i 和 j 在增强前后的相对差值的变化。J∈Ω(i)表示第 i 块的相邻块集合中的第 j 个。在本文中,Ω(i) 是块 i 的4个相邻块的集合。通过最小化 L ,我们期望图像块的可见性可以提高,同时尽可能保持相邻块之间的相对差值。
一元项Ei被定义为,
在这里插入图片描述
式中 li 和 lci 分别为第 i 块在 未增强的亮度通道 li 和 增强后的亮度通道 icl 中的平均亮度。按照HDR[20]和曝光融合[18]场普遍采用的假设,Ei 通过块平均强度与中灰度(0.5)之间的距离来衡量每个块的可见性。下图给出了Ei与li、lci的函数值曲面图
图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning_第3张图片
下图所示的两个例子展示了 li 固定时 Ei 随 lci 的变化情况。在图(b)中,li 固定为0.2(小于0.5),在©中,li 固定为0.7(大于0.5)。很容易验证一元项 Ei 的目的是使增强后的亮度通道 lci 尽可能接近0.5,这样欠曝光和过曝光区域都可以调整到曝光良好的水平。此外,Ei 还有一个目的是使增强后的亮度通道 lci 像素值 可以维持未增强亮度通道 li 与0.5之间的关系(保持图像亮度之间的关系)。也就是说,如果 li 大于(小于)0.5, lci 也会趋向于大于(小于)0.5。Ei 的这种特性可以保证 Il 中较亮/暗的区域在 Ic l 中保持较亮/暗的状态
图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning_第4张图片
成对项 Eij 定义为
在这里插入图片描述
式中lj lcj 为第 j 块在未增强亮度通道 Il 中的平均亮度和增强后的亮度通道 平均亮度。 li lci 为第 i 块 在未增强亮度通道 Il 中的平均亮度和增强后的亮度通道平均亮度。 这一项的设计是为了保持相邻区域之间的相对差异。
这两项的组合可以使图像像素值接近0.5,但会在一定灰度值时停止,以便保持相邻区域之间的相对差异。

3.3 实现细节

ExCNet实现为一个CNN,其详细配置如下表所示。ExCNet以尺寸为128 × 128的归一化亮度通道图 Il 作为输入。
图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning_第5张图片
实现过程中的一个关键问题是如何通过简单的卷积运算来计算基于块的损失函数。对未增强的亮度通道 Il 和增强后的亮度通道 Icl 采用4 × 4平均池化,

4. 图像增强流程

本节介绍所提出的低照度图像增强方案的总体流程。假设我是要增强的低照度图像。通过 I ^ 表示增强结果。增强流程主要包括三个步骤:s曲线估计、亮度通道恢复和色度调整。
将输入图像转换到 YIQ 颜色空间得到三个通道IY II IQ。 然后将IY的像素灰度值范围归一化到[0,1]。为了满足ExCNet对输入大小的要求,将IY的大小调整为128×128,并将结果视为亮度通道Il。通过输入亮度通道 Il 输入到ExCNet估计由{ϕs, ϕ h}参数化的最佳s曲线。最终恢复结果ˆI的亮度通道ˆIY可以使用S曲线方程导出。将两个色度通道II和IQ相应地调整为:
图像增强论文精读——ExCNet:Zero-Shot Restoration of Back-lit Images Using Deep Internal Learning_第6张图片
其中I^I(x)和I ^Q(x)为最终增强结果I ^的两个色度通道,x为像素位置。最后,将I ^从YIQ空间转换为RGB空间。
值得一提的是,我们在实现中还考虑了细节保留。我们首先使用引导滤波器将每幅输入图像分成基础层和细节层,然后使用估计的s曲线对基础层进行调整。最后,我们采用Weber对比度将细节层与调整后的基础层融合。我们的硬件平台是一台带有3.0GHZ Intel Core i7-5960X CPU和Nvidia Titan X GPU卡的工作站。该方法是用Python和TensorFlow实现的。我们的方法处理一张4032 × 3024的图像的成本约为1.0s。

5. 参考文献

[1] Assaf Shocher, Nadav Cohen, and Michal Irani. 2018. “Zero-shot” super-resolution
using deep internal learning. In 2018 IEEE/CVF Conference on Computer Vision
and Pattern Recognition (CVPR ’18). IEEE, Salt Lake City, UT, USA, 3118–3126.
https://doi.org/10.1109/CVPR.2018.00329

你可能感兴趣的:(图像增强文献阅读,图像处理,计算机视觉,深度学习)