本文将对 ICCV2019 的 Oral 论文《RankSRGAN:Generative Adversarial Networks with Ranker for Image Super-Resolution》进行解读。这篇文章聚焦于利用生成对抗网络(Generative Adversarial Networks,GANs)解决单幅图像超分辨率重建(SISR)问题。
为了进一步改善超分辨率重建结果的视觉质量,PIRM2018-SR 挑战使用了如 PI、NIQE 和 Ma 等与人类评价等级高度相关的感知指标来评价重建的感知质量,但现有方法无法直接优化这些感知指标。为此,该文提出了带有排序器 Ranker 的超分辨率重建网络 --RankSRGAN,用感知指标优化生成器 G。
该方法首先训练一个可以学习感知指标行为的 Ranker,然后引入一个新的 rank-content loss(内容排序损失)来优化感知质量。最令人瞩目的是,该方法可以结合不同 SR 方法的优势来产生更好的结果。大量实验表明,RankSRGAN 在视觉效果方面取得了令人愉悦的效果,并在感知指标方面达到了最优的性能。
单幅图像超分辨率重建旨在从一幅低分辨率(LR)图像重建或生成一幅高分辨率(HR)图像。近期基于 CNN 的 SISR 研究逐渐增多,主要分为两类:一类是将 SR 视为重建问题,利用 MSE 作为损失函数以获得高 PSNR 值;另一类方法是将 SR 转换为图像生成问题,以获得更好的视觉质量。第二类方法能获得更加逼真的重建图像,该文就是研究这种感知 SR 方法。
感知 SR 方法面临的最具挑战性的问题是评估,依靠人类主观判断不可靠也不公平。为了解决这个问题,该文提出了许多与人类评价高度相关的无参考图像质量评估(NR-IQA)指标,例如 NIQE(相关系数 0.76)和 PI(相关系数 0.83),PIRM2018-SR 挑战已成功使用了这些指标。
但是这些 NR-IQA 指标大多数是不可微分的,例如它们包括手工特征提取或统计回归操作,因此无法用作损失函数来优化网络。
为了使感知指标能用于优化网络,进一步提高重建质量,作者提出了一个通用且可微分的模型 --Ranker,该模型可以模拟任何 NR-IQA 指标,并提供明确的目标(作为损失函数)以优化感知质量。Ranker 是一个孪生 CNN,它通过学习排序方法来模拟感知指标。
Ranker 与标准的 SRGAN 模型一起形成一个新的感知 SR 框架 --RankSRGAN(带有 Ranker 的 SRGAN)。所提出的框架还具有 rank-content loss(内容排序损失),用训练好的 Ranker 来度量输出图像质量,这样 SR 模型可以针对特定的感知指标稳定地优化。
图 1 显示了 RankSRGAN 的结果,它融合了 SRGAN 和 ESRGAN 的图像效果并获得了更好的 NIQE 得分(NIQE 值越小越好,PSNR 值越大越好)。作者进行了全面实验证明了所提出方法的有效性。总结本文的贡献有三点。(1)提出了一个通用的感知 SR 框架 --RankSRGAN,该框架可以利用不可微分的感知指标优化生成器,并实现了最先进的性能。
(2)本文首次利用其他 SR 方法的结果来构建训练数据集。所提出的方法结合了不同 SR 方法的优势,并产生了更好的结果。(3)所提出的 SR 框架具有高度的灵活性,并且在构造的不同数据集,感知指标和损失组合的情况下产生多种结果。
RankSRGAN 是在基于 GAN 的 SR 方法上建立的,它包含一个生成器和一个判别器。判别器网络区分是真实图像还是超分辨率重建的结果,训练生成器网络来愚弄判别器。
为了获得更自然的纹理,作者通过利用感知指标的先验知识为标准 SRGAN 增加额外约束,以提高输出图像的视觉质量。RankSRGAN 的整体框架如图 2 所示,主要包括三个阶段。阶段一:利用感知度量生成不同 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 生成视觉逼真的图像。
作者进行了全面的实验证明所提出方法的有效性。
1. 为了验证 Ranker 的有效性,作者比较了两种排序策略 -- 度量排序(metric rank,本文提出所使用的方法)和模型分类。实验证明了度量排序可以组合不同算法的优势,并超过单个算法的上界。
2. 作者用 DIV2K 数据集训练 RankSRGAN,在 Set14、BSD100 和 PRIM-test 测试不同算法的性能,评价指标有 NIQE、PI 和 PSNR(NIQE、PI 值越低表示视觉质量越好),测试结果如下表所示。在 NIQE 和 PI 两个指标上,本文的 RankSRGAN 都比 SRGAN 和 ERGAN 性能更好,重建图像感知质量的提升是以牺牲 PSNR 为代价的。
图 3 给出了不同方法重建的结果,RankSRGAN 重建的图像具有更真实的纹理而不会引入其它伪像。
针对超分辨率重建问题,本文提出 RankSRGAN 来优化面向感知指标的 SR 模型。关键思想是引入 Ranker,通过排序学习来学习感知指标的行为。RankSRGAN 可以结合不同 SR 方法的优势并产生更好的结果。大量的实验很好地证明了 RankSRGAN 是一个灵活的框架,可以在感知度量指标上取得最优的性能,并且能够恢复更逼真的纹理。