论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

先验知识:

GAN简介

CGAN简介

本文是研究文本生成图片的问题,相比于之前的论文不能生成必要的细节和具体的对象,本文着重要解决的问题是提高图片的分辨率同时为图片添加必要的细节。其实stackGAN的原理和做法很类似,可以看作是两个CGAN串联在一起。

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

如图所示,上方是Stage-I GAN:它根据给定的文本描述绘制对象的原始形状和基本颜色,并从随机噪声向量绘制背景布局,从而产生低分辨率图像。

下方是Stage-II GAN:它纠正了Stage-I中低分辨率图像中的缺陷,并通过再次读取文本描述来完成对象的细节,从而生成高分辨率的照片般逼真的图像。

为什么使用stackGAN会生成比较高清晰度的图片呢?低分辨率图像产生的模型分布与真实图像分布更容易相交(GAN训练难的一个原因就是 论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】 和 论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】 不相交使得D太好损失基本为0,G就没办法学习)。 这是Stage-II GAN能够生成更好的高分辨率图像的根本原因。(可以这样理解:生成的图片和真实图片相差总是很大,从而使得D的训练一直处于一个平稳的状态,很难训练,从而使得G也很难训练)。

下面我们来逐个的解释一下整个流程:

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

首先输入一个文本,使用自然语言处理的方法生成一个词嵌入向量(但是这个向量的维度过大,不适合训练,我们通过一定方法来处理这个向量,后面会讲到)

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

Conditioning Augmentation(调节增强技术):stackGAN 没有直接将 embedding 作为 condition ,而是用 embedding 接了一个 FC 层从得到的独立的高斯分布论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】中随机采样得到隐含变量( 论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】 , 论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】 )。其中论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】是关于论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】的函数。之所以这样做的原因是,embedding 通常比较高维,而相对这个维度来说, text 的数量其实很少,如果将 embedding 直接作为 condition,那么这个 latent variable 在 latent space 里就比较稀疏,这对训练不利。(其实可以简单理解为对词嵌入进行降维)

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

之后输入到生成器中的是Conditioning Augmentation之后的词嵌入c和噪声向量z,经过generator上采样之后生成一张64*64的图像。

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

判别器论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】:首先论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】经过一个全连接层被压缩到论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】维,然后经过空间复制将其扩成一个论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】的张量。同时,图像会经过一系列的下采样到论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】。然后,图像过滤映射会连接图像和文本张量的通道。随后张量会经过一个论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】的卷积层去连接跨文本和图像学到的特征。最后,会通过只有一个节点的全连接层去产生图像真假的概率。、

第一阶段的损失函数

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

判别器的损失函数:第一项是从原始数据库中得到的图像文字对,对他们求log再求期望,第二项的图片是生成的,之后文字是数据库中的,为了使损失函数尽量变大,给予原始数据库中的图片文字对的分数会比较高,而生成的部分分数会比较低

生成器的损失函数:就是原始数据中的文字,生成器自己生成的图片,加上一个kl散度使得数据更为准确,稳定。目的是使得这一项的值变小,使用梯度下降的方法实现

至此,Stage-I GAN就结束了

前一GAN生成的图形可能会存在物体形状的失真扭曲或者忽略了文本描述中的细节部分,所以再利用一个GAN去根据文本信息修正之前得到的图像,生成更高分辨率含有更多细节信息的图像。

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

Stage-I GAN生成的64*64的图片,加上对词嵌入进行CA操作得到的向量,生成器G:与前一个阶段相似,由论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】生成论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】维的高斯条件变量论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】然后被扩成一个论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】的张量(绿色部分)。同时,由前一个GAN生成的64*64的图像会经过下采样变成论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】(16*16)(紫色部分)。图像特征和文本特征连接起来扔到residual blocks(学习图像和文本的多模型表示),上采样生成图片。

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

判别器D:和阶段一差不多哦,只是由于这个部分图像的尺寸更大,所有有额外的一系列下采样块。

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

损失函数:不再是噪声z和文本c来生成图片了,而是用stage1生成的64*64图片s0来生成图片

Experments

  • 数据集

Oxford-102、MS COCO

  • 与其他方法对比

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

  • 阶段一、二对比

论文阅读笔记一【StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Netwo】

结论:在本文中,我们提出了具有调节增强功能的堆叠生成对抗网络(StackGAN),用于合成逼真的图像。所提出的方法将文本到图像合成分解为新颖的草图再现过程。Stage-I GAN根据给定文本描述的基本颜色和形状约束绘制对象。Stage-II GAN可纠正Stage-I结果中的缺陷并添加更多细节,从而产生具有更好图像质量的更高分辨率图像。广泛的定量和定性结果证明了我们提出的方法的有效性。与现有的文本到图像生成模型相比,我们的方法生成具有更多照片真实细节和多样性的更高分辨率图像(例如,256×256)。