python图片分析步骤_使用Python总结最流行的文本到图像合成方法

使用Python总结最流行的文本到图像合成方法

不同对抗文本对图像方法的比较研究

介绍

从文本自动 合成逼真的图像在深度卷积和递归神经网络体系结构中已变得很流行,以帮助学习判别性文本特征表示。

尽管具有吸引力,但属性表示具有判别 力和强大的概括性,但这是一个复杂的过程,并且需要特定领域的知识。多年来,随着机器学习算法空间中的自动对抗网络的不断发展,这些技术也得到了发展。

相比之下,  自然语言  提供了一种简单,通用和灵活的插件,可用于通过视觉类别识别和描述多个域中的对象。 最好的办法是将文本描述的一般性与属性的区分能力相结合。

该博客使用GAN(通用对抗网络) 解决了不同文本到图像合成算法的问题,该算法  旨在利用自然语言表示和图像合成技术将单词和字符直接映射到图像像素  。

精选算法  学习捕获重要视觉细节的文本特征表示,然后使用这些特征合成人们可能误以为是真实的引人入胜的图像。

1.生成对抗性文本以进行图像合成

这种图像合成机制使用  深度卷积和循环文本编码器  ,通过将模型条件置于 文本描述  而不是类别标签上,来学习与图像的对应函数。

一种有效的方法,可以使用字符级文本编码器和类条件GAN进行基于文本的图像合成。GAN的目的是将(文本,图像)对视为联合观察, 并 训练鉴别器将对判断为真假。

配备了GAN生成器的流形内插正则器 (正则化程序,可鼓励内插输出显得更逼真),可显着提高生成样本的质量。

GAN的目的是,以查看(文本,图像)  对作为联合的观测  和训练鉴别器判断对作为真正的或假的。

这两个发电机G网和鉴别网络d执行一直练到能够  通过前馈学习和推理 机紧紧只在文字特征。

许可-Apache 2.0

鉴别器D具有多层  stride2卷积, 并进行了空间批量归一化, 然后泄漏了ReLU。

GAN 通过  SGD(随机梯度下降)在小型批次中接受培训。

除了在训练过程中向鉴别器提供真实/虚假输入外,还向其提供第三种类型的输入,其中包括带有不匹配文本的真实图像,这有助于鉴别器将其评分为假。

下图说明了不同类型鸟类的文本到图像生成样本。

(开源Apache 2.0许可证)

库和用法

git clone https://github.com/zsdonghao/text-to-image.git [TensorFlow 1.0+

2. 用于稳定图像合成的多尺度梯度GAN

由于训练期间的学习失衡,多尺度梯度生成对抗网络(MSG-GAN)负责处理从鉴别器到生成器的梯度传递过程中的不稳定,这些梯度变得无效。它使用了一种有效的技术,允许梯度以多种比例从鉴别器流向生成器,从而有助于生成同步的多比例图像。

鉴别器不仅着眼于发生器的最终输出(最高分辨率),而且还着眼于中间层的输出,如下图所示。结果,鉴别器成为生成器的多个标度输出的函数(通过使用级联操作),重要的是,将梯度同时传递给所有标度。

MSG-GAN的体系结构,用于生成同步的多尺度图像。(MIT开源许可证)

与渐进式增长(Pro-GAN)相比,MSG-GAN对学习率的变化具有鲁棒性,并且图像质量的提高更为一致。

MSG-GAN在所有分辨率下都显示出相同的收敛特性和一致性,并且以更高的分辨率生成的图像保持某些特征的对称性,例如两只眼睛或两只耳朵的耳环的颜色相同。此外,训练阶段可以更好地理解图像属性(例如,质量和分集)。

库和用法

git clone https://github.com/akanimax/BMSG-GAN.git [PyTorch] python train.py --depth=7 \                    --latent_size=512 \                   --images_dir= \                   --sample_dir=samples/exp_1 \                   --model_dir=models/exp_1

3 。使用深度学习的T2F文本面对面生成(StackGan ++和ProGAN )

在ProGAN架构中,原理是添加新层,随着训练的进行,这些新层将为越来越精细的细节建模。在这里,生成器和鉴别器都从创建低分辨率图像开始,并在后续步骤中添加图像的深入细节。它有助于更稳定和更快的培训过程。

StackGAN 架构包括  多个发电机  和鉴别的树状结构。 树的不同分支代表不同比例的图像,所有图像都属于同一场景。StackGAN以产生不同类型的近似分布而闻名。这些多个相关分布包括多尺度图像分布以及联合有条件和无条件图像分布。

T2F 使用ProGAN和StackGAN的组合架构。 ProGAN  以  合成人脸图像而闻名,而StackGAN以文本编码而闻名,其中条件增强是主要的工作方法。使用LSTM网络将文本描述编码为摘要向量  。下图所示的摘要向量(即嵌入)通过  条件增强块(单个线性层),  以获得潜在向量的文本部分(使用像参数化一样的VAE)              技术)作为GAN的输入。

潜矢量的第二部分是  随机高斯噪声。 然后将产生的潜矢量馈送到GAN的生成器部分。这样形成的嵌入最终被馈送到鉴别器的最后一层,以进行  条件分布匹配。GAN的训练是逐层进行的。每隔一层将以更高的级别添加空间分辨率。

淡入技术 用于引入任何新层。此步骤有助于记住和恢复以前学习的信息。

用于从文字描述生成人脸的T2F架构,LICENSE-MIT

下图说明了从每个文本字幕生成面部图像的机制。

库和用法

来源 -https :  //github.com/akanimax/T2F.git,LICENSE-MIT

git clone https://github.com/akanimax/T2F.gitpip install -r requirements.txtmkdir training_runsmkdir training_runs/generated_samples training_runs/losses training_runs/saved_modelstrain_network.py --config=configs/11.comf

4. 通过对抗训练进行对象驱动的文本到图像合成

AttnGAN许可—麻省理工学院

对象驱动的Attentive GAN(Obj-GAN)  执行细粒度的文本到图像合成。这种深入的颗粒图像合成分两个步骤进行。首先,生成语义布局(类标签,边界框,显着对象的形状),然后由反卷积图像生成器合成生成的图像。

但是,通过将句子用作Obj-GAN的输入来完成语义布局的生成。这有助于Obj-GAN生成由其边界框(带有类标签)和形状指定的对象序列。

所述盒发生器被训练为  细心seq2seq模型来生成的包围盒的序列,随后是形状发生器  预测并生成在其边界框的每个对象的形状。

在图像生成步骤中,设计了  对象驱动的注意力生成器 和按对象区分  器,以能够根据第一步中生成的语义布局生成图像。生成器通过关注与该边界框内的对象最相关的单词,专注于在边界框内合成图像区域。

注意驱动的上下文向量是一种重要的工具,可以根据与该图像区域最相关的单词对信息进行编码。这是通过两者的帮助下完成的补丁 -wise和对象用于定义图像区域-wise上下文向量。

甲  快速R-CNN  基于  对象的明智鉴别器 也被使用。它能够提供丰富的按对象区分信号。这些信号有助于确定合成对象是否与文本描述和预先生成的布局匹配。

对象驱动的注意力 (注意最相关的单词和预先生成的类标签)比传统的网格注意力表现更好,能够 高质量生成复杂的场景。

Microsoft的Obj-GAN开源代码尚不可用。

(许可证公开源)

5. MirrorGan

MirrorGAN旨在强调全局本地注意功能。它有助于 保持  语义的文本到图像到文本框架。

MirrorGAN可以通过重新描述来学习文本到图像的生成。它由三个模块组成:“语义文本嵌入模块(STEM),用于级联图像生成的全局局部协作式关注模块(GLAM)和语义文本再生与对齐模块(STREAM)”。

STEM 使用递归神经网络(RNN)生成单词和句子级别的嵌入,以将给定的文本描述嵌入到局部单词级别的特征和全局句子级别的特征中。

GLAM具有多级级联发电机。它是通过依次堆叠三个图像生成网络来设计的,以生成从粗到细比例的目标图像。在目标图像生成过程中,它同时利用了本地单词注意和全局句子。这有助于逐步增强所生成图像的多样性和语义一致性。

STREAM旨在从生成的图像中重新生成文本描述。该图像在语义上与给定的文本描述对齐。

词级注意力模型吸收邻近的上下文相关性高的词。这有助于生成专注的词上下文功能。单词嵌入和视觉功能被用作每个阶段的输入。首先,通过感知层将单词嵌入转换为视觉特征的底层公共语义空间,然后将其与视觉特征相乘以获得注意力得分。最后,通过计算注意力分数和感知层之间的内积以及词的嵌入,获得注意力词的语境特征。

MirrorGAN的两个最重要的组件是语义文本再生和对齐模块,可保持输入文本和输出图像之间的整体同步。这两个模块有助于再生的文字说明从生成的图像。最后,输出在语义上与给定的文本描述一致。另外,基于编码器解码器的图像字幕框架用于在体系结构中生成字幕。编码器是卷积神经网络(CNN),解码器是RNN。

MirrorGAN 执行优于AttnGAN在大幅度的所有设置,显示了优越性的建议文本到影像到文本框架和全球-地方合作周到的模块  ,因为MirrorGAN产生高品质的图像语义与输入保持一致文字说明。

库和用法

git clone git@github.com:komiya-m/MirrorGAN.git [python 3.6.8

6. StoryGAN

故事可视化将多句段落作为输入,并在其输出图像序列中为每个句子生成一个。

故事的可视化任务是顺序有条件地生成问题,即共同认为在当前输入句与上下文信息。

Story GAN较少关注生成图像(帧)的连续性,而更多关注动态场景和角色的全局一致性。

凭借 在  Text2Gist 在组件上下文编码器,其中上下文编码器动态地追踪另外的故事流于提供图像生成本地和全球性条件信息。

输入的两级鉴别器 和循环结构有助于提高图像质量,并确保生成的图像和要可视化的故事的一致性。

下图说明了StoryGAN架构。用灰色实心圆圈表示的变量用作输入故事S和单个句子s1,...。。。,sT带有随机噪声1 ,。 。。,T  。生成器网络是使用特定的自定义组件构建的- 故事编码器,上下文编码器和图像生成器。顶部有两个鉴别器,它们主动地充当区分每个图像句子对的主要任务,并且每个图像序列故事对都是真假的。

StoryGAN,LICENSE-MIT的框架

该故事GAN架构能够区分真正的/伪造的故事与特征向量它们被连接时在故事的图像/句子。嵌入的图像和文本要素产品具有紧凑的要素表示形式,可作为全连接层的输入。在完全连接层采用具有S形的非线性预测是否是假的或真实的故事对。

故事识别器的结构,LICENSE-MIT

库和用法

git clone https://github.com/yitong91/StoryGAN.git   [Python 2.7

7. Keras文字转图片:

在Keras中,使用GAN和Word2Vec以及递归神经网络可以实现文本到图像的翻译。

它使用  DCGan(深度卷积生成对抗网络)  ,该技术在GAN研究中取得了突破,因为它引入了主要的体系结构更改以解决训练不稳定,模式崩溃和内部协变量偏移等问题。

样本DCGAN体系结构可从LSUN数据集(Source,License -MIT)生成64×64 RGB像素图像

库和用法

git clone https://github.com/chen0040/keras-text-to-image.git import os  import sys  import numpy as np from random import shuffle   def train_DCGan_text_image():     seed = 42      np.random.seed(seed)          current_dir = os.path.dirname(__file__)     # add the keras_text_to_image module to the system path     sys.path.append(os.path.join(current_dir

结论

在这里,我介绍了一些从文本生成图像的流行技术。您可以在https://github.com/topics/text-to-image上探索更多更多技术  。快乐编码!

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值