深度学习_GAN_SRGAN

一.超分辨率的定义

超分辨率技术(Super-Resolution)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都有重要的应用价值。

SR可以分为两类:

  1. 从多张低分辨率图像重建出高分辨率图像。
  2. 从单张低分辨率图像重建出高分辨率图像。

深度学习中主要是基于单张低分辨率的重建方法(Single Image Super-Resolution,SISR)。

SISR是一个逆问题,对于一个低分辨率图像,可能存在许多不同的高分辨率图像与之对应,因此通常在求解高分辨率图像时会加一个先验信息进行规范化约束。在传统方法中,这个先验信息可以通过若干成对出现的低-高分辨率图像的实例中学到。在深度学习中,神经网络直接学习低分辨率图像到高分辨率图像的端到端的映射函数。

二.SRGAN

SRGAN原理

生成器G通过低分辨率的图像生成高分辨率图像,由判别器D判断图像是由生成器G生成的,还是数据库中的原图像。当生成器G生成的图片让判别器D无法分辨的时候,那么图像的超分辨率就完成了。

SRGAN使用了感知损失(perceptual loss)和对抗损失(adversarial loss)来提升恢复出的图片的真实感。感知损失是利用卷积神经网络提取出的特征,通过比较生成图片经过卷积神经网络后的特征和目标图片经过卷积神经网络后的特征的差别,使生成图片和目标图片在语义和风格上更相似。

SRGAN网络结构

深度学习_GAN_SRGAN

深度学习_GAN_SRGAN

用均方误差优化生成网络中的SRResNet部分,能够得到具有很高的峰值信噪比的结果。

如果在训练好的VGG模型的高层特征上计算感知损失来优化SRGAN,并结合SRGAN的判别网络,能够得到的峰值信噪比虽然不是最高,但是具有逼真视觉的效果。

传统的方法使用的代价函数一般是最小均方差(MSE),即
深度学习_GAN_SRGAN

该代价函数使重建结果有较高的信噪比,但是缺少了高频信息,出现过度平滑的纹理。

SRGAN论文认为应当使重建的高分辨率图像与真实的高分辨率图像无论是低层次的像素值上,还是高层次的抽象特征上,还有整体概念和风格上,都应当接近。

文章中将代价函数改为:

深度学习_GAN_SRGAN

上式第一部分是基于内容的代价函数,第二部分是基于对抗学习的代价函数。基于内容的代价函数除了上述像素空间最小均方误差外,又包含了一个基于特征空间的最小均方误差,该特征是利用VGG网络提取的图像高层次特征,如下式所示:

深度学习_GAN_SRGAN

对抗学习的代价函数是基于判别器输出的概率:

深度学习_GAN_SRGAN

其中DθD()D_{\theta D}()是一个图像属于真实的高分辨率图像的概率。DθG(ILR)D_{\theta G}(I^{LR})是重建的高分辨率图像。

论文地址

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network