专栏首页计算机视觉对抗生成网络-文字到图片的合成Generative Adversarial Text to Image Synthesis

对抗生成网络-文字到图片的合成Generative Adversarial Text to Image Synthesis

新的一年,新的开始,好想发论文啊!废话不多说,下面讲下文字到图片的生成。

文字生成图片

最有代表的一张图怕是这个了,牛人,大佬

RNN可用来对文字进行判别和表示,GAN可以做图片生成,那么如何将字符翻译到图像像素呢?这篇论文给出了一个网络。使用RNN,来做图片生成描述,由于它是根据图片的内容和他前一个词生成下一个词,是遵循链式规则的。使用描述生成图片的话,能够正确表达文本的正确图像样例是很多的,比如鸟,生成的图片各种鸟都不能说是错的,文字的改变会影响大片区域pixel的变化,而且没有什么关联性。对于文本生成图像这个任务,我们将这个任务分解成两个子问题,首先,获取重要细节的----文本特征表示。然后,用这个特征合成一张较好的图片。下载原论文地址

原始GAN

Gan的损失函数

x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。

D(x)表示D网络判断真实图片是否真实的概率(因为x就是真实的,所以对于D来说,这个值越接近1越好)。而D(G(z))是D网络判断G生成的图片的是否真实的概率。

网络架构

如果要输入文本信息?问题就来了,怎么得到文字信息。作者用了自己之前的方法《Learning Deep Representations of Fine-Grained Visual Descriptions》,不是这篇文的重点,他只是利用了这篇文章的文本特征表示,就是对文本有个向量表示,他的之前的方法表示的好所以就用了。

基于文本的DCGAN结构

文本描述向量——上图中深蓝色的条条,在生成网络和判别网络中都有输入。

看这个网络结构就可以知道,他大概是有一个噪声+向量(表达文字的)作为生成网络的输入。你会不会想,怎么不直接输入文本特征呢?留来大家想想。 而作者论文实际是这么来做生成网络的,首先我们将之前得到的文本向量,用网络全连接层对文本向量压缩,最后得到128维向量,在原来的随机噪声后面直接相连(concate)输入生成网络中生成图片。

对于判别网络呢,作者也加入了这个文本描述。加入的方式是空间复制,之前文章也有介绍过,就是对于N*N的feature map后面加其他模态信息的时候用的方法。在判别网络中,首先对输入做几个stride=2的卷积,每个卷积都带有spatial batch normalization和leaky Relu。当feature map的大小变为2x2时,则又一次对文本编码结果通过一个全连接层,将全连接层的结果拼接到这个大小为2x2的feature map上。然后对拼接结果做一个1x1的卷积和2x2的卷积。这篇论文判别器中加入文本信息,目的是的判别器要判别出文字描述与图片是否相符,后面详细介绍,就是文中提到的GAN-CLS。当然判别器本职工作是生成合理的图片。

下面就开始讲下论文中用到的两个两类判别器,GAN_CLS和GAN_INT.

GAN-CLS

为了回答《是否图片是按照描述生成的呢》提出了GAN-CLS,为了使判别模型能够拥有判断文本与图像是否匹配的能力,除了<假图,描述>和<真图,描述>外,添加第三种样本即<真图,不匹配描述> ,前两个生成合理图像,第三个与第二个判别对相比,生成匹配描述。这样,判别器就能将是否合理图片和是否匹配的信号都传递给生成器了。

整个网络的训练过程是如下图所示。

训练过程

数据集中每张图片对应了五个描述

一次选batch个图片进行训练,对每个图片进行以下操作

1.对于图片给出的描述编码

2.任意一个不正确的描述也编码

3.随机选择噪声向量

4.将噪声连接描述升入到生成器中

5.这时,利用3种 描述-图像对, <假图,描述>    <真图,描述>     <真图,不匹配描述>

6.判别器的损失函数,更新判别器。第十行

7.生成器的损失函数,更新生成器。第十二行

GAN-INT

什么是流形?可以略过奥。流形学习的观点是认为,我们所能观察到的数据实际上是由一个低维流形映射到高维空间上的。因为在一些高维中的数据会产生维度上的冗余,实际上只需要比较低的维度就能唯一地表示。首先流形能够刻画数据的本质。就像深度学习“特征学习”,所谓特征,就是能“表示事物本质的内容”,一般来说特征的维度应该小于数据本身。跟我们卷积得到特征也是小于数据本身的。我们如何来说明“模型学习到了流形”?前面提到了高维数据其实是由低维流形生成的。如果我们能模拟这个生成过程,再通过对低维流形的微调,应该能得到对应的“有意义且有道理”的高维数据。

根据文中说,嵌入对之间的插值是符合数据流形的,我自己认为,他做插值的目的就是让文本表示更符合本质, 就是说,文本表示尽量准确了。觉得是作者要套自己的论文,哭唧唧。也有可能有别的意思?

论文中贝塔取0.5,也就是融合两个文本,但文本长度是不变的,因为t1和t2是个向量,贝塔是参数

数据集我们能从论文中得到,用的是CUB bird 和 oxford-102 flower。为什么生成大量的额外的文本表示? 在 CUB bird中, 比如某张图片:“白色的海鸥”,另一张图片描述是“绿色的鹦鹉”, 那我利用插值方法,咦,生成一个新的描述,是什么呢?“绿色的海鸥” 有意思吧!这也就是作者说的zero shot,呵呵。 他的做插值的对象,不是一张图的几个caption之间,而是在整个数据集,因为海鸥的颜色只有那么几种,训练来训练去,都是这几种,不会有绿色,而在整个数据集中,也就是鸟这个数据集中,我们就可以得到其他鸟的的属性。耶耶耶!

风格

一般情况下很多时候一句话就是描述content的,那么背景和姿态是谁描述的呢?是不是噪声呢?哎嘿!在做风格转换的时候,首先使用S提取生成器一张图像的风格信息,得到s(style),然后将随机噪声替换为s,s和文本进行组合输入给生成器得到某风格下的图像。

x,我们选择的图片,S()是风格提取器,得到x的风格。然后生成器的输入变成了s+文本,得到风格图

实验

那我们首先看看,风格生成的怎么样。

风格背景和姿态

有两种风格。第一种我们可以将先前看到文本和先前看到的样式结合起来,但是在新颖的配对中,生成与训练期间任何看到的图像非常不同的合理图像。使用先前看到的属性,也就是说,多个视觉方面的文本表示。就跟我之前举例子一样。

风格拟合效果

基于base line的三种方法比较

看看视觉效果

如果不用插值的话,也就是前两个方法。我们发现生成的背景姿势都一样,颜色正确。插值后,后两种,生成的图像多样。能够匹配大部分或者全部的背景

对于花这个类,baseline 形态看起来更多样化。后两个方法看起来,生成的花几乎都是一种花

看看插值的作用

左边是对描述内容的文本插值,可以清楚地看到这个目标的变化结果。右边是对噪声进行插值,可以看到目标是不变的,背景变得平缓

生成多目标和背景

MS COCO上做实验。

对于多目标和变化背景亟待解决

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Image-to-Image Translation with Conditional Adversarial Networks超细致解析:使用条件Gan经行图像的转换

    像素到像素的预测     每次写一篇都为了自己更深的思考,也希望大家能读懂...

    水球喵子
  • 为stackGan一个工程创建一个虚拟环境,python 2.7 tensorflow0.12-tensorflow 1.01

    安装conda 下载地址:https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64...

    水球喵子
  • 关于BOW详细介绍

    这篇文章属于小笔记类型奥~~ 1 特征提取 使用SIFT或者SURF生成图像特征的描述子 2 构建词典(Vocabulary) 通过上一步所有特征的提取...

    水球喵子
  • 相似图片搜索的原理

    上个月,Google把”相似图片搜索”正式放上了首页。 你可以用一张图片,搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。 ? 一个对话框会出现。 ?...

    wangxl
  • 相似图片搜索的原理

    你输入网片的网址,或者直接上传图片,Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。

    bear_fish
  • 相似图片搜索的原理

    上个月,Google把"相似图片搜索"正式放上了首页。 你可以用一张图片,搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。 ? 一个对话框会出现。 ?...

    ruanyf
  • Zimg—轻量级图片服务器搭建利器

    在一个互联网应用中,图片扮演着越来越重要的角色。有稳定的可扩展的图片存储服务器就显得尤为的重要,云厂商们提供了便利的图片存储服务,花钱就可以解决了。这里简单介绍...

    歪脖贰点零
  • CVE-2017-11882及利用样本分析

    1.本文由复眼小组ERFZE师傅原创 2.本文略微偏向基础,首先介绍了该漏洞的成因,并且分析了该漏洞在蔓灵花,摩诃草,响尾蛇APT组织用于实际攻击活动中的详细调...

    Gcow安全团队
  • 深度学习与强化学习

    随着 DeepMind 公司的崛起,深度学习和强化学习已经成为了人工智能领域的热门研究方向。除了众所周知的 AlphaGo 之外,DeepMind 之前已经使用...

    张戎
  • 2017第三季度移动行业数据报告

    在如今移动设备规模增速明显放缓,移动设备趋于饱和的情况下,移动互联网人口红利基本结束,逐渐演变成对存量设备的争夺。

    旺仔小小鹿

扫码关注云+社区

领取腾讯云代金券