Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读

StackGAN: Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读

  • 关于StackGAN这篇论文,从阅读到理解还有代码前前后后弄了不短的时间,下面主要是介绍一下这篇论文以及自己对此论文的个人见解,如有不对的地方欢迎指正修改,在此说谢谢了。大家都说这篇ICCV 2017的文章没有什么大的创新,但是效果很好。这里我不做评价。
  • 对于用GAN生成高分辨率的图片的主要困难是自然图片和应用模型的分布在高维像素空间不重合。在这篇文章之前即使使用目标的额外注释信息,也只能生成128 x 128的图片。而StackGAN克服了这个困难,不使用额外信息也能生成256 x 256的图片。下图是这篇论文的核心原理图。
  • 整个的结构主要分为Stage-I GAN 和Stage-II GAN
    • Stage-I GAN
    • Stage-II GAN
    • Conditioning Augmentation,CA
    • 实验结果
  • 参考文献

关于StackGAN这篇论文,从阅读到理解还有代码前前后后弄了不短的时间,下面主要是介绍一下这篇论文以及自己对此论文的个人见解,如有不对的地方欢迎指正修改,在此说谢谢了。大家都说这篇ICCV 2017的文章没有什么大的创新,但是效果很好。这里我不做评价。

对于用GAN生成高分辨率的图片的主要困难是自然图片和应用模型的分布在高维像素空间不重合。在这篇文章之前即使使用目标的额外注释信息,也只能生成128 x 128的图片。而StackGAN克服了这个困难,不使用额外信息也能生成256 x 256的图片。下图是这篇论文的核心原理图。

Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读_第1张图片

整个的结构主要分为Stage-I GAN 和Stage-II GAN

Stage-I GAN

建立在条件GAN(CGAN)的基础上。首先我们必须把文本变成一个文本嵌入(text embedding)向量 ψt 。本篇文章采用一个已经预训练好的编码器[1]。该向量再通过一个条件增强器(Conditioning Augmentation,CA)(下面会具体介绍)生成一个向量 c0。将 c0送入生成器G0,G0将其和服从高斯分布的随机噪声z拼接,通过上采样生成64 x 64的图片。关于c0和z0 的维数原文有介绍。G0生成的图片刻画了有文本描述的图片的最基本的形状和颜色,以及背景布局。将真实的图片和刚生成的低分辨的图片以及 ψt 送入D0 做训练。真实图片和生成的图片下采样成 4x4x512的块,而ψt 则首先通过压缩成Nd(本文中Nd=128)维的向量,再通过spatially replicated(空间复制)成4x4x128的矩阵块。将这两个块拼接在一起进行判断,即生成的64x64的图片能否以假乱真。为了增强条件域的平滑特性和避免过拟合,我们增加了一个KL散度到生成器G0的目标函数中。

在这里插入图片描述
Stage-I GAN 的目标函数为:Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读_第2张图片
我们训练D0和G0,通过最大化等式(3)和最小化等式(4).在这里我们设置λ=1.

Stage-II GAN

Stage-II GAN和 Stage-I GAN结构有点相似,只做了很少的改动。同样需要将文本嵌入向量 ψt 通过条件增强(CA)器,从而生成一个向量c。但这里的 c 和Stage-I GAN中的 c0 不同,他们用了不同的全连接层生成了不同的均值和方差 N(μ( ψt),∑( ψt))。另外将Stage-I GAN中的噪声输入换成了由Stage-I GAN 中的G0生成的64 x 64的图片送入G中训练。向量经过压缩和空间复制后与生成的图片经过下采样的块想拼接,经过一个残差快,主要是进一步提取文本信息和输入图片的特征,经由上采样生成一个 256 x 256的图片。将生成的图片和groundtruth图片一起送入判别器D(Stage-I GAN中的判别器D0一样)中进行训练。最终获得以假乱真的256 x 256的图片。
Stage-II GAN的目标函数为:
Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读_第3张图片

Conditioning Augmentation,CA

Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读_第4张图片
服从高斯分布的条件变量 c0 是由文本嵌入向量 ψt 通过一个全连接层生成一个该向量的均值 μ0 和方差 σ0,然后与一个ε~N(0,1)的正态分布通过方差相乘均值相加的方式得到一个新的正态分布 c0 ~N(μ0, σ0)。必须说明的是,这里的均值 μ0 和方差 σ0分别是μ( ψt)和∑( ψt),μ( ψt)是向量ψt的均值,∑( ψt)是文本嵌入向量 ψt的对角协方差矩阵(矩阵怎么会是个值,也不太懂)。而Stage-II GAN 中的 条件变量c 也是这样的来的,只不过是用了不同参数的全连接层得来的。

好啦,原理说完直接来看结果吧

实验结果

Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读_第5张图片
Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读_第6张图片
当然还有一些其他的对比消融实验,这里不一一赘述了,有兴趣的可以看原文。
链接: [http://openaccess.thecvf.com/content_ICCV_2017/papers/Zhang_StackGAN_Text_to_ICCV_2017_paper.pdf
]

转载请说明出处

参考文献

[1] S. Reed, Z. Akata, B. Schiele, and H. Lee. Learning deeprepresentations of fine-grained visual descriptions. In CVPR,2016. 3, 5

你可能感兴趣的:(Stack GAN:Text to Photo-realistic Image Synthesiswith Stacked Generative Adversarial Networks 论文解读)