SRGAN

来源:互联网 发布:熊猫tv抢佛跳墙软件 编辑:程序博客网 时间:2024/06/06 20:26

SRGAN

以下内容将介绍Christian Ledig等人在2017年发表的文章[Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network]。该文讨论了生成对抗网络在超分中的应用方法。

em这片文章让我读下去的理由
在这片文章中,作者论证PSNR(峰值信噪比)不适合作为SR评判标准这一观点,因为高的PSNR并不能保证人对图片有好的视觉感受。为了使超分效果更接近人的视觉感受,作者采用了新的损失函数perceptual loss,是的,很独特。

虽然其实主要原因是小组汇报我必须要汇报这一篇……


目录

  • SRGAN
  • 目录
  • SRGAN的工作内容
  • 方法
    • 生成网络G网
    • 判别网络D网
    • Perceptual loss function
      • 内容损失
      • 对抗损失
  • 实验中的一丢丢


SRGAN的工作内容

Generative adversarial network (GAN) 由 G (generative) 网和D (Discriminator)网组成,附上原文传送门[>.<]。GAN所要完成的工作,原文举了个栗子:

G网是印假钞的人,D网是检测假钞的人。G的工作是让自己印出来的假钞尽量能骗过D,D则要尽可能的分辨自己拿到的钞票是银行中的真票票还是G印出来的假票票。

开始的时候呢,G技术不过关,D能指出这个假钞哪里很假。G每次失败之后都认真总结经验,努力提升自己,每次都进步。直到最后,D无法判断钞票的真假……

SRGAN的工作就是:
G网通过低分辨率的图像生成高分辨率图像,由D网判断拿到的图像是由G网生成的,还是数据库中的原图像。当G网能成功骗过D网的时候,那我们就可以通过这个GAN完成超分了。


方法

我们想要通过低分辨率的图像ILR生成一个高分辨率,超分辨图像ISR

ILR是高分辨率图像IHR的低分辨率副本。高分辨率图像全部来自于数据库。ILR是对IHR进行高斯滤波然后进行下采样得到的。其中下采样的系数是r(就是说,如果ILR大小是W×H×C,那么IHR大小就是rW×rH×CWH是宽和高,C是通道数)。

在GAN中,G网与D网之间是一场maxmin的博弈游戏,即如下公式:

这里写图片描述

SRGAN中,也同样是这样的博弈游戏。判别网络(D网)希望最大化判别出图片来自训练集还是生成网络(G网)生成的概率。生成网络则希望能尽可能蒙蔽判别网络。因此能得到如下公式:
这里写图片描述

emmmmmmm……写不下去的崩溃。

好了,我又来了。文章中说道,将生成网络训练为前馈CNN GθG,其中的参数θG通过优化一个特殊的损失函数lSR得到的,即:
这里写图片描述
损失函数后面再讲,先从生成网络开始。


生成网络(G网)

这里写图片描述
emmmmm把网络图放上来我就真的不知道该讲什么了,很想讲,自行看图……
在生成网络中,作者应用了分布相同的B残差块,每个残差块都有两个卷积层,卷积层后面加上batch-normalization,并用PReLU作为激活函数。卷积层的卷积核都是3×3,并有64个特征图。在这个网络里面,作者通过训练两个子像素卷积层来提高分辨率(就是图里倒数第二和倒数第三个大块块),这种方法来自[><]。

判别网络(D网)

这里写图片描述
网络放在这里了,请自行感受吧。


Perceptual loss function

这篇文章里,提出了perceptual loss这样一个损失函数,是为了弥补MSE(均方误差)造成细节缺失,在MSE基础上建模的。
作者将perceptual loss 函数lSR定义为内容损失(content loss)和对抗损失(adversarial loss)的和,即:
这里写图片描述
lSRX是内容损失函数,lSRGen是对抗损失。

内容损失

基于像素的MSE损失被定义为:
这里写图片描述
这是当前很流行的一种应用于超分的损失函数,因为这种方法能使结果得到良好的PSNR。然而作者通过请26位评判者打分的方式,证明高PSNR并不能带来良好的感官效果。因此作者基于多篇文章提出了视觉相似性的损失函数。
作者所选择的是基于VGG的内容损失。先基于预训练的19层VGG网络的ReLU激活层来定义损失函数。
这里写图片描述
图片来源于大佬[><],不行就删。
我们可以看到,作者是将内容损失表示为重构图像GθG(ILR)和参考图像IHR特征表示的欧氏距离。

对抗损失

作者基于训练样本在判别器上的概率定义了对抗损失:
这里写图片描述


实验中的一丢丢

在Goodfellow提出的原始GAN中,我们是训练k次D网,然后训练一次G网。在这里,我们仍然用这种结构,并将k取1。

好了我写完了,撒花完结……

原创粉丝点击