前言
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network源自于2017年的CVPR,将GAN的内容引入到超分辨率(SR)中,其中有许多的创新点值得学习研究。
论文地址:https://arxiv.org/abs/1609.04802
一、总述
由低分辨率(LR)图像预测它的高分辨率(HR)图像这一高难度任务被称之为超分辨率(Super-Resolution,SR)。目前使用深度卷积神经网络在单个图像实现超分辨率在速度和精度上取得了突破,但是仍然存在一个核心问题:当在放大因子下的超分辨率时,如何恢复细小的纹理细节?
基于这些问题:
(1)文中提出了一种用于图像超分辨率的生成对抗网络SRGAN
(2)并且根据对抗生成网络的结构提出了一种新的视觉损失( perceptual loss),其中包含对抗损失(adversarial loss)和内容损失(content loss)。
(3)并且对于生成的图像进行MOS(mean-opinion-score)评价
二、网络结构
1.生成器
(1)在训练SRGAN的生成器网络过程中需要提供HR的图片,首先对HR图片进行下采样得到相应的LR图片,然后将LR图片作为生成器的输入,训练生成器,使之输出对应的HR图片,所以生成器这里的输入输出是很好理解的。
(2)作者提出用深度残差网络(ResNet)作为生成器的生成对抗网络,网络结构中存在很多的skip connection。因为更深层次的网络框架很难训练,但是可以大大提高网络的精度,所以这里作者引入了残差模块及跳连接。
2.判别器
为了区分真实的HR图像还是生成的HR图像,训练了一个判别器(如下图),使用了LeakeyReLU作为激活函数,避免使用了max-pooling。
网络层数从64到512,后面连接两个全连接层和一个sigmoid层,用来判断是否为同一图像的概率。
三、损失函数
1、生成器判别器损失
2、感知损失函数
本文设计的感知损失函数(Perceptual loss function)是该算法的有效保证,其中又可以拆分为内容损失(content loss )和对抗损失( adversarial loss)。
(1)内容损失
大部分用来做图像超分辨率的算法都是采用MSE作为损失函数进行优化,由于MSE的计算是求平均,MSE可以提高峰值的信噪比,但同时也会丢失一部分的高频信息,导致图像出现模糊的情况。
因此作者重新定义了以预训练19层VGG网络的ReLU激活层为基础的VGG loss:
ϕi,j表示VGG19网络当中第i层maxpooling层后的第j个卷积层得到的特征图谱。
Wi,j和Hi,j分别表示VGG网络中特征图谱的维度。
VGG loss是重构图像和参考图像的特征图的欧式距离
(2)对抗损失
文中将GAN中生成器对视觉损失的影响通过对抗损失来体现,这部分损失函数使我们的网络通过“欺骗”判别器从而生成更接近自然图像的图像。
DθG(GθG(ILR)) 表示的是判别器将生成器生成的图像GθG(ILR)判定为自然图像的概率。
三、实验结果
在MOS(平均意见得分)上的得分:
总结
每一次写一篇都是为了让自己有更深的思考,当然也希望你们能读懂。
总结一下,本文使用了生成对抗网络实现图像的超分辨率,解决了在放大因子下的超分辨率恢复细小的纹理细节问题。作者 提出了这种SRGAN的网络,并且根据生成网络的结构提出了一种新的损失函数。并且使用了MOS验证了SRGAN的优秀,用数学的方法做了一定的比较。
自己理解的可能有些偏差,有问题欢迎指正!
参考文献
[1]https://blog.youkuaiyun.com/c2a2o2/article/details/78930865
[2]https://blog.youkuaiyun.com/Aaron_wei/article/details/76862038
[3]https://blog.youkuaiyun.com/happyday_d/article/details/85462378