[论文笔记]StoryGAN: A Sequential Conditional GAN for Story Visualization

StoryGAN是一种能够根据连续文本描述生成对应图像序列的模型,它使用上下文编码器和两个判别器来确保图像序列与故事语义的一致性。该模型在文本到图像生成任务上取得了最先进的效果,并在CLEVR-SV和Pororo-SV数据集上进行了验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、文献综述

文章链接:链接
文章题目:《StoryGAN: A Sequential Conditional GAN for Story Visualization》
项目地址:源码

2、文献导读

之前Text-to-Image的文章都是基于输入的一句话生成对应的图像,希望在生成图像足够逼真的前提下,同时尽可能的与输入语句所表达的语义信息保持一致性。而本文提出的StoryGAN可以实现根据一段连续的描述文本生成对应图像的序列,即所生成的每张图像与之对应的每句文本的语义保持一致性,同时图像集合也要满足整个描述文本的语义一致性。这是之前模型所无法做到的。
StoryGAN可以看做是一个序列化的条件生成对抗网络框架(sequential conditional GAN framework),模型主要包含一个处理故事流的深度上下文编码器(Deep Context Encoder)和两个判别器(Discriminator:image level和story level)。同时本文又提供了两个新的数据集CLEVR-SV和Pororo-SV,实验证明了StoryGAN取得了state-of-the-art的效果。

3、文献详细介绍

对于全局性的Text-to-Image任务来说,主要有如下的两个困难:

  • 如何保持生成图像序列与整个故事语义的一致性;
  • 如何显示故事情节的逻辑主线。 即随着故事的进行,对象的外观和背景中的布局必须以连贯的方式演变。

接下来,通过一个简单的例子来说明上面两个问题。例如,当输入为“Pororo and Crong are fishing together.Crong is looking at the bucket. Pororo has a fish on hisfishing rod.”时,它包含三个句子,那就需要生成三张图像。我们希望将整个故事的描述送入模型的图像生成器时,对于整个故事中的每句语义,它可以生成逼真的图像,最后整个故事与图像序列又可以保持一致性,即人从直观上认为生成的图像序列和故事描述是一致相符的。
在这里插入图片描述


StoryGAN

模型的整体架构如下所示:
在这里插入图片描述
图中 S S S:Story整体描述性文本, s i s_i si:故事中的每个句子(sentence) ϵ i \epsilon_i ϵi:随机噪音。红色虚线框的部分是Context Encoder:包含两个隐藏单元GRU cell和Text2Gist cell。 h i h_i hi:故事文本嵌入向量, o t o_t ot:每个时间点用于生成图片的向量, x ^ i \hat{x}_i x^i:生成图片样本。

StoryGAN就是一个序列化的生成模型,上图可看做是绿框部分按时间步展开的形式,主要部分为:Story Encoder、Context Enocder、Image Generator、Image DiscriminatorStory Discriminator,其中Context Encoder中又包含GRU单元和Text2Gist单元两部分。模型的架构并不难理解,下面就逐个的看一下它们是如何配合完成Story-to-Sequential Images的工作。

在此之前先做一些符号上的规定:

  • Story: S = { s 1 , s 2 , ⋯   , s T } S=\lbrace s_1,s_2,\cdots,s_T\rbrace S={ s1,s2,,sT},其中 T T T表示故事描述的长度, T T T的值是可变的。
  • 生成图像序列: X ^ = { x ^ 1 , x ^ 2 , ⋯   , x ^ T } \hat{X}=\lbrace \hat{x}_1,\hat{x}_2,\cdots,\hat{x}_T\rbrace X^={ x^1,x^2,,x^T},其中 x ^ i \hat{x}_i x^i s i s_i si是一一对应的。
  • 真实图像序列: X = { x 1 , x 2 , ⋯   , x T } X=\lbrace x_1,x_2,\cdots,x_T\rbrace X={ x1,x2,,xT}
  • h 0 h_0 h0:故事描述 S S S经过Story Encoder得到的低维向量。
  • o t o _t ot :每一个单独的句子和前一时刻的 h t − 1 h_{t−1} ht1经过Context Encoder得到的向量。

Story Encoder

Story Encoder E ( . ) E(.) E(.)学习了从故事 S S S到低维嵌入向量 h 0 h_{0} h0的随机映射,不仅包含了 S S S全部的信息,同时还作为Context Encoder隐状态的初始值。
在这里插入图片描述
h 0 ∼ E ( S ) = N ( μ ( S ) , Σ ( S ) ) h_0∼E(S)= \mathcal{N} (μ(S),Σ(S)) h0E(S)=N(μ(S),Σ(S)),其中 μ ( S ) 为 h 0 \mu(S)为h_{0} μ(S)h0 为所满足分布的均值, Σ ( S ) \Sigma(S) Σ(S)为分布的协方差矩阵,这里作者为了后续计算的效率,将其限制为一个对角阵,即 Σ ( S ) = diag ⁡ ( σ 2 ( S ) ) \boldsymbol{\Sigma}(\boldsymbol{S})=\operatorname{diag}\left(\boldsymbol{\sigma}^{

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值