RankSRGAN阅读笔记_ranksrgan

1. 摘要

生成对抗网络(GAN)已经证明了恢复单图像超分辨率(SISR)的真实细节的潜力。 为了进一步提高超分辨率结果的视觉质量,PIRM2018-SR Challenge采用感知矩形来评估感知质量,例如PI,NIQE和Ma。 论文针对现有的方法不能直接优化一些无差异的感知度量问题,引入一个新的rank-content loss(内容排序损失)来优化感知质量,提出了具有Ranker(RankSRGAN)的超分辨生成对抗网络。在感知度量方向上优化生成器并生成更加自然的纹理。最吸引人的部分是所提出的方法可以结合不同SR的优势。 产生更好结果的方法。 大量实验表明,RankSR-GAN实现了视觉上令人愉悦的结果,并在感知指标中达到了最先进的性能。

 ​

2. 介绍

单图像超分辨率旨在从低分辨率(LR)观察重建/生成高分辨率(HR)图像(超分辨综述)。由于强大的学习能力,卷积神经网络(CNNs)已经证明了优于传统的基于实例的和基于插值的算法的性能。最近基于CNN的方法可以分为两组:


  • 第一个将SR视为重建问题,并采用MSE作为损失函数来实现高PSNR值。
    存在的问题:由于重建精度和视觉质量之间的冲突,它们倾向于产生过度平滑/锐化的图像。为了获得更好的视觉质量;
  • 第二组将SR视为图像生成问题。通过结合感知损失和对抗性学习,这些感知SR方法有可能产生逼真的纹理和细节。

感知SR方法面临的最具挑战性的问题是评估。大多数相关工作依靠用户研究来主观评估视觉质量。但是,如果没有像PSNR / SSIM这样的客观度量,很难在公平平台上比较不同的算法,这在很大程度上阻碍了它们的快速发展。为了解决这个问题,提出了许多无参考图像质量评估(NR-IQA)指标,其中一些被证明与人类评级高度相关,如NIQE (相关性0.76)和PI (相关性0.83)。特别地,PIRM2018-SR挑战引入了PI度量标准作为感知标准并成功地对条目进行了排名。然而,这些NR-IQA指标中的大多数都不是可微分的(例如,它们包括手工特征提取或统计回归操作),因此无法用作损失函数来优化网络。在不考虑优化中的NR-IQA度量的情况下,现有的感知SR方法在客观感知标准的方向上不能表现出稳定的性能。

为了克服这个障碍,使感知指标能用于优化网络,进一步提高重建质量,作者提出了一个通用且可微分的模型–Ranker,该模型可以模拟任何NR-IQA指标,并提供明确的目标(作为损失函数)以优化感知质量。Ranker是一个孪生CNN,它通过学习排序方法来模拟感知指标。Ranker与标准的SRGAN模型一起形成一个新的感知SR框架–RankSRGAN(带有Ranker的SRGAN)。所提出的框架还具有rank-content loss(内容排序损失),用训练好的Ranker来度量输出图像质量,这样SR模型可以针对特定的感知指标稳定地优化。下图显示了RankSRGAN的结果,它融合了SRGAN和ESRGAN的图像效果并获得了更好的NIQE得分(NIQE值越小越好,PSNR值越大越好)。

RankSRGAN阅读笔记_GAN_02

作者进行了全面实验证明了所提出方法的有效性。总结本文的贡献有三点。


  1. 提出了一个通用的感知SR框架–RankSRGAN,该框架可以利用不可微分的感知指标优化生成器,并实现了最先进的性能。
  2. 本文首次利用其他SR方法的结果来构建训练数据集。所提出的方法结合了不同SR方法的优势,并产生了更好的结果。
  3. 所提出的SR框架具有高度的灵活性,并且在构造的不同数据集,感知指标和损失组合的情况下产生多种结果。

3. 研究方法

3.1 网络框架

RankSRGAN是在基于GAN的SR方法上建立的,它包含一个生成器和一个判别器。判别器网络区分是真实图像还是超分辨率重建的结果,训练生成器网络来愚弄判别器。为了获得更自然的纹理,作者通过利用感知指标的先验知识为标准SRGAN增加额外约束,以提高输出图像的视觉质量。RankSRGAN的整体框架如下图所示。

RankSRGAN阅读笔记_ranksrgan_03

3.2 网络概述

RankSRGAN主要包括以下三个阶段:


  • 阶段一:利用感知度量生成不同SR方法的重建图像,获得rank数据集。 首先在公开的SR数据集上生成不同SR方法的超分辨率重建图像;然后在生成的图像上应用选定的感知指标(例如NIQE),之后选出内容相同的图像组成图像对(即相同图像经不同SR方法得到的HR图像组成的图像对),并根据感知指标计算出的图像质量得分对图像对进行排序。最后就获得了成对图像和对应的排序标签(标签的分配规则是:最好的NIQE值标记为1,即重建质量好的、NIQE值低的用1标记)。
  • 阶段二:训练Ranker。Ranker采用孪生网络结构来学习感知指标的行为,Ranker具有两个相同的网络分支,其中包含一系列的卷积、LeakyReLU激活、池化和全连接层。在特征提取器之后使用全局平均池化GAP层,这样网络可以摆脱输入大小的限制。为了得到排序得分,使用一个全连接层作为回归器来量化排序结果。注意这里并不是预测感知指标的实际值,而是只关注排名信息。最后,两个分支的输出构成margin-ranking loss,这样我们可以计算梯度并应用反向传播来更新整个网络的参数。训练好的Ranker应该具有根据图像感知得分对图像进行排序的能力。
  • 阶段三:训练重建网络RankSRGAN,判别器D的损失与SRGAN中的相同,生成器G的总损失包含三部分:感知损失、对抗损失和rank-content loss。其中rank-content loss由阶段二用训练好的Ranker给出,是本文方法新引入的损失函数,能使标准SRGAN生成视觉逼真的图像。

以上各个阶段都比较容易理解,唯一问题在于train ranker时,如何将离散的排名信息作为label传给网络,在ranker过程中,将两张图片和对应排名信息分别输入到孪生网络的两个input处,网络可以映射得到图像的质量得分,而后将质量得分m与排名得分s制定规律:

RankSRGAN阅读笔记_超分辨率_04

loss采用排序问题中常用的margin-ranking loss,margin设置为0.5:

RankSRGAN阅读笔记_计算机视觉_05

那么ranker网络便可以通过优化下式进行,并能够指导stage3中超分辨模型在给定的指标(NIQE)上进行优化:

RankSRGAN阅读笔记_数据集_06

4. 实验

在实验中,作者准备rank数据集时分别使用SR-ResNet,SRGAN和ESRGAN三种方法在DIV2K和Flickr2K数据集上生成成对图像:

RankSRGAN阅读笔记_计算机视觉_07

以NIQE作为指标进行排序并输入Ranker网络,训练好的Ranker网络要保留权重作为rankloss加到SRGAN里,SRGAN的总loss为:

RankSRGAN阅读笔记_GAN_08

最终实验结果展示:

RankSRGAN阅读笔记_GAN_09

RankSRGAN阅读笔记_ranksrgan_10

在NIQE和PI指标上结果是很好的,视觉看来也不错,作者还进行了ablation study,分别对rank数据集的来源(即得到hr图像的方法),排序指标,分类或者回归问题以及srgan中各个loss的意义进行了研究,具体不进行详述,总的来说就是目前作者选用的方法都是最好的。

5. 总结

针对超分辨率重建问题,本文提出RankSRGAN来优化面向感知指标的SR模型。关键思想是引入Ranker,通过排序学习来学习感知指标的行为。这个通过rank把不可微的指标融进网络的方法很精妙,不止针对超分辨,去噪去模糊甚至图像分类分割问题都可以考虑这种做法。 RankSRGAN可以结合不同SR方法的优势并产生更好的结果。大量的实验很好地证明了RankSRGAN是一个灵活的框架,可以在感知度量指标上取得最优的性能,并且能够恢复更逼真的纹理。