Towards Unsupervised Deep Image Enhancement With Generative Adversarial Network
摘要
提高图像的美学质量是一个挑战,并且受到公众的广泛关注。为了解决这个问题,大多数现有算法基于监督学习方法,旨在为成对数据学习一个自动照片增强器,该数据由低质量照片及其对应的专家修饰版本组成。然而,专家修饰的照片的风格和特征可能无法满足普通用户的需求或偏好。
本文提出了一种无监督图像增强生成对抗网络(UEGAN),该网络以无监督的方式从一组具有期望特征的图像中学习相应的图像到图像映射,而不是依赖于大量的成对图像。所提出的模型基于单一深度GAN,嵌入了调制和注意力机制,以捕捉更丰富的全局和局部特征。
在所提出的模型基础上,我们引入了两个损失函数来处理无监督图像增强:(1)保真损失,该损失被定义为预训练VGG网络特征域中的(L^2)正则化,以确保增强图像与输入图像之间的内容相同;(2)质量损失,该损失被表述为相对边际对抗损失,以赋予输入图像所需的特征。
介绍
随着移动互联网、智能电子设备和社交网络的快速发展,通过社交媒体和在线分享社区记录和上传人们精彩生活的方式变得越来越流行。然而,由于高质量硬件设备的高成本以及缺乏专业摄影技能,普通公众拍摄的照片的美学质量往往令人不满意。专业图像编辑服务费用昂贵,而且由于美学感受和偏好通常是个人问题,因此很难以自动化的方式提供此类服务。因此,提供用户导向的图像美化的自动图像增强技术更受欢迎。
与高质量图像相比,低质量图像通常在视觉质量上遭受多种降解,例如色彩不佳、对比度低和噪声强烈等。因此,图像增强过程需要通过一系列增强操作来解决这种降解,例如对比度增强、色彩校正和细节调整等。最早的传统图像增强方法主要集中在低质量图像的对比度增强上。最常见的直方图调整方法将低质量图像的亮度直方图转移到给定分布(可能由其他参考图像提供)上,以拉伸低质量图像的对比度。根据变换范围,这类方法可以进一步分为两类:全局直方图均衡化(GHE),和局部直方图均衡化(LHE)。前者使用单一的直方图变换函数来调整整个图像的所有像素。这可能导致某些局部区域增强结果不当,例如曝光不足、曝光过度、颜色失真等。为了解决这个问题,LHE基于局部区域的统计信息推导出内容自适应变换函数,并在局部应用这些变换。然而,LHE计算复杂,并不总是有效,因为提取的变换依赖于局部区域的主导信息。因此,它们也容易产生视觉上不令人满意的纹理细节、暗淡或过饱和的颜色。
在过去的几年里,深度卷积神经网络(CNN)在低级视觉任务中取得了显著进展。为了提高建模能力和适应性,基于深度学习的模型被构建,以引入深度网络卓越的表达能力,从而利用大数据的知识促进自动图像增强。Ignatov 等设计了一个端到端的深度学习网络,将移动设备的照片提高到数码单反相机(DSLR)照片的质量。Ren 等提出了一种混合损失,从色彩、纹理和内容三个方面优化框架,以生成更具视觉吸引力的结果。受到双边网格处理的启发,Gharbi 等使实时图像增强成为可能,这种方法动态生成基于局部和全局信息的图像变换。为了处理低光照图像增强,Wang 等建立了一个大规模的曝光不足图像数据集,并基于 Retinex 模型学习了图像与照明的映射,以增强极低光照的图像。
然而,这些方法遵循完全监督学习的路线,依赖于具有成对低/高质量图像的大规模数据集。首先,成对数据通常成本高昂,有时需要专业摄影师投入大量精力和资源来构建数据集。其次,图像质量的判断通常与个人的性格、美学、品味和经验密切相关。“在千人的眼中有千个哈姆雷特。”换句话说,每个人对摄影质量的态度都不同。为了证明这一点,在 MIT-Adobe FiveK 数据集中,我们展示了一张典型的低质量照片及其对应的五个由不同专家修饰的高质量版本(见图 1)。可以观察到,由一个专家处理的图像与另一位专家修饰的图像差异很大。因此,创建一个包含成对低质量和高质量图像的大规模数据集,以满足每个人的偏好是不切实际的。相反,更可行的方法是通过提供用户喜爱的图像集合来表达个人偏好。因此,急需构建一个增强模型,以便在没有特定成对图像的情况下,从低质量数据集学习增强映射到高质量数据集。通过这种方式,我们可以摆脱创建一对一成对数据的负担,仅依赖于某人所偏好的目标数据集及其期望的特征。
得益于生成对抗学习和强化学习(RL)的发展,一些研究尝试仅利用无配对数据来处理图像增强任务。无配对数据之间转移图像风格的里程碑式工作是 CycleGAN。该方法使用两个生成器和两个判别器,并利用循环一致性损失实现视觉上令人印象深刻的结果。Chen 等 提出了构建一个双向 GAN,并进行了三项改进,以将低质量图像转换为相应的高质量图像,实验结果表明该模型显著优于 CycleGAN。Hu 等设计了第一个基于 RL 的框架,以训练有效的照片后处理模型。Jiang 等在无监督框架下首次对低光照增强任务进行了研究。该方法应用自正则化的注意力生成器和双判别器,以在全局和局部指导生成器。
我们不是利用循环生成对抗网络(GAN)学习低质量照片与高质量照片之间的双向映射,而是构建了一个单向 GAN 来处理图像美学质量增强任务,称为无监督图像增强 GAN(UEGAN)。
受到上述性质的启发,我们的网络由一个联合的全局和局部生成器以及一个具有有效约束的多尺度判别器组成。
-
生成器由一个编码器和解码器组成,嵌入了全局注意力模块和调制模块,以在不同尺度上局部和全局地调整特征。多尺度判别器还在不同粒度级别检查结果,并指导生成器生成更好的结果,以获得全局一致性和更精细的细节。
-
为了保持内容的不变性,引入了一种保真损失,以正则化输入内容与结果内容之间的一致性。
-
从整个图像中提取的全局特征揭示了照明条件和颜色分布等高层信息。为捕捉这些特性,设计了全局注意力模块,根据局部邻域的信息调整像素,以满足局部适应性和全局一致性。
-
为了防止过度增强,引入了一种恒等损失,以约束高质量输入图像的增强结果与输入之间的一致性。这有助于控制增强过程使其更加无质量,并防止过度增强。
本文的主要贡献总结如下:
-
我们设计了一个单一的 GAN 框架,摆脱了图像美学质量增强对成对训练数据的需求。根据我们所知,这是首次尝试使用单向 GAN 框架,将无监督学习应用于增强图像的美学质量(而不是低光照图像增强)。
-
我们提出了一个全局注意力模块和一个调制模块,构建了联合的全局和局部生成器,以捕捉全局特征并自适应地调整局部特征。结合提出的多尺度判别器,以不同尺度检查生成结果的质量,最终生成的结果在感知和美学上都得到了很好的增强,具有全局一致性和更精细的细节。
-
我们提议联合使用质量损失、保真损失和恒等损失来训练我们的模型,使其能够提取无质量特征并使增强过程对质量变化更加稳健。因此,我们的方法可以获得更合理的结果,并防止过度增强。针对各种数据集的大量实验结果定量和定性地证明了所提出模型的优越性。
相关工作
传统图像增强
在过去的几十年中,针对提高照片质量进行了广泛的研究。现有的大多数传统图像增强算法旨在拉伸对比度和提高锐度。以下三种方法是最具代表性的:直方图调整、锐化掩模和基于 Retinex 的方法。这些方法简要描述如下。
(1)直方图调整:基于将亮度直方图映射到特定分布的基本思想,许多方法根据整个图像的统计信息估计映射函数,然而,由于某些高频信息的主导作用,细节通常会过度增强。与其为整个图像估计一个单一的映射函数,其他方法则基于局部统计信息动态调整直方图。但是,更高的计算复杂性限制了该方法的适用性。
(2)锐化掩模:锐化掩模(UM)旨在提高图像的锐度。UM 方法的框架可以总结为以下两个阶段:首先,通过应用低通或高通滤波器将输入图像分解为基层和细节层。其次,细节层中的所有像素都被一个全局加权因子缩放,或者不同像素通过逐像素加权因子自适应缩放,然后再加回到基层中以获得增强版本。已经提出各种方法从两个方面改善 UM 的性能:1)设计更合理的层分解方法,以解耦不同频带 2)提出更好的估计算法来调整缩放因子。
(3)基于 Retinex 的方法:许多研究人员正在从事基于 Retinex 的图像增强研究,因为其具有明确的物理意义。Retinex 模型的基本假设是观察到的照片可以分解为反射和照明。增强后的图像依赖于分解的层,即照明层和反射层。因此,基于 Retinex 的模型通常被视为一个照明估计问题。然而,由于准确估计照明和反射图的模糊性和困难,这些方法可能会产生不自然的结果。
基于学习的图像增强
(1)监督学习方法:随着卷积神经网络(CNN)的爆炸性增长,基于学习方法的图像增强模型大量涌现,并取得了显著的结果。Yan 等人 首先探索了使用 CNN 进行照片编辑。Ignatov 等人构建了一个大规模的 DSLR 照片增强数据集(即 DPED),该数据集包含 6000 张同时由 DSLR 相机和三款智能手机拍摄的照片。通过成对的数据,很容易学习智能手机拍摄的低质量照片与专业 DSLR 相机拍摄的高质量照片之间的映射函数。Ren 等人提出了一个混合框架,通过共同考虑内容和结构来解决低光照增强问题。然而,这些模型的良好表现离不开大量退化图像及其对应高质量图像的配对这一前提。
(2)无监督学习方法:与超分辨率、去雨和去噪不同,高质量图像通常已经存在,其低质量版本可以通过退化轻松生成。在大多数情况下,图像增强需要在训练阶段生成低质量图像的高质量对应物,如果需要配对的低/高质量图像。高质量照片通常是由专家使用专业照片编辑程序(如 Adobe Photoshop 和 Lightroom)对低质量照片进行修饰获得的。这种方法成本高、耗时长,且编辑风格可能严重依赖于专家而非真实用户。为了摆脱配对训练数据,一些研究尝试使用无监督学习解决图像增强问题。受到知名的 CycleGAN启发,Chen 等人设计了一个双重 GAN 模型,以学习源域和目标域之间的双向映射。具体而言,从源域到目标域学习的变换首先用于生成高质量图像,然后学习从目标域到源域的反向映射,将生成的高质量图像转换回源域。引入循环一致性损失以强制输入的低质量照片与通过反向转换生成的图像之间的接近性。当两个双向生成器在两个域之间提供理想映射时,循环一致性效果良好。然而,当应用循环一致性时,GAN 的不稳定性增加了训练的难度,并使其面临局部最小值的风险。
论文中提出的方法
动机和目标
我们观察到专业摄影师在进行图像编辑时通常遵循以下直觉:
-
全局变换与局部调整的结合:低质量图像与修饰后的版本之间的内容和内在语义信息应保持一致。专家可能首先会根据整体光照条件(例如,良好的曝光或欠/过曝光)和场景中的色调(例如,冷色调或暖色调)进行全局变换。然后,局部修正会基于全局信息和局部内容的综合考虑进行更细致的调整。
-
防止过度增强:保真度与质量之间的权衡至关重要。过度增强会造成视觉效果,源于对与美感相关的图像特性的过度增强,例如非常暖的色调、高对比度和过度曝光等。然而,这也可能使得结果偏离保真度,产生不自然的效果。换句话说,一个好的自动照片增强器在产生良好的视觉效果时应该意识到过度增强的问题。
基于上述观察,我们致力于学习一个图像到图像的映射函数F,以生成给定低质量照片x1的高质量对应物 xg。该映射可以建模如下:
图像增强任务中的一个关键问题是如何定义质量和高质量。任何用户都可以轻松提供一组表达其个人偏好的图像,而无需明确说明他们所喜爱的质量。因此,与其将F定义为各种明确的规则,不如将其表述为在所需高质量图像分布的指导下,转化低质量图像分布的过程。这使我们能够在无监督的方式下,基于非配对数据学习用户导向的照片增强器。基于这一考虑,我们努力利用 GAN 的集合级监督,通过对抗学习实现我们的目标。
网络架构
- 联合全局与局部生成器:生成器在我们提出的 UEGAN 中发挥着关键作用,因为它直接影响最终生成照片的质量。专家可能首先根据场景中的整体光照条件或色调进行全局变换。因此,全局特征充当图像先验,指导生成并调整局部特征。基于这一观察,我们首先提出了一个全局注意力模块(GAM),以利用局部特征的全局注意力。每个特征图的通道通过卷积层从局部邻域中提取。全局注意力的重点是对每个通道的“整体”理解。
为了建模中间特征z ∈ RC×H×W的全局注意力,我们提出的方法可以总结为以下三个步骤,如图 3 所示:
-
通过公式 (2) 提取每个通道的全局统计信息
-
利用提取的 gmean通过多层感知机
挖掘通道间的关系𝜌,如公式 (3) 所示; -
通过公式 (4) 融合全局和局部特征。
表示平均池化操作,
是两个全连接层,
表示将ρ的空间维度扩展到 𝑧的维度,
是连接操作,
是卷积层。
图 2 显示了联合全局与局部生成器中的调制模块 (MM)。特别是,我们在不同的尺度上使用跳过连接(skip connections)连接编码器和解码器,以防止由于分辨率变化而导致的信息丢失。与传统的 U-Net 不同,我们在每个阶段(即模型中的四个阶段)将编码器的特征与对称解码器的特征进行拼接。我们提出的调制模块学习生成两条特征分支,然后通过乘法操作将它们合并在一起。在我们的模型中,为了进一步重用特征,学习到的调制层通过逐元素乘法将编码器第一阶段的特征与倒数第二层的特征相乘。学习全局特征和特征调制可以有效增强生成图像的视觉效果。全局特征还可以用于惩罚一些可能导致视觉伪影或重构细节不佳的低质量特征。复杂的图像处理可以通过一组简单的局部平滑曲线近似,因此,提出的联合全局与局部生成器G比传统的 U-Net 更能够学习从低质量图像到高质量图像的复杂映射。
- 多尺度鉴别器: 为了区分真实的高质量图像和生成的“伪”高质量图像,鉴别器需要一个大的感受野来捕捉全局特征。这直接导致了对更深的网络或更大卷积核的需求。鉴别器的最后一层通常捕捉来自图像较大区域的信息,并能指导生成器产生具有更好全局一致性的图像。然而,具有较小感受野的鉴别器中间层可以迫使生成器更关注更精细的细节。基于这一观察,如图 2 所示,我们提出了一个多尺度鉴别器D,该鉴别器使用多尺度特征来指导生成器生成具有全局一致性和更精细细节的图像。
损失函数
1) 质量损失
我们使用质量损失来调整增强结果的分布,使其接近高质量图像的分布。质量损失引导生成器生成更具视觉吸引力的结果。在之前的 GAN 框架中,鉴别器的目的是区分真实样本和生成的样本。然而,我们观察到,仅仅使用鉴别器D来区分生成的图像和真实的高质量图像不足以获得一个能够将低质量图像转化为高质量图像的优秀生成器。这可能是因为低质量和高质量图像之间存在质量模糊性,低质量图像集中有些图像可能比高质量图像集中的图像更好。
为了解决这个问题,我们还训练鉴别器来区分真实的低质量图像和真实的高质量图像,如图 2 所示。
具体来说,我们提出的鉴别器基于最近提出的相对鉴别器结构,它不仅评估真实数据(即真实的高质量图像)比假数据(即生成的高质量图像或真实的低质量图像)更真实的概率,还指导生成器生成比真实高质量图像更逼真的高质量图像。此外,我们采用了改进形式的相对鉴别器——相对平均 HingeGAN (RaHingeGAN),公式如下:
其中 xl 、 xh 和 xg 分别表示真实的低质量图像、真实的高质量图像和生成的高质量图像。
2) 保真损失
由于我们以无监督的方式训练模型进行图像增强,仅依靠质量损失可能无法确保生成的图像与输入的低质量图像具有相似的内容。最简单的方法是测量输入和输出图像在像素域中的距离。然而,由于生成的高质量图像通常在像素域中与输入的低质量图像不同,原因在于对比度拉伸和颜色渲染,我们无法采用这种策略。因此,我们使用保真损失来约束生成器的训练,以实现生成的高质量图像和输入的低质量图像在内容上的相似性。保真损失定义为输入低质量图像和生成的高质量图像通过预训练 VGG 网络提取的特征图之间的L2范数,公式如下:
其中,φ j (·)表示通过 VGG 网络的第j层提取特征图的过程,J是使用的层数总数。在本文中,我们具体采用了 VGG-19 网络的 Relu_1_1、Relu_2_1、Relu_3_1、Relu_4_1 和 Relu_5_1 层。
3)身份损失
身份损失定义为输入高质量图像与生成器G输出之间的L1距离,如下所示:
其中,xh 表示从高质量图像集Ph中采样的图像。身份损失是基于高质量输入图像计算的。因此,如果输入图像的颜色分布和对比度符合高质量图像集的特征,身份损失将鼓励在输入和输出之间保留颜色分布和对比度。它确保生成器在图像增强过程中几乎不改变图像的内容、对比度和颜色,从而避免过度增强。
4)Total Loss
通过综合考虑质量损失(quality loss)、保真度损失(fidelity loss)和身份损失(identity loss),我们最终的损失定义为这些损失的加权和,如下所示:
其中 λqua、λfid 和 λidt 是权重参数,用于平衡 LG qua、Lfid 和 Lidt 的相对重要性。
实验
数据集
-
MIT-Adobe FiveK 数据集:该数据集由 Bychkovsky 等人构建,主要用于图像增强任务,其中高质量图像由专家进行修饰生成。数据集包含 5000 张原始照片和 25000 张由五位经验丰富的摄影师从这些原始照片生成的修饰照片。因此,该数据集包括五个子集,每个子集包含 5000 对原始照片和对应的修饰照片。根据 [13] 和 [15] 的研究,我们选择了摄影师 C 生成的修饰照片作为目标照片(即,真实值),因为用户对这个子集的评分最高。为了生成无配对的训练数据,这个子集被随机分为三部分:1)第一部分包含 2250 张原始照片作为低质量输入;2)第二部分由另 2250 张原始照片的修饰版本组成,作为所需的高质量照片;3)最后一部分是剩余的 500 张原始照片,其中 100 张用于验证,400 张用于测试。这三部分数据互不重叠。
-
Flickr 数据集:除了在 MIT-Adobe FiveK 数据集中使用摄影师的结果进行训练外,我们还从 Flickr 收集了一个高质量图像集用于无配对训练。这些图像是从带有“高动态范围”标签的 Flickr 图片中抓取的,以确保质量相对一致,然后由作者手动筛选。最终,我们选择了 2000 张图像作为所需的高质量标签。
实现细节
我们在 Pytorch 中构建了我们的网络,并在 NVidia GeForce RTX 2080 Ti GPU 上进行训练,共 150 个 epoch,mini-batch 大小为 10。整个网络从零开始使用 Adam 优化器进行优化,学习率设为 0.0001。在前 75 个 epoch 中学习率保持不变,然后在接下来的 75 个 epoch 中线性衰减至零。对于 MIT-Adobe FiveK 数据集,我们使用 Lightroom 将图像解码为 PNG 格式,并将图像的长边调整为 512 分辨率。为了进行数据增强,我们从图像中随机裁剪出 256 × 256 的图像块。
在 MIT-Adobe FiveK 数据集中,我们将超参数 λqua、λfid 和 λidt 分别设置为 0.05、1 和 0.1,因为根据经验这些值在定量和定性性能上提供了最佳表现。在 Flickr 数据集中,这些超参数同样根据经验设置为 0.05、1 和 0.1。
评估指标
最常用的全参考图像质量评估指标(即 PSNR 和 SSIM)仅关注信号保真度,但可能无法准确反映美学和感知质量。尽管美学质量的评估具有挑战性,但我们仍然可以通过定量评估在一定程度上测量增强质量。为此,使用 NIMA分数来量化美学质量。NIMA 是一种有效的基于 CNN 的图像美学质量评估方法,经过大型美学数据集 AVA 训练。它预测人类评分的分布,而不是平均评分(即 MOS)。因此,我们使用 PSNR、SSIM 和 NIMA 来将我们提出的方法与最先进的方法进行比较,从像素级、结构级和美学级三个方面进行评估,其中前两个指标是基于增强结果与相应专家修饰的图像(即地面真实值)之间的相似性进行的。一般来说,较高的 PSNR、SSIM 和 NIMA 值对应于更好的结果。
定量比较
大多数以前的自动照片质量增强方法都是基于监督学习,这要求使用成对的数据。最近,一系列基于 GAN 或强化学习(RL)的工作试图仅使用非配对数据来解决这些任务。我们将所提出的方法与 CycleGAN 及三种非配对照片增强方法进行比较:深度照片增强器(DPE)、EnlightenGAN 和 Exposure。CycleGAN、DPE 和 EnlightenGAN 是基于 GAN 的方法,而 Exposure 是一种基于 RL 和滤波器的方法。
表 I 列出了各种模型在 MIT-Adobe FiveK 数据集上的定量比较结果。在该表中,每个评估指标(即 PSNR、SSIM 和 NIMA)的最佳性能用黑色加粗字体表示。请注意,所有被比较模型的程序代码均从对应作者提供的链接下载。具体而言,我们使用了对应作者提供的代码,在 MIT-Adobe FiveK 数据集上重新训练了 CycleGAN 和 EnlightenGAN。我们使用对应作者提供的预训练模型来测试 Exposure 和 DPE,因为它们的性能优于我们重新训练的模型。此外,我们收集的 Flickr 数据集没有地面真实值,因此我们只能对其进行定性实验。从表 I 可以看出,与其他使用非配对数据训练的最先进图像质量增强方法相比,我们提出的 UEGAN 在 PSNR、SSIM 和 NIMA 等方面达到了最佳性能。
从表 I 中列出的实验结果可以得出以下结论:
1)我们提出的 UEGAN、DPE 和 Exposure 在定量比较中排名前三,并且在所有三个评估指标上均优于输入。具体而言,我们提出的 UEGAN 始终取得最佳性能。
2)与输入相比,CycleGAN 在 SSIM 和 NIMA 上的性能更差,这主要是由于生成结果中存在块效应伪影。
3)与 CycleGAN 类似,EnlightenGAN 在所有三个评估指标上的表现甚至比输入还要差,这可能是由于对比度发生了显著变化。
定性比较
除了在定量评估中的优越性外,我们提出的 UEGAN 方法在定性比较中也优于其他增强方法。如图 4-7 所示,从 MIT-Adobe FiveK 数据集中选择了四张具有代表性的测试图像进行视觉比较。可以观察到输入图像各不相同且具有挑战性,包括:1)图 4 (a) 是一个在正常光照条件下的户外场景;2)图 5 (a) 是一张湖面和建筑物曝光不足的风景图像;3)图 6 (a) 是一张带有小飞机的天空场景;4)图 7 (a) 是一张整体曝光不足且肖像细节较少的户外场景。与其相应的专家修饰版本(见图 4 (d) - 图 7 (d))相比,所有输入图像的视觉效果显著较差。附加结果见补充材料。
如图所示,我们获得了一些有趣的见解。首先,基于我们收集的 Flickr 数据集训练的 UEGAN 在所有方法中显示出最佳的视觉质量,生成了生动的颜色和清晰的纹理。此外,基于 MIT-Adobe FiveK 数据集训练的 UEGAN 在增强输入图像方面的结果也令人满意。其次,CycleGAN 在生成生动颜色方面效果较差,并且会导致块效应伪影,从而降低图像质量。相比之下,我们的方法生成了具有清晰细节和锐利结构的令人愉悦的视觉效果。第三,Exposure 是一种基于滤波的方法,往往会产生过饱和的结果并错误地去除纹理。然而,我们提出的 UEGAN 生成的结果自然且色彩还原良好。第四,EnlightenGAN 显著改变了对比度,但使得生成的图像显得沉闷。相反,我们提出的 UEGAN 能够生成令人满意的对比度和自然的外观,并具备适当的饱和度。最后,DPE 在结构和对比度增强方面产生了与我们的结果具有竞争力的效果,但可能生成不自然的结果。总之,我们提出的 UEGAN 生成了自然、令人愉悦的结果,具有令人满意的对比度、生动的颜色和清晰的细节,优于所比较的最先进方法,并与相应的专家修饰结果相当。
代码
为什么无监督进行模型验证还需要图像对
之所以进行验证时需要低质量图像和其对应的ground true,是因为代码中使用了PSNR、SSIM等评估标准。来评估生成图像与真实图像之间的相似度。这些指标需要有一个参考标准,即高质量的 ground truth 图像。