text to image(九):《Photographic Text-to-Image Synthesis with a Hierarchically-nested Adversarial Ne 》

     继续介绍文本生成图像的工作,本篇博客要给出的是cvpr2018的《Photographic Text-to-Image Synthesis with a Hierarchically-nested Adversarial Net》 。

        论文地址:https://arxiv.org/pdf/1802.09178.pdf

        源码地址:https://github.com/ypxie/HDGan

一、相关工作

      首先是GAN网络的理解:https://blog.csdn.net/zlrai5895/article/details/80648898

二、基本思想及成果

      在网络层次结构中引入了伴随的层次嵌套对抗性目标,它规范了中间层的表示,并帮助生成器训练来捕获复杂的图像统计信息。提出了一种扩展的单流生成器结构,以更好地适应联合判别器,设计了一种多用途的对抗性损失,以鼓励更有效的图像和文本信息的使用。不需要多阶段的训练和像[46]这样的多个内部文本约束,也不需要额外的类标签监督(如[5])。如下图所示:

                           

     左图为STACKGAN结构,多阶段的GAN,右图为本文结构,单流生成器,中间引出各尺度image,配多个鉴别器。

三、数据集介绍:

      CUB birds , Oxford-102 flowers , and large-scale,MSCOCO.

四、模型结构

      首先是text 额mbedding的准备,由预训练的char-RNN生成。

      1、生成器

      受到stackgan的启发,不是直接将text embedding作为condiion,而是在高斯分布中抽样。

      生成器由三种模块组成,即k-重复区域块、拉伸层和线性压缩层。

    (1)k-重复区域块包括若干res块,其中包含两个卷积(Conv)层(具有批处理归一化(Bn)和relu。

    (2)拉伸层的作用是改变特征图的大小和尺寸,它只包含一个上采样层,然后是一个包含bn的Conv层。

    (3)线性压缩层是一个单一的Conv层,然后是一个TANK,直接将特征映射压缩到RGB空间

      输入为text embedding 和z结合并rerplicated的1024*4*4的张量块,经过M个k-重复区域块和M-1个拉伸层。在分辨率经过上采样提高前,应用压缩层生成当前分辨率对应的图像。

      2、鉴别器

      随着图像分辨率的提高,鉴别器捕获局部细粒度细节可能是一项挑战。单一的全局鉴别器可能过分强调某些偏倚的局部特征并导致生成的图像整体效果不好。为了缓解这些问题并保证图像保真度,我们的解决方案是增加局部对抗性图像损失。我们期望低分辨率鉴别器专注于全局结构,而高分辨率鉴别器则专注于本地图像细节。

      鉴别器简单地包含连续的stride-2卷积层,具有bn层。最后增加了两个分支。一个分支是直接完全卷积的层,用于生成一个Ri*Ri概率映射(见图3),并将每个位置分类为真实或假的(对应local image loss)。另一个分支首先把512*4*4特征图和一个128*4*的text embedding concat。做4*4的卷积,来判断 图像-文本对是真还是假。