«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (4): 206-212, 222  DOI: 10.19678/j.issn.1000-3428.0062998
0

引用本文  

张云帆, 易尧华, 汤梓伟, 等. 基于通道注意力机制的文本生成图像方法[J]. 计算机工程, 2022, 48(4), 206-212. DOI: 10.19678/j.issn.1000-3428.0062998.
ZHANG Yunfan, YI Yaohua, TANG Ziwei, et al. Text-to-Image Synthesis Method Based on Channel Attention Mechanism[J]. Computer Engineering, 2022, 48(4), 206-212. DOI: 10.19678/j.issn.1000-3428.0062998.

基金项目

国家重点研发计划(2021YFB2206200)

作者简介

张云帆(1997—),男,硕士研究生,主研方向为图像生成;
易尧华,教授、博士;
汤梓伟,博士研究生;
王新宇,硕士研究生

文章历史

收稿日期:2021-10-19
修回日期:2021-12-18
基于通道注意力机制的文本生成图像方法
张云帆 , 易尧华 , 汤梓伟 , 王新宇     
武汉大学 印刷与包装系, 武汉 430079
摘要:针对文本生成图像任务中生成图像细节缺失及低分辨率阶段生成图像存在结构性错误的问题,基于动态注意力机制生成对抗网络(DMGAN),引入内容感知上采样模块和通道注意力卷积模块,提出一种新的文本生成图像方法ECAGAN。在低分辨率图像生成阶段的特征图上采样过程中采用基于内容感知的上采样方法,通过输入特征图计算得到重组卷积核,使用重组卷积核和特征图进行卷积操作,确保上采样后的特征图和文本条件的语义一致性,使生成的低分辨率图像更加准确,利用通道注意力卷积模块学习特征图各个特征通道的重要程度,突出重要的特征通道,抑制无效信息,使生成图像的细节更丰富。此外在训练过程中结合条件增强和感知损失函数辅助训练,增强训练过程的鲁棒性,提高生成图像质量。在CUB-200-2011数据集上的实验结果表明,ECAGAN模型初始分数达到了4.83,R值达到了75.62,与DMGAN方法相比,分别提高了1.6%和4.6%,并且可改善生成图像结构错乱的问题,同时能够生成清晰的图像细节,语义一致性更高,更加接近真实图像。
关键词生成对抗网络    文本生成图像    通道注意力机制    内容感知上采样    感知损失    
Text-to-Image Synthesis Method Based on Channel Attention Mechanism
ZHANG Yunfan , YI Yaohua , TANG Ziwei , WANG Xinyu     
Department of Printing and Packaging, Wuhan University, Wuhan 430079, China
Abstract: To solve the problems of lack of details and structural errors in images generated at the low-resolution stage of the text-to-Image generation process, content-aware up-sampling and channel attention convolution modules are proposed.Both modules are based on the Dynamic attention Mechanism Generation Adversarial Networks (DMGAN).In other words, a text-generated image method based on a channel attention mechanism is proposed, and in the feature map upsampling process of the low-resolution image generation stage, an upsampling method based on content perception is proposed.The recombined convolution kernel is calculated through the input feature map and together with the feature map, they are used for convolution operation to ensure upsampling.The semantic consistency of the latter feature map and text conditions increases the accuracy of the generated low-resolution images.The channel attention convolution module is used to learn the importance of each feature channel of the feature map, highlight important feature channels, suppress invalid information, and enrichen the details of the generated image.In addition, in the training process, condition enhancement and perceptual loss function are combined to assist training to enhance the robustness of the training process and improve the quality of the generated image.The experimental results on the CUB-200-2011 dataset show that the Inception Score reached 4.83 and the R-value reached 75.62.Compared with DMGAN, it has increased by 1.6% and 4.6%, respectively.The proposed method can improve the structure of the generated image while increasing the clarity of the details of the generated image and improving semantic consistency thereby obtaining an image closer to the real image.
Key words: Generation Adversarial Networks(GAN)    text-to-image synthesis    channel attention mechanism    content-aware upsampling    aware loss    

开放科学(资源服务)标志码(OSID):

0 概述

文本生成图像任务[1]是图像生成领域的重难点之一,旨在根据输入的文本描述生成相应的自然场景图像,其包括计算机视觉和自然语言处理两方面,是一个多模态的交叉型任务。文本生成图像可应用于计算机辅助设计、智能美工、医疗图像生成[2]等多个技术领域。

随着深度学习技术的发展,生成对抗网络(Generation Adversarial Network,GAN)[3]及其各种变体[4]成为文本生成图像的主流方法。在早期有MIRZA等[5]提出的CGAN和REED等[6]提出的GAN-INT-CLS,但是这些方法生成的图像分辨率都较低。为了解决生成图像分辨率低问题,文献[7]提出了Stack-GAN,主要是将生成高分辨率图像的问题分成不同阶段,在低分辨率图像生成阶段侧重图像对象的布局和结构生成,在图像精炼阶段则纠正了低分辨率阶段生成图像的一些错误,然后对图像中的纹理细节[8]进行绘制。

多阶段生成图像的方法解决了生成图像分辨率低的问题,但是依然存在生成图像与文本条件不符及两者语义一致性较低的问题。为了进一步提高生成图像与文本条件之间的语义一致性,文献[9]在Attn-GAN中引入注意力机制,通过注意力模块将语义特征向量和生成图像中与之最相关的区域对应起来。文献[10]通过局部和全局特征相结合,设计了针对图像边框和图像对象的级联生成网络,提高了生成图像的逻辑性,使图像生成更加准确。文献[11]在图像生成任务中结合了空间注意力机制,实现了可控的图像生成,提高了生成图像的准确性。文献[12]提出了动态注意力生成对抗网络模型(DM-GAN),在每个生成阶段计算出每个单词与图像子区域之间的相关性,提高了生成图像与文本条件之间的语义一致性,但是依然存在生成图像细节缺失、低分辨率阶段生成图像存在结构性错误的问题。

针对上述问题,本文提出一种基于通道注意力的文本生成图像方法。在特征图上采样过程中,引入基于内容感知的上采样模块,提高特征图和输入文本之间的语义一致性,使生成图像更准确。同时在卷积层中使用通道注意力机制,对特征图进行加权,增加不同通道间的信息交互,以使生成图像的细节更丰富。

1 相关工作 1.1 通道注意力机制和上采样方法

近年来,通道注意力被广泛地应用于视觉处理任务[13],可以对每一个特征通道进行加权,实现突出重要信息及抑制无用信息的效果。典型代表是HU等[14]提出的SENet,实现了通过全局损失函数自适应地调整每个特征通道的权重,SENet在图像分类任务中取得了显著效果。文献[15]在SENet的基础上提出了ECANet,相比上述方法,ECANet对特征通道加权时只需要计算与其相邻的k个通道,降低了参数量,同时保证了性能提升。

上采样是图像处理中常用的一种操作,其原理是根据图像原有的像素生成新的像素点,常用方法有插值法和反卷积[16]。文献[17]在目标检测任务中结合反卷积实现对小目标的有效检测。文献[18]提出了基于特征图语义的上采样方法,通过输入特征图得到重组卷积核,充分利用了语义信息,同时参数量较少,在图像增强和图像超分辨率重建任务中取得了较好的效果。

1.2 文本生成图像方法

文本生成图像主流方法是使用堆叠式的生成对抗网络生成高质量图像。文献[19]通过设计不同分辨率的特征融合模块,提高了训练的稳定性,网络收敛更快。文献[20]提出了镜像生成对抗网络(Mirror-GAN)模型,通过集成两个网络构建镜像结构,对生成图像进行重新描述[21],将得到的结果和给定文本条件进行对齐,由此提高生成图像和文本条件的语义一致性。但是低分辨率阶段生成的图像结构严重不合理,会导致后续的生成图像质量较差。如图 1所示,从上到下为DM-GAN从低分辨率到高分辨的图像生成结果,可以看到在低分辨率阶段生成的图像存在结构不合理的错误,如生成了两个“头部”,缺少“爪子”等,后续精炼过程难以修正。所以,在低分辨率阶段设计更合理的生成器,保证低分辨率阶段生成的图像准确合理,是保证生成高质量图像的关键。

Download:
图 1 DMGAN各阶段生成图像 Fig. 1 Result at each stage of DMGAN
2 基于通道注意力机制的生成对抗网络模型

图 2所示为本文提出一种基于通道注意力机制的生成对抗网络模型(ECAGAN)。网络结构可以分为低分辨率图像生成阶段和图像精炼阶段,低分辨率图像生成阶段的生成器生成64×64像素的低分辨率图像,图像精炼阶段的生成器生成128×128像素和256×256像素的图像。判别网络有多个判别器$ \{{D}_{0}, {D}_{1}, {D}_{2}\} $,在低分辨率阶段(k=0),判别器$ {D}_{0} $只对低分辨率图像和真实图像进行真假判定,在精炼阶段(k=1,2)有相应的判别器$ {D}_{k} $对生成图像进行真假判定。

Download:
图 2 ECAGAN网络结构 Fig. 2 Network structure of ECAGAN
2.1 低分辨率图像生成阶段

在低分辨率图像生成阶段,将给定的文本描述输入文本编码器得到语义特征向量$ \boldsymbol{s} $和词向量$ \boldsymbol{V} $,本文使用的文本编码器为预训练的循环神经网络(Recurrent Neural Network,RNN)。语义特征向量$ \boldsymbol{s} $是一个包含文本语义特征的向量,用于低分辨率图像生成。词向量$ \boldsymbol{V} $是一个包含了18个单词语义的向量,用于精炼阶段的图像生成。编码得到语义特征向量$ \boldsymbol{s} $需要进行条件增强,具体方法是从语义特征向量$ \boldsymbol{s} $的高斯分布$ \mathcal{N}\left(\boldsymbol{\mu }\right(\boldsymbol{s}), \sum (\boldsymbol{s}\left)\right) $中得到平均协方差矩阵$ \boldsymbol{\mu }\left(\boldsymbol{s}\right) $和对角协方差矩阵$ \boldsymbol{\nu }\left(\boldsymbol{s}\right) $,然后计算得到特征向量$ {\boldsymbol{c}}_{0} $,($ {\boldsymbol{c}}_{0}=\boldsymbol{\mu }\left(\boldsymbol{s}\right)+\nu \left(\boldsymbol{s}\right)\odot \varepsilon $$ \odot $代表点乘操作,$ \varepsilon \sim N \left(\mathrm{0, 1}\right) $),最后$ {\boldsymbol{c}}_{0} $和一个从正态分布中取样的随机噪声$ Z $拼接得到$ {{\boldsymbol{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{c}}}_{0}} $。将$ {{\boldsymbol{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{c}}}_{0}} $进行一次全连接操作后输入内容感知上采样模块,上采样之后得到特征图$ {R}_{0} $,特征图输入通道注意力卷积模块之后得到低分辨率图像。

2.1.1 内容感知上采样模块

在低分辨率图像生成之前需要对特征图进行上采样操作,目前通用的上采样方式包括最邻近插值和反卷积。但是最邻近插值的感受野太小,而且未利用语义信息,反卷积则计算量太大。本文的内容感知上采样模块利用原始特征图得到重组卷积核,使用重组卷积核对输入特征图进行上采样,考虑到了每个像素和周围区域的关系,同时避免了参数过多、计算量太大的问题。内容感知上采样模块由自适应卷积核预测模块和内容感知特征重组模块组成[18],结构如图 3所示,特征图输入内容感知上采样模块之后共重复4次上采样操作,假设输入特征图$ R $的尺寸为$ C\times W\times H $,上采样的倍率设置为$ S $(本文中设置为2)。经过内容感知上采样模块之后输出上采样之后的新特征图$ {R}^{\text{'}} $,其尺寸为$ C\times SH\times SW $,输出特征图$ {R}^{\text{'}} $中的区域$ {l}^{\text{'}}=({i}^{\text{'}}, {j}^{\text{'}}) $,对应于输入特征图$ R $中的$ l=(i, j) $,对应关系为$ i=\left[{i}^{\text{'}}/S\right] $$ j=\left[{j}^{\text{'}}/S\right] $

Download:
图 3 内容感知上采样模块 Fig. 3 Content-aware upsampling module

特征图$ R $输入之后在自适应卷积核预测模块$ \psi $中对输出特征图$ {R}^{\text{'}} $的每一个区域$ {l}^{\text{'}} $预测出卷积核$ {\gamma }_{{l}^{\text{'}}} $,如式(1)所示,原特征图在内容感知特征重组模块$ \xi $中和预测得到的卷积核进行点乘得到结果,如式(2)所示:

$ {\gamma }_{{l}^{\text{'}}}=\psi \left(Z\right({R}_{l}, {k}_{\mathrm{e}\mathrm{n}\mathrm{c}\mathrm{o}\mathrm{d}\mathrm{e}\mathrm{r}}\left)\right) $ (1)
$ {R}_{{l}^{\text{'}}}^{\text{'}}=\xi \left(Z\right({R}_{l}, {k}_{\mathrm{u}\mathrm{p}}), {\gamma }_{{l}^{\text{'}}}) $ (2)

其中:$ Z({R}_{l}, {k}_{\mathrm{u}\mathrm{p}}) $代表特征图$ R $中点$ l $周围$ {k}_{\mathrm{u}\mathrm{p}}\times {k}_{\mathrm{u}\mathrm{p}} $大小的子区域;$ {k}_{\mathrm{e}\mathrm{n}\mathrm{c}\mathrm{o}\mathrm{d}\mathrm{e}\mathrm{r}} $表示内容编码器的大小。

在自适应卷积核预测模块中,特征图首先经过一个$ 1\times 1 $的卷积层将通道数从$ C $压缩到$ {C}_{m} $,然后通过内容编码器对卷积核进行预测,输入通道数为$ {C}_{m} $,输出通道数为$ {C}_{\mathrm{u}\mathrm{p}}={S}^{2}{k}_{\mathrm{u}\mathrm{p}}^{2} $,将通道维在空间维展开,得到大小为$ SH\times SW\times {k}_{\mathrm{u}\mathrm{p}}^{2} $的重组卷积核,最后利用softmax函数进行归一化,使得重组卷积核权重和为1。

内容感知特征重组模块对于输出特征图中的每个位置$ {l}^{\text{'}} $,将其映射回输入特征图,取出以$ l=(i, j) $为中心的$ {k}_{\mathrm{u}\mathrm{p}}\times {k}_{\mathrm{u}\mathrm{p}} $大小的区域,和以该点预测出的重组卷积核作点积,得到输出值,如式(3)所示,相同位置的不同通道共享同一个重组卷积核。

$ {R}_{{l}^{\text{'}}}^{\text{'}}=\sum \limits_{n=-r}^{r}\sum \limits_{m=-r}^{r}{{\gamma }_{{l}^{\text{'}}}}_{(n, m)}\cdot {R}_{(i+n, j+m)} $ (3)

其中:$ l=(i, j) $为输出特征图在输入特征图上的对应位置的点;$ r=\left[{k}_{\mathrm{u}\mathrm{p}}/2\right] $$ l $的邻域。

2.1.2 通道注意力卷积模块

经过上采样之后得到特征图输入生成器,经过卷积运算生成图像。通过通道注意力对特征图进行加权,使生成图像细节更丰富。此外,跨通道交互可以在显著降低模型复杂度的同时保持性能。通道注意力[15]模块结构如图 4所示。

Download:
图 4 通道注意力卷积模块 Fig. 4 Channel attention convolution module

在通道注意力卷积模块中,通道注意力权重$ \omega $的计算如式(4)所示:

$ \omega =\sigma \left(\boldsymbol{Q}y\right) $ (4)

其中:$ y={G}_{\mathrm{G}\mathrm{A}\mathrm{P}}\left(R\right) $,由输入特征图经过全局平均池化得到;$ \boldsymbol{Q} $是权重矩阵;$ \sigma $则是Sigmoid函数。假设接受的特征图$ R\in {\mathbb{R}}^{W\times H\times C} $$ W\mathrm{、}H\mathrm{、}C $分别代表特征图的宽度、高度和通道维度。全局平均池化公式如(5)所示:

$ {G}_{\mathrm{G}\mathrm{A}\mathrm{P}}\left(R\right)=\frac{1}{WH}\sum \limits_{i=1, j=1}^{W, H}{R}_{ij} $ (5)

权重矩阵$ \boldsymbol{Q} $大小为$ k\times C $,对于每一个通道$ {y}_{i} $,对应的权重$ {\omega }_{i} $计算只需要考虑相邻的$ k $个通道(本文中设置为5),如式(6)所示:

$ {\omega }_{i}=\sigma \left(\sum \limits_{j=1}^{k}{w}^{j}{y}_{i}^{j}\right), {y}_{i}^{j}\in {\varOmega }_{i}^{k} $ (6)

其中:$ {\varOmega }_{i}^{k} $代表通道$ {y}_{i} $相邻的$ k $个通道的集合;$ {w}^{j} $$ {y}_{i} $的第$ j $个相邻通道$ {y}_{i}^{j} $的权重。

2.2 图像精炼阶段

在低分辨率图像生成阶段完成后,需要对生成图像进行进一步精炼,如图 2所示精炼次数设置为2($ k=\mathrm{1, 2} $)。具体的精炼算法步骤如算法1所示,当两次精炼完成,可以得到高分辨率特征图,生成高质量图像。

算法1  图像精炼算法

输入  上一阶段生成的特征图$ {R}_{k-1} $,词向量$ \boldsymbol{V} $

输出  高分辨率特征图$ {R}_{k} $

步骤1  将特征图$ {R}_{k-1} $和词向量$ \boldsymbol{V} $输入动态注意力计算层,表示为:

$ \boldsymbol{V}=\{{v}_{1}, {v}_{2}, \cdots , {v}_{T}\}, {v}_{i}\in {\mathbb{R}}^{Nv} $
$ {R}_{k-1}=\{{r}_{1}, {r}_{2}, \cdots , {r}_{N}\}, {r}_{i}\in {\mathbb{R}}^{{N}_{r}} $

步骤2  在动态注意力层中首先计算词向量中每一个单词$ {v}_{i} $与图像子区域$ {r}_{i} $之间的相关性$ {m}_{i} $

$ {g}_{i}^{v}(R, {v}_{i})=\sigma \left(\boldsymbol{A}\times {v}_{i}+\boldsymbol{B}\times \frac{1}{N}\sum \limits_{i=1}^{N}{r}_{i}\right) $

$ {m}_{i}={M}_{l}\left({v}_{i}\right)\times {g}_{i}^{v}+{M}_{r}\left(\frac{1}{N}\sum \limits_{i=1}^{N}{r}_{i}\right)\times (1-{g}_{i}^{v}) $//公式中//$ \boldsymbol{A}\mathrm{、}\boldsymbol{B} $为偏置矩阵,$ \sigma $为sigmoid函数,$ {M}_{l}(\cdot )\mathrm{、}{M}_{r}(\cdot ) $为//$ 1\times 1 $卷积,用于维度转换

步骤3  根据相关性$ {m}_{i} $,计算每一个图像子区域$ {r}_{j} $的注意力权重$ {o}_{j} $

$ {o}_{j}=\sum \limits_{i=1}^{T}\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({\phi }_{K}\right({\boldsymbol{m}}_{i}{)}^{\mathrm{T}}{r}_{j})}{\sum \limits_{l=1}^{T}\mathrm{e}\mathrm{x}\mathrm{p}\left({\phi }_{K}\right({\boldsymbol{m}}_{l}{)}^{\mathrm{T}}{r}_{j})}{\phi }_{V}\left({\boldsymbol{m}}_{i}\right) $ //$ {\phi }_{k}, {\phi }_{v} $都是$ 1\times 1 $//卷积

步骤4  根据计算得到的特征图注意力权重$ {o}_{j} $,通过一个外的适应门$ {g}_{j}^{r} $控制特征图更新,得到特征图$ {R}_{k}^{\text{'}} $

$ {g}_{j}^{r}=\sigma \left(\boldsymbol{W}\right[{o}_{j}, {r}_{j}]+b) $//$ \boldsymbol{W}, b $为参数矩阵和偏置

$ {r}_{j}^{\mathrm{n}\mathrm{e}\mathrm{w}}={o}_{j}\times {g}_{j}^{r}+{r}_{j}\times (1-{g}_{j}^{r}) $

步骤5  将特征图进行上采样操作,上采样倍率为2

步骤6  将特征图输入一个两层残差网络,得到高分辨率特征图$ {R}_{k} $

重复步骤1~步骤6,得到符合要求的特征图,结束精炼过程,将特征图输入通道注意力卷积模块得到高质量图像。

2.3 损失函数

本文提出的模型ECAGAN属于生成对抗网络,根据生成对抗网络的特点,网络损失函数分为生成器损失函数和判别器损失,其中生成器损失函数形式如式(7)所示:

$ {L}_{G}=\sum \limits_{i}({L}_{{G}_{i}}+{\lambda }_{1}{L}_{\mathrm{p}\mathrm{e}\mathrm{r}}({I}_{i}^{\text{'}}, {I}_{i}))+{\lambda }_{2}{L}_{\mathrm{C}\mathrm{A}}+{\lambda }_{3}{L}_{\mathrm{D}\mathrm{A}\mathrm{M}\mathrm{S}\mathrm{M}} $ (7)

其中:$ {L}_{{G}_{i}} $表示各级生成器损失函数;$ {L}_{\mathrm{p}\mathrm{e}\mathrm{r}} $表示感知损失函数;$ {L}_{\mathrm{C}\mathrm{A}} $表示条件增强损失函数;$ {L}_{\mathrm{D}\mathrm{A}\mathrm{M}\mathrm{S}\mathrm{M}} $表示DAMSM模块损失函数[9]$ {\lambda }_{1}\mathrm{、}{\lambda }_{2}\mathrm{、}{\lambda }_{3} $代表各个损失函数的权重,本文沿用了文献[12]中的参数设置$ {\lambda }_{2}=1, {\lambda }_{3}=5 $,对本文加入的$ {L}_{\mathrm{p}\mathrm{e}\mathrm{r}}({I}_{i}^{\text{'}}, {I}_{i}) $经过参数对比分析实验得出最优值$ {\lambda }_{1}=1 $

各级生成器损失函数如式(8)所示:

$ {{L}_{{{G}_{i}}}}=\underbrace{-\frac{1}{2}{{E}_{x\sim {{p}_{{{G}_{i}}}}}}\left[ \text{lo}{{\text{g}}_{a}}{{D}_{i}}\left( \widehat{{{x}_{i}}} \right) \right]}_{\text{unconditional}\ \text{loss}}\underbrace{-\frac{1}{2}{{E}_{x\sim {{p}_{{{G}_{i}}}}}}\left[ \text{lo}{{\text{g}}_{a}}{{D}_{i}}(\widehat{{{x}_{i}}},\boldsymbol{s}) \right]}_{\text{conditional}\ \text{loss}} $ (8)

同时判别器的损失函数和生成器损失函数相似,也包括条件损失和非条件损失两部分,如式(9)所示:

$ \begin{align} & {{L}_{{{D}_{i}}}}= \\ & \underbrace{-\frac{1}{2}{{E}_{x\sim {{p}_{\text{dat}{{\text{a}}_{i}}}}}}\text{lo}{{\text{g}}_{a}}{{D}_{i}}\left( {{x}_{i}} \right)-\frac{1}{2}{{E}_{x\sim {{p}_{{{G}_{i}}}}}}\text{lo}{{\text{g}}_{a}}\left( 1-{{D}_{i}}\left( \widehat{{{x}_{i}}} \right) \right)}_{\text{unconditional}\ \text{loss}} \\ & \underbrace{-\frac{1}{2}{{E}_{x\sim {{p}_{\text{dat}{{\text{a}}_{i}}}}}}\text{lo}{{\text{g}}_{a}}{{D}_{i}}({{x}_{i}},s)-\frac{1}{2}{{E}_{x\sim {{p}_{{{G}_{i}}}}}}\text{lo}{{\text{g}}_{a}}\left( 1-{{D}_{i}}(\widehat{{{x}_{i}}},\boldsymbol{s}) \right)}_{\text{conditional}\ \text{loss}} \\ \end{align} $ (9)

在式(7)~式(9)中:$ {G}_{i} $$ {D}_{i} $分别代表第$ i $阶段的生成器和判别器;$ {x}_{i} $来自第$ i $阶段的真实图像分布$ {P}_{\mathrm{d}\mathrm{a}\mathrm{t}{\mathrm{a}}_{i}} $$ \widehat{{x}_{i}} $则是来自模型分布$ {p}_{{G}_{i}} $$ \boldsymbol{s} $是经过编码器编码后的语义特征向量。

DAMSM模块通过计算文本语义特征向量和生成图像特征向量之间的相似度,来衡量生成图像和文本条件之间的语义一致性。图像特征向量使用Inception-V3[22]进行提取,DAMSM损失函数可以提高生成图像和文本条件的语义一致性,条件增强损失则是通过从高斯分布中重新采样输入语句向量来增强训练数据,避免模型过拟合,如式(10)所示:

$ {L}_{\mathrm{C}\mathrm{A}}={D}_{\mathrm{K}\mathrm{L}}\left(\mathcal{N}\left(\boldsymbol{\mu }\right(\boldsymbol{s}), \boldsymbol{\varSigma }(\boldsymbol{s}\left)\right)\left|\right|\mathcal{N}(0, I)\right) $ (10)

其中:$ \mathcal{N}(0, I) $代表高斯分布;$ \boldsymbol{\mu }\left(\boldsymbol{s}\right) $代表语义特征向量的平均协方差矩阵;$ \boldsymbol{\Sigma }\left(\boldsymbol{s}\right) $是对角协方差矩阵。感知损失可以让生成图像的高层信息和真实图像更接近,如式(11)所示:

$ {L}_{\mathrm{p}\mathrm{e}\mathrm{r}}({I}^{\text{'}}, I)=\frac{1}{{C}_{i}{H}_{i}{W}_{i}}{‖\phi }_{i}\left({I}^{\text{'}}\right)-{{\phi }_{i}\left(I\right)‖}_{2}^{2} $ (11)

其中:$ I $$ {I}^{\text{'}} $代表真实图像和生成器生成的生成图像;$ \phi $是对图像进行特征提取操作,本文使用一个在ImagNet数据集上预训练的VGG-16网络来对图像进行特征提取;$ C\mathrm{、}H\mathrm{、}W $分别代表特征图的通道数、高度和宽度。

在训练过程中,通过生成器损失和判别器损失交替迭代来优化更新参数,在训练生成器时判别器参数固定,在训练判别器时生成器参数固定。最终得到能够生成高质量图像的生成模型。

3 实验结果与分析 3.1 实验环境及数据集

本文实验环境如下:Ubuntu 16.04,CPU为i7- 4790k,GPU为GeForce GTX 1080Ti,实验代码使用了Pytorch深度学习框架,在GPU上运行。

本文使用的数据集为公开数据集CUB-200-2011(Caltech-UCSD Birds-200-2011)[23],CUB数据集中包含200种不同的鸟类图像,共计11 788张图像,其中包含训练集8 855张图像和测试集2 933张图像。训练中设置batch size为10,生成器和判别器的学习率均为0.000 2,训练轮数设置为900,优化器使用Adam,$ {\beta }_{1} $设置为0.5,$ {\beta }_{2} $设置为0.999。

3.2 评价指标

为验证本文方法的有效性,本文采用3种评价标准对生成图像的质量与多样性和语义一致性进行评价:

1)R-值精度(R-precision)。由XU等提出用来评估生成的图像与输入文本条件之间的语义一致性。对于每个生成的图像,使用其真实的文本条件和从测试集中随机选择的99个不匹配描述来形成文本条件池,然后提取生成图像和给定文本描述的全局特征向量,最后计算全局图像向量和全局文本向量之间的余弦相似度。R值越高代表生成的图像与输入文本条件之间的语义一致性越高。

2)初始分数(Inception Score,IS)。由文献[24]提出,用于衡量生成图像的清晰度和多样性,具体方法是通过计算边缘分布和条件分布的相对熵损失,衡量生成图像的质量,如式(12)所示:

$ {I}_{\mathrm{I}\mathrm{S}}=\mathrm{e}\mathrm{x}\mathrm{p}\left({E}_{x}{D}_{\mathrm{K}\mathrm{L}}p\right(y\left|x\right)\left|\right|p\left(y\right)) $ (12)

其中:$ x $表示由生成器生成的样本;$ p\left(y\right) $表示边缘分布;$ p\left(y\right|x) $表示$ x $输入图像分类网络得到的分布;$ {D}_{\mathrm{K}\mathrm{L}}\left(A\right|\left|B\right) $表示$ A\mathrm{、}B $两者之间的KL散度,用来衡量两个分布之间的相似度,$ \mathrm{I}\mathrm{S} $值越大,表示生成图像质量越高。

3)Frechet Inception距离得分(Frechet Inception Distance score,FID)。由文献[25]提出,具体方法是计算生成图像和真实图像分布之间的距离,如式(13)所示:

$ {F}_{\mathrm{F}\mathrm{I}\mathrm{D}}=\left|\right|{\mu }_{x}-{\mu }_{\widehat{x}}|{|}^{2}+\mathrm{T}\mathrm{r}({\boldsymbol{\upsilon }}_{x}+{\boldsymbol{\upsilon }}_{\widehat{x}}-2\sqrt{{\upsilon }_{x}\cdot {\upsilon }_{\widehat{x}}}) $ (13)

其中:$ {\mu }_{x}\mathrm{、}{\mu }_{\widehat{x}}\mathrm{、}{\boldsymbol{\upsilon }}_{x}\mathrm{、}{\boldsymbol{\upsilon }}_{\widehat{x}} $分别代表真实图像和生成图像的特征均值、真实图像和生成图像的协方差矩阵。$ \mathrm{F}\mathrm{I}\mathrm{D} $越小,代表生成图像和真实图像越接近。

3.3 结果分析

本节将定量和定性地与其他方法进行比较,从评价指标和视觉效果两个方面来评估实验结果。首先是评价指标的量化对比分析,使用R值、Inception Score和FID 3个评价指标对本文方法和经典文本生成图像网络在CUB数据集上进行对比。然后对本文方法和之前的方法进行主观视觉对比,验证本文方法的有效性。

3.3.1 定量结果分析

为了得到式(7)中超参数$ {\lambda }_{1} $的最优值,在保证其他参数不变的情况下将$ {\lambda }_{1} $分别设置为0、0.1、1、5、10进行对比实验,实验结果如表 1所示,粗体表示值最优。可以看到:当$ {\lambda }_{1}=1 $时模型的评价指标值最好,分析可知,将式(7)超参数$ {\lambda }_{1} $的值设置为1时模型的性能最佳。

下载CSV 表 1 不同参数设置下ECAGAN方法R、IS和FID的最优值 Table 1 Optimal values of R, IS and FID for ECAGAN methods under different parameter settings

与主流方法的对比结果如表 2所示,其中,“—”表示没有数据,加粗字体为每列最优值。

下载CSV 表 2 不同方法在CUB数据集上的对比 Table 2 Comparison of different methods on CUB dataset

通过对比发现,本文提出的方法(ECAGAN)在CUB数据集上的实验结果与目前主流网络相比均有一定提升。相比AttnGAN和DMGAN,R值分别提高了11.5%和4.6%,Inception Score分别提高了10.7%和1.6%,FID也有一定的降低。实验结果表明,ECAGAN模型生成的图像质量更好。

3.3.2 定性结果分析

在视觉效果方面,图 5为4种GAN模型在CUB数据集上的可视化结果。在图 5(a)~图 5(d)中,第1、2、3、4、5列输入的文本条件和图 1一致,结果表明本文方法有效提高了生成图像的质量。可以看到图 5(a)~图 5(d)中第1、2列中本文方法生成的图像在大面积的纹理特征上比较清晰,头部细节丰富合理,每个部位之间纹理过渡合适,其他模型生成的图像缺乏细节,不同部位如头部、躯干差异较大,导致图像缺乏真实感。在图 5(a)~图 5(d)第3、4列图像中,本文方法生成的鸟类对象完整,每个部分细节合理且与背景相符。其他模型生成的图像鸟类结构缺失,细节不足,在背景中显得十分突兀,导致图像真实感不够。在图 5(a)~图 5(d)第5、6、7列则能明显看出,相比其他3种方法,本文算法生成的图像具有完整的结构和丰富的细节。StackGAN、AttnGAN、DMGAN 3种方法生成的图像存在结构不合理,缺少喙、爪子、眼睛等部位,或者出现了2个头部、3个爪子等情况,明显存在语义一致性较差、无法按文本条件生成图像、图像存在结构性错误等问题。

Download:
图 5 4种GAN方法在CUB数据集上的生成结果 Fig. 5 Generation results of four GAN methods on CUB dataset

本文方法使用内容感知上采样模块,提高了生成图像和文本条件之间的语义一致性,使生成图像更准确。结合通道注意力卷积模块,使生成图像边缘细节平滑过渡,生成对象各个部位的纹理特征准确,区别明显,生成图像的质量更高,更接近真实图像。

3.4 消融实验

为了验证本文提出的内容感知上采样模块和通道注意力卷积模块的有效性,分别设置DMGAN、DMGAN+CAU、DMGAN+ECA和DMGAN+CAU+ECA 4组对比实验,实验结果如表 3所示。本文的基础网络为DMGAN,CAU表示内容感知上采样模块,ECA表示通道注意力卷积模块。从表 3可以看出,两个模块对生成结果均有正向调节作用,最终结合两个模块可得到本文方法的最佳效果,证明了本文方法的有效性。

下载CSV 表 3 消融实验结果对比 Table 3 Comparison of ablation experiment results
4 结束语

本文基于动态注意力生成对抗网络模型,针对生成图像细节缺失、低分辨率阶段生成图像存在结构性错误的问题,提出一种基于通道注意力的文本生成图像方法。通过引入内容感知上采样模块,提高生成图像和文本条件之间的语义一致性,改善低分辨率阶段生成图像的结构性错误。在卷积层加入通道注意力机制,使生成图像细节更加清晰,在训练过程中结合感知损失使训练更加稳定。实验结果表明,本文模型生成的图像质量更高,更加接近真实图像。本文方法虽然在生成图像上取得了较好的效果,但仍然存在网络模型较大、训练时间长等问题,下一步将对网络模型进行精简优化,在保证性能的基础上达到提高训练速度的目标。

参考文献
[1]
HUANG H, YU P S, WANG C H. An introduction to image synthesis with generative adversarial nets[EB/OL]. [2021-09-10]. https://arxiv.org/abs/1803.04469.
[2]
YI X, WALIA E, BABYN P. Generative adversarial network in medical imaging: a review[J]. Medical Image Analysis, 2019, 58: 1361-8415.
[3]
GOODFELLOW I J, POUGET-ABADIE J, MIEZA M, et al. Generative adversarial networks[C]//Proceedings of the 27th International Conference on Neural Information Processing Systems. Cambridge, USA: MIT Press, 2014: 2672-2680.
[4]
柴梦婷, 朱远平. 生成式对抗网络研究与应用进展[J]. 计算机工程, 2019, 45(9): 222-234.
CHAI M T, ZHU Y P. Research and application progress of generative adversarial networks[J]. Computer Engineering, 2019, 45(9): 222-234. (in Chinese)
[5]
MIRZA M, OSINDERO S. Conditional generative adversarial nets[EB/OL]. [2021-09-10]. https://arxiv preprint arxiv:1411.1784.
[6]
REED S, AKATA Z, YAN X, et al. Generative adversarial text to image synthesis[EB/OL]. [2021-09-10]. https://arxiv.org/pdf/1605.05396.pdf.
[7]
ZHANG H, XU T, LI H S, et al. StackGAN: text to photo-realistic image synthesis with stacked generative adversarial networks[C]//Proceedings of 2017 IEEE International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2017: 5908-5916.
[8]
KARRAS T, LAINE S, AILA T M. A style-based generator architecture for generative adversarial networks[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2019: 4396-4405.
[9]
XU T, ZHANG P C, HUANG Q Y, et al. AttnGAN: fine-grained text to image generation with attentional generative adversarial networks[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 1316-1324.
[10]
REED S E, AKATA Z, MOHAN S, et al. Learning what andwhere to draw[C]//Proceedings of International Conference on NeuralInformation Processing Systems. New York, USA: ACM Press, 2016: 217-225.
[11]
LI B W, QI X J, LUKASIEWICZ T, et al. Controllable text-to-image generation[EB/OL]. [2021-09-10]. https://arxiv.org/abs/1909.07083.
[12]
ZHU M F, PAN P B, CHEN W, et al. DM-GAN: dynamic memory generative adversarial networks for text-to-image synthesis[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2019: 5795-5803.
[13]
张海涛, 张梦. 引入通道注意力机制的SSD目标检测算法[J]. 计算机工程, 2020, 46(8): 264-270.
ZHANG H T, ZHANG M. SSD target detection algorithm with channel attention mechanism[J]. Computer Engineering, 2020, 46(8): 264-270. (in Chinese)
[14]
HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 7132-7141.
[15]
WANG Q L, WU B G, ZHU P F, et al. ECA-net: efficient channel attention for deep convolutional neural networks[C]//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2020: 11531-11539.
[16]
ZEILER M D, TAYLOR G W, FERGUS R. Adaptive deconvolutional networks for mid and high level feature learning[C]//Proceedings of 2011 International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2011: 2018-2025.
[17]
FU C Y, LIU W, RANGA A, et al. DSSD: deconvolutional single shot detector[EB/OL]. [2021-09-10]. https://arxiv.org/abs/1701.06659.
[18]
WANG J Q, CHEN K, XU R, et al. CARAFE: content-aware reassembly of features[C]//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2019: 3007-3016.
[19]
许一宁, 何小海, 张津, 等. 基于多层次分辨率递进生成对抗网络的文本生成图像方法[J]. 计算机应用, 2020, 40(12): 3612-3617.
XU Y N, HE X H, ZHANG J, et al. Text-to-image synthesis method based on multi-level progressive resolution generative adversarial networks[J]. Journal of Computer Applications, 2020, 40(12): 3612-3617. (in Chinese)
[20]
QIAO T T, ZHANG J, XU D Q, et al. MirrorGAN: learning text-to-image generation by redescription[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2019: 1505-1514.
[21]
KULKARNI G, PREMRAJ V, ORDONEZ V, et al. BabyTalk: understanding and generating simple image descriptions[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(12): 2891-2903. DOI:10.1109/TPAMI.2012.162
[22]
SZEGEDY C, VANHOUCKE V, IOFFE S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2016: 2818-2826.
[23]
WAH C, BRANSON S, WELINDER P, et al. The caltech-ucsd birds-200-2011 dataset: computation & neural systems technical report[D]. Pasadena, USA: California Institute of Technology, 2011.
[24]
SALIMANS T, GOODFELLOW I J, ZAREMBA W, et al. Improved techniques for training GANs[C]//Proceedings of the 29th International Conference on Neural Information Processing Systems. Cambridge, USA: MIT Press, 2016: 2234-2242.
[25]
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 Conferenceon Neural Information Processing Systems. Cambridge, USA: MIT Press, 2017: 6629-6640.