SRGAN的阅读笔记

SRGAN的网络结构如图所示:

github pytorch实现源码:https://github.com/ai-tor/PyTorch-SRGAN

上周末将SRGAN论文阅读了一遍,细节很多,结合源码今天做个总结

本文在生成器中使用了SRResnet的残差块架构,每个残差块中包含两个3*3卷积层,Conv后跟BN层,采用PRelu作为激活函数,然后使用两个Pixelshuffler层来放大特征尺寸,最后使用一个3×3卷积层得到输出3通道图像。

在辨别器后用了8个卷积层,每个Conv后跟BN层,采用LeakyRelu作为激活函数,论文里最后用两个全连接层和最终的sigmoid激活函数得到预测为自然图像的概率,代码中使用的激活函数为Sigmoid函数,并在最后使用FCN代替了原始论文中的FC层。

LeakyReLU和PReLU的区别:https://blog.csdn.net/qq_23304241/article/details/80300149

PS:SRGAN的纹理更多,可能更适合处理纹理多的图片。

生成器的Loss计算公式为:

SRGAN的阅读笔记_第1张图片

在生成器中的content loss有两种Loss的选择,一种是平常使用的MSE损失,采用这种损失最后生成的图像PSNR值高但细节并不好

SRGAN的阅读笔记_第2张图片

一种是VGG19的Loss,采用这种损失最后生成的图像细节较好但数据指标较低。

SRGAN的阅读笔记_第3张图片

训练网络的过程为:

1.使用MSEloss预训练一个生成器

2.正式开始训练SRGAN,将各级loss清零,初始化label,并分别为真假label赋值

3.第一遍G生成图和真图一起输入D,然后在D中进行判别,训练D

4.再次训练G,循环往复

你可能感兴趣的:(SRGAN的阅读笔记)