Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for t2i 用于文本图像合成的动态记忆生成对抗网络

简介: 这篇文章提出了动态记忆生成对抗网络(DM-GAN)来生成高质量的图像。该方法可以在初始图像生成不好时,引入动态存储模块来细化模糊图像内容,从而能够从文本描述中更加准确地生成图像。文章被2019年CVPR(IEEE Conference on Computer Vision and Pattern Recognition)会议收录。论文地址: https://arxiv.org/abs/1904.01310?context=cs代码地址: https://github.com/MinfengZhu/DM-GAN

@[TOC](Text to image论文精读 DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis 用于文本图像合成的动态记忆生成对抗网络)

这篇文章提出了动态记忆生成对抗网络(DM-GAN)来生成高质量的图像。该方法可以在初始图像生成不好时,引入动态存储模块来细化模糊图像内容,从而能够从文本描述中更加准确地生成图像。

文章被2019年CVPR(IEEE Conference on Computer Vision and Pattern Recognition)会议收录。

论文地址: https://arxiv.org/abs/1904.01310?context=cs

代码地址: https://github.com/MinfengZhu/DM-GAN

本博客是精读这篇论文的报告,包含一些个人理解、知识拓展和总结。

一、原文摘要

在本文中,我们着重于从文本描述生成真实的图像。现有的方法首先生成形状和颜色粗糙的初始图像,然后将初始图像细化为高分辨率图像。大多数现有的文本图像合成方法都存在两个主要问题。(1) 这些方法在很大程度上取决于初始图像的质量。如果初始图像没有很好地初始化,以下过程很难将图像细化到令人满意的质量。(2) 当描述不同的图像内容时,每个单词都具有不同的重要性,但是,在现有的图像细化过程中使用不变的文本表示。在本文中,我们提出了动态记忆生成对抗网络(DM-GAN)来生成高质量的图像。该方法在初始图像生成不好时,引入动态存储模块来细化模糊图像内容。设计了一个记忆写入门,根据初始图像内容选择重要的文本信息,使我们的方法能够从文本描述中准确地生成图像。我们还利用响应门自适应地融合从存储器读取的信息和图像特征。我们在加州理工大学UCSD Birds 200数据集和Microsoft Common Objects in Context数据集上评估DM-GAN模型。实验结果表明,我们的DM-GAN模型与最先进的方法相比具有良好的性能。

二、关键词

Text-to-Image Synthesis, Generative Adversarial Nets,, Computer Vision

三、为什么提出DM-GAN?

在DM-GAN之前的多阶段图像生成的方法(StackGAN、StackGAN++、AttnGAN)存在两个问题。

1、生成结果在很大程度上取决于最初合成的图像(即第一阶段的图像)的质量。如果初始图像生成不好,则图像细化过程无法生成高质量图像。

2、每个单词在描述图片内容上都有不同等级的信息,而之前的方法仅仅使用相同的单词影响度。

就是说每个单词对图片的内容的作用都不一样,重要性也不一样,怎样将单词与要生成的图像的不同内容很好的关联。

本文对以上问题提出了解决方案:

对于第一个问题,引入一个记忆机制来处理生成的初始图像。

在GAN里添加一个键值存储结构。将初始图像的粗略特征送入键值存储结构来查询特征,利用查询到的结果来对初始图像进行修正

对于第二个问题,引入了一个记忆写入门来动态选择与生成的图像相关的单词。利用图像信息确定每个单词的重要性,进行细化,这使得生成的图像很好地依赖于文本描述。

响应门用于自适应地接收来自图像和存储器的信息,在每个图像细化过程中,根据初始图像和文本信息动态地写入和读取存储器组件。

比如:AttnGAN对所有单词都一视同仁,它使用了一个相同的注意模块来表示单词。但DM-GAN提出的存储模块能够发现图像生成的这种差异,因为它基于初始图像内容动态地选择重要的单词信息。

四、模型结构

在这里插入图片描述

4.1、模型组成

模型由两个阶段组成:初始图像生成和基于动态记忆的图像细化。

初始图像生成阶段:与之前的模型相似,首先通过文本编码器将输入文本描述转换为一些特征向量(如句子特征向量和单词特征向量),然后句子特征通过CA模块(流形插值+加入随机噪声)、生成器部分(全连接层+上采样+卷积)生成具有粗糙形状和少量细节的初始图像。

动态记忆生成阶段:将更多细粒度的视觉内容添加到模糊初始图像中,以生成照片逼真图像image.png,image.png,其中image.png是上一阶段的图像特征,即细化阶段可以重复多次。

动态记忆的图像细化阶段由四个部分组成:记忆写入、键寻址,键值读出,响应(Memory Writing, Key Addressing, Value Reading, and Response ),利用记忆写入门来突出重要单词信息,利用响应门自适应地融合从存储器读取的信息和图像特征。

Memory Writing:将文本信息存储到key-value结构化记忆中以供进一步检索

Key Addressing和Value Reading:从记忆模块读取特征,以改善和细化低质量图像的视觉特征。

Response:控制图像特征和记忆的读取的融合

4.2、动态记忆机制

在这里插入图片描述

记忆网络使用显式的存储和注意力的观念,可以更有效地推理记忆中的答案。它首先,将信息写入外部存储,然后根据关联概率从记忆插槽(memory slot)中读取信息。

首先定义    W为输入的单词特征,x为图像,image.png为图像特征,T为单词的数量,image.png是单词特征的维数,N为图像像素数,图像像素特征是image.png维向量 。动态记忆通过键和值之间的非平凡变换,使用更有效的方式融合文本和图像信息,从而优化图像。

image.png

4.2.1、Memory Writing

在这里插入图片描述

image.png

其中,M(·)表示1×1卷积运算.

记忆写入就是编码先验知识,记忆写入将文本特征经过一次1*1卷积运算嵌入到n维的记忆特征空间中。

4.2.2、Key Addressing

在这里插入图片描述

image.png

其中exp(x)是高等数学里以自然常数e为底的指数函数:image.png

image.png是将键(key)特征映射到相应维度上的1*1卷积核。

image.png表示第i个记忆和第j个图像特征之间的相似概率、相似度

键寻址就是使用key memory取得相关的记忆, 计算每个记忆位置的权重

4.2.3、Value Reading

在这里插入图片描述

image.png

image.png表示值(value)特征映射到相应维度上的1*1卷积核。

记忆表达形式定义为根据相似概率对值记忆进行加权求和。

4.2.4、Response

在接收到输出后,将当前图像和输出表示结合起来,以形成新的图像特征,新的图像特征为:

image.png

得到image.png后,通过上采样、残差块将新的图像特征放大为高分辨率图像,最后通过3*3的卷积得到细化图像。

在这里插入图片描述

4.3 记忆写入门

在这里插入图片描述

首先将图像特征和单词特征变换成同维度,相结合,形成记忆写入门:image.png

在这里插入图片描述

image.png

其中,image.png是内存写入门,σ是sigmoid函数,A是1image.png的矩阵,B是1image.png的矩阵。

然后结合图像和文字特征编写记忆slot(插槽):image.png

在这里插入图片描述

image.png
其中,image.png是记忆slot(插槽),image.pngimage.png表示1
1的卷积运算。

4.4 响应门

在这里插入图片描述

利用自适应选通机制,来动态控制信息流和更新图像特征

image.png

其中,image.png是信息融合的响应门,σ是sigmoid函数 ,W是参数矩阵,b是偏移量。

4.5、损失函数

总的损失函数为:image.png

其有三项,第一项为对抗损失(各个生成器的损失),第二项为CA(条件反射增强 )损失,第三项为DAMSM(深层注意多模态相似模型)损失,λ1和λ2为权重。

4.5.1、对抗损失

对抗损失就是生成器的损失,相关介绍可看:StackGAN++博文,损失函数为:

image.png

与之前相同,第一项是使生成的图像尽可能真实的无条件损失,第二项是使图像与输入句子匹配的条件损失。

其中的D:

image.png

4.5.2、CA损失

image.png

其中µ(s)和∑(s)是句子特征的均值和对角协方差矩阵。

4.5.3、DAMSM损失

利用DAMSM损失来衡量图像和文本描述之间的匹配程度。DAMSM损失使得生成的图像更好地基于文本描述。损失函数可见:AttnGAN博文介绍

五、实验

数据集:COCO、CUB

评价标准:Inception Score (IS), Fréchet Inception Distance (FID), R-precision

评价结果:实验结果表明,DM-GAN模型生成的图像质量高于其他方法,DM-GAN学习了更好的数据分布,且DM-GAN生成的图像更好地适应给定的文本描述,这进一步证明了所采用的动态记忆的有效性。

在这里插入图片描述

实验效果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

六、注意力与动态记忆

在这里插入图片描述

如上图,可视化了AttnGAN和DM-GAN选择的最相关的单词。注意到,当初始图像没有很好地生成时,注意机制无法准确地选择相关单词。

而本方法基于全局图像特征的动态存储模块来选择最相关的单词。如图6(a)所示,尽管生成了具有不正确红色胸脯的鸟,但动态存储器模块选择单词,即“白色”来校正图像。

DM-GAN在两个步骤中选择并组合单词信息和图像特征(参见图6(b))。memory writing步骤首先粗略地选择与图像相关的单词并将它们写入记忆。然后,key addressing步骤进一步从记忆中读取更多相关单词。

扩展阅读

下一篇:CogView: Mastering Text-to-Image Generation via Transformers(通过Transformer控制文本生成图像)

导航搜索:

文本描述生成图像博文一站式导航搜索(Text to Image博文汇总目录帖 T2I博文一站回顾)

目录
打赏
0
0
0
0
11
分享
相关文章
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
101 3
NSDI'24 | 阿里云飞天洛神云网络论文解读——《Poseidon》揭秘新型超高性能云网络控制器
NSDI‘24于4月16-18日在美国加州圣塔克拉拉市举办,汇聚全球网络系统领域的专家。阿里云飞天洛神云网络的两篇论文入选,标志着其创新能力获广泛认可。其中,《Poseidon: A Consolidated Virtual Network Controller that Manages Millions of Tenants via Config Tree》介绍了波塞冬平台,该平台通过统一控制器架构、高性能配置计算引擎等技术,实现了对超大规模租户和设备的高效管理,显著提升了云网络性能与弹性。实验结果显示,波塞冬在启用EIP时的完成时间比Top 5厂商分别快1.8至55倍和2.6至4.8倍。
190 47
PaSa:字节跳动开源学术论文检索智能体,自动调用搜索引擎、浏览相关论文并追踪引文网络
PaSa 是字节跳动推出的基于强化学习的学术论文检索智能体,能够自动调用搜索引擎、阅读论文并追踪引文网络,帮助用户快速获取精准的学术文献。
210 15
NSDI'24 | 阿里云飞天洛神云网络论文解读——《LuoShen》揭秘新型融合网关 洛神云网关
NSDI‘24于4月16-18日在美国圣塔克拉拉市举办,阿里云飞天洛神云网络首次中稿NSDI,两篇论文入选。其中《LuoShen: A Hyper-Converged Programmable Gateway for Multi-Tenant Multi-Service Edge Clouds》提出超融合网关LuoShen,基于Tofino、FPGA和CPU的新型硬件形态,将公有云VPC设施部署到边缘机柜中,实现小型化、低成本和高性能。该方案使成本降低75%,空间占用减少87%,并提供1.2Tbps吞吐量,展示了强大的技术竞争力。
回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现
本文详细介绍了回声状态网络(Echo State Networks, ESN)的基本概念、优点、缺点、储层计算范式,并提供了ESN的Python代码实现,包括不考虑和考虑超参数的两种ESN实现方式,以及使用ESN进行时间序列预测的示例。
330 4
回声状态网络(Echo State Networks,ESN)详细原理讲解及Python代码实现
生成对抗网络(Generative Adversarial Networks,简称GANs)
生成对抗网络(GANs)由Ian Goodfellow等人于2014年提出,是一种通过生成器和判别器的对抗训练生成逼真数据样本的深度学习模型。生成器创造数据,判别器评估真实性,两者相互竞争优化,广泛应用于图像生成、数据增强等领域。
216 1
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
206 3
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》这篇论文提出了一种基于YOLOv3-Tiny的轻量级目标检测模型Micro-YOLO,通过渐进式通道剪枝和轻量级卷积层,显著减少了参数数量和计算成本,同时保持了较高的检测性能。
73 2
轻量级网络论文精度笔(一):《Micro-YOLO: Exploring Efficient Methods to Compress CNN based Object Detection Model》
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
MobileNetV3是谷歌为移动设备优化的神经网络模型,通过神经架构搜索和新设计计算块提升效率和精度。它引入了h-swish激活函数和高效的分割解码器LR-ASPP,实现了移动端分类、检测和分割的最新SOTA成果。大模型在ImageNet分类上比MobileNetV2更准确,延迟降低20%;小模型准确度提升,延迟相当。
122 1
轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
从理论到实践:如何使用长短期记忆网络(LSTM)改善自然语言处理任务
【10月更文挑战第7天】随着深度学习技术的发展,循环神经网络(RNNs)及其变体,特别是长短期记忆网络(LSTMs),已经成为处理序列数据的强大工具。在自然语言处理(NLP)领域,LSTM因其能够捕捉文本中的长期依赖关系而变得尤为重要。本文将介绍LSTM的基本原理,并通过具体的代码示例来展示如何在实际的NLP任务中应用LSTM。
422 4

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等