浙江大学学报(工学版), 2023, 57(12): 2412-2420 doi: 10.3785/j.issn.1008-973X.2023.12.008

计算机技术

基于单阶段生成对抗网络的文本生成图像方法

杨冰,, 那巍, 向学勤

1. 杭州电子科技大学 计算机学院,浙江 杭州 310018

2. 杭州电子科技大学 浙江省脑机协同智能重点实验室,浙江 杭州 310018

3. 杭州灵伴科技有限公司,浙江 杭州 311121

Text-to-image generation method based on single stage generative adversarial network

YANG Bing,, NA Wei, XIANG Xue-qin

1. School of Computer Science and Technology, Hangzhou Dianzi University, Hangzhou 310018, China

2. Key Laboratory of Brain Machine Collaborative Intelligence of Zhejiang Province, Hangzhou Dianzi University, Hangzhou 310018, China

3. Hangzhou Lingban Technology Limited Company, Hangzhou 311121, China

收稿日期: 2023-03-5  

基金资助: 浙江省基础公益研究计划(LGG22F020027);国家自然科学基金资助项目(61633010, U1909202)

Received: 2023-03-5  

Fund supported: 浙江省基础公益研究计划(LGG22F020027);国家自然科学基金资助项目(61633010,U1909202)

作者简介 About authors

杨冰(1985—),女,副教授,博士,从事计算机视觉、机器学习研究.orcid.org/0000-0002-0585-0579.E-mail:yb@hdu.edu.cn , E-mail:yb@ hdu.edu.cn

摘要

为了提高生成图像质量,提出新的文本生成图像方法,整体框架采用单阶段文本生成图像主干. 在原有模型只使用句子信息生成图像的基础上,使用注意力机制把单词信息融入图像特征,采用合理地融入更多文本信息的方式提高生成图像的质量.引入对比损失,使相同语义图像之间更加接近,不同语义图像之间更加疏远,从而更好地保证文本与生成图像之间的语义一致性.在生成器中采用动态卷积来增强生成器的表达能力. 实验结果表明,所提方法在数据集CUB (Fréchet inception distance (FID)从12.10提升到10.36)和数据集COCO (FID从15.41提升到12.74)上都获得了较好的性能提升.

关键词: 文本生成图像 ; 注意力机制 ; 对比损失 ; 语义一致性 ; 动态卷积

Abstract

A novel text-to-image generation method was proposed to enhance the quality of generated images, utilizing single-stage text-to-image generation backbone. On the basis of the original model that exclusively used sentence information for image generation, an attention mechanism was employed to integrate word information into image features. The quality of generated images was improved by judiciously incorporating additional textual information in a reasonable manner. The introduction of contrast loss makes the same semantic images closer and different semantic images more distant, so as to better ensure the semantic consistency between the text and the generated image. Dynamic convolution was used in the generator to enhance the expression ability of the generator. Experimental results illustrate that the proposed method obtains substantial performance improvements in both the CUB (Fréchet inception distance (FID) from 12.10 to 10.36) and COCO (FID from 15.41 to 12.74) datasets.

Keywords: text-to-image generation ; attention mechanism ; contrastive loss ; semantics consistency ; dynamic convolution

PDF (2295KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

杨冰, 那巍, 向学勤. 基于单阶段生成对抗网络的文本生成图像方法. 浙江大学学报(工学版)[J], 2023, 57(12): 2412-2420 doi:10.3785/j.issn.1008-973X.2023.12.008

YANG Bing, NA Wei, XIANG Xue-qin. Text-to-image generation method based on single stage generative adversarial network. Journal of Zhejiang University(Engineering Science)[J], 2023, 57(12): 2412-2420 doi:10.3785/j.issn.1008-973X.2023.12.008

文本生成图像是根据给定英文句子生成符合句子语义的图像. 文本生成图像的方法大多基于生成对抗网络(generative adversarial networks, GAN)[1]. 生成对抗网络也用于图像恢复[2]、图像增强和图像补全等领域.

文本生成图像任务需要先对文本进行编码,再根据编码生成图像. 如果仅使用单个句子提取的文本编码,可能会遗漏一些关键的细节描述,无法提供足够的语义信息来帮助生成对抗网络生成细节丰富的图像. 在AttnGAN[3]中,引入单词信息来帮助生成器生成图像的不同子区域,通过使用更多的文本信息来更好地表示文本语义,帮助生成器生成高质量图像. ManiGAN[4]的网络结构与AttnGAN类似,该模型能够挖掘单词信息实现图像编辑功能. DF-GAN[5]通过串联多个文本图像融合块,将句子信息有效地融入图像特征. DF-GAN在只使用句子信息的情况下,生成图像的质量远远超过AttnGAN生成图像的质量,证明AttnGAN使用直接拼接的方式融合图像特征和单词信息并不能实现文本信息和视觉特征的深度融合. 在生成图像的过程中,合理地利用文本信息,使得文本信息能够更充分有效地融合进图像特征之中,是决定生成图像视觉真实性并且符合文本语义的关键因素. 因此,尽可能提供更多文本信息表示文本语义和把文本信息有效融入图像特征,是文本生成图像任务的2个关键因素. 本研究提出在DF-GAN中的文本图像融合块中合理的添加单词信息,在充分挖掘文本语义的同时,使单词信息能够有效地融入图像特征. 对比学习已经在计算机视觉许多领域得到广泛应用,例如图像转换[6]. 为了进一步促使生成图像和文本在潜在语义上保持一致,本研究将对比损失应用在真实图像与生成图像之间,减小相同语义图像对之间的距离,增大不同语义图像对之间的距离. 通过使生成图像更“像”真实图像的方式,促进生成图像符合文本语义. 为了更好使生成器根据给定文本动态地生成图像,本研究引入动态卷积. 由于不同语义文本对应的图像有很大差异,有必要根据输入文本动态生成图像. 动态卷积可以根据融入语义后的图像特征动态地调整多个卷积核的权重,使生成器间接的根据输入的文本信息动态地生成图像,进而提高生成图像的质量.

本研究在DF-GAN基础上提出3点改进,总结如下:1)引入单词信息,使生成器能够根据单词信息生成图像的子区域,使生成图像具有更丰富的细节. 2)加入对比损失,使给定文本和生成图像在潜在语义上更加一致. 3)生成器采用动态卷积,在只增加少量的计算成本的情况下,强化生成器的表达能力,使生成对抗网络更快收敛.

1. 相关工作

1.1. 基于生成对抗网络的文本生成图像

Reed等[7]以GAN为基础框架,将字符信息转换为像素信息,根据字符文本生成合理的图像. 为了获得更高分辨率的图像,Zhang等[8]提出StackGAN,使用堆叠结构把直接生成高分辨率图像的复杂过程进行分解. 第1阶段生成64×64低分辨率图像,第2阶段在第1阶段生成图像的基础上添加细节,生成具有视觉真实性的256×256高分辨率图像. 在AttnGAN中单词信息用来帮助生成器生成合理的图像,注意力机制关注与子区域最相关的单词来帮助生成器生成图像的不同子区域,实现了图像的细粒度生成. 相比于AttnGAN平等地“看待”句子中所有单词,SE-GAN[9]抑制了视觉影响较小的单词(例如the、is),只关注对视觉影响较大的关键词,提高了生成器的训练效率. 后续基于GAN的文本生成图像模型很多都延续了这种堆叠结构,即包含多个生成器和多个判别器.

在DF-GAN提出之前,文本生成图像的网络结构大多采用类似StackGAN堆叠式结构. Tao等[5]指出,堆叠式结构存在多个生成器,导致生成器之间存在纠缠,使得堆叠式架构为主干的网络生成的图像像是不同图像区域的简单组合. DF-GAN以简单的单阶段文本生成图像主干,可以直接生成高分辨率图像,解决了生成器之间的纠缠问题,使得生成图像更加自然. SSA-GAN[10]在DF-GAN的基础上通过弱监督的方式使文本信息只影响生成图像中与文本相关的区域. RAT-GAN[11]使用递归神经网络连接DF-GAN所有的融合块,降低了网络训练的难度. 以上基于单阶段主干的文本生成图像方法都只使用句子信息,没有在图像生成的过程中融入细粒度的单词信息.

基于DF-GAN和AttnGAN的优点,本研究使用单阶段文本生成图像主干,合理地融入单词信息,进一步提高生成图像质量. 将扩散模型 (diffusion model)[12]应用于文本生成图像任务,取得了一系列显著的效果,但扩散模型存在如训练时间长、训练代价高昂的问题. 因此,研究如何利用生成对抗网络实现文本生成图像,具有十分重要的现实意义.

1.2. 跨模态训练优化

文本生成图像任务是跨模态任务,并且文本信息和图像信息存在巨大差异,生成的图像既要保证视觉真实性,还要确保文本和图像在潜在语义上一致是困难的. 之前的工作通过一系列措施对文本生成图像这个跨模态任务进行优化,如MirrorGAN[13]将生成图像重新编码为文本描述,文本语义重建损失被用来约束生成图像符合文本语义. SD-GAN[14]通过暹罗结构(Siamese structure)生成同语义对应2个不同文本表达的图像,并在2个批量的生成图像之间添加对比损失,使生成图像更加符合文本语义. Ye等[15]使用相同结构,并将更有效的NT-Xent[16]作为对比损失加入AttnGAN和DMGAN[17]中,获得了更符合文本语义的图像. Zhang等[18]利用对比损失捕获模态间和模态内的对应关系,效果显著. 本研究将对比损失应用在所提网络结构中,并测试将对比损失应用在不同的对象上带来的效果,合理的选择作用对象来促进文本和生成图像在潜在语义上一致.

相比于普通的卷积操作,动态卷积[19]非线性地聚合不同卷积核,使得动态卷积具有比普通卷积更强的表现能力. 由于动态卷积在分类任务中的应用效果较好,本研究尝试将它应用到生成模型中,优化跨模态训练.

2. 基于单阶段生成对抗网络的文本生成图像方法

本研究提出方法的模型框架如图1所示. 模型整体遵循DF-GAN单阶段结构并进行以下改进. 1)在前3个上采样文本融合块的第2个融合块中改进仿射变换,使它具有融入单词信息的能力,使图像特征的子区域融入与当前子区域最相关的单词信息;2)添加对比损失,通过减小对应图像对之间的距离,增大不同图像对之间的距离,提高文本与生成图像之间的语义一致性;3)将生成器中的普通卷积替换为动态卷积,根据输入图像特征动态地聚合多个卷积核.

图 1

图 1   基于单阶段生成对抗网络的文本生成图像方法的框架图

Fig.1   Framework illustration of text-to-image generation method based on single stage generative adversarial network


2.1. 文本编码

文本生成图像任务中的文本编码是将文本字符编码为具有视觉区分能力的向量,为接下来生成符合文本语义的图像提供条件. 文本编码器采用双向长短期记忆网络(LSTM)[20],一个隐藏层2个方向的连接作为1个单词的编码,最后一个隐藏层2个方向的连接作为当前句子的编码. 单句中所有单词编码为 ${\boldsymbol{e}} \in{{\bf{R }}^{D \times T}}$,句子编码为 ${\boldsymbol{s}} \in{{\bf{R }}^D}$,其中T为句子中单词的个数,D为单词或句子向量的维度. 图像编码器建立在ImageNet[21]数据集预训练的Inception-V3[22]基础上. 真实图像缩放为固定尺寸输入图像编码器,在最后一个平均池化层得到真实图像的编码 $ \bar{\boldsymbol{f }} \in{{\bf{R }}^{{\text{2 048}}}} $,在mixed_6e层得到图像子区域的编码 ${\boldsymbol{f }} \in{{\bf{R }}^{768 \times 289}}$. 一幅图像的子区域数量为289,子区域的维度为768. 通过最小化DAMSM损失[3]对图像编码器和文本编码器进行训练. 这样文本编码器生成的文本编码具有视觉区分能力,即能够区分具体颜色. 在生成对抗网络训练时,文本编码器和图像编码器参数固定,减小了生成对抗网络模型的参数量,降低了训练难度.

2.2. 模型结构

将噪声向量 ${\boldsymbol{z}}$输入全连接层并重塑为4×4×256大小的图像特征. 此图像特征经过6个上采样文本融合块的信息融合得到256×256×32大小的图像特征,再经过动态卷积层生成256×256大小的图像. 将生成图像、真实图像和句子向量输入鉴别器中进行鉴别.

图1所示,1个上采样文本融合块由1个上采样层、2个融合块和2个动态卷积层组成. 1个融合块中包含2个ReLU激活层和2个仿射变换层. 为了实现细粒度生成图像,使用注意力机制得到每个子区域最相关单词的动态表示,在前3个上采样文本融合块的第2个融合块中加入单词信息,在原有仿射变换只融入句子信息的基础上又融入单词信息.

添加单词信息的改进仿射变换的结构如图2所示. 使用1×1卷积把单词编码 ${\boldsymbol{e}} \in{{\bf{R }}^{{\text{D}} \times {\text{T}}}}$的维度转化为与当前图像特征的维度相同:

图 2

图 2   改进仿射变换结构图

Fig.2   Structure diagram of modified affine


$ {\boldsymbol{e }}' = {\boldsymbol{Ue}},{\boldsymbol{U}} \in{{\bf{R }}^{\hat D \times D}}. $

${\boldsymbol{e }}'$和当前图像特征 $ {\boldsymbol{h}} \in{{\bf{R }}^{N{{ \times }}\hat D}} $相乘归一化后得到 ${{\boldsymbol{\alpha }}_{ji}}$. 由于每次输入仿射变换的图像特征大小不同,N为当前图像特征的子区域个数, $\hat D$为当前子区域维度. ${{\boldsymbol{\alpha }}_{ji}}$为当前图像特征第j个区域对第i个单词的权重,

$ {{\boldsymbol{\alpha}} _{{ji} }} = \frac{{{{{\rm{exp}}}}\;({\boldsymbol{h}}_{j} ^{\text{T}}{{{\boldsymbol{e}}'_i} }{\text{)}}}}{{\displaystyle\sum\nolimits_{{i} = 0}^{{T} - 1} {{\text{exp}}\;({\boldsymbol{h}}_{j} ^{\text{T}}{{{\boldsymbol{e}}'_i} }{\text{)}}} }}. $

通过 ${{\boldsymbol{\alpha }}_{ji}}$与单词相乘得到与当前图像子区域相关所有单词的动态表示:

$ {{\boldsymbol{c}}_{j} } = \sum\limits_{{i} = 0}^{{T} - 1} {{{\boldsymbol{\alpha }}_{ji}}{{{\boldsymbol{e}}'_i} }} . $

将句子向量s,单词上下文向量 ${{\boldsymbol{c}}_j}$和噪声向量z进行拼接并作为当前子区域的文本条件. 通过多层感知机从文本条件中得到当前子区域的缩放参数和移位参数,实现每个子区域都有自己的缩放参数 ${{\boldsymbol{\gamma}} _j}$和移位参数 ${{\boldsymbol{\theta}} _j}$

$ {{\boldsymbol{\gamma}} _{j} } = {\text{ML}}{{\text{P}}_{\text{1}}}{\text{(concat}}\;({\boldsymbol{z}},{\boldsymbol{s}},{{\boldsymbol{c}}_{j} }{\text{))}}, $

$ {{\boldsymbol{\theta}} _{j} } = {\text{ML}}{{\text{P}}_2}{\text{(concat}}\;({\boldsymbol{z}},{\boldsymbol{s}},{{\boldsymbol{c}}_{j} }{\text{))}}, $

$ {\text{AFF}}\;({{\boldsymbol{h}}_j}\;|\;{\text{concat}}\;({\boldsymbol{z}},{\boldsymbol{s}},{{\boldsymbol{c}}_{j} }{\text{))}} = {{\boldsymbol{\gamma}} _j}{{\boldsymbol{h}}_{j} }+{{\boldsymbol{\theta}} _{j} }. $

输入的图像特征经过仿射变换,使图像子区域不但会融合句子信息,还会使图像子区域能够融入与当前子区域最相关的单词信息,弥补原始框架只使用句子信息可能忽略单词信息的问题,使生成器实现细粒度生成图像.

2.3. 对比学习

使用NT-Xent作为对比学习损失. 对比学习可以使网络学习同类实例之间的共同特征,非同类实例之间的不同之处. 通过最小化相关文本图像之间的距离,最大化不相关文本图像之间的距离,使同一语义下图像更加接近,不同语义图像更加疏远的方式,保证图像和文本的语义一致. 定义余弦相似性作为2个向量是否相似的评价标准:

$ {\text{cos}}\;({\boldsymbol{u}},{\boldsymbol{v}}{\text{)}} = \frac{{{{\boldsymbol{u}}^{\text{T}}}{\boldsymbol{v}}}}{{\left\| {\boldsymbol{u}} \right\| \cdot \left\| {\boldsymbol{v}} \right\|}}. $

ij时,真实图像和生成图像对比损失 ${L_{{\text{real}}}}$的计算式为

$ {L_{{\text{real}}}} = - \frac{1}{N}\sum\limits_{i = 1}^N {{\text{lb}}\frac{{{\text{exp (cos}}\;({f_{{\text{img}}}}{\text{(}}{x_i}{\text{)}},{f_{{\text{img}}}}{\text{(}}{{\tilde x}_i}{\text{))}}/\eta {\text{)}}}}{{\displaystyle\sum\nolimits_{j = 1}^N {{\text{exp (cos (}}{f_{{\text{img}}}}{\text{(}}{x_i}{\text{)}},{f_{{\text{img}}}}{\text{(}}{{\tilde x}_j}{\text{))}}/\eta {\text{)}}} }}} . $

ik时,生成图像和生成图像对比损失 ${L_{{\text{fake}}}}$的计算式为

$ {L_{{\text{fake}}}} = - \frac{1}{{2N}}\sum\limits_{i = 1}^{2N} {{\rm{lb}} \frac{{{\text{exp (cos (}}{f_{{\text{img}}}}({{\tilde x}_i}),{f_{{\text{img}}}}({{\tilde x}_j}))/\eta )}}{{\displaystyle\sum\nolimits_{k = 1}^{2N} {{\text{exp (cos (}}{f_{{\text{img}}}}({{\tilde x}_i}),{f_{{\text{img}}}}({{\tilde x}_k}{\text{))}}/\eta )} }}} . $

式中: ${f_{{\text{img}}}}$为训练好的图像编码器,用于把生成图像或真实图像编码成向量;η为温度超参数;N为批处理(batch)的大小. 在 ${L_{{\text{real}}}}$中,相关图像指的是同一文本对应的真实图像和生成图像,对应 ${x_i}$${\tilde x_i}$,不相关图像指的是真实图像和当前batch中其他生成图像,对应 ${x_i}$${\tilde x_j}$.${L_{{\text{fake}}}}$中, ${\tilde x_i}$${\tilde x_j}$代表同一语义2个不同文本表达所生成的图像,它们是相关图像, ${\tilde x_i}$${\tilde x_k}$是同一batch不相关文本生成的图像. 在计算生成图像之间的对比损失时,由于是在生成图像和生成图像之间计算对比损失,在batch大小不变的情况下,须生成图像的数量是原来的2倍.

2.4. 动态卷积

传统的卷积操作中,所有输入共享统一的卷积核参数,动态卷积则可以根据输入的不同,动态地聚合多个卷积核. 由于文本生成图像的数据集中有多种不同类型的图像,比如在数据集COCO[23]中,有人物、风景和汽车等多种类型,不同类型图像之间差异很大,在进行卷积操作的时候,应根据融入文本信息后的图像特征的不同,动态地生成图像. 融入图像特征的文本信息不同,各个卷积核的权重也不同. 不同文本信息会得到不同的卷积核权重,实现在图像生成过程中根据文本信息动态生成图像,提高网络动态生成的能力. 在生成器中,本研究使用动态卷积代替传统的卷积操作.

动态卷积的结构如图3所示. 在动态卷积中,输入的图像特征h先通过全局平均池化,将图像特征的长和宽变为1;再经过第1个全连接层将通道大小变为原来的25%,经过第2个全连接层把通道大小变为K;最后归一化得到每个卷积核对应的注意力 $ {{{\pi}} _{\text{k}}}{\text{(}}{\boldsymbol{h}}{\text{)}} $

图 3

图 3   动态卷积的结构图

Fig.3   Structure diagram of dynamic convolution


$ 0 \leqslant {{{\pi}} _{k} }{\text{(}}{\boldsymbol{h}}{\text{)}} \leqslant 1,\;{\sum}_{{k} = 1}^{K} {{{{\pi}} _k}{\text{(}}{\boldsymbol{h}}{\text{)}} = 1} . $

聚合K个卷积核和偏差,使用聚合后的卷积核和偏差对输入图像特征进行卷积操作.

$ \tilde {\boldsymbol{W}}{\text{(}}{\boldsymbol{h}}{\text{)}} = {\sum}_{{k} = 1}^{K} {{{{\pi}} _{k} }{\text{(}}{\boldsymbol{h}}{\text{)}}{{\tilde {\boldsymbol{W}}}_{k} }} , $

$ \tilde {\boldsymbol{b}}{\text{(}}{\boldsymbol{h}}{\text{)}} = {\sum}_{{k} = 1}^{K} {{{{\pi}} _k}{\text{(}}{\boldsymbol{h}}{\text{)}}{{\tilde {\boldsymbol{b}}}_k}} , $

$ {\boldsymbol{y}} = {g} \;{\text{(}}{\tilde {\boldsymbol{W}}^{{\rm{T}}} }{\text{(}}{\boldsymbol{h}}{\text{)}}{\boldsymbol{h}}+\tilde {\boldsymbol{b}}{\text{(}}{\boldsymbol{h}}{\text{))}}. $

使用动态卷积后,生成器可以更快地生成质量较好的图像. 计算每个卷积核对应的注意力成本较低,而且每个卷积核的大小相对输入的图像特征来说较小,相应卷积核的聚合计算量也较小,因此使用动态卷积替代卷积增加的计算量也不大.

2.5. 目标函数

定义生成器网络的目标函数为

$ {L_{\rm{G}}} = {L_{{\rm{adv}}\_{\rm{G}}}}+{\lambda _1}{L_{{\text{DAMSM}}}}+{\lambda _2}{L_{{\text{real}}}}+{\lambda _3}{L_{{\text{fake}}}}, $

$ {L_{{\rm{adv}}\_{\rm{G}}}} = - {E_{G({\boldsymbol{z}}) \sim {P_{\rm{g}}}}}[D(G({\boldsymbol{z}}),{\boldsymbol{e}})]. $

式中: ${\lambda _1}$为DAMSM损失的权重, $ {\lambda _{\text{2}}} $为生成图像之间的对比损失的权重, ${\lambda _3}$为生成图像和真实图像之间对比损失的权重. 只使用 ${L_{{\text{real}}}}$时, ${\lambda _3}$=0. 本研究引入单词级信息,为此使用DAMSM损失LDAMSM. DAMSM计算单词和生成图像区域的损失,从单词水平上度量生成图像和文本的匹配程度.

定义鉴别器网络的目标函数为

$ \begin{split} {L_{\rm{D}}} =& - {E_{x \sim {P_{\rm{r}}}}}[\min (0, - 1+D(x,{\boldsymbol{e}}))] - \\ & {\text{ }}(1/2){E_{G({\boldsymbol{z}}) \sim {P_{\rm{g}}}}}[\min (0, - 1 - D(G({\boldsymbol{z}}),{\boldsymbol{e}}))] - \\ & {\text{ }}(1/2){E_{x \sim {P_{{\rm{mis}}}}}}[\min (0, - 1 - D(x,{\boldsymbol{e}}))]+ \\ & {\text{ }}k{E_{x \sim {P_{\rm{r}}}}}[{(||{\nabla _x}D(x,{\boldsymbol{e}})||+||{\nabla _e}D(x,{\boldsymbol{e}})||)^p}]. \end{split} $

使用和DF-GAN相同的铰链损失来稳定对抗训练的过程,使用匹配感知梯度惩罚(MA-GP)和单向输出促使生成器生成与文本语义一致性更高的图像.

3. 实 验

3.1. 数据集

采用Caltech-UCSD Birds 200-2011[24](CUB)和2014版COCO来训练和测试提出的模型. CUB是只有鸟类图片的数据集. 数据集中共有200种鸟类的图像,其中训练集中包含150种8855幅图像,测试集中包含50种2933幅图像. 每幅图像对应10种语义相同但表达方式不同的英文句子. COCO中的图像具有更丰富的种类和更复杂的场景,共有171种图像类别,其中训练集包含8万幅图像,测试集包含4万幅图像. 每幅图像对应5种语义相同但表达方式不同的英文句子.

3.2. 评估指标

使用FID[25]对生成图像的质量进行量化分析. 生成图像和真实图像可以分别看作2个分布,FID计算生成图像分布和真实图像分布之间的距离,更低的FID分数代表生成图像更加接近真实图像,即视觉真实并且符合文本语义.

$ {\text{FID}} = \left\| {{{\boldsymbol{\mu}} _{{r}}} - {{\boldsymbol{\mu}} _{{g}}}} \right\|+{\rm{tr}}\;{\text{(}}{{\boldsymbol{\varSigma }}_{{r}}}+{{\boldsymbol{\varSigma }}_{{g}}} - 2{{\text{(}}{{\boldsymbol{\varSigma }}_{{r}}}{{\boldsymbol{\varSigma }}_{{g}}}{\text{)}}^{1/2}}{\text{)}}. $

式中:rg分别为真实图像编码和生成图像编码, ${\;{\boldsymbol{\mu}} _{{r}}}$${\;{\boldsymbol{\mu}} _{{g}}}$分别为真实图像编码均值和生成图像编码均值, ${{\boldsymbol{\varSigma}} _{{r}}}$$ {{\boldsymbol{\varSigma}} _{{g}}} $分别为真实图像编码协方差和生成图像编码协方差.

3.3. 训练细节

所提模型在pytorch上实现,文本编码器和图像编码器参数来自文献[3]. 模型在CUB和COCO的训练和测试都在单个NVIDIA V100 32G GPU上进行. 训练中使用 ${\; \beta _1}$=0.0, ${\;\beta _{\text{2}}}$=0.9的Adam优化器[26]. 设置式(8)中的η=0.1,式(9)中的η=0.5,式(10)中的K=8,batch=32. 在使用生成图像和生成图像的对比损失时,设置式(14)中系数权重为 ${\lambda _1}$=0.1, $ {\lambda _{\text{2}}} $=0.1, ${\lambda _3}$=0.2. CUB的最终模型是在600~700次迭代时取得最小的FID数值的对应模型. COCO的最终模型是取第1次FID数值小于13的模型,迭代次数为219.

3.4. 定量评价

使用和DF-GAN相同的测试方法对生成图像进行测试. 在CUB上测试时,测试集中每个语义文本生成10幅对应图像,共生成29330幅图像计算FID分数. 在COCO数据集上测试时,每个语义文本生成1幅图像,共生成4万幅图像计算FID分数. 与DM-GAN、KD-GAN和DF-GAN等模型进行比较,定量对比实验的结果如表1所示. 相比DF-GAN,在CUB上,所提模型将FID从12.10降到10.36,在COCO上,将FID从15.41降到12.74. 从定量分析的角度来看,所提方法相比其他方法生成的图像更加接近真实图像,文本和生成图像的潜在语义一致性更好,图像质量得到较大地提升.

表 1   CUB和COCO数据集上各个模型FID得分比较

Tab.1  Performance of FID scores compared with different models in CUB and COCO datasets

模型 来源 FID
CUB COCO
AttnGAN[3] CVPR18 23.98 35.49
DM-GAN[17] CVPR19 16.09 32.64
SE-GAN[9] ICCV19 18.17 32.28
VICTR[27] COLING20 32.37
OP-GAN[28] TPAMI20 25.80
DAE-GAN[29] ICCV21 15.19 28.12
CL[15] BMVC21 14.38 20.79
MDD[30] TMM21 15.76 24.30
KD-GAN[31] TMM21 13.89 23.92
DF-GAN[5] CVPR22 14.81 21.42
SSA-GAN[10] CVPR22 15.61 19.37
RAT-GAN[11] arXiv 13.91 14.60
DF-GAN (预训练)[5] GitHub 12.10 15.41
本研究 10.36 12.74

新窗口打开| 下载CSV


参考Tao等[5]在GitHub上公布的模型,实验得到训练DF-GAN需要的epoch数量. 如表2所示为在CUB和COCO训练的epoch数量n和训练单个epoch的时间t. 相比DF-GAN,所提模型在单个epoch的训练时间有所增加,但从2个数据集训练的总时间来看,达到较高水平所需的总时间基本相同,训练时间没有明显增加. 在CUB上,所提方法需要的训练时间约为69.56 h,DF-GAN需要的训练时间约为96.24 h. 在COCO上,所提方法需要的训练时间约为226.30 h,DF-GAN需要的训练时间约为211.70 h. 当进行模型推理时,所提方法生成1幅图像的时间约为2 ms,与DF-GAN模型生成1幅图像的时间相当.

表 2   CUB和COCO数据集上与DF-GAN训练时间比较

Tab.2  Training time compared with DF-GAN in CUB and COCO datasets

模型 CUB COCO
n t/s n t/s
DF-GAN 1220 284±5 290 2628±10
本研究 626 400±5 219 3720±10

新窗口打开| 下载CSV


3.5. 定性评价

将真实图像、所提方法生成的图像和DF-GAN模型生成的图像进行可视化对比. 如图4所示为在CUB上的生成图像对比示例. 在第1幅图像中,所提模型的生成图像很好地体现了白色的鸟和灰色的翅膀,DF-GAN生成的图像没有体现出文本语义,和真实图像相似度不如本文模型生成的图像. 在第2幅图像中,所提方法的生成图像很好地体现了红色的眼睛和白色的腹部. 在第5幅图像中,白色的眼睛环明显展现出来. 可以看出,所提方法可以更好地利用单词信息实现细粒度图像生成,生成图像在单词细节上更加符合文本信息的描述. 在其他几组生成图像对比中,2个模型生成的图像都体现了文本所表达的语义,但所提方法生成的图像更加自然,并且和真实图像相似度更高. 如图5所示为在COCO上的生成图像对比示例. 由于COCO中的图像种类丰富并且场景复杂,生成图像只能尽量保证图像的真实性. 在第1幅图像中,所提方法刻画了滑雪队员的大致轮廓. 在第5幅图像中,所提方法较好地还原了建筑中有带有钟的高塔. 总体来看,与DF-GAN的生成图像相比,所提方法生成的图像轮廓更加清晰,较好地捕捉了文本描述中提到的图像细节特征,图像的清晰度有了较好地改善,生成的图像更加符合人眼观察预期. 通过文本再次对生成图像进行评估,可以看出所提方法生成的图像更加匹配文本语义.

图 4

图 4   在CUB数据集上2种模型文本生成图像的定性比较

Fig.4   Qualitative comparisons of text-to-image generation by two models in CUB dataset


图 5

图 5   在COCO数据集上2种模型文本生成图像的定性比较

Fig.5   Qualitative comparisons of text-to-image generation by two models in COCO dataset


3.6. 消融研究

在CUB上进行消融实验来验证每个针对DF-GAN改进的有效性. 基线的FID来源于DF-GAN提供模型的运行结果. 这些改进包括在生成图像的过程中融入单词信息、添加真实图像和生成图像的对比损失、在生成器中引入动态卷积. 通过评估FID证明不同改进的有效性,结果如表3所示. 在基线模型中引入细颗粒度的单词信息,FID从12.10降到10.98. 进一步增加真实图像和生成图像之间的对比损失,FID从10.98降到10.83. 进一步将生成器中的卷积层换成动态卷积层,FID从10.83降到10.36. 可以看出,相比于加入对比损失(FID降至11.89)或者引入动态卷积(FID降至11.76),融入单词信息(FID降至10.98)更能有效地提升所提方法的性能.

表 3   在CUB数据集上改进模块的消融研究

Tab.3  Ablation study of improvement modules in CUB dataset

基线 融入单词信息 加入对比损失 引入动态卷积 FID
12.10
10.98
11.89
11.76
10.83
10.66
11.13
10.36

新窗口打开| 下载CSV


为了验证在生成图像的过程中融入单词信息的位置对FID数值的影响. 间隔地融入单词信息,在第1、3、5个上采样文本融合块中的第1个融合块中加入单词信息. 在较前位置融入单词信息,在第1、2、3个上采样文本融合块中的第2个融合块中加入单词信息. 在较后位置融入单词信息,第4、5个上采样文本融合块中的第2个融合块中加入单词信息. 通过FID分数评估在不同位置融入单词信息的有效性,结果如表4所示. 实验发现在较后位置融入单词信息会降低生成图像的质量. 在较前位置融入单词信息,生成图像的质量有较好的提升.

表 4   在CUB数据集上融入单词信息位置差异性的消融研究

Tab.4  Ablation study on different positions for incorporatingword information in CUB dataset

方法 FID 方法 FID
DF-GAN 12.10 较前融入单词信息 10.98
间隔融入单词信息 12.97 较后融入单词信息 14.07

新窗口打开| 下载CSV


在基线模型融入单词信息的前提下,尝试在生成图像和生成图像之间应用对比损失代替生成图像和真实图像之间的对比损失,使用文献[15]提供的文本编码器和图像编码器参数,结果如表5所示. 可以看出,在没有使用动态卷积的情况下达到了最好的FID最好,FID从10.98降到10.32. 在生成图像和生成图像之间添加对比损失要生成原来2倍的图像来计算对比损失,使得模型参数剧增并且训练时长加大,由表5可知,此时模型性能提升有限,因此最终的模型中没有使用这种对比损失.

表 5   在CUB数据集上添加对比损失的消融研究

Tab.5  Ablation study on adding contrastive loss in CUB dataset

方法 FID
融入单词 10.98
融入单词+真实图像和生成图像对比损失 10.83
融入单词+生成图像和生成图像对比损失 10.32

新窗口打开| 下载CSV


4. 结 语

针对DF-GAN生成器的网络结构和损失函数进行改进. 在生成器生成阶段,通过在合理的位置引入单词信息生成器实现了细粒度图像生成. 引入对比损失,进一步增强文本-生成图像之间语义一致性. 将生成器中的卷积层换成动态卷积层,增强了模型表达能力并使得模型更快地收敛. 在性能提高的同时,增加改进后的模型仍然可以在显存为24G的GPU上进行训练,并且训练时间没有明显增加,方便后序进一步改进. 通过量化指标和消融实验,证明针对DF-GAN的各种改进有明显的成效,能够有效地提高生成图像质量.

参考文献

GOODFELLOW I J, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets [C]// Proceedings of the 27th International Conference on Neural Information Processing Systems. [S.l.]: MIT Press, 2014: 2672-2680.

[本文引用: 1]

王凯, 岳泊暄, 傅骏伟, 等

基于生成对抗网络的图像恢复与SLAM容错研究

[J]. 浙江大学学报: 工学版, 2019, 53 (1): 115- 125

[本文引用: 1]

WANG Kai, YUE Bo-xuan, FU Jun-wei, et al

Image restoration and fault tolerance of stereo SLAM based on generative adversarial net

[J]. Journal of Zhejiang University: Engineering Science, 2019, 53 (1): 115- 125

[本文引用: 1]

XU T, ZHANG P, HUANG Q, et al. AttnGAN: fine-grained text to image generation with attentional generative adversarial networks[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 1316-1324.

[本文引用: 4]

LI B, QI X, LUKASIEWICZ T, et al. ManiGAN: text-guided image manipulation[C]// Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 7877-7886.

[本文引用: 1]

TAO M, TANG H, WU F, et al. DF-GAN: a simple and effective baseline for text-to-image synthesis[C]// Proceedings of the 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Orleans: IEEE, 2022: 16494-16504.

[本文引用: 5]

HAN J, SHOEIBY M, PETERSSON L, et al. Dual contrastive learning for unsupervised image-to-image translation[C]// Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Nashville: IEEE, 2021: 746-755.

[本文引用: 1]

REED S, AKATA Z, YAN X, et al. Generative adversarial text to image synthesis[C]// Proceedings of the 33rd International Conference on International Conference on Machine Learning. [S.l.]: JMLR, 2016: 49-58.

[本文引用: 1]

ZHANG H, XU T, LI H, et al. StackGAN: text to photo-realistic image synthesis with stacked generative adversarial networks[C]// Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 5907-5915.

[本文引用: 1]

TAN H, LIU X, LI X, et al. Semantics-enhanced adversarial nets for text-to-image synthesis[C]// Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 10500-10509.

[本文引用: 2]

LIAO W, HU K, YANG M Y, et al. Text to image generation with semantic-spatial aware GAN[C]// Proceedings of the 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Orleans: IEEE, 2022: 18166-18175.

[本文引用: 2]

YE S, LIU F, TAN M. Recurrent affine transformation for text-to-image synthesis [EB/OL]. (2022-04-01)[2022-12-01]. https://arxiv.org/pdf/2204.10482.pdf.

[本文引用: 2]

KUMARI N, ZHANG B, ZHANG R, et al. Multi-concept customization of text-to-image diffusion[C]// Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023: 1931-1941.

[本文引用: 1]

QIAO T, ZHANG J, XU D, et al. MirrorGAN: learning text-to-image generation by redescription[C]// Proceedings of the 2019 Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 1505-1514.

[本文引用: 1]

YIN G, LIU B, SHENG L, et al. Semantics disentangling for text-to-image generation[C]// Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 2322-2331.

[本文引用: 1]

YE H, YANG X, TAKAC M, et al. Improving text-to-image synthesis using contrastive learning [EB/OL]. (2021-07-01)[2022-12-01]. https://arxiv.org/pdf/2107.02423.pdf.

[本文引用: 3]

HE K, FAN H, WU Y, et al. Momentum contrast for unsupervised visual representation learning[C]// Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 9726-9735.

[本文引用: 1]

ZHU M, PAN P, CHEN W, et al. DM-GAN: dynamic memory generative adversarial networks for text-to-image synthesis[C]// Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 5795-5803.

[本文引用: 2]

ZHANG H, KOH J Y, BALDRIDGE J, et al. Cross-modal contrastive learning for text-to-image generation[C]// Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021: 833-842.

[本文引用: 1]

CHEN Y, DAI X, LIU M, et al. Dynamic convolution: attention over convolution kernels[C]// Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 11027-11036.

[本文引用: 1]

SCHUSTER M, PALIWAL K K

Bidirectional recurrent neural networks

[J]. IEEE Transactions on Signal Processing, 1997, 45 (11): 2673- 2681

DOI:10.1109/78.650093      [本文引用: 1]

RUSSAKOVSKY O, DENG J, SU H, et al

Imagenet large scale visual recognition challenge

[J]. International Journal of Computer Vision, 2015, 115 (3): 211- 252

DOI:10.1007/s11263-015-0816-y      [本文引用: 1]

SZEGEDY C, VANHOUCKE V, IOFFE S, et al. Rethinking the inception architecture for computer vision[C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 2818-2826.

[本文引用: 1]

LIN TY, MAIRE M, BELONGIE S, et al. Microsoft COCO: common objects in context[C]// Proceedings of the ECCV 2014. [S.l.]: Springer, 2014: 740-755.

[本文引用: 1]

WAH C, BRANSON S, WELINDER P, et al. The caltech-ucsd birds-200-2011 dataset [R]. Pasadena: California Institute of Technology, 2011.

[本文引用: 1]

HEUSEL M, RAMSAUER H, UNTERTHINER T, et al. GANs trained by a two time-scale update rule converge to a local nash equilibrium[C]// Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates, 2017: 6629–6640.

[本文引用: 1]

KINGMA D P, BA J L. ADAM: a method for stochastic optimization [EB/OL]. (2014-12-01)[2022-12-01]. https://arxiv.org/pdf/1412.6980.pdf.

[本文引用: 1]

HAN S C, LONG S, LUO S, et al. VICTR: visual information captured text representation for text-to-image multimodal tasks [EB/OL]. (2020-10-01)[2022-12-01]. https://arxiv.org/pdf/2010.03182.pdf.

[本文引用: 1]

HINZ T, HEINRICH S, WERMTER S. Semantic object accuracy for generative text-to-image synthesis [EB/OL]. (2019-10-01)[2022-12-01]. https://arxiv.org/pdf/1910.13321.pdf.

[本文引用: 1]

RUAN S, ZHANG Y, ZHANG K, et al. DAE-GAN: dynamic aspect-aware GAN for text-to-image synthesis[C]// Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 13940-13949.

[本文引用: 1]

FENG F, NIU T, LI R, et al

Modality disentangled discriminator for text-to-image synthesis

[J]. IEEE Transactions on Multimedia, 2022, 24: 2112- 2124

DOI:10.1109/TMM.2021.3075997      [本文引用: 1]

PENG J, ZHOU Y, SUN X, et al

Knowledge-driven generative adversarial network for text-to-image synthesis

[J]. IEEE Transactions on Multimedia, 2022, 24: 4356- 4366

DOI:10.1109/TMM.2021.3116416      [本文引用: 1]

/