ESRGAN阅读笔记

  • 从三个地方入手修改了SRGAN:
    • 网络结构
    • adversarial loss
    • perceptual loss
  • 网络结构主要是引入了RRDB的结构,并且去掉了BN层,使用residual scaling和smaller initialization,就是residual在加的时候乘一个小于1的系数,在w初始化的时候用更小的varience
  • adversarial loss是把discriminator 修改为Relativistic average GAN:在这里插入图片描述公式是这样的: D R a ( x r , x f ) = σ ( C ( x r ) − E x f [ C ( x f ) ] ) D_{Ra}(x_r, x_f ) = σ(C(x_r) − E_{x_f} [C(x_f )]) DRa(xr,xf)=σ(C(xr)Exf[C(xf)]) E x f E_{x_f} Exf是指在一个minibatch的fake data里面取均值, σ ( ⋅ ) σ(·) σ()是一个sigmoid function,所以对discriminator和generator来说,loss分别是在这里插入图片描述
  • perceptual loss是把原先比较activation function后的feature map改为比较activation层之前的feature map,而且探索了把VGG从分类任务的pretrained变成recognition任务的pretrained,认为这样的VGG更注重纹理,虽然只获得了微小的margin
  • BN层去掉是因为如果test和train有不同的分布,会引入不合理的纹理,去掉效果更好,一般SR和debluring都会去掉
  • 最终的loss是这样的 L G = L p e r c e p + λ L G R a + η L 1 L_G = L_{percep} + λL^{Ra}_G + ηL_1 LG=Lpercep+λLGRa+ηL1其中 L 1 = E x i ∣ ∣ G ( x i ) − y ∣ ∣ 1 L_1=E_{x_i}||G(x_i) − y||_1 L1=ExiG(xi)y1,是SR和GT差的L1norm
  • 提出一种network interpolate的方法,即先用PSNR-orentied的loss训练出来一个generator,在此基础上再用上本论文提出的ESRGAN的模型去finetune它得到另一个状态下的参数,并对这两个generator参数进行插值可以得到一系列的网络参数,分别对应从平滑到sharp的SR模型参数。其实还有另外两种方法来获得这个效果,一个是对两个模型生成的图片直接进行插值,但是结果有噪声和模糊,另一个是对loss函数的超参数值进行插值,但是这样太costly
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值