StackGAN(堆叠生成对抗网络)的介绍

简介

简介:本文提出了StackGAN(堆叠生成对抗网络),解决从文本描述生成高分辨率照片级真实图像的挑战。该方法将复杂的生成任务分解为两个阶段:Stage-I GAN生成64×64的粗糙轮廓和基本颜色,Stage-II GAN基于Stage-I结果和文本描述生成256×256的高分辨率图像并修正缺陷。同时引入条件增强技术提高训练稳定性和样本多样性。

论文题目:StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks(StackGAN:使用堆叠生成对抗网络的文本到逼真图像的合成)

会议:ICCV2017

摘要:从文本描述中合成高质量图像是计算机视觉中的一个具有挑战性的问题,并且具有许多实际应用。现有的文本-图像方法生成的样本可以大致反映给定描述的含义,但不能包含必要的细节和生动的对象部分。在本文中,我们提出堆叠生成对抗网络(StackGAN)来生成256×256基于文本描述的逼真图像。我们通过草图细化过程将难题分解为更易于管理的子问题。第一阶段的GAN根据给定的文本描述绘制物体的原始形状和颜色,生成第一阶段的低分辨率图像。第二阶段的GAN将第一阶段的结果和文本描述作为输入,并生成具有照片般逼真细节的高分辨率图像。它能够纠正第一阶段结果中的缺陷,并在细化过程中添加引人注目的细节。为了提高合成图像的多样性和稳定条件gan的训练,我们引入了一种新的条件增强技术,以促进潜在条件流形的平滑性。大量的实验和与最先进的基准数据集的比较表明,该方法在生成以文本描述为条件的逼真图像方面取得了显着改进。

模型结构

StackGAN采用两阶段堆叠架构:

  1. Stage-I GAN: 根据文本描述生成64×64低分辨率图像,勾勒基本形状和颜色
  2. Stage-II GAN: 以Stage-I结果和文本描述为条件,生成256×256高分辨率图像

条件增强技术: 从独立高斯分布N(μ(φₜ), Σ(φₜ))随机采样潜在变量ĉ,其中μ和Σ是文本嵌入φₜ的函数,增加训练样本多样性。

StackGAN(堆叠生成对抗网络)的介绍_第1张图片

成器架构

Stage-I生成器G₀:

  • 文本嵌入φₜ → 全连接层 → 生成μ₀和σ₀
  • 条件向量ĉ₀ = μ₀ + σ₀ ⊙ ε(ε~N(0,I))
  • ĉ₀与噪声向量z连接 → 系列上采样块 → 生成64×64图像

Stage-II生成器G:

  • 编码器-解码器结构,带残差块
  • Stage-I结果s₀ → 下采样块(编码器)
  • 文本嵌入φₜ → 条件向量ĉ → 空间复制
  • 图像特征与文本特征沿通道维度连接
  • 残差块学习多模态表示 → 上采样层(解码器) → 256×256图像

鉴别器架构

Stage-I鉴别器D₀:

  • 文本嵌入φₜ → 全连接层压缩到Nₐ维 → 空间复制为Mₐ×Mₐ×Nₐ张量
  • 图像 → 系列下采样块 → Mₐ×Mₐ空间维度
  • 图像滤波器图与文本张量沿通道维度连接
  • 1×1卷积层 → 全连接层 → 输出判别分数

Stage-II鉴别器D:

  • 结构类似Stage-I鉴别器,但增加额外下采样块处理更大图像
  • 采用匹配感知鉴别器:真实图像+对应文本为正样本,真实图像+错配文本或合成图像+对应文本为负样本

损失函数

Stage-I

鉴别器损失:
L_D₀ = E[(I₀,t)~p_data][log D₀(I₀, φₜ)] + E[z~p_z,t~p_data][log(1 - D₀(G₀(z, ĉ₀), φₜ))]

生成器损失:
L_G₀ = E[z~p_z,t~p_data][log(1 - D₀(G₀(z, ĉ₀), φₜ))] + λD_KL(N(μ₀(φₜ), Σ₀(φₜ)) || N(0, I))

Stage-II

鉴别器损失:
L_D = E[(I,t)~p_data][log D(I, φₜ)] + E[s₀~p_G₀,t~p_data][log(1 - D(G(s₀, ĉ), φₜ))]

生成器损失:
L_G = E[s₀~p_G₀,t~p_data][log(1 - D(G(s₀, ĉ), φₜ))] + λD_KL(N(μ(φₜ), Σ(φₜ)) || N(0, I))

取得的效果

你可能感兴趣的:(StackGAN(堆叠生成对抗网络)的介绍)