在以往的训练网络中用一般均方差作为损失函数,虽然能够获得很高的峰值信噪比,但是恢复出来的图像通常会丢失高频细节,使人不能有好的视觉感受。SRGAN利用感知损失(perceptual loss)和对抗损失(adversarial loss)来提升恢复出的图片的真实感。感知损失利用卷积神经网络提取出的特征,通过比较生成图片经过卷积神经网络后的特征和目标图片经过卷积神经网络后的特征的差别,使生成图片和目标图片在语义和风格上更相似。SRGAN的工作原理是:G网通过低分辨率的图像生成高分辨率图像,由D网判断拿到的图像是由G网生成的,还是数据库中的原图像。当G网能成功骗过D网的时候,那就可以通过这个GAN完成超分辨率了。
用均方误差优化SRRes Net(SRGAN的生成网络部分)能够得到具有很高的峰值信噪比的结果。在训练好的VGG模型的高层特征上计算感知损失来优化SRGAN,并结合SRGAN的判别网络,能够得到峰值信噪比虽然不是最高,但是具有逼真视觉效果的结果。SRGAN网络结构如图7-10所示。
在生成网络部分(SRResNet)包含多个残差块,每个残差块中都包含两个3×3的卷积层,卷积层后接批规范化层和PRe LU作为激活函数,两个2×亚像素卷积层(sub-pixel convolution layer)被用来增大特征尺寸。判别网络部分包含8个卷积层,随着网络层数的加深,特征个数不断增加,特征尺寸不断减小,选取激活函数为Leaky ReLU,通过两个全连接层和最终的Sigmoid激活函数得到预测为自然图像的概率。SRGAN的损失函数为
图7-10 SRGAN网络结构图
其中,内容损失可以是基于均方误差的损失函数:
(www.zuozong.com)
其中i和j表示VGG19网络中从第i个最大池化层中的第j个卷积层得到的特征。对抗损失为
最终的实验结果表明,用基于均方误差的损失函数训练SRResNet,得到的结果具有很高的峰值信噪比,但是会丢失一些高频部分细节,图像比较平滑。而用SRGAN得到的结果则有更好的视觉效果。其最终的效果如图7-11所示。
图7-11 SRGAN的最终效果图
图7-11中,第一行表示原始的图像,分辨率为512×512,第二行为输入的图像(即对原始影像进行下采样得到的),分辨率为128×128,第三行表示SRGAN处理的结果。从结果可以看出,SRGAN能够实现图像的4倍超分辨率,具体单张图片详细对比如图7-12所示。从图7-12中可以看出,对比低分辨率的图片,在生成出来的超分辨率图片中,蜜蜂的整体图片均有较好的提升,特别是背部绒毛、腹部和腿部均有较好的纹理提升,和原图相比一些细微纹理还无法较好地还原,主要原因是训练叠加的次数有限和训练集数据量偏少。
图7-12 单张图片效果对比图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。