论文笔记——ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks

基本信息

标题:ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks
简称:ESRGAN
时间:2018年初版,1 Sep 2018, ECCV2018 PIRM Workshop
作者:Xintao Wang, Ke Yu, Shixiang Wu, Jinjin Gu, Yihao Liu, Chao Dong, Chen Change Loy, Yu Qiao, Xiaoou Tang; CUHK-SenseTime Joint Lab, SIAT-SenseTime Joint Lab, The Chinese University of Hong Kong, Nanyang Technological University
论文:https://arxiv.org/abs/1809.00219
代码:https://github.com/xinntao/ESRGAN

主题内容

方法:

在这里插入图片描述

ESRGAN是基于SRGAN做出一系列的改进得到的,全称是Enhanced SRGAN。主要改进有以下几点:

(1)对于网络结构,①提出了Residual-in-Residual Dense Block(RDDB)结构,提升了网络容量,使得训练更容易。②去除了网络中的BN层,使用residual scaling和smaller initialization,能够促进训练一个非常深的网络。

(2)优化判别器,使用Relativistic average GAN(RaGAN),能够学习“一张图是否比其他图更真实”,而不仅仅是“一张图是真还是假”。实验表明这个改进能够帮助生成器恢复更多的真实纹理细节。

(3)不再像SRGAN一样使用那些激活层后的VGG特征来计算感知损失,而是使用激活层前的特征来计算。实验发现该改动能够提供更多sharper edges和更视觉效果好的结果。

(4)其他:为了平衡 visual quality 和 RMSE/PSNR,论文提出使用网络插值策略,能够得到连续性的重建风格和光滑程度。同时和常用的图像插值方式做了对比。网路插值方法其实就是训练一个PSNR指标导向的网络G_PSNR,然后微调出一个GAN-based网络G_GAN。对两个模型的参数进行插值:
在这里插入图片描述

网络结构:

在这里插入图片描述
在这里插入图片描述
ESRGAN基于SRGAN的基础上,做出两大改动,其一是移除所有的BN层,其二是将原始的RB替换成RRDB。其次还是用了residual scaling和smaller initialization两个策略。

损失函数设计:

(1)将标准判别器替换为Relativistic average Discriminator RaD,标记为D_Ra。
在这里插入图片描述

SRGAN中使用的标准判别器:
在这里插入图片描述

ESRGAN中使用的RaD:
在这里插入图片描述

其中 E x f [ ⋅ ] \Bbb{E}_{x_f}[·] Exf[]表示使用小批量中的所有假数据的均值。
判别器损失函数:
在这里插入图片描述

生成器的对抗损失(与判别器是对称形式):
在这里插入图片描述

其中 x f = G ( x i ) x_f = G(x_i) xf=G(xi) x i x_i xi是输入的LR图。

(2)感知损失 Perceptual Loss

论文发现使用SRGAN中的激活层后的VGG特征来计算感知损失,会有两个问题:

①激活层后的特征比较稀疏,只能提供弱监督,会导致较差的表现。

②会造成与GT不一致的重构光照。
在这里插入图片描述

(3)总损失函数

生成器的总损失函数:
在这里插入图片描述

其中 L 1 = E x i ∣ ∣ G ( x i ) − y ∣ ∣ 1 L_1=\Bbb{E_{x_i}}||G(x_i)-y||_1 L1=ExiG(xi)y1是content loss,用于评估恢复图 G ( x i ) G(x_i) G(xi)与GT之间的1范式距离。 λ , η \lambda,\eta λ,η是平衡不同损失函数的系数。

训练细节:

(1)通过使用MATLAB的bicubic核方法对HR进行下采样得到LR。小批量尺寸设置为16,裁剪得到的HR patch尺寸为128*128。

(2)训练分为两个阶段,第一阶段先用L1 loss训练一个PSNR导向的模型,学习率初始化为2e-4,衰减系数为每2e5个mini-batch折半。第二阶段使用得到的模型作为初始化的生成器,使用式(3)中的损失函数进行微调,权重 λ = 5 ∗ 1 0 − 3 , η = 1 ∗ 1 0 − 2 \lambda=5*10^{-3}, \eta=1*10^{-2} λ=5103,η=1102,学习率设为1e-4,在[50k, 100k, 200k, 300k] 迭代数处学习率折半。

分阶段训练的好处在于①能够避免生成器陷入局部最优,②通过预训练,判别器能够在每次开始时得到相对好的图而不是极端假的图。

(3)使用 β 1 = 0.9 , β 2 = 0.999 \beta_1=0.9, \beta_2=0.999 β1=0.9,β2=0.999的Adam。使用23个RRDB模块。
(4)使用PyTorch框架,使用NVIDIA Titan Xp GPUs。
(5)数据使用DIV2K数据集、Flickr2K数据集、 OutdoorSceneTraining (OST)数据集。实验表明使用过拥有更多纹理的更大的数据集,能够使生成器生成更自然的结果。数据增强方案有随机水平翻转和90度旋转。评估数据集选用Set5、Set14、BSD100、Urban100、PIRM自验证集。

评估标准:

(1)PSNR
(2)Percpetual Index
在这里插入图片描述

亮点:

(1)移除BN层
(2)设计得到RDDB模块
(3)使用relativistic GAN作为判别器
(4)使用residual scaling和smaller initialization策略
(5)修改感知损失计算方法,使用激活层前特征计算
(5)网络插值

应用场景:

未提及

不足:

未提及

其他补充:

(1) PIRM-SR Challenge比赛中用到的评估标准perceptual quality(感知质量)是non-reference measures of Ma’s score and NIQE,
例如perceptual index = 12((10-Ma)+NIQE),更低的perceptual index代表更好的感知质量。
(2) 感知损失提出是为了通过最小化特征空间而非像素空间的误差来增强视觉质量的。
(3) 失真度量PSNR和SSIM本质上与人眼主观感觉不一致。
(4) BN层在训练时使用一个batch的均值和方差对特征进行归一化,在测试时使用整个训练集上得到的均值和方差进行计算。当训练集和测试集在统计特性上有很大出入时,BN层将引入瑕疵并限制泛化能力。

版权说明

本文为原创文章,独家发布在blog.csdn.net/TracelessLe。未经个人允许不得转载。如需帮助请email至tracelessle@163.com
在这里插入图片描述

参考资料

[1] 论文《ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks》
[2] 代码 ESRGAN

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: ESRGAN是增强型超分辨率生成对抗网络的缩写,它是一种深度学习模型,用于将低分辨率图像转换为高分辨率图像。它使用生成对抗网络(GAN)的方法,通过训练生成器和判别器来提高图像的质量。ESRGAN是目前最先进的超分辨率算法之一,它可以生成更加真实、细节更加丰富的高分辨率图像。 ### 回答2: ESRGAN是一种增强超分辨率生成对抗网络(Enhanced Super-Resolution Generative Adversarial Networks)的算法,它采用了图像增强技术和深度学习的方法,可以将低分辨率(LR)的图像转化为高分辨率(HR)的图像。该算法主要的贡献在于,它可以生成更加逼真的HR图像,从而更好地应用于实际的图像处理领域。 该算法主要是由两个子模型组成的,一个是生成模型(Generator),另一个是判别模型(Discriminator)。生成模型通过学习HR图像和相应的LR图像之间的关系,生成更加逼真的HR图像。而判别模型则评估生成模型生成的HR图像是否真实,从而提高生成模型的准确度。 ESRGAN算法采用特殊的损失函数,即感知损失和自适应增强损失,来优化生成模型。感知损失通过VGG网络来计算生成模型和HR图像之间的差异,以此来调整生成模型的参数。自适应增强损失则用于动态调整生成模型的输出图像的细节层次,使生成模型产生更加真实的输出图像。 ESRGAN算法在图像增强领域取得了显著的成果,其生成的HR图像质量要比先前的SRGAN算法有了很大的提升。因此,ESRGAN算法在实际应用中具有广泛的前景,可以为图像处理领域提供更加高效、准确和可靠的方法。 ### 回答3: ESRGANEnhanced Super-Resolution Generative Adversarial Networks)是一种利用深度学习算法进行图像超分辨率的技术。其主要思路是基于GAN模型,通过训练一个生成器去从低分辨率图像生成高分辨率图像,同时以高分辨率的真实图片为样本来训练判别器模型,使其能够区分出生成器生成的图像是否为真实高清图像。 ESRGAN相对于传统的超分辨率算法,具有以下几个优点: 1.超分辨率效果更好。传统的超分辨率算法往往是基于一些数学模型进行插值运算,因此往往会出现图像模糊、失真等问题。而ESRGAN能够通过深度学习算法学习到更加准确的纹理特征,从而可以生成更为真实的高清图像。 2.可扩展性更强。ESRGANGAN模型可以通过增加网络深度、增加训练数据等方式对模型进行优化,从而提高图像超分辨率效果。 3.针对性更强。ESRGAN可以针对不同种类的图像进行训练,从而能够对各种类型的图像进行超分辨率处理,具有广泛的适用性。 4.易于应用。ESRGAN训练出的模型可以很方便地应用到实际生产环境中,对于需要进行图像超分辨率处理的应用场景具有很大的帮助作用。 虽然ESRGAN在图像超分辨率方面具有较为突出的优势,但其也存在一些缺点和挑战。比如需要大量的高清图像数据用于训练,需要考虑到训练时间和计算资源的问题;还需要解决一些局部纹理复杂的图像超分辨率问题。总之,ESRGAN是一种非常有潜力的图像超分辨率算法,将有助于推动图像处理技术的进一步发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracelessLe

❀点个赞加个关注再走吧❀

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值