论文阅读笔记-Real-World_Super-Resolution_via_Kernel_Estimation_and_Noise_Injection

论文阅读笔记-Real-World_Super-Resolution_via_Kernel_Estimation_and_Noise_Injection

KernelGan提取下采样核

KernelGan github地址

解决问题

通过学习图像的内部分布生成的降采样核,可以避免使用理想的下采样核(bicubic downsampling)得到的LR图像训练出的SR模型,应用到现实数据时,模型性能会急剧下降。

网络结构

算法细节

生成器


生成器是多层线性网络(不加激活函数),根据输入的图像下采样两倍(或多倍)。六层全卷积网络前三层的kernel size分别为7 5 3,最后三层均为1。整体的网络结构的感受野相当于是在原图像上作13×13的卷积后得到的下采样图。最后将所有的卷积核卷积成一个SR kernel,就是KernelGan提取的下采样核。

生成器的训练过程要将生成的假数据label打为true,欺骗判别器我生成的是真实数据,迫使判别器增强自己的判别能力。同时加入了四个先验约束:
loss function = GanLoss + R

判别器

判别器学习图像中的像素的概率分布。使用全卷积的Patch Discriminator,输出一个heap map来判断原图每一个7×7的patch真假概率分布。loss function无先验约束R。

判别器试图正确分类真实数据和生成器生成的假数据,以迫使生成器提升自己的生成能力更好的欺骗判别器。
loss function = 1/2(GanLoss_true + GanLoss_false)

生成器、判别器源码
kernelGAN.py
loss.py

本文细节

本文中使用KernelGan提取下采样核,并对loss function做了简单修改:

利用kenel进行downsampling操作:

Noise Injection

对于特定数据集给定一个Min_Mean和Max_Var,将大于Min_Mean、小于Max_Var的image patch的定义为noise patch并提取出来。并将它加在downsampling操作后的图像上:(随便选取kernel和noise patch):

kernelGan+noise 算法流程图


通过kernelGan和noise injection计算出n和k,并对I_HR使用n和k生成I_LR,得到(LR,HR)图像对。

Clean 操作

将I_src进行bicubic downsampling生成I_HR

RRDB(Residual in Residual Dense Block)


取消了BN,同时将Residual Block和Dense Block结合在一起。
RRDB github源码

SR-Model

生成器:RRDB
判别器:patch discriminator
generator loss function = pixel loss(L1)+ perceptual loss(VGG19)+ adversarial loss
discriminator loss function = adversarial loss(detach G 避免BP)

网络结构&总结

  1. 对real image做bicubic downsampling得到的I_HR
  2. 对real image做kernelGan和提取noise patch,并随机引用这些kernel和noise得到I_LR
  3. 通过SRGAN进行训练,Generator网络结构为RRDB,Discriminator网络结构为patch discriminator
    loss_Generator为pixel loss(L1) + feature loss(vgg19) + adversal loss
    loss_Discriminator为adversal loss
文章目录
  1. 1. 论文阅读笔记-Real-World_Super-Resolution_via_Kernel_Estimation_and_Noise_Injection
    1. 1.1. KernelGan提取下采样核
      1. 1.1.1. 解决问题
      2. 1.1.2. 网络结构
      3. 1.1.3. 算法细节
      4. 1.1.4. 本文细节
    2. 1.2. Noise Injection
    3. 1.3. kernelGan+noise 算法流程图
    4. 1.4. Clean 操作
    5. 1.5. RRDB(Residual in Residual Dense Block)
    6. 1.6. SR-Model
    7. 1.7. 网络结构&总结
|