尽管我们已经利用更快更深的卷积神经网络(CNN)突破了单一图像超分辨率的速度和精度,但有一个中心问题仍没有完美解决:当对放大很多倍的图像进行超分辨率时,我们该如何更好的恢复图像的纹理细节?
以最优化思想为基础的超分辨率方法主要受到目标函数的驱使,最近的一些相关项目均以最小化平均方差重建误差为目标,这样得到的结果有很大的信噪比,但是往往图像会缺失高频细节并且视觉效果很差。
因此,作者提出了SRGAN,这是第一个对放大四倍自然图像做超分辨率的框架。为了实现这个框架,作者提出了由adversarial loss和content loss组成的perceputal loss function。adversarial loss由判别器生成,使我们生成的图像更加接近自然图像。content loss由图像的视觉相似性生成,而不是像素空间的相似性。并且本文的深度残差网络可以从深度降采样的图像恢复逼真的纹理。作者采用mean-opinion-score(MOS)测试作为图像效果的评判,最后的测试结果表明采用SRGAN获得的图像的MOS值比采用其他顶级的方法获得的图像的MOS值更加接近原始的高分辨图像。
超分辨率(SR)指的是由低分辨(LR)图像生成高分辨(HR)图像的技术,SR受到计算机视觉领域的持续关注并且已经有了广泛的应用。
目前被大多人采用的以最优化目标函数为基础的监督SR算法存在缺失图像高频纹理细节的问题,使生成的图像很模糊。这种算法大多以均方误差(MSE)为目标函数进行优化,在减小均方误差的同时又可以增大信噪比(PSNR)。但是MSE和PSNR值的高低并不能很好的表示视觉效果的好坏。正如在下面图片表现出的,PSNR最高并不能反映SR效果最好。
因此,作者提出以深度残差网络(ResNet)作为生成器的生成对抗网络,与以往不同的是,ResNet的优化目标不止MSE,还有VGG网络与判别器构成的perceptual loss.
在训练SRGAN网络的过程中需要提供HR图片,作者首先对HR图片进行降采样得到LR图片,然后将LR图片输入,训练生成器,使之生成对应的HR图片。训练生成器的过程与训练前馈CNN一样,都是对网络参数 θG 进行优化,如下所示:
需要注意的是在这里用的是perceptual loss— lSR
进一步,作者定义了判别器 DθG ,如同跟Following Goodfellow提出的GAN网络一样,生成器和判别器交替优化下面这个式子:
网络结构如图所示
perceptual loss的定义对于生成器的表演十分关键,通过对content loss和adversarial loss分别赋予权重,得到下式:
Content loss
大部分用来做图像超分辨率的算法都用MSE作为损失函数来进行优化,可以得到很高的信噪比,但是这样的方式产生的图像存在高频细节缺失的问题。
因此,作者定义了以预训练19层VGG网络的ReLU激活层为基础的VGG loss:
ϕi,j 表示VGG19网络当中第i层maxpooling层后的第j个卷积层得到的特征图谱。
Wi,j 和 Hi,j 分别表示VGG网络中特征图谱的维度。
Adversarial loss
作者将GAN中生成器对perpetual loss的影响通过adversarial loss体现出来。这一部分损失函数使我们的网络通过“欺骗”判别器从而偏向生成输出更接近自然图像的输出。
这里, DθG(GθG(ILR)) 表示的是判别器将生成器生成的图像 GθG(ILR) 判定为自然图像的概率。
MOS平均意见得分
这里表现的人眼对于图像效果的评价
final networks