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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1552431.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

大数据实时数仓Hologres(四):基于Flink+Hologres搭建实时数仓

文章目录 基于FlinkHologres搭建实时数仓 一、使用示例 二、方案架构 1、架构优势 2、Hologres核心优势 三、实践场景 四、项目准备 1、创建阿里云账号AccessKey 2、准备MySQL数据源 五、构建实时数仓​编辑 1、管理元数据 2、构建ODS层 2.1、创建CDAS同步作业OD…

fpga系列 硬件(时序收敛):触发器建立时间(setuptime)

触发器 电平触发、边沿触发和脉冲触发是三种主要的触发形式。always (posedge clk or negedge rst_n) 是一个典型的 Verilog 语句,用于定义一个带复位的触发器。D触发器是一种基本的数字存储元件,主要用于数据存储和时序控制。 D触发器的建立时间和保持…

华为-IPv6与IPv4网络互通的6to4自动隧道配置实验

IPv4向IPv6的过渡不是一次性的,而是逐步地分层次地。在过渡时期,为了保证IPv4和IPv6能够共存、互通,人们发明了一些IPv4/IPv6的互通技术。 本实验以6to4技术为例,阐述如何配置IPv6过渡技术。 配置参考 R1 # sysname R1 # ipv6# interface GigabitEthernet0/0/1ip address 200…

躺平成长:微信小程序运营日记第二天

在进行属于生活的开源之后,自己更加感受到自己存在的渺茫,同时更加开始深刻领会,开源的重要性,在开源,开放,创造,再创新的思维模式下,不发布八部金刚功相关的训练视频,自…

Typora---进度条(1)

本系列专门介绍关于typora中用到的小玩意。(哈哈哈哈哈哈) 本帖子讲述关于 进度条 的事情。 在typora中通过下面的语句可以显示出一个进度条: ![95% done](https://markdone.org/progress//95.png)通过更改上面语句中的数字可以展示不同的进…

中英翻译神器!轻松搞定跨文化沟通

大家好!今天咱们来聊聊那些你生活中不可或缺的翻译小助手;不论你是个英语小白,还是希望更快地了解外国文献、掌握外媒信息,或者是从事需要大量翻译工作的小伙伴,总有一款翻译工具能帮你省时省力,让你的生活…

Total_Expectation_Conditional_Bias_Variance_Tradeoff

Statistics with Prof. Liang Liu Topics: Total expectation, consitional expectation, conditional probability, marginal probability, 模型的 Bias, Variance 我们碰到的绝大多数都是 conditional 的probability 。比如,given miu, sigma square, 才能讨论…

【Java基础】Java面试基础知识QA(上)

Java面试基础知识Q&A(上) 面向对象编程( OOP) Java 是一个支持并发、基于类和面向对象的计算机编程语言。面向对象软件开发的优点: 代码开发模块化,更易维护和修改。代码复用。增强代码的可靠性和灵活性…

【AIGC】ChatGPT提示词解析:如何打造个人IP、CSDN爆款技术文案与高效教案设计

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯打造个人IP爆款文案提示词使用方法 💯CSDN爆款技术文案提示词使用方法 💯高效教案设计提示词使用方法 💯小结 💯前言 在这…

【无人机设计与技术】自抗扰控制(ADRC)的建模与仿真研究

摘要 本文针对四旋翼无人机姿态控制系统进行了基于自抗扰控制(ADRC)的建模与仿真研究。通过MATLAB/Simulink仿真平台,实现了无人机的姿态控制模型,并采用自抗扰控制器(ADRC)对无人机的姿态进行控制。本文详细介绍了自抗扰控制器的设计方法和应用&#x…

力扣题解 983

大家好,欢迎来到无限大的判断,祝大家国庆假期愉快 题目描述(中等) 最低票价 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出…

餐饮重点企业在AI领域的布局,看方大的AI实践

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 AI已经被应用在餐饮餐厨行业的哪些方面&am…

叶绿素透射反射率与波长

本文在分析巢湖水体反射光谱特征的基础上,通过对光谱反射率与叶绿素a 的浓度之间的关系进行分析研究,结果表明,单波段光谱反射率与叶绿素a浓度的相关系数较小,不宜用于估算叶绿素a浓度.光谱反射率比值RFo5.m/Rss.nm.和 690nm反射率的一阶微分均与叶绿素a浓度有较好的…

Chromium 用户数据目录User Data 初始化过程c++

一、先说结论 User Data 路径优先级如下: 1、注册表中策略配置的路径。 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Chromium UserDataDir"xx_path" 2、命令行中的路径。 --user-data-dir"xx_path" 3、默认用户路径 %LOCALAPPDATA%/Chrom…

buuctf---->[WUSTCTF2020]level3

做题笔记。 无语。 下载 查壳。 64ida打开。 先运行一下程序: 用它这个程序 加密romantic >>> cm9tYW50aWH 我们去正常加密看看: 仔细对比你会发现点毛病。 看看ida: 这表看起来,很正常,默认的为什么会加密不…

Python批量下载PPT模块并实现自动解压

日常工作中,我们总是找不到合适的PPT模板而烦恼。即使有免费的网站可以下载,但是一个一个地去下载,然后再批量解压进行查看也非常的麻烦,有没有更好方法呢? 今天,我们利用Python来爬取一个网站上的PPT&…

Java学习-网络编程

目录 1. 网络通信基本概念 1.1 通信 1.2 网络 1.3 协议 1.4 网络通信 1.5 网络通信协议 1.6 TCP/IP协议 1.7 互联网 1.8 计算机网络 2. TCP与UDP协议 2.1 TCP 2.2 UDP 2.3 TCP的三次握手 2.4 为什么要三次握手 2.5 TCP四次挥手 2.6 为什么要四次挥手 3. HTTP1…

代码随想录算法训练营Day18 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

目录 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先 530.二叉搜索树的最小绝对差 题目 530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值…

python16_引号使用

引号使用 A "Im a teacher!" B I\m a teacher! C """Im a teacher!, I am a teacher!, "I am a teacher!" """def single_quote(s):return sdef double_quote(s):return sdef triple_quote(s):return sif __name__ &qu…

【Linux】进程+权限管理+软硬链接+其他命令

目录 1. man手册 2. find按文件名称 3. find按文件类型 4. date显示时间 5. cal显示日历 6. du文件大小 7. ln链接 8. 软连接,硬链接区别 9. 文本查找 10. wc统计文本(计算文件的Bytes数、字数或列数) 11. 查看文本内容: 1…