论文全称:《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial》
论文地址:https://arxiv.org/abs/1609.04802
论文作者:Ledig C, Theis L, Huszar F, et al.
摘要:
尽管我们在单一图像超分辨率的速度和精度上利用更快更深的卷积神经网络(CNN)有了一定的突破了,但有一个中心问题尚未解决解决:当对放大很多倍的图像进行超分辨率时,我们如何能够更好的恢复图像的纹理细节? 以最优化思想为基础的超分辨率方法主要受到目标函数的影响,最近的一些相关项目都集中在最小化平均方差重建误差上,这样得到的结果有较高的峰值信噪比,但是往往图像会缺失高频细节并且视觉效果不理想,无法达到超分辨率的预期效果。 因此,在本文中作者提出了SRGAN,一个为image super-resolution(SR)的generative adversarial network (GAN)。这是第一个对放大四倍真实自然图像做超分辨率的框架。为了实现这个框架,作者提出了由adversarial loss和content loss组成的感知损失函数(perceputal loss function)。adversarial loss由判别器生成,使我们生成的图像更加接近真实自然图像。content loss由图像的视觉相似性生成,而不是利用像素空间的相似性。并且深度残差网络可以从深度下采样的图像中恢复出真实的图像纹理。作者采用平均主观意见分(MOS mean-opinion-score)测试作为图像效果的评判准则,最后的测试结果表明采用SRGAN获得的图像的MOS值比采用其他顶级的方法获得的图像的MOS值更加接近原始的高分辨图像。
先展示下它的强大重建结果:
Introduction
超分辨率(SR)指的是由低分辨(LR)图像生成高分辨(HR)图像的技术,SR受到计算机视觉领域的持续关注并且已经有了广泛的应用。
目前有监督的超分辨率算法的优化目标函数通常是最小化恢复的高分辨率图像和实物图像的均方误差(MSE),在减小均方误差的同时又可以增大峰值信噪比(PSNR)。但是MSE和PSNR值的高低并不能很好的表示视觉效果的好坏。传统的方法一般处理的是较小的放大倍数,当图像的放大倍数在4以上时,很容易使得到的结果显得过于平滑,而缺少一些细节上的真实感。
如图2所示,最高的PSNR值并不一定对应SR效果更好的超分辨率结果。
从左到右:(双三次)立方体插值,优化MSE的深度残差网络,深度残差生成对抗网络优化人类感知更为敏感的损失,原始高分辨率图像.对应的PSNR和SSIM(结构相似性)值在括号中显示。
因此,作者提出一个超分辨率生成对抗网络SRGAN。以深度残差网络(ResNet)作为生成器的生成对抗网络,与以往不同的是,ResNet的优化目标不止MSE,还有VGG网络与判别器构成的perceptual loss(感知损失)。它可以促使方案很难区分出高分辨率参考图像。一个超分辨率实感图像样例如图1所示.
1.建立了以PSNR和结构相似性(structural similarty,SSIM)为评判标准的SRResNet来对放大4倍的图像做超分辨率。用16块深度ResNet来优化MSE.
2.提出的SRGAN以perceptual loss为优化目标,我们用VGG网络特征图谱的损失函数取代了以MSE为基础的content loss。
3.MOS测试在3个数据库上SRGAN都不错的效果。
GAN 有两博弈的对手:G(generator)和D(discriminator),容易想到一种可能的方案是:G的输入是低分辨率图像(LR),输出应该是高分辨率图像(HR)。
在训练SRGAN网络的过程中需要提供HR图片,作者首先对HR图片进行下采样得到LR图片,然后将LR图片输入,训练生成器,使之生成对应的HR图片。训练生成器的过程与训练前馈CNN一样,都是对网络参数
作者定义了判别器 DθG,如同跟Following Goodfellow提出的GAN网络一样,生成器和判别器交替优化下面这个式子:
网络结构
作者改进并设计了一个损失函数,以感知上的相关特征来评价一个方案。我们制定的感知损失作为content loss (内容损失)的加权和及一个对抗损失分量:
大部分用来做图像超分辨率的算法都用MSE作为损失函数来进行优化,可以得到很高的信噪比,但是这样的方式产生的图像存在高频细节缺失的问题。
因此,作者定义了以预训练19层VGG网络的ReLU激活层为基础的VGG loss:
表示VGG19网络当中第i层maxpooling层后的第j个卷积层得到的特征图谱。W ij和H ij分别表示VGG网络中特征图谱的维度。
对抗损失 adversarial loss
作者将GAN中生成器对perpetual loss的影响通过adversarial loss体现出来。这一部分损失函数使我们的网络通过“欺骗”判别器从而偏向生成输出更接近自然图像的输出。
这里,表示的是判别器将生成器生成的图像
判定为自然图像的概率。
作者在3个被广泛试用的基准数据集 Set5,Set14,BSD100,上进行实验.所有实验在低分辨率和高分辨率图像间的4倍系数上进行.这相当于在图像像素上降低16倍.为了对比公正性,所有的PSNR[dB]和SSIM测量在enter-cropped (中心剪裁)的y 通道上计算,在每条边界上移除4像素宽的条带。
所有网络都是在NVIDIA Tesla M40 GPU上训练的,用一组350000张图像的随机样本,图像来自ImageNet 数据集。这些图像与测试图像不同。我们通过下采样HR图像来获得LR图像,用下采样系数r=4的bicubic kernel。对每个mini-batch,剪裁16个不同训练图像的96*96的子图(随机)。注意,我们可以把生成器模型应用到任意大小的图像上,因为它是全卷积的。用的Adam来最优化,用学习率=0.0001和用10^6次更新迭代来训练SRResNet networks 。当训练真实的GAN时,用训练好的基于MSE的SRResNET network 作为生成的的初始化,从而避免出现局部最优。所有的SRGAN变量经过10^5次更新迭代训练(学习率=0.0001),另外进行了学习率=0.00001,迭代次数为10^5的训练.我们交替更新生成器和判别器网络,相当于Goodfellow等人用到的k=1。我们的生成器网络有16个相同的残差块(B=16)。在测试时,我们我们turn batch-normalization off 来获得一个确定只依赖于输入的输出。
我们作者进行了MOS测试来量化不同方法重构感知上令人信服的图像的能力。具体来说,我们要求26个评分者对超分辨率图像打分,分数为从1(bad quality)到5(excellent quality)的整数.评分者对Set5,Set14 ,BSD100数据集上的每张图像打12个版本的分数(以下12个算法产生的图像):
nearest neighbor (NN),bicubic,SRCNN ,SelfExSR,DRCN, ESPCN,SRResNet-MSE,SRRes Net-VGG22(not rated on BSD100), SRGAN-MSE,SRGAN-VGG22,SRGAN-VGG54 and the original HR image.
因此每个评分者评价了1128个例子(19张图片的12个版本+100张图片的9个版本),这些例子以随机的方式呈现。
评分者在来自BSD300训练集的20个图像的NN(评分1)和HR(5)版本上校准。在初步研究中,我们通过将一个方法的图像放入两次以到一个更大的测试集,来评估来自BSD100的10张图像的子集上的26个评分者的校准过程和重测可靠性。作者发现可靠性良好,并且相同图像的评分之间没有显著的偏差.如图5所示:
MOS测试的实验结果总结在表1,表2和图5中。