当前位置:   article > 正文

ESRGAN_esrgan的训练

esrgan的训练

Enhanced Super-Resolution Generative Adversarial Networks https://arxiv.org/pdf/1809.00219.pdf                   code: https://github.com/xinntao/ESRGAN ECCV2018

在SRGAN的升级之处:

1、Residual-in-Residual Dense Block (RDDB) 
residual scaling 和 smaller initialization:见论文和code
2、判别器: Relativistic average GAN (RaGAN):judge “whether one image is more realistic than the other”

3、improved perceptual loss:VGG在激活前的feature

4、further:网络权重的插值

补充:什么是Relativistic average GAN (RaGAN):https://zhuanlan.zhihu.com/p/40403886

percpecture index是什么 和percpecture loss的关系:,percpecture是第三部分的VGG

 

1、Residual-in-Residual Dense Block (RDDB) 

文章用了两套生成器,第一套是16 residual blocks

第二套是23 RRDB blocks

residual scaling(EDSR里面也有)
smaller initialization(initial parameter variance becomes smaller更容易训练)
 

2、 Relativistic Discriminator

 
 
损失函数:
最后Lg设置为
 
λ = 5 × 10^ 3
η = 1 × 10^ 2
code:
 
 
 
 
 
作为对比,SRGAN的损失函数:
 

Ld=

Lg=

 

3、improved perceptual loss

激活后太稀疏,大多数都没有被激活。

VGG采用的是ReLU激活函数,说明特征图里面很多是负的。

4、Network Interpolation

融合PSNR-oriented 的fidelity 和 GAN的perceptual quality。

α设置为0.2

注意,是网络参数的reweight,而不是两个网络最后结果的图像进行像素的reweight,实验表明 效果⑧行

code: 后期手动进行调整测试

  1. net_PSNR = torch.load(net_PSNR_path)
  2. net_ESRGAN = torch.load(net_ESRGAN_path)
  3. net_interp = OrderedDict()
  4. print('Interpolating with alpha = ', alpha)
  5. for k, v_PSNR in net_PSNR.items():
  6. v_ESRGAN = net_ESRGAN[k]
  7. net_interp[k] = (1 - alpha) * v_PSNR + alpha * v_ESRGAN
  8. torch.save(net_interp, net_interp_path)

 

5、训练过程:只做了x4

cropped HR patch is 128 × 128:大图语义信息丰富

②训练PSNR-oriented model: L1loss, lr=2*10^-4, 200000 iter 减半   ?没说总共多少epoch

③训练GAN lr=1×104 and halved at [50k, 100k, 200k, 300k] iter

 

6、消融实验/选α的效果实验

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/238552
推荐阅读
相关标签
  

闽ICP备14008679号