ControlGAN:Controllable Text-to-Image Generation

1 研究目的

        当前的生成网络通常是不可控的,这意味着如果用户更改句子的某些单词,合成图像将与原始文本生成的合成图像显着不同;当给定的文本描述(例如颜色)发生变化时,鸟类的相应视觉属性被修改,但其他不相关的属性(例如,姿势和位置)也发生了变化。

图1 使用自然语言描述修改合成图像的示例

        本文的目标是从文本中生成图像,并允许用户在一个框架中使用自然语言描述来操纵合成图像。特别是专注于通过改变  给定的文本描述  来修改生成图像中的对象的视觉属性(例如类别、纹理和颜色)

        为此,作者提出了一种新的可控文本到图像生成对抗网络(ControlGAN),它可以合成高质量的图像,还允许用户操纵对象的属性,而不影响其他内容的生成。

提出三个新颖的组件:

1)词级空间通道注意驱动生成器可以有效地解开不同的视觉属性

2)词级鉴别器为生成器提供与每个视觉属性相关的细粒度训练信号

 3)感知损失的采用减少了生成中涉及的随机性,并强制生成器重建与未修改文本相关的内容。

2 模型结构

2.1 整体框架

采用多阶段AttnGAN作为骨干架构(见图2),在(b)中,L_{corre}是第2.3节中讨论的相关损失。在(c)中,L_{per}是第2.4节中讨论的感知损失。

图2 ControlGAN 的架构

  • 给定一个句子 S,文本编码器采用预训练的双向 RNN (AttnGAN用到的),将句子 S 编码为句子特征s\in R^{D} ,维度为 D 描述整个句子  和  单词特征 w\in R^{D*L}长度为 L(即单词数)和维度 D。
  • 接下来的StackGAN,还将条件增强 (CA) 应用于 s。增强的句子特征 \tilde{s}随机向量 z 进一步连接,作为第一阶段的输入。
  • 整个框架分多个阶段从粗到细生成图像,在每个阶段,网络产生一个隐藏的视觉特征v_{i},它是对应生成器G_{i}的输入,生成合成图像。
  • 空间注意模块和提出的通道注意模块以w(单词特征)v_{i}(隐藏的视觉特征)为输入,输出注意的单词上下文特征。这些注意力特征进一步与隐藏的视觉特征 v_{i}连接,然后作为下一阶段的输入。
  • 生成器通过结合空间注意模块 和提出的通道注意模块来利用注意力机制(上面两个蓝色框框)。
  • 由于AttnGAN的空间注意模块只能将单词与单个空间位置相关联,而不考虑通道信息。所以,作者引入了一个通道注意模块来利用单词和通道之间的连接。
  • 通过实验发现,通道注意模块将语义上有意义的部分与相应的单词高度相关,而空间注意力侧重于颜色描述(见图 6)。
  • 因此,作者提出的通道注意模块以及空间注意模块可以帮助生成器解开不同的视觉属性,并允许它只关注最相关的子区域和通道。

2.2 通道注意模块

图3(a)  通道注意模块

在第 k 阶段,通道注意模块(见图 3 (a))接受两个输入:

  • 单词特征 w
  • 隐藏视觉特征 v_{k}\in \mathbb{R}^{C*\left ( H_{k} * W_{k}\right )} ,其中 H_{k}W_{k}  表示第 k 阶段特征图的高度和宽度。
  1. 单词特征 w首先通过感知层 F_{k}映射到与视觉特征v_{k} 相同的语义空间中,产生\tilde{w}_{k}= F_{k}w,其中 F_{k}\in \mathbb{R}^{\left ( H_{k}*W_{k} \right )*D}
  2. 然后,通过将转换后的单词特征\tilde{w}_{k}  和视觉特征 v_{k} 相乘来计算通道注意矩阵 m_{k}\in\mathbb{R} ^{C*L},表示为 m^{k}=v_{k} \tilde{w}_{k}。因此,m^{k} 聚合所有空间位置的通道和单词之间的相关性值。
  3.  接下来,通过 softmax 函数对 mk 进行归一化以生成归一化的通道注意矩阵 \alpha ^{k}为:

注意力权重\alpha _{i,j}^{k} 表示视觉特征v_{k} 中的第 i 个通道与句子 S 中的第 j 个单词之间的相关性,值越高表示相关性越大。

  • 配备了通道注意矩阵\alpha ^{k},得到了最终的通道注意特征f_{k}^{a}\in \mathbb{R}^{C*\left ( H_{k}*W_{k} \right )},记为f_{k}^{a}= \alpha ^{k}\left ( \tilde{w}_{k}\right )^{T}f_{k}^{a}中的每个通道都是一个动态表示,由视觉特征中单词与相应通道之间的相关性加权。

        因此,具有高相关值的通道被增强,从而对相应的单词有很高的响应,这有助于将单词属性分解为不同的通道,并通过分配较低的相关性来减少不相关通道的影响。

2.3 词级判别器

        为了鼓励生成器根据文本仅修改图像的一部分,判别器应该提供具有细粒度训练反馈的生成器,这可以指导与最相关的单词相对应的子区域的生成。

        实际上,文本自适应鉴别器(text-adaptive)也探索了鉴别器中的词级信息,但它采用全局平均池化层输出一维向量作为图像特征,然后计算图像特征与每个词之间的相关性。但是通过这样做,图像特征可能会丢失重要的空间信息,这为解开不同的视觉属性提供了关键线索。

        为了解决这个问题,作者提出了一种新的词级鉴别器,其灵感来自 文本自适应鉴别器(text-adaptive)来探索图像子区域和每个词之间的相关性;见图3(b)。

图3(b) 词级判别器

词级鉴别器接受两个输入:

  1. 从文本编码器编码的词汇特征 w, w',它遵循与生成器中使用的架构相同的架构(见图 3 (a)),其中 w 和 w' 分别表示从原始文本 S 和随机采样的不匹配文本编码的单词特征。
  2. 视觉特征 n_{real}, n_{fake},分别由来自真实图像 I 和生成图像 I' 的基于 GoogleNet 的图像编码器编码。

为了简单起见,

  • 使用n\in \mathbb{R}^{C*\left ( H*W \right )}来表示视觉特征n_{real}n_{fake}
  • 使用w\in \mathbb{R}^{D*L}来表示原始和不匹配的单词特征
  • 词级鉴别器包含一个感知层{F}',用于对齐视觉特征n和单词特征w的通道维度,记为\tilde{n}= {F}'n,其中{F}'\in \mathbb{R}^{D*C}是要学习的权重矩阵。
  • 然后,词-上下文相关矩阵m\in \mathbb{R}^{L*\left ( H*W \right )}可由m= w^{T}\tilde{n}导出,并通过softmax函数进一步归一化得到相关矩阵β:

其中,\beta _{i,j}表示图像第i个单词与第j个子区域的相关值。

  • 然后,将所有由词-上下文相关矩阵β加权的空间信息进行聚合,通过b= \tilde{n}\beta ^{T}得到图像子区域感知的词特征b\in \mathbb{R}^{D*L}
  • 此外,为了进一步降低不重要词的负面影响,采用词级自注意推导出一个长度为L的一维向量\gamma,它反映了每个词的相对重要性。
  • 然后,重复\gamma乘以D次,得到与b大小相同的{\gamma }'
  • 接下来,b进一步被{\gamma }'重新加权,得到\tilde{b},记为\tilde{b}=b\bigodot {\gamma }',其中表示元素的乘法。
  • 最后,我们推导出第i个单词与整个图像之间的相关性,如Eq. (3):

其中\sigma为sigmoid函数,r_{i}表示第i个单词与图像的相关性,\tilde{b}_{i}w_{i}分别表示b和w的第i列。

        因此,图像I与句子S之间的最终关联值L_{corre}通过对所有词-上下文关联求和来计算,记为L_{corre}\left ( I,S \right )= \sum_{i=0}^{L-1}r_{i}

        通过这样做,生成器可以从单词级鉴别器接收每个视觉属性的细粒度反馈,这可以进一步帮助独立监督每个子区域的生成和操作。

2.4 感知损失

        在没有对与文本无关的区域(例如背景)添加任何约束的情况下,生成的结果可能高度随机,也可能无法与其他内容在语义上一致。为了减轻这种随机性,采用了基于在ImageNet数据集上预训练的16层VGG网络的感知损失。该网络用于从生成的图像{I}'和真实图像I中提取语义特征,感知损失定义为:

其中\varphi _{i}\left ( I \right ) 是 VGG 网络第 i 层的激活,H_{i}W_{i}分别是特征图的高度和宽度。

在可控文本到图像生成中应用感知损失,可以通过匹配特征空间来减少图像生成中涉及的随机性。

2.5  目标函数

通过最小化生成器损失L_{G} 和鉴别器损失L_{D} 交替训练生成器和鉴别器。

2.5.1 生成器目标

生成器损失L_{G}如式(5)所示,包含:

  • 对抗性损失L_{G_{k}}
  • 文本图像相关损失L_{corre}
  • 感知损失L_{per}
  • 文本图像匹配损失L_{DAMSM}

其中 :

  • K 是阶段数。
  • I_{k} 是从第 k 阶段的真实图像分布 P_{data}中采样的真实图像。
  • I_{​{k}'}是从模型分布 PG_{k},\lambda _{2}, \lambda _{3}, \lambda _{4} 中采样的第 k 个阶段的生成图像是控制不同损失的超参数。
  • L_{per}是第 2.4 节中描述的感知损失,它对生成过程施加了约束以减少随机性。
  • L_{DAMSM} 用于基于余弦相似度测量文本图像匹配分数。
  • L_{corre}反映了生成的图像与给定文本描述之间的相关性考虑空间信息。

对抗性损失L_{G_{k}}由Eq.(6)所示的无条件和条件对抗损失组成:

        采用无条件对抗损失使合成图像是真实的,利用条件对抗损失使生成的图像与给定的文本S匹配。

2.5.2 判别器目标

训练鉴别器 D 的最终损失函数定义为:

其中:

  •  L_{corre}是决定图像中是否存在与单词相关的视觉属性的相关损失(参见第 2.3 节)。
  •  {S}'是从数据集中随机采样的不匹配文本描述,与I_{k}无关,\lambda _{1}是控制额外损失重要性的超参数。

对抗性损失L_{D_{k}}包含两个组件:

  •  无条件对抗性损失决定了图像是真实的
  •  条件对抗性损失决定了给定图像是否与文本描述 S 匹配

3 实验评估

3.1 数据集

在CUB鸟和MS COCO数据集上进行评估:

  • CUB数据集包含 8,855 个训练图像和 2,933 个测试图像,每张图像有 10 个相应的文本描述。
  • COCO 数据集,它包含 82,783 个训练图像和 40,504 个验证图像,每张图像有 5 个相应的文本描述。

根据 StackGAN中介绍的方法预处理这两个数据集。

3.2 实施细节

  • 在AttnGAN之后的ControlGAN生成器中有三个阶段(K =3)。这三个尺度分别为64 × 64、128 × 128和256 × 256,在第2和3阶段应用空间和通道注意。
  • 文本编码器是一个预先训练的双向LSTM,将给定的文本描述编码为256维的句子特征和长度为18、维数为256的单词特征。
  • 感知损失中,计算在ImageNet上预训练的VGG-16层relu2 _2处的内容损失。
  • 整个网络使用 Adam 优化器进行训练,学习率为 0.0002。
  • 两个数据集的超参数\lambda _{1} ,\lambda _{2}, \lambda _{3}, 和 \lambda _{4}分别设置为 0.5、1、1 和 5。

3.3 与现有的技术相比

3.3.1 定量评估

  •  Inception Score(IS)来评估生成图像的质量和多样性。
  • 由于 Inception 分数不能反映图像和文本描述之间的相关性,利用 R-precision 来衡量生成的图像与其对应的文本之间的相关性。

        定量结果如表 1 所示,最先进方法的和ControlGAN在CUB 和 COCO 数据集上的 Inception Score、R-precision 和 L_{2} 重建误差的数值对比。

表1 定量比较

        与最先进的方法相比,ControlGAN在 CUB 数据集上实现了更好的 IS 和 R 精度值,并且在 COCO 数据集上具有具有竞争力的性能。这表明ControlGAN方法可以生成具有更好多样性的高质量图像,这在语义上与文本描述对齐。

        为了进一步评估模型是否可以生成可控结果,作者计算了从原始文本生成的图像与表1所示的修改后的文本生成的图像之间的L_{2}重建误差。与其他方法相比,ControlGAN的重构误差明显较低,这表明ControlGAN可以更好地保留原始文本生成的图像中的内容。

3.3.2 定性评估

        在图 4 中展示了定性比较。根据修改给定的文本描述,ControlGAN可以成功地准确地操纵特定的视觉属性。此外,ControlGAN方法甚至可以处理分布外查询,例如,图 4 的最后两列所示的河上的红斑马。

        上述所有都表明ControlGAN方法可以独立操作不同的视觉属性,这证明了ControlGAN方法在解开文本到图像生成的视觉属性方面的有效性。(图4中,奇数列显示原始文本,偶数列显示修改后的文本。最后两个是分布外的情况。)

图4 CUB和COCO数据集的定性结果

什么是分布外的情况?

        当模型在训练过程中学习到了这个分布内的数据模式后,如果遇到了来自不同分布的数据,这些数据就被称为分布外数据。例如,一个在白天图像数据上训练的图像分类模型,夜晚图像(与白天图像具有不同的特征分布)对于该模型而言可能就是分布外数据。

        图 5 显示了 ControlGAN、AttnGAN和 StackGAN++ 的视觉比较。可以观察到,当文本被修改时,两种比较方法更有可能生成新的内容,或者更改一些与修改后的文本无关的视觉属性。

例如,如前两列所示,当修改颜色属性时,StackGAN++ 改变了鸟的姿势,AttnGAN 生成新的背景。相比之下,ControlGAN方法能够准确地操纵与修改后的文本对应的图像生成部分,同时保留与不变文本相关的视觉属性。(图5中,奇数列显示原始文本,偶数列显示修改后的文本)

图5 CUB和COCO数据集上三种方法的定性比较

        在COCO数据集中,ControlGAN模型再次取得了比图5所示的更好的结果。例如,如最后四列所示,比较方法不能保持物体的形状,甚至无法生成合理的图像。

COCO 上的结果不如 CUB 数据集的原因:

        一般来说,COCO 上的结果不如 CUB 数据集。将此归因于数据集中的少数文本图像对和更抽象的字幕。尽管 COCO 中有很多类别,但每个类别只有几个示例,字幕主要集中在对象类别上,而不是详细描述,这使得文本到图像的生成更具挑战性。        

3.4 消融实验

3.4.1 通道注意机制的有效性

        ControlGAN模型实现了生成器中的通道注意,以及空间注意力,以生成逼真的图像。为了更好地理解注意力机制的有效性,作者可视化了不同阶段的中间结果和相应的注意力图。

  • 顶部:阶段 3 特征通道的可视化。右上角的数字是通道数,等式1中相关性最高的词 \alpha _{i,j}与通道显示在图像下方
  • 底部:第 3 阶段产生的空间注意力

图6 显示了与不同语义相关的几个特征图通道

        通过实验发现,通道注意对象的语义部分密切相关,而空间注意主要关注颜色描述图6通道注意模块  为 与描述鸟部分的单词语义相关的通道  分配较大的相关值。

这种现象通过图 7所示的消融研究进一步验证:

  • 在没有通道注意的情况下,当修改与鸟部分相关的文本时,ControlGAN模型无法生成可控的结果。
  • 有通道注意力的情况下,ControlGAN模型可以生成更好的可控结果。

图7 通道注意的消融研究

3.4.2 词级判别器的有效性

        为了验证词级鉴别器的有效性,首先进行了消融研究,即ControlGAN模型在没有词级鉴别器的情况下进行训练,如图8所示。

图8 词级鉴别器的消融研究

        然后通过用文本自适应鉴别器替换作者的鉴别器来构建基线模型,该鉴别器还探索了图像特征和单词之间的相关性,视觉比较如图9所示。

图9 词级鉴别器和文本自适应鉴别器之间的比较

        可以很容易地观察到,比较的基线无法操纵合成图像(图9第一行)。例如,如前两列所示,修改后的文本生成的鸟形状完全不同,背景也发生了变化。这是因为文本自适应鉴别器使用全局池化层提取图像特征,可能会丢失重要的空间信息。

3.4.3 感知损失的有效性

        ControlGAN模型在没有感知损失的情况下进行训练,如图 10所示。

图10 感知损失的消融研究

        在没有感知损失的情况下,从修改后的文本生成的图像很难保留与未修改文本相关的内容,这表明感知损失可以潜在地对图像生成引入更严格的语义约束,并有助于减少所涉及的随机性。

4 优缺点

        ControlGAN可以基于自然语言描述生成图像的生成和操作。

        ControlGAN可以成功地解开不同的视觉属性,并允许准确地操纵合成图像的部分,同时保留其他内容的生成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值