Generative Adversarial Text to Image Synthesis --- 根据文字描述生成对应的图片

简单的说就是根据文字进行生成相应的图片。 
先看效果: 


架构

这里首先用一个 text embedding网络来将文字转换为向量,ϕ(t)ϕ(t)是1024维的向量,然后投影成128。并将这128向量分别加入到G和D网络中。在G中直接concat到后面,而D中由于中间出来的是spatial size是4x4大小的,所以直接复制4x4份,后面concat上去。 
因为普通的GAN就是一个zz直接生成图片,但是这里是要让生成的图片符合tt的描述。因此显然要把ttembedding成向量,然后加入zz中。有意思的是,这里D也加入了ϕ(t)ϕ(t),个人觉得这类似CGAN。 
然后作者提出了GAN-CLS以及GAN-INT.

GAN-CLS
如果是普通的GAN,那么D只要负责看G的生成图片是真是假就行。但是这里的任务是要让G生成符合tt描述的图像。因此D担负着两个任务: 
1. 判断G生成的图片是真是假 
2. 判断生成的图片是否符合tt的描述。 
所以: 
 
与普通GAN不同的是,这里多了一种错误情况,即看上去挺真的,但是对应的描述tt与图不符合,即swsw。 
这里可以大概想到在D中加入ϕ(t)ϕ(t)的作用,如果不加的话,那么D所能获得的信息仅仅是G的生成图,失去了判断图与tt是否符合的判断能力。

GAN-INT
Et1,t2~pdata[log(1−D(G(z,βt1+(1−β)t2)))]
Et1,t2~pdata[log(1−D(G(z,βt1+(1−β)t2)))]

其实就是不仅用以前的tt了,还用了插值的语料。这是因为深度网络学习到的特征表示其实具有可插值性,或是说如果一对pair图像,经过相同的层后,对这些特征进行插值,那么插值后的特征也是在数据流型附近。也就是说,”一只小鸟在天上飞”和”黑头乌龟在地上晒太阳”,它们的深度特征插值后,没准就成了“一只黑头小鸟在地上晒太阳了”。。 
因此加入插值的语料进行训练,可以增加G的创新性吧。 
另外一点是:这种插值的语料没有对应的真实图片。也就是说我根本没有插值语料的SrSr啊。 
文中的解释: 
D learns to predict whether image and text pairs match or not. Thus, if D does a good job at this, then by satisfying D on interpolated text embeddings G can learn to fill in gaps on the data manifold in between training points. 
就是说既然D能够很好的判断给定的图片与给定的文本tt是否一致,那么如果用这种插值的文本tt, G会努力缩小训练数据点之间的差异。
zz起的作用
先定义content和style。一般情况下很多时候一句话就是描述content的,而不会描述style(style主要是包括背景和姿态)。那么这种情况下我们就希望zz能起到这种加入style的作用,从而生成更加真实多样化的图片。前面已经提到了GAN-CLS,GAN-INT和GAN-INT-CLS,那么哪种训练方式训练出来的模型,zz才是最能起到加入style的作用。 
然后他们首先弄了一个inverse G的网络。当然很简单,用以前生成的样本对就行。然后 
Lstyle=Et,z~N(0,1)∥z−S(G(z,ϕ(t)))∥
Lstyle=Et,z~N(0,1)‖z−S(G(z,ϕ(t)))‖

其中SS是inverse G网络。 
然后作者把图片按照style进行聚类(平均背景颜色,鸟类姿态等),然后取属于同一聚类的样本,求得zz。通过求解相同聚类的图片的style表示zz之间的consine距离,从而确定不同训练方式,zz所起到的style作用的强弱。 
 
还是GAN-INT-CLS模型的zz具有较好的style表示作用。
总结
通过分别在G和D里面加入tt的embedding特征,从而让G是在ϕ(t)ϕ(t)条件下的生成图片,而D是也是在ϕ(t)ϕ(t)条件下的判断图片是否符合文本。另一点是利用插值从而让G具有更强大的生成能力。此外,通过特征可视化的方式,让zz具有specific的style加入功能,从而解决文本描述本身不对style进行任何阐述的问题,随机化的zz可以加入不同的style,从而增加生成样本的真实性与多样性。
--------------------- 
作者:Hungryof 
来源:CSDN 
原文:https://blog.csdn.net/hungryof/article/details/76166980 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值