@[TOC](MirrorGAN: Learning Text-to-image Generation by Redescription)
MirrorGAN通过学习文本-图像-文本,试图从生成的图像中重新生成文本描述,从而加强保证文本描述和视觉内容的一致性。文章被2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)会议录用。
论文地址:https://arxiv.org/abs/1903.05854
代码地址:https://github.com/qiaott/MirrorGAN
在这里插入图片描述
其基本原理是如果T2I生成的图像在语义上与给定的文本描述一致,那么I2T对其的重新描述应该与给定的文本描述具有完全相同的语义。
本博客是精读这篇论文的报告,包含一些个人理解、知识拓展和总结。
一、原文摘要
从给定的文本描述生成图像有两个目标:视觉真实性和语义一致性。尽管在使用生成性对抗网络生成高质量、视觉逼真的图像方面取得了重大进展,但保证文本描述和视觉内容之间的语义一致性仍然非常具有挑战性。在本文中,我们提出了一种新的全局-局部关注和语义保持的文本-图像-文本框架MirrorGAN来解决这个问题。MirrorGAN利用了通过重新描述学习文本到图像生成的思想,由三个模块组成:语义文本嵌入模块(STEM)、用于级联图像生成的全局-局部协作关注模块(GLAM)和语义文本再生和对齐模块(STREAM)。STEM生成单词和句子级别的嵌入。GLAM有一个级联架构,用于从粗到细生成目标图像,利用局部单词注意和全局句子注意,逐步增强生成图像的多样性和语义一致性。STREAM试图从生成的图像中重新生成文本描述,该图像在语义上与给定的文本描述一致。在两个公共基准数据集上进行的深入实验表明,MirrorGAN方法优于其他具有代表性的最新方法。
二、为什么提出MirrorGAN
尽管使用生成性对抗网络(GAN)生成视觉逼真的图像方面取得了重大进展,但由于文本和图像之间的领域差异,仅仅依赖鉴别器,很难且低效地对语义一致性进行建模,加入注意力机制虽有所改善,但是单词级注意并不能确保全局语义一致性,最终难以保证 生成的图像 与 输入文本的语义对齐。
三、MirrorGAN整体框架
在这里插入图片描述
MirrorGAN通过集成T2I和I2T实现了镜像结构。它利用了通过重新描述来学习T2I生成的思想。生成图像后,MirrorGAN会重新生成其描述,从而使其底层语义与给定的文本描述保持一致。从技术上讲,MirrorGAN由三个模块组成:STEM、GLAM和STREAM。下面将介绍该模型的详细信息。
3.1、STEM: 语义嵌入模块
在STEM模块中,使用递归神经网络(RNN)从给定的文本描述T中提取语义嵌入,包括单词嵌入w和句子嵌入s :
其中,文本描述,L表示句子的长度,句子嵌入
3.2、GLAM:级联图像生成器中的全局-局部协作注意力模块
在这里插入图片描述
这一部分同样采用了多个图像生成网络构建多级级联生成器,其基本结构与AttnGAN中的级联结构相似。
首先是单词层面的注意力机制:通过感知网络层将单词嵌入转化到可视特征的语义空间中,再乘以可视特征以获得注意力分数,然后通过前两步结果的内积得到融合注意力的单词特征(attentive
word-context feature)。
其次是句子层面的注意力机制,步骤与单词层面差不多,也是将句子嵌入通过感知网络层转化到可视特征的语义空间,然后与可视特征进行点乘获得注意力得分,最后通过两个结果点乘内积获得最终特征。
该部分在attnGAN 的基础上再次引进global attention,与之前的attnGAN中的local attention相结合,不仅关注局部的细节和语义的生成,更关注全局的细节和语义的生成。
在公式推理上,使用{F0,F1,…,Fm−1} 表示m个视觉特征变换器,{G0,G1,…,Gm−1} 表示m个图像生成器(一般为三层)。
其中
其中
其中,
3.3、STREAM:语义文本重建与对齐模块
在这里插入图片描述
语义文本重建和对齐模块用于从生成的图像中重新生成文本描述,使文本描述尽量在语义上与给定的文本描述对齐。首先将生成的图像输入到图像编码器,然后经过循环神经网络进行解码生成文本。
图像编码器是在ImageNet上预训练的卷积神经网络(CNN),解码器是RNN。
其中表示编码后的图像形成的视觉特征,表示单词嵌入矩阵,它将单词特征映射到视觉特征空间,是单词的预测概率分布 ,
四、损失函数
损失函数的第一部分是生成对抗网络的损失
与StackGAN++和AttnGAN中的损失函数类似,MirrorGAN同样采用多级生成器和判别器交替训练,同样采用无条件损失(视觉真实性)+有条件损失(文本-图像配对语义一致性):
其中,是第i层从分布中采样生成的图像,其中第一部分为无条件损失,用于区分图像在视觉上是真实的还是虚假的,第二部分为有条件损失,用于确定图像是否符合语义。
与生成器类似,判别器的损失同样采用无条件损失(视觉真实性)+有条件损失(文本-图像配对语义一致性):
其中是从第i层真实图像分布的采样
损失函数的第二部分是基于CE的文本语义重建损失,其使重建的文本描述与给定的文本描述尽量一致:
将其两项相加,通过λ调节权重,最终得出的损失函数为:
五、实验
5.1、数据集
CUB bird:包含8855个训练图像和2933个测试图像,属于200个类别,每个鸟类图像有10个文本描述 。
MS COCO:包含82783个训练图像和40504个测试图像,每个图像有5个文本描述。
5.2、评价标准
Inception Score:IS分数衡量生成图像的客观性和多样性
R-precision:评估生成的图像及其相应文本描述之间的视觉语义相似性。
5.3、实验结果
在这里插入图片描述
5.4、定量分析
在这里插入图片描述
MirrorGAN在CUB和COCO数据集上都获得了最高的IS得分,且和AttnGAN相比,获得了更高的R-precision分数。
5.5、定性分析
主观视觉比较和人类知觉测试,作者将各个GAN生成的图像对比进行了分析,然后收集了若干志愿者的视觉调查,暂略,有兴趣可以看原文。
5.6、消融研究
1、MirrorGAN元件的消融实验
在这里插入图片描述
结果表明,GLAM中的全局和局部注意力能够协同帮助生成器生成视觉上真实的、语义上一致的图像,并告诉生成器应该关注哪里。
2、级联结构的视觉研究
为了更好地理解MirrorGAN的级联生成过程,作者可视化了中间图像和每个阶段的注意图,如下图所示
在这里插入图片描述
可以看出,在第一阶段,低分辨率图像生成原始的形状和颜色,缺乏细节。在GLAM在阶段的指导下,MirrorGAN通过聚焦最相关和最重要的区域生成图像,逐渐提高生成的图像的质量。
1)在早期阶段,全局注意力更多地集中在全局语境上,然后在后期阶段集中在特定区域周围的语境上;
2)局部注意力通过引导生成者关注最相关的单词,帮助生成具有细粒度细节的图像,
3)全局关注与局部关注是互补的,它们共同促进网络的进步。
另外,MirrorGAN还能够捕捉到文本描述之间微小的差异(如颜色),生成对应图像:
在这里插入图片描述
总结
这篇文章的贡献总结如下
1、提出了一个新的文本生成图像框架 MirrorGAN,用于将T2I和I2T一起建模,通过体现通过重新描述学习T2I生成的思想,专门针对T2I生成。
2、 提出了一个全局-局部协作注意模型,该模型无缝嵌入到级联生成器中,以保持跨域语义一致性并平滑生成过程。
3、除了常用的生成器的损失外,还提出了一种基于交叉熵(CE)的文本语义重建损失,以监督生成器生成视觉上真实且语义一致的图像。