文献阅读: ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks
文章地址: https://arxiv.org/abs/1809.00219
作者的项目地址: https://github.com/xinntao/ESRGAN
1. 简单介绍
这是一篇ECCVW2018的文章,并获得了PIRM-SR(Third Region)的冠军,作者是在SRGAN的基础上做了三点改进:
- 改进了生成器网络,在生成器中使用一种不带BN的Residual-in-Residual Dense Block (RRDB)模块,另外也使用了residual scaling (EDSR中已经使用了)smaller initialization (0.1MSRA)等策略。
- 引入了 relativistic GAN 的相关思想,判别器判断的相对值而不是绝对值。
- 提出了一种改进感受损失,在**函数之前使用特征。
2. 网络结构
2.1 生成器部分
作者是在SRGAN的基础上进行修改的,改进的部分主要就是其中的Basic Block部分。
和基础的版本相比,作者做了二个方面的改进:
- 去掉BN层
- 引入RRDB模块,引入了DenseNet的相关思想。
这样做的出发点是:
- 在基本的模块中去掉BN层可以提高网络的表现性能也可以减少计算量。也就是说BN层在训练的时候计算数据集的均值和方差,然后在测试的时候使用已经计算好的均值和方差。当训练数据和测试数据不是太相同的时候往往会引起不令人满意的伪影以及限制了生成器的表达能力。 我们从经验上发现当我们网络很深或者在使用GAN的框架的时候更容易产生伪影。为了训练的稳定以及减少稳定,所以我们移除了BN层。
- 通过DenseNets可以提高网络的 capacity 。
2.2 relativistic GAN
其实 relativistic GAN的思想也是很简单的,就是判别器判断的是相关的分数而不是绝对的分数。大家可以参考一下几篇参考文章做进一步理解:
1.The relativistic discriminator: a key element missing from standard GAN
2. 相对的判别器:现有GAN存在关键属性缺失
3. 你的 GAN 是不是少了什么?
4. RSGAN:对抗模型中的“图灵测试”思想
5. Saturating VS Non-Saturating Loss functions in GANs
2.3 改进感受损失
在**函数之前约束特征而不是在**函数之后。作者这里解释到,之前在SRGAN约束特征是在**函数之后,这样做有2个弊端:
- **的特征会变得很稀疏,尤其是在深层网络。
- 会导致重建图像和原始图像亮度不一致。
另外作者将原来的VGG损失替换成SR – MINC 损失,说是这个网络将更多的注意力集中在纹理上而不是物体上面。
2.4 网络插值
作者还提出了一种网络插值的策略,也就是在一个网络中包含了 PSNR-oriented network 还有 GAN-based network ,这样做的优点有2点:
- 模型插值可以在没有引入伪影的情况下产生有意义的结果。
- 我们可以平衡感受质量和数据保真项二步需要重新训练我们的模型。
3. 实验部分
3.1 评价指标
除了PSNR,还有另外一个评价指标,这是这个比赛使用的,也就是**perceptual index **, 定义:
perceptual index =,其中是Ma’s score,来源于Learning a No-Reference Quality Metric for Single-Image Super-Resolution, 来源于Making a “Completely Blind” Image Quality Analyzer
3.2 实验
作者首先给出了直接的视觉效果,另外也做了 Ablation Study,包含以下几个部分:
- 去掉BN
- 感受损失之前还是之后**
- RaGAN
- 更深的RRDB
- 不同的数据集
3.3 补充材料
包含:
- BN对网络伪影的影响。
- 深层网络的训练策略
- 不同的数据集以及patch size对性能表现的影响
- 更多的视觉表现