T2I文本生成图像 中文期刊论文速览-1(ECAGAN:基于通道注意力机制的文本生成图像方法+CAE-GAN:基于Transformer交叉注意力的文本生成图像技术)

一、ECAGAN:基于通道注意力机制的文本生成图像方法

文章来源:计算机工程 2022年4月
引用格式:张云帆,易尧华,汤梓伟,王新宇.基于通道注意力机制的文本生成图像方法[J].计算机工程,2022,48(04):206-212+222.DOI:10.19678/j.issn.1000-3428.0062998.

1.1、主要创新

针对文本生成图像任务中生成图像细节缺失低分辨率阶段生成图像存在结构性错误(如鸟有两个头,缺少爪子)的问题,基于动态注意力机制生成对抗网络(DMGAN),引入内容感知上采样模块和通道注意力卷积模块,提出一种新的文本生成图像方法 ECAGAN
主要创新点有:

  1. 采用基于内容感知的上采样方法,通过输入特征图计算得到重组卷积核,使用重组卷积核和特征图进行卷积操作,确保语义对齐性;
  2. 利用通道注意力机制学习特征图各个特征通道的重要程度,突出重要的特征通道,抑制无效信息,使生成图像的细节更丰富;
  3. 结合条件增强和感知损失函数辅助训练,增强训练过程的鲁棒性。

1.2、主要框架

在这里插入图片描述
主要结构仍是类似StackGAN++的三层堆叠式,网络结构可以分为低分辨率图像生成阶段和图像精炼阶段,低分辨率图像生成阶段的生成器生成 64×64 像素的低分辨率图像,图像精炼阶段的生成器生成 128×128 像素和 256×256像素的图像。

1.2.1、低分辨率图像生成阶段

文本编码器阶段与StackGAN、AttnGAN、DMGAN等等类似,通过文本编码器生成句子特征与单词特征,句子特征拼接随机噪声后经过FC输入到内容感知上采样模块(CAUPBlock)中,对输入特征图进行上采样后形成第一阶段图像。

内容感知上采样模块由自适应卷积核预测模块和内容感知特征重组模块组成:

自适应卷积核预测模块中,特征图经过内容编码器,Reshape和归一化得到大小为 S H × S W × k u p 2 SH × SW × k^2_{up} SH×SW×kup2的重组卷积核。内容感知特征重组模块简单来说就是将特征图的各个区域与对应预测出的卷积核做点积。

结构图如下,特征图 R 输入之后在自适应卷积核预测模块 ψ 中
对输出特征图 R′的每一个区域 l′预测出卷积核 γ l γ_l γl,然后原特征图在内容感知特征重组模块 ξ 中和预测得到的卷积核进行点乘得到结果 γ l ′ = ψ ( Z ( R l , k e n c o d e r ) ) R l ′ ′ = ξ ( Z ( R l , k u p ) , γ l ′ ) \begin{array}{l} \gamma_{l^{\prime}}=\psi\left(Z\left(R_{l}, k_{\mathrm{encoder}}\right)\right) \\ R_{l^{\prime}}^{\prime}=\xi\left(Z\left(R_{l}, k_{\mathrm{up}}\right), \gamma_{l^{\prime}}\right) \end{array} γl=ψ(Z(Rl,kencoder))Rl=ξ(Z(Rl,kup),γl),其中 Z ( R l , k u p ) Z(R_l,k_{up}) ZRl,kup表示特征图中点l周围的 k u p × k u p k_{up}×k_{up} kup×kup的子区域。
在这里插入图片描述
经过上采样之后得到特征图输入生成器,经过带通道注意力机制的卷积运算生成图像。
注意力卷积模块通过通道注意力对特征图进行加权,使生成图像细节更丰富,通道注意力的实现不再赘述,具体可以看原文。
在这里插入图片描述

1.2.2、图像精炼阶段

在这里插入图片描述
图像精炼阶段与AttnGAN很相似,利用动态注意力层计算词向量中每个单词与图像子区域的相关性,然后根据相关性计算图像子区域的注意力权重,最后根据特征图的注意力权重控制特征图的更新,得到新的特征图然后进行上采样,放大图像。(三种能有效融合文本和图像信息的方法其二

1.3、损失函数

生成器损失函数形式如下:

L G = ∑ ( L G i + λ 1 L p e r ( I i ′ , I i ) ) + λ 2 L C A + λ 3 L D A M S M L_{G}=\sum\left(L_{G_{i}}+\lambda_{1} L_{\mathrm{per}}\left(I_{i}^{\prime}, I_{i}\right)\right)+\lambda_{2} L_{\mathrm{CA}}+\lambda_{3} L_{\mathrm{DAMSM}} LG=(LGi+λ1Lper(Ii,Ii))+λ2LCA+λ3LDAMSM

L G i L_{Gi} LGi表示各级生成器损失函数; L p e r L_{per} Lper表示感知损失函数 ; L C A L_{CA} LCA 表示条件增强损失函数 ; L D A M S M L_{DAMSM} LDAMSM 表示DAMSM模块损失函数。

L G i = − 1 2 E x ∼ p ϵ [ log ⁡ a D i ( x i ^ ) ] ⏟ unconditional loss  − 1 2 E x ∼ p σ , [ log ⁡ a D i ( x ^ i , s ) ] ⏟ conditional loss  L_{G_{i}}=\underbrace{-\frac{1}{2} E_{x \sim p_{\epsilon}}\left[\log _{a} D_{i}\left(\widehat{x_{i}}\right)\right]}_{\text {unconditional loss }} \underbrace{-\frac{1}{2} E_{x \sim p_{\sigma},}\left[\log _{a} D_{i}\left(\widehat{x}_{i}, s\right)\right]}_{\text {conditional loss }} LGi=unconditional loss  21Expϵ[logaDi(xi )]conditional loss  21Expσ,[logaDi(x i,s)]

L D i = − 1 2 E x ∼ p datu  log ⁡ a D i ( x i ) − 1 2 E x ∼ p σ i log ⁡ a ( 1 − D i ( x i ^ ) ) ⏟ unconditional loss  − 1 2 E x ∼ p datu  log ⁡ a D i ( x i , s ) − 1 2 E x ∼ p σ i log ⁡ a ( 1 − D i ( x ^ i , s ) ) ⏟ conditional loss  \begin{array}{l} L_{D_{i}}= \\ \underbrace{-\frac{1}{2} E_{x \sim p_{\text {datu }}} \log _{a} D_{i}\left(x_{i}\right)-\frac{1}{2} E_{x \sim p_{\sigma_{i}}} \log _{a}\left(1-D_{i}\left(\widehat{x_{i}}\right)\right)}_{\text {unconditional loss }} \\ \underbrace{-\frac{1}{2} E_{x \sim p_{\text {datu }}} \log _{a} D_{i}\left(x_{i}, s\right)-\frac{1}{2} E_{x \sim p_{\sigma_{i}}} \log _{a}\left(1-D_{i}\left(\widehat{x}_{i}, s\right)\right)}_{\text {conditional loss }} \end{array} LDi=unconditional loss  21Expdatu logaDi(xi)21Expσiloga(1Di(xi ))conditional loss  21Expdatu logaDi(xi,s)21Expσiloga(1Di(x i,s))

L C A = D K L ( N ( μ ( s ) , Σ ( s ) ) ∥ N ( 0 , I ) ) \begin{array}{l} L_{\mathrm{CA}}=D_{\mathrm{KL}}(\mathcal{N}(\boldsymbol{\mu}(\boldsymbol{s}), \boldsymbol{\Sigma}(\boldsymbol{s})) \| \mathcal{N}(0, I))\end{array} LCA=DKL(N(μ(s),Σ(s))N(0,I))

L p e r ( I ′ , I ) = 1 C i H i W i ∥ ϕ i ( I ′ ) − ϕ i ( I ) ∥ 2 2 \begin{array}{l}L_{\mathrm{per}}\left(I^{\prime}, I\right)=\frac{1}{C_{i} H_{i} W_{i}}\left\|\phi_{i}\left(I^{\prime}\right)-\phi_{i}(I)\right\|_{2}^{2} \end{array} Lper(I,I)=CiHiWi1ϕi(I)ϕi(I)22

1.4、实验

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二、CAE-GAN:基于Transformer交叉注意力的文本生成图像技术

文章来源:计算机科学 2022年2月
引用格式:谈馨悦,何小海,王正勇,罗晓东,卿粼波.基于Transformer交叉注意力的文本生成图像技术[J].计算机科学,2022,49(02):107-115.

2.1、主要创新

目前,主流的方法是通过预训练文本编码器来完成对输入文本描述的编码,但目前的方法在对文本描述进行编码时,并未考虑与对应图像的映射关系,忽略了语言空间与图像空间之间的语义鸿沟问题,导致初始阶段生成图像与文本语义的匹配度仍然较低,且图像质量也受到了影响

创新点:

通过交叉注意力编码器,将文本信息与视觉信息进行翻译和对齐,以捕捉文本与图像信息之间的跨模态映射关系,从而提升生成图像的逼真度和与输入文本描述的匹配度。

2.2、主要框架

在这里插入图片描述
如上图,文本首先经过交叉注意力编码器,生成交叉注意力特征向量 f c f_c fc和单词特征矩阵W,交叉注意力特征向量加入噪声后经过全连接、上采样等阶段形成初始图像特征,然后单词特征矩阵 W 输入到动态存储模块与初级图像特征进行融合,得到融合后的新图像特征,过程如下:

f c , W = C E ( s , F R ) F 0 = G 0 ( f c + z ) F 1 = G 1 ( D M ( F 0 , W ) ) F 2 = G 2 ( D M ( F 1 , W ) ) \begin{array}{l} \boldsymbol{f}_{c}, \boldsymbol{W}=C_{E}\left(\boldsymbol{s}, \boldsymbol{F}_{R}\right) \\ \boldsymbol{F}_{0}=G_{0}\left(\boldsymbol{f}_{c}+\boldsymbol{z}\right) \\ \boldsymbol{F}_{1}=G_{1}\left(D M\left(\boldsymbol{F}_{0}, \boldsymbol{W}\right)\right) \\ \boldsymbol{F}_{2}=G_{2}\left(D M\left(\boldsymbol{F}_{1}, \boldsymbol{W}\right)\right) \end{array} fc,W=CE(s,FR)F0=G0(fc+z)F1=G1(DM(F0,W))F2=G2(DM(F1,W))

2.2.1、交叉注意力编码器

交叉注意力编码器用于对语言信息和视觉信息进行联合交叉编码和对齐。如下图所示:
在这里插入图片描述
主要包括文本特征提取、图像特征提取、交叉注意力编码和自注意力编码:

  1. 文本特征提取,使用双向LSTM将原始文本编码成一个全局句子特征向量W和一个单词特征向量s;

  2. 图像特征提取,使用InceptionV3网络提取图像特征 f c f_c fc

  3. 交叉注意力编码,主要用于构建语言特征与图像特征的内部联系,实现联合编码。单词特征向量s与图像特征 f c f_c fc分别经过线性层映射为 q s , k s , v s , q v , k v , v v q_s,k_s,v_s,q_v,k_v,v_v qs,ks,vs,qv,kv,vv,即 q s , k s , v s = L i n e a r ( s ) , q v , k v , v v = ( f v ) q_s,k_s,v_s=Linear(s),q_v,k_v,v_v=(f_v) qs,ks,vs=Linear(s),qv,kv,vv=(fv),然后计算交叉注意力分数score,然后得到注意力编码 l c l_c lc
     score  = λ c q v k s T  score  = Softm ⁡ (  score  ) s c = dropout ⁡ (  score  ′ ) l = s c ⋅ v s , l c = N o r m a l i z a t i o n ( A 1 l + B 1 ) \begin{array}{l} \text { score }=\lambda_{c} \boldsymbol{q}_{v} \boldsymbol{k}_{s}^{\mathrm{T}} \\ \text { score }=\operatorname{Softm}(\text { score }) \\ \boldsymbol{s}_{c}=\operatorname{dropout}\left(\text { score }{ }^{\prime}\right) \\ \boldsymbol{l}=\boldsymbol{s}_{c} \cdot \boldsymbol{v}_{s} ,l_c=Normalization(A_1l+B_1)\end{array}  score =λcqvksT score =Softm( score )sc=dropout( score )l=scvs,lc=Normalization(A1l+B1)

  4. 自注意力编码,主要使用的还是自注意力机制的那一套,不再赘述
    q l , k l , v l =  Linear  ( l c ) s s = Dropout ⁡ ( softm ⁡ ( λ s q l k l T ) ) l c s = s s ⋅ v l f c = Normalization ⁡ ( A 2 l c s + B 2 ) \begin{array}{l} \boldsymbol{q}_{l}, \boldsymbol{k}_{l}, \boldsymbol{v}_{l}=\text { Linear }\left(\boldsymbol{l}_{c}\right) \\ \boldsymbol{s}_{s}=\operatorname{Dropout}\left(\operatorname{softm}\left(\lambda_{s} \boldsymbol{q}_{l} \boldsymbol{k}_{l}^{\mathrm{T}}\right)\right) \\ \boldsymbol{l}_{c s}=\boldsymbol{s}_{s} \cdot \boldsymbol{v}_{l} \\ \boldsymbol{f}_{c}=\operatorname{Normalization}\left(A_{2} \boldsymbol{l}_{c s}+B_{2}\right) \end{array} ql,kl,vl= Linear (lc)ss=Dropout(softm(λsqlklT))lcs=ssvlfc=Normalization(A2lcs+B2)

2.2.2、动态存储模块

在这里插入图片描述
动态存储模块与DM-GAN内部的动态记忆机制相似。

2.3、损失函数

整体损失函数L分为三部分,总的损失函数如下:

L = ∑ i L G i + τ 1 L C A + τ 2 L D A M S M L=\sum_{i} L_{G^{i}}+\tau_{1} L_{C A}+\tau_{2} L_{D A M S M} L=iLGi+τ1LCA+τ2LDAMSM

其中 L G i L_{G^i} LGi是生成器损失, L C A L_{CA} LCA是条件损失函数, L D A M S M L_{DAMSM} LDAMSM是深度注意力多模态相似度损失(与AttnGAN相似)

L G i = − 1 2 [ E x ∼ p G i log ⁡ D i ( x ) + E x ∼ p G i log ⁡ D i ( x , s ) ] L C A = D K L ( N ( μ ( s ) ) ∥ N ( 0 , I ) ) \begin{aligned} L_{G^{i}} &=-\frac{1}{2}\left[E_{x \sim p G^{i}} \log D_{i}(x)+E_{x \sim p G^{i}} \log D_{i}(x, s)\right] \\ L_{C A} &=D_{K L}(N(\mu(s)) \| N(0, I)) \end{aligned} LGiLCA=21[ExpGilogDi(x)+ExpGilogDi(x,s)]=DKL(N(μ(s))N(0,I))

判别器损失函数由条件损失和非条件损失组成:

L D i = − 1 2 [ L D + L C D ] L D = E x ∼ P  data  log ⁡ D i ( x ) + E x ∼ p G i log ⁡ ( 1 − D i ( x ) ) L C D = E x ∼ P  data  log ⁡ D i ( x , s ) + E x ∼ p G i log ⁡ ( 1 − D i ( x , s ) ) \begin{array}{l} L_{D^{i}}=-\frac{1}{2}\left[L_{D}+L_{C D}\right] \\ L_{D}=E_{x \sim P \text { data }} \log D_{i}(x)+E_{x \sim p G^{i}} \log \left(1-D_{i}(x)\right) \\ L_{C D}=E_{x \sim P \text { data }} \log D_{i}(x, s)+E_{x \sim p G^{i}} \log \left(1-D_{i}(x, s)\right) \end{array} LDi=21[LD+LCD]LD=ExP data logDi(x)+ExpGilog(1Di(x))LCD=ExP data logDi(x,s)+ExpGilog(1Di(x,s))

2.4、实验

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最后

声明:本博客所涉及的论文摘读、引用、速览和精读等系列内容仅用于学术研究、评论和个人笔记等非商业性目的,论文的引用内容均来自于出版机构或者网络,并尽力标明了出处和来源。 如果您觉得本博客中有任何侵犯您合法权益的内容,请私信联系我,一旦确认存在侵权行为,我将立即删除相关内容以保护知识产权。

💖 个人简介:人工智能领域研究生,目前主攻文本生成图像(text to image)方向

📝 个人主页:中杯可乐多加冰

🔥 限时免费订阅:文本生成图像T2I专栏

🎉 支持我:点赞👍+收藏⭐️+留言📝

另外,我们已经建立了微信T2I学习交流群,如果你也是T2I方面的爱好者或研究者可以私信我加入。

如果这篇文章帮助到你很多,希望能不吝打赏我一杯可乐!多加冰哦!

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中杯可乐多加冰

请我喝杯可乐吧,我会多加冰!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值