Abstract:
具有生成对抗网络的单图像超分辨率由于其具有产生丰富细节的潜力而备受关注。但是GAN的训练过程具有不稳定性,在生成细节的同时也会产生在感官上令人不舒服的伪影。在此篇论文中作者证明了可以训练基于GAN的SISR模型,该模型在可以稳定地生成在感官上更为逼真的细节的同时也会抑制伪影的生成。基于观察到的伪影区域的局部统计(例如残值方差)通常不同于感知较好的区域,作者开发了一个用来区分GAN网络生成的伪影和真实细节的框架,并因此生成伪影映射图来规范和稳定模型的训练过程。 作者所提出的局部判别学习模型(LDL)简单有效,可以很容易地插入到现成的SISR方法并且提高他们的性能。实验数据表明LDL方法要优于目前最先进的基于GAN网络的SISR模型,此方法在合成数据集和真实数据集中不仅达到了更高的在线精准度还实现了更好的感知质量。
Intro:
SISR的目的是从低分辨率的图像(LR)重建高分辨率的图像(HR)这是低层次计算机视觉的一个热点和具有挑战性的话题。为SISR训练深度神经网络已经变得很普遍,而许多基于DNN的SISR模型是使用像素级L1和L2损失,和/或基于局部窗口的指标进行训练的。例如SSIM。尽管这些损失可能会导致较高的PSNR和SSIM指数,但是他们几乎无法产生丰富的图像细节。随着生成对抗网络的快速发展,基于GAN的SISR因其具有去恢复具有丰富细节的图像的潜力而备受关注。尽管已经取得了巨大的进步,但是对抗训练并不稳定并且经常产生一些视觉上不好的伪影。由于用户大多期望在SISR结果中获得丰富而逼真的细节,因此如何在不影响逼真细节的情况下抑制GAN-SR的视觉伪影成为关键问题。然而,细节和伪影经常纠缠在图像的高频部分中。因此,在现有框架下,优化其中一个往往会损害另一个。为了解决上述挑战,作者深入研究了GAN-SR方法,并将其结果分为三种典型类型的区域,如图1所示:
具体来说,A 类patches(例如,平坦的天空、长边)很容易重建,因为它们是光滑的或仅包含大型结构。相比之下,对于 B 类和 C 类patches,很难产生高保真的SISR 结果,因为它们具有很多精细的细节,并且在梯度下降过程中存在信号混叠,其中大部分高频分量都丢失了。然而对于类似纹理的B类patches(例如,动物毛皮,远距离的树叶),由于它们的像素是随机分布的,因此,SR结果和真实值之间的差异对人类感官来说差异不大,在视觉上重建效果要好。因此,在这些区域中通过GAN-SR模型生成的丰富细节可以带来更好的感知质量。但是,C类patches (例如,细树枝,建筑物中的密集窗户) 包含许多精细的规则结构或相邻像素之间的尖锐过渡。通过GAN-SR模型生成的失真结构和过冲像素很容易产生伪影。
在上述分析中,可以看出要想获得感知上更为逼真的SISR结果,应当抑制C类区域的伪影,而前两类则需要保留更多的部分。为了实现这一目标,作者通过分析这三种类型的GAN-SR区域的局部统计数据发现SISR结果和真实HR图片的局部残差可以作为区分伪影和真实细节的指标。因此,作者基于局部和patch级残差方差构建一个按像素排列的映射,标志出每个像素为伪影的概率。作者通过模型集成策略进一步细化判别图,以鼓励稳定和准确的优化方向朝向高保真重建。作者设计了一个局部判别学习(LDL)框架在被改良图上惩罚伪影而不影响其真实细节。
综上所述,本文首先分析了GAN-SR的结果和模型训练的不稳定性。然后,作者建议明确区分视觉伪影和真实细节,并设计一个 LDL 框架来规范对抗训练。此方法简单而有效,并且可以很容易地插入现成的 GAN-SR 模型中。它提供了一种新颖的方法来抑制 GAN-SR 中的伪影,同时生成丰富的逼真细节。作者对合成和现实世界的 SISR 任务进行了广泛的实验,并且 LDL 框架在数量和质量上都显示出与现有技术相比的明显改进。
Methodology:
GAN-SR induced visual artifacts:
大部分GAN-SR模型是使用三种损失的加权组合进行训练的。其中,L recons 表示的是像素级重建损失,例如L1 L2距离。L percep是感知损失,用于测量VGG特征空间中的特征距离,L adv表示对抗性损失。
在先前的SR-GAN中,仅仅使用L recons 损失将会导致所有可能的HR图像的平衡模糊,而L adv对抗性损失可以使SISR解决方案远离模糊的平均值,从而产生更多的细节,但是除了产生了更多的细节之外,GAN-SR模型还产生了许多在感知上令人不快的伪影。图二展示出了GAN-SR模型的可能优化方向。中间的patch是通过使用L1loss预训练SISR模型获得的,而红色和黄色框则是在加入对抗性损失进行更新后可能得到的结果。而黄色框内的图片显然要比红色框内的图片更加清晰,这是由于训练过程的不稳定所造成的,即生成细节的同时也可能会产生伪影。
正如在图一中所讨论的情况一样,在不同的图像区域之间情况可能不同。为了能够更好地理解GAN-SR模型是如何在图像的不同区域产生视觉伪影的,作者在图三中展示出了三种patches类型的示例。对于A类patch其LR版本中保留了大规模结构并且HRpatch可以以良好的保真度和感知质量被轻松复制。对于类纹理的B类patch,尽管它不是像素级准确的重建,但是GAN-SR输出的感知质量还不错。这主要是因为类纹理的patches中的像素通常随机分布在相对较小的范围内,因此人眼很难感知到像素级的差异。正相反,C类patches具有规则且急剧的过渡,而局部图案在退化后会在LRpatch中丢失。差异很大和甚至相互矛盾的目标会使得对抗训练过程不稳定,并且在GAN-SR结果中那些不自然不规则的图案很容易被视为伪影。
图三,是GAN-SR模型在三种类型上得到的结果。其中LR patches是从HR patches中用2X2平均池化得到的。从图中可以看出,平滑大尺度的A类可以很好的reproduced,类纹理的B类也可以reproduced,C类由于精细但规则的结构被破坏,所以在GAN-SR模型产生的结果中会出现令人在感官上不舒服的伪影。
在图四中,作者也研究了三类patches的训练稳定性。其中判断稳定性好坏与否的依据是MAD。即两次不同迭代过程中GAN-SR所输出中间值的差值的绝对值。可以看出,A类patch的训练过程是最稳定的,B类变化较大,表明优化过程中的不确定性比较高。C类具有最大的变化性和最高的不稳定性。
Discrimination artifacts form realistic detiles:
此图是生成伪影映射图的过程可视化。从左到右依次为:GAN-SR方法的输出图像;真实图;真实图与GAN-SR输出的残差绝对值;计算局部残差所得到的初步映射图;添加了尺度因子的映射图(尺度因子是基于全局残差计算的稳定patch级方差);进一步细化的映射图;需要保留部分的映射图。
在3.1节的研究结论中,作者认为要抑制C类patches的生成,保留A类和B类patches 的生成。为此,作者设计了一个像素级的map去区别真实细节中的伪影同时去稳定GAN-SR模型的训练过程。
分辨伪影:I_SR 是一张RGB图像,尺寸为H*W*3,论文期望得到一个 M∈ℜH×W×1的map,M(i,j)表示I_SR(i,j)像素为伪影的概率。由于伪影和细节都属于高频图像分量,作者首先计算真实图像I_HR和SISR结果I _SR之间的残差来提取高频分量。这个公式得到的R是三通道的,但论文目的是生成一个一维的,在代码中可以看出,最终的R是对三个通道求和得到了一个通道的残差。如图五的第三列所示,平滑类型的patchA中的大部分像素都具有非常小的残差。B类和C类patch都具有较大的残差,而patchB中的残差分布则更加随机。通过观察,伪影通常是由过程像素值组成,因此作者计算残差图R的局部方差作为主映射来指示伪影像素。其中var表示方差算子,n表示局部窗口大小,凭经验设置n = 7。
利用公式(3)求得的每一个像素值以自身为中心,n-1/2为半径的方差,按照实验推荐n=7,即计算M时每一个像素值是以该像素为中心,7*7为范围的方差。
如图 5 的第 4 列所示,映射图M 可以有效地检测到 patch C 中的伪影像素。但是由于局部方差是用非常小的感受野计算的,因此从边缘和纹理中区分伪影是不稳定的。patch A 和 B 中的一些像素也会有较大的响应,从而对真实细节的生成造成错误的惩罚。为了解决这个问题,作者进一步从整个残差图 R 计算出一个稳定的patch级方差 σ。
var(R)表示全局方差,1/a来缩放全局方差来寻找一个合适的scale。论文中a = 5。一般来说,A类patch的σ 值小于B类和C类patch,通过使用σ 来将映射图M缩放为σ ·M,可以获得更为可靠的伪影图。如图五第五列所示,patchA和B的过度惩罚问题得到解决,而patchC中的伪影仍然可以被识别。
稳定和完善:尽管伪影映射图σ·M可以区分不同类型的patch中的伪影,但是它依旧可能会过度惩罚patchC中的真实细节,并略微地惩罚patchA和B中高保真细节的生成,尤其是在早期训练阶段。为了缓解这一问题,作者进一步稳定了训练过程并细化了伪影映射图。
具体来说,用 Ψ 表示通过动态梯度下降优化的 GAN-SR 模型,作者使用指数移动平均 (EMA) 技术在时间上从 Ψ 集成一个更稳定的模型 Ψ_EMA,其中 α 是加权参数。与Ψ相比,Ψ_EMA更可靠地减轻随机伪影的产生。与 EMA 的现有技术一样,我们设置 α = 0.999。(由于GAN Loss的网络不稳定性,EMA简单来说就是将每次训练的参数进行一个滑动平均,当前迭代所得的网络参数仅占一部分,这样不会引发由于某次的不稳定而造成结果的不稳定。)
使用 Ψ_EMA,我们可以进一步完善伪影映射图σ ·M,以减少在优化过程中对真实细节的损失。用I_SR1 = Ψ(I_LR) 和I_SR2 = Ψ_EMA(I_LR) 表示两个GAN-SR模型的输出。通常,集成模型的输出 (即I_SR2) 具有很少的伪像,而I_SR1可能同时包含更多的细节和伪像。然后,我们通过以下方式计算两个残差映射R1 = I_HR − I_SR1和R2 = I_HR − I_SR2,并且通过公式6来微调伪影映射图 σ ·M。
在 I_SR1 的残差小于 I_SR2 的位置,模型 Ψ 朝着正确的方向更新,不应受到惩罚。图五的最后两列中,精细纹理和期望边缘的位置被从细化的伪影图中去除,从而可以对伪影像素施加更精确的惩罚。
Loss and learning strategry:
作者根据被细化的伪影映射图M_refine提出了伪影辨别损失函数L_artif。最终的loss为式八所示,其中 β为权重参数。实验中被初始化为1。
LDL模型的流程图。低分图片输入后,进入两个模型:上面是普通通过梯度下降训练的模型,下面是在上面模型的基础上利用EMA技术暂时集成的一个更稳定的模型。低分图片经过这两个模型进行处理之后的输出I_SR1、I_SR2与真实图片一起构造伪影映射图,并根据伪影映射图构造伪影损失,再加上GAN-SR模型的损失一起构成了LDL模型的损失。最后利用LDL模型的损失对Ψ进行优化,并将Ψ 的参数暂时继承到Ψ_EMA中,整个过程一直迭代直到收敛。
Experimental results:
实验设置:
骨干网络和比较模型:作者在三个具有代表性的骨干网络上进行了LDL模型的有效性验证。SRResNet 是一个轻量级网络,作者将 SRResNet+LDL 与参数数量相当的 SRGAN 和 SFTGAN进行比较。RRDB 网络因其具有竞争力的性能而被广泛用于最近的 GAN-SR 模型中。作者将 RRDB+LDL 与 都是使用RRDB为主干的ESRGAN 、USRGAN、SPSR 进行比较。最近,SwinIR网络通过使用Swin Transformer结构在SISR中取得了不错的表现,因此作者分别使用LDL损失函数和GAN损失函数分别去训练SwinIR并且比较它们的性能。作者通过将 LDL 应用于 RealESRGAN 进一步验证了真实世界 SISR 的 LDL,并将获得的 RealESRGAN+LDL 模型与 RealESRGAN 和 BSRGAN 模型进行比较。
训练数据集与设置:在现有的技术中,作者在合成(使用MATLAB双三次内核进行下采样)和真实世界的实验中都以四倍的比例因子进行实验。作者还使用与ESRGAN中相同的数据增强,鉴别器和优化器设置,并且在包含有800张图片的DIV2K数据集或包含有3450张图片的DF2K数据集上对模型进行训练,真实图像的分辨率为128x128。作者使用 PyTorch 在 4 个 NVIDIA GTX 2080Ti GPU 上进行了实验,每个 GPU 的批量大小为 16。使用预训练的面向保真度的模型来初始化生成器,并计算合成和真实世界设置的感知损失,学习率为 1e-4,训练迭代次数为 300k。
模型评估基准和指标: 作者采用 6 个基准进行评估,包括 Set5 、Set14 、Manga109 、General100、Urban100 和 DIV2K100 。并且在感知质量和重建精度方面比较了 GAN-SR 结果。对于前者,采用 LPIPS 、DISTS 和 FID 作为指标。 LPIPS 和 DISTS能过很好地评估 GAN-SR 结果 ,并且 FID 被广泛用于评估图像生成任务中的图像感知质量 。对于后者,作者计算 YCbCr 空间中 Y 通道上的 PSNR 和 SSIM 指数。
与最先进的方法进行比较:
定量比较: 表 1 定量比较了最先进的 GAN-SR 方法和LDL。表中可以看出 LDL 方案在所有三个主干网络(即 SRResNet、RRDB 和 SwinIR)下的大多数基准上都提高了感知质量(LPIPS、DISTS、FID)和重建精度(PSNR、SSIM)。
Table1 GAN-SR 模型与 LDL 之间的定量比较。基于所采用的主干网络进行了三组比较:前 3 列的类似 SRResNet 的主干,中间 5 列的 RRDB 主干和最后 2 列的 SwinIR 主干。每组的最佳结果以粗体突出显示。 ↑ 和 ↓ 分别表示分数越大或越小越好。
具体来说,对于三个轻量级模型,SRResNet+LDL 在大多数基准上的感知质量指标 LPIPS、DISTS 和 FID 上优于 SFTGAN 和 SRGAN,并且在所有基准上的重建精度(例如 PSNR)上都优于 SFTGAN 和 SRGAN。
对于基于CNN的主干网络RRDB,分别在DIV2K和DF2K上训练GANSR模型,以使其与竞争模型保持一致。在三种竞争模型中,SPSR在感知质量指标方面表现最好,因为它受益于额外的网络分支来恢复图像的梯度图。通过明确区分伪影并规范对抗训练,LDL实现了针对SPSR的改进,例如,在DIV2K100验证集上从0.1099到0.1011 (约8%) 的lPIPS。USRGAN集成了基于学习和基于模型的策略,因此在三种竞争模型中实现了最佳的重建精度。与USRGAN相比,LDL不仅在所有基准上实现了更好的重建精度,而且还提高了感知指标。这验证了LDL可以同时抑制视觉伪影并以高保真度生成更多细节。
对于基于Transformer的主干网络SwinIR,表中看到SwinIR+L_GAN在感知质量和重建精度方面都优于基于CNN的模型,证明了基于Transformer的GAN-SR架构的潜力。正如预期的那样,SwinIR+LDL在大多数基准测试中进一步改进SWINIR+L_GAN,体现出了LDL在不同网络架构上的泛化能力。
定性比较:在图7中对使用了RRDB主干网络的GAN-SR模型们进行了视觉上的比较。也可以得出一定量比较相似的结论。与ESRGAN 、USRGAN和SPSR相比LDL所产生的视觉伪影要少得多,特别是在具有精细混叠结构的区域中。此外,通过正则化对抗训练过程,LDL能够以高保真度重建更多的细节,例如具有规则图案的区域(窗户上的线和桥上的网格)这些改进使得LDL成为提高图像质量的实用GAN-SR解决方案。
应用于现实SISR任务:
为了展示LDL的泛化能力,作者将其应用到了真实世界的SISR任务。与合成LR图象上的SISR相比,真实世界中的LR图像面临着更多的未知情况和更复杂的退化。将 L_artif 损失引入 RealESRGAN模型并保持所有其他设置不变以训练RealESRGAN +LDL 模型。由于没有真实情况,在图 8 中显示了与 RealESRGAN 和 BSRGAN 的定性比较。从密集窗口区域可以看出,RealESRGAN 引入了令人不快的伪影,而 BSRGAN 产生了相对平滑的结构。相比之下, LDL 抑制伪影的产生并鼓励清晰的细节。在树枝区域,LDL 由于能够准确区分开伪影和细节从而改进了精细细节的生成。
消融实验:
作者进行消融研究以调查LDL方法中主要成分的作用,包括伪影主映射图M,添加尺度因子的映射图,进一步细化的映射图M_refine和EMA模型。#1 给出了不使用上述任何操作时的基线性能。通过在#2 中引入 M,我们可以观察到感知质量和重建精度的明显性能提升。这证明了在 GAN-SR 中明确区分和惩罚视觉伪影的有效性。 #3 中的 σ·M 和#4 中的 M_refine 的使用都进一步提高了性能。最后,通过在#5 的测试期间使用稳定的 EMA 模型 Ψ_EMA,实现了预期的更多性能提升。
局限性:
尽管所提出的LDL可以有效地提高SISR输出的感知质量和重建精度,但在区分严重混叠区域的视觉伪影方面仍然存在一些局限性。以图7的最后一行为例,在得到的结果中,密集的窗口周围仍然存在一些伪影。在本文中,作者阐述了GAN-SR模型是如何产生伪影的,并提出了解决此问题的简单尝试,同时也相信存在更有效的伪影区分和细节生成设计。
Conclusion:
在本文中,作者分析了基于GAN的SISR方法中视觉伪影是如何产生的,并提出了一种局部判别学习(LDL)策略来解决这个问题。在GAN-SR模型训练过程中,精心设计了一个区分视觉伪影和真实细节的框架,并生成了一个伪影图,以在不牺牲真实细节的情况下明确惩罚伪影。所提出的LDL方法可以很容易地插入到不同的现成的GAN-SR模型中,用于合成和真实世界的SISR任务。在广泛使用的数据集上的大量实验表明,LDL在定量和定性方面都优于现有的GAN-SR方法。