1.简介
从文本描述自动合成真实的图像,也就是把人类所写的一句描述性文本翻译成一系列像素点。例如,“this small bird has a short, pointy orange beak and white belly” 或者 ”the petals of this flower are pink and the anther are yellow”。下图是一个从文本描述生成图像的例子。
目标:学习一个映射直接把单词和字符转换成图像像素。两步走:首先,捕获重要的视觉细节用来学习一个文本的特征表示;其次,使用这些特征去合成一个人类难分真假的图像。
贡献:设计了一个简单有效的生成对抗网络(GAN)框架,并制定了一个训练策略能够用描述性的文本去合成关于花鸟的图像。
数据集: Caltech-UCSD Birds dataset(鸟);Oxford-102 Flowers dataset(花);甚至MS COCO dataset(普通图像)。
注:每张图片都对应有五个描述文本。
2.背景
生成对抗网络
生成对抗网络包括一个生成器(G)以及一个判别器(D),它们进行一个二元极大极小博弈:判别器尽可能从合成图像中分辨真实的训练图像;生成器尽可能去愚弄判别器。具体而言,G和D博弈表示形式如下:
minGmaxDV(D,G)=Ex∼pdata(x)[log(D(x))]+Ex∼pz(z)[log(1−D(G(z)))]
Deep symmetric structured joint embedding
**略**
3.深度卷积生成对抗网络(DC-GAN)
定义:
生成器网络G:RZ×RT→RD,判别器网络D:RD×RT→{0,1}。其中,T是文本描述向量的维度,D是图像的维度,Z是生成器G的噪声输入维度。网络框架如下图,

在生成器G中,
- 噪声先验:从标准正态分布抽样得到,即z∈RZ∼N(0,1) ;
- 使用文本编码器φ对文本t进行编码;
文本编码φ(t)先经过一个低维全连接层,再经过leaky-ReLU,然后和噪声向量z拼接在一起,之后进行正常的反卷积网络,一张合成图像x^通过x^←G(z,φ(t))生成。图像生成对应于在查询文本和噪声样本条件下的生成器G中的前馈推断。
在判别器D中,
- 如上图,将图像经过步长为2的卷积层(batch-norm;leaky-ReLU),在经过全连接层进行整形得到图像特征向量,
- 使用全连接层对文本编码φ(t)进行整形,
- 当判别器D的空间维度为4×4时,将图像特征向量和文本编码拼接,再经过1×1和4×4的卷积层。
Matching-aware discriminator (GAN-CLS)
对于判别器D,应该要区分两种错误:不真实的图片(携带任何描述文本)以及真实图片(携带不匹配描述文本)。因而在训练过程中,为判别器加入了第三类输入:真实图片(携带不匹配描述文本),对这类输入判别器应判别输出假值。
算法1总结了训练过程:
Learning with manifold interpolation (GAN-INT)
对训练文本编码进行简单插值,从而能产生大量的文本编码(虽然这些编码不对应任何真实文本),这样就不需要额外的标记开销。对于生成器优化目标函数,就是加入了一个额外项,如下:

其中,z是从噪声分布中抽样得到的噪声先验,βt1+(1−β)t2表示利用系数β在t1和t2上插值得到的新文本编码。
Inverting the generator for style transfer
逆转生成器用于风格转换
4.实验
- CUB数据集包含11788张鸟图片,属于200个类;
- Oxford-102数据集包含8189张花图片,属于102个类。
图片合成
GAN和GAN-CLS获得的颜色信息正确,但图像看起来不真实;GAN-INT和GAN-INT-CLS生成的图片更合理,且符合部分甚至全部注释文本。如下图,
风格转换
风格转换过程如下,也就是输入一张图片x和描述文本t,得到一张合成图片x^(s就是用于合成的风格):
s←S(x),x^←G(s,φ(t))
实验结果如下:

后续实验
本篇论文还通过插值文本编码φ(t)和噪声z实现前景渐变和背景渐变,如下图左右两边,
除了做花鸟实验,还在其他自然生活图像上实验,如下图,