【事半功倍读论文】解读深度学习超分领域前沿论文Real-ESRGAN

像素损失:HR和输出的像素值差异
感知损失:
1、SRGAN:把HR和重构图同时放入训练好的权重固定的VGG网络,取vgg网络某一个卷积层的输出feature map,同时比较HR和重构图在feature map的差异
2、ESRGAN(2018):提出RRDB网络框架
3、realSR(cvpr 2020冠军):模拟HR到LR退化过程,模拟成一个卷积核加噪声的形式
本文分两部分:1、数据处理部分 2、训练和测试部分
1、数据处理:构建training data和test data数据对,构建同一场景LR和HR图像
HR到LR不只是下采样这么简单,还有一系列压缩,直接下采样不足以模拟现实生活从HR到LR的变化
本文training pairs的产生过程:
1、用不同的相机拍同一场景(iPhone3和iPhone13),一个画质低一个画质高,这样就形成了training pairs(费事)
2、cyclegan:用unpaired data生成paired data(效果不好)
3、blur kernels和noise patches组合,将高清图片生成对应低清图片(本文方法)
数据对构建部分
只用一个公式描述退化过程不够,不精确

二阶退化过程:描述HR到LR退化

现实生活中的噪声和伪影

模型部分
fig 4为生成器,fig 6为判别器

生成器讲解
1、pixel unshuffle 操作:图像的长和宽减小,同时增加通道数
2、第一个卷积的输出和RRDB后一个卷积的输出进行相加形成一个残差操作
3、上采样
鉴别器部分:输出不是0和1,而是和输入一样尺寸的分布

两方面改进
1、UNet:不仅要区别全局信息,还要获得局部纹理,Unet能更好保留局部纹理,Unet的下采样和上采样操作之间有连接,UNet的输出是每个像素的真实值,是一个和原图一样大的图,途中每个像素点值代表真实性的值,所以每一个pixel都能给一个很好的反馈
2、谱归一化
好处有两个:(1)增加训练的稳定性(2)减轻或锐化伪影
训练分为两阶段:先训练一个小网络,用这个网络权重作为整个大网络生成器(G)的初始化权重,然后再来训练整个大网络
(1)训练一个PSNR-oriented模型 使用L1损失(2)然后用PSNR-oriented模型作为生成器的初始化
real-esrgan+
在real-esrgan基础上加了一个训练技巧,把ground-truth锐化,可以增加输出图像的锐度,同时不引入额外伪影