1.网络原理图
2.损失计算
感知损失函数由内容损失函数+对抗损失函数组成,SR代表超分辨率,LR代表低分辨率,HR代表高分辨率。
2.1.内容损失
像素级别的MSE损失计算如下:
虽然该损失能够有极高的峰值信噪比,但是通常缺乏高频内容,过于平滑。所以作者们基于VGG的RELU激活层定义了VGG Loss Function。表示从VGG-19网络的第J层卷积(激活后)的第i个最大池化层之前获取的特征图,然后我们将VGG损失定义为重构图像的特征表示
与参考图像
之间的欧式距离:
2.2.对抗损失
GAN的经典损失函数。D的函数是判断G生成的图像是否真实的概率分布。
D网络的损失=判定原图为“真”+判定生成图为“假”
G网络的损失=判定生成图为“真”+vgg损失(均方误差)+MSE损失(均方误差)
3网络结构
输入 | [1,96,96,3] | ||||
生成网络 SRGAN_g | 卷积层 | 第一层 | 卷积 | 卷积核3*3@64 s=1 | [1,96,96,64] |
激活 | Relu | ||||
残差网络层 | 第一层 | 卷积 | 卷积核3*3@64 s=1 | [1,96,96,64] | |
标准化 | |||||
卷积 | 卷积核3*3@64 s=1 | [1,96,96,64] | |||
标准化 | |||||
…> | …> | …> | …> | ||
第16层 | 卷积 | 卷积核3*3@64 s=1 | [1,96,96,64] | ||
标准化 | |||||
卷积 | 卷积核3*3@64 s=1 | [1,96,96,64] | |||
标准化 | |||||
残差网络层 | 第一层 | 卷积 | 卷积核3*3@64 s=1 | [1,96,96,64] | |
标准化 | |||||
卷积层 | 卷积 | 卷积核3*3@256 s=1 | [1,96,96,256] | ||
上采样层 | 上采样层 | SubpixelConv2d卷积 | [1,192,192,256] | ||
激活 | Relu | ||||
卷积层 | 卷积 | 卷积核3*3@256 s=1 | [1,192,192,256] | ||
上采样层 | 上采样层 | SubpixelConv2d卷积 | [1,384,384,256] | ||
激活 | Relu | ||||
卷积层 | 卷积 | 卷积核1*1@ 3 s=1 | [1,384,384,3] | ||
激活 | tanh | ||||
输出 | [1,384,384,3] |
[1,384,384,3] | |||||
判别网络 SRGAN_d | 卷积层 | 第一层 | 卷积 | 卷积核4*4@64 s=2 | [1,192,192,64] |
激活 | LRelu | ||||
第二层 | 卷积 | 卷积核4*4@ 128 s=2 | [1,96,96,128] | ||
标准化 | |||||
激活 | LRelu | ||||
第三层 | 卷积 | 卷积核4*4@ 256 s=2 | [1,48,48,256] | ||
标准化 | |||||
激活 | LRelu | ||||
第四层 | 卷积 | 卷积核4*4@ 512 s=2 | [1,24,24,512] | ||
标准化 | |||||
激活 | LRelu | ||||
第五层 | 卷积 | 卷积核4*4@ 1024 s=2 | [1,12,12,1024] | ||
标准化 | |||||
激活 | LRelu | ||||
第六层 | 卷积 | 卷积核4*4 @ 2048 s=2 | [1,6,6,2048] | ||
标准化 | |||||
激活 | LRelu | ||||
第七层 | 卷积 | 卷积核1*1 @ 1024 s=1 | [1,6,6,1024] | ||
标准化 | |||||
激活 | LRelu | ||||
第八层 | 卷积 | 卷积核1*1 @ 512 s=1 | [1,6,6,512] | ||
标准化 | |||||
激活 | LRelu | ||||
残差网络层 | 一层 | 卷积 | 卷积核1*1 @ 128 s=1 | [1,6,6,128] | |
标准化 | |||||
激活 | LRelu | ||||
卷积 | 卷积核3*3 @ 128 s=1 | [1,6,6,128] | |||
标准化 | |||||
激活 | LRelu | ||||
卷积 | 卷积核3*3 @ 512 s=1 | [1,6,6,512] | |||
标准化 | |||||
激活 | 激活 | LRelu | [1,6,6,512] | ||
全连接层 | 1 | 1 | |||
激活 | 激活 | sigmoid | 1 |