ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks 论文笔记
ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks 论文笔记
ESRGAN:增强的超分辨率生成对抗网络
论文地址:https://arxiv.org/abs/1809.00219
论文代码地址:https://github.com/xinntao/ESRGAN
1、介绍
超分辨率生成对抗网络(SR-GAN)[1]是一项开创性的工作,其能够在单图像超分辨率期间生成逼真的纹理。然而,虚幻的细节常常伴随讨厌的伪像。为了进一步增强视觉质量,我们充分研究了SRGAN的三个关键组成部分——网络架构、对抗损失和感知损失,并对每一个都进行了改进以取得增强SRGAN(ESRGAN)。
改进的地方:
(1)引入了没有批归一化的Residual-in-Residual Dense Block(RRDB)作为基本的网络构架单元
(2)引入了 relativistic GAN 的相关思想,判别器判断的是相对值而不是绝对值
(3)提出了一种改进的感知损失,使用激活之前的VGG特征来代替SRGAN中激活之后的VGG特征。从经验上我们发现调整之后的感知损失提供了更清晰的边缘和视觉上更令人满意的结果
2、提出的方法
我们的主要目标是提高SR的整体感知质量。在本节中,我们首先描述我们提出的网络架构,然后讨论判别器和感知损失的改进。最后,我们描述用于平衡感知质量和PSNR的网络插值策略。
图3: 我们采用SRResNet [1] 的基本体系结构,其中大多数计算是在LR特征空间中完成的。我们可以选择或设计 “基本块” (例如,残余块 [18],密集块 [34],RRDB) 以获得更好的性能。
2.1 网络架构
为了进一步改进SRGAN复原的图像质量,我们主要对生成器G的架构进行了两个修改:1)移除所有的BN层;2)用提出的残差套残差密集块(RRDB)替换原始的基本块,它结合了多层残差网络和密集连接,如图4所示。
图4:左:我们移除了SRGAN残差块中的BN层。右:RRDB块用在我们的更深模型中,β是残差尺度参数。
在不同的面向峰值信噪比(PSNR)的任务(包括SR[20]和去模糊[35])中,已经证实了移除BN层可以提高性能并降低计算复杂度。BN层在训练中使用一批数据的均值和方差对特征进行归一化,并在测试中使用整个训练集估计的均值和方差。当训练集和测试集的统计差别很大时,BN层趋向于引入令人不快的伪影并限制泛化能力。我们凭经验观察到,当网络较深且在GAN架构下训练时,BN层更可能带来伪影。这些伪影有时会在迭代中间和不同的设置下出现,违背了训练过程中对于稳定性能的需求。因此,我们为了稳定的训练和一致的性能移除了BN层。此外,移除BN层有助于提高泛化能力并降低计算复杂度及内存使用。
我们保留了SRGAN的高级架构设计(见图3),并使用了一个新颖的名为RRDB的基本块,如图4所示。基于观测,更多的层和连接总是可以提升性能[20,11,12],与SRGAN中的原始残差块相比,提出的RRDB采用了更深更复杂的架构。RRDB与[36]的不同在于我们在主路径中使用了如[11]的密集块[34],受益于密集连接其网络容量变得更高。
2.2 相对判别器
除了改进生成器架构之外,我们还在相对GAN[2]的基础上增强了判断器。不同于SRGAN中的标注判别器D,D估算输入图像x是真实自然的概率,相对判别器尝试预测真实图像xr比假图像xf相对更真实的概率,如图5所示。
图5:标准判别器和相对判别器的差异。
2.3 感知损失
我们还通过在激活之前而不是在SRGAN中实践的激活之后限制特征来开发更有效的感知损失Lpercep
使用激活层之前的特征有两个缺点:
(1)激活特征非常稀疏,尤其是在非常深的网络之后,稀疏的激活提供了弱监督,因此导致性能较差
(2)与真实图像相比,使用激活之后的特征也会导致重建亮度不一致
图6:图像“狒狒”激活之前和激活之后代表性的特征映射。随着网络加深,大多数激活之后的特征变得不活跃而激活之前的特征包含更多的信息。
2.4 网络插值
为了去除基于GAN方法中讨厌的噪声同时保持好的感知质量,我们提出了一种弹性有效的策略——网络插值。
提出的网络插值有两个优点。
首先,插值模型对于任何合理的α都能产生有意义的结果而不会产生伪影。
其次,不需要重新训练模型,就可以不断平衡感知质量和保真度。
3、 消融研究
为了研究提出的ESRGAN中每个组件的效果,我们逐渐修改基准的SRGAN模型并比较它们的差异。完整的视觉比较如图8所示。每一列表示一个模型,其配置在顶部。红色符号表明与前面模型相比的主要改进。详细讨论提供如下。
(1)移除BN。为了稳定和没有伪影的一致性能,我们首先移除了所有的BN层。它不会降低性能但会节省计算资源和内存使用。
(2)感知损失在激活之前。我们首先证实了使用激活之前的特征可以使重建图像的亮度更准确。
(3)RaGAN。RaGAN使用改进的相对判别器,证明了其有利于学习更清晰的边缘和更细致的纹理。
(4)具有RRDB的更深网络。具有提出的RRDB的更深模型可以进一步改善恢复的纹理。
图8: 用于显示ESRGAN中每个组件的效果的整体视频比较,每列表示一个模型,其配置位于顶部。红色标志表示与前一个模型相比的主要改进。
4、结论
我们提出了一种ESRGAN模型,它比以前的SR方法始终取得更好的感知质量。就感知指数而言,该方法在PIRM-SR挑战赛中获得了第一名。我们构建了一种包含一些没有BN层的RDDB块的新颖架构。此外,采用了包括残差缩放和较小初始化的有用技术,以促进提出的深度模型的训练。我们还介绍了使用相对GAN作为判别器,其学习判断一张图像是否比另一张更真实,引导生成器恢复更详细的纹理。此外,我们通过使用激活之前的特征增强了感知损失,它提供了更强的监督,从而恢复了更精确的亮度和真实纹理。