《StackGAN: Text to Photo-realistic Image Synthesis with Stacked GAN》论文笔记
出处:arxiv 2016 尚未出版
Motivation
根据文字描述来合成相片级真实感的图片是一项极具挑战性的任务。现有的生成手段,往往只能合成大体的目标,而丢失了生动的细节信息。StackGAN分两步来完成生成目标:Stage-I从文字中生成低分辨率的大体框架和基本色彩,Stage-II以文字和Stage-I中生成的基本框架图为输入,生成高分辨率的具体细节。运用StackGAN可以生成当前state_of_art的256*256分辨率的文字转换图像。训练数据集采用了CUB and Oxford-102。
Introduction
现有工作中,[20][22]可以利用GAN根据文字描述生成低分辨率64*64的图片。为了克服这一困难,作者描述了StackGAN怎样将任务分解为两步来达到目标。
Model

Stage-I GAN
对G来说,输入的文字描述被一个训练好的非线性转换器(nonlinearly transformed)Encoder $\phi$转化为隐变量(text-embeding),通常来说,该隐变量的维度相当高,通常大于100维,在G学习时对连续性有影响。因此作者提出一种扩张机制(augmentation),来为G产生更多的条件变量。作者构建一个特殊的高斯分布
,从中进行随机采样,The proposed formulation encourages robustness to small perturbations along the conditioning manifold, and
thus yields more training pairs given a small number of image-text pairs。并且在训练过程中,作者使用KL距离
作为正则项来增强流型的平滑性同时避免overfitting。
损失函数:

stage-II GAN:
把前一阶段生成的低分辨率图像和文字描述作为输入,模型致力于弥补上阶段丢失的细节信息
损失函数:

其中$S_0$是上阶段生成的低分辨率图,随机变量Z没有出现在这个一生成阶段中。两个阶段都共享了训练好的词向量encoder,但是后面接的连接层不同,产生的平均数和方差数不同,因此能比1阶段生成更详细的信息(这段转得很生硬,我也不懂为什么这样就能产生更丰富的信息)。
其他:
数据集:CUB and Oxford-102采用了【21】提供的标签,每张图片提供10个标注
评估指标:使用了【26】推荐的Inception score 来评价生成质量

其中,x是生成的样本,y是label predicted by the Inception model【28】
不足之处:个人认为没有对多目标生成进行研究,这方面如果有所突破将会是篇好的paper。
pytoch 源码地址:https://github.com/hanzhanggit/StackGAN
后续论文:
StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks
AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks
[20] S. Reed, Z. Akata, S. Mohan, S. Tenka, B. Schiele, and
H. Lee. Learning what and where to draw. In NIPS, 2016. 1,
2, 3, 5, 6, 7
[21]S. Reed, Z. Akata, B. Schiele, and H. Lee. Learning deep
representations of fine-grained visual descriptions. In CVPR,
2016.
[22] S. Reed, Z. Akata, X. Yan, L. Logeswaran, B. Schiele, and
H. Lee. Generative adversarial text-to-image synthesis. In
ICML, 2016. 1, 2, 3, 5, 6, 7
[26] T. Salimans, I. J. Goodfellow, W. Zaremba, V. Cheung,
A. Radford, and X. Chen. Improved techniques for training
gans. In NIPS, 2016. 2, 5
[28] C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna.
Rethinking the inception architecture for computer vision. In
CVPR, 2016. 5
《StackGAN: Text to Photo-realistic Image Synthesis with Stacked GAN》论文笔记的更多相关文章
- 《Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition》论文笔记
论文题目:<Vision Permutator: A Permutable MLP-Like ArchItecture For Visual Recognition> 论文作者:Qibin ...
- [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)
https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...
- 论文笔记系列-Auto-DeepLab:Hierarchical Neural Architecture Search for Semantic Image Segmentation
Pytorch实现代码:https://github.com/MenghaoGuo/AutoDeeplab 创新点 cell-level and network-level search 以往的NAS ...
- 论文笔记——Rethinking the Inception Architecture for Computer Vision
1. 论文思想 factorized convolutions and aggressive regularization. 本文给出了一些网络设计的技巧. 2. 结果 用5G的计算量和25M的参数. ...
- 论文笔记:Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells
Fast Neural Architecture Search of Compact Semantic Segmentation Models via Auxiliary Cells 2019-04- ...
- 论文笔记:ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware 2019-03-19 16:13:18 Pape ...
- 论文笔记:DARTS: Differentiable Architecture Search
DARTS: Differentiable Architecture Search 2019-03-19 10:04:26accepted by ICLR 2019 Paper:https://arx ...
- 论文笔记:Progressive Neural Architecture Search
Progressive Neural Architecture Search 2019-03-18 20:28:13 Paper:http://openaccess.thecvf.com/conten ...
- 论文笔记:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation
Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation2019-03-18 14:4 ...
- 论文笔记系列-DARTS: Differentiable Architecture Search
Summary 我的理解就是原本节点和节点之间操作是离散的,因为就是从若干个操作中选择某一个,而作者试图使用softmax和relaxation(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...
随机推荐
- js1:对象的学习,构造函数,继承构造函数【使用教材:JavaScript深度剖析第2版】
原文发布时间为:2008-11-08 -- 来源于本人的百度文章 [由搬家工具导入] <html> <head> <title>js</title> & ...
- python学习之-- shelve模块
shelve模块定义:是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle(因为封装了pickle)可支持的python数据格式.功能:可以实现pickle的多次dump和多次 ...
- Java知识图谱
1.Java学习路径1 我想很多人看到这个路径可能会问我在哪里可以学习,所以就先附上这条路径的学习地址吧,这也是这张图片的来源,愿意学习的可以去看看:Java研发工程师学习路径 2.Java学习路径2 ...
- Ansible 详细用法说明(二)
setup:获取指定主机的facts. ===================================facts就是变量,内建变量 .每个主机的各种信息,cpu颗数.内存大小等.会存在fact ...
- OpenJudge百炼习题解答(C++)--题3142:球弹跳高度的计算
题: 总时间限制: 1000ms 内存限制: 65536kB 描写叙述 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半.再落下. 编程计算气球在第10次落地时,共经过多少米? ...
- nginx内存池
一.设计原则 (1)降低内存碎片 (2)降低向操作系统申请内存的次数 (3)减少各个模块的开发效率 二.源代码结构 struct ngx_pool_s { ngx_pool_data_t ...
- soapUI系列之—-02 Groovy脚本常用方法
------Groovy脚本常用方法 1. 设置参数值:setPropertyValuea. 设置 project level property//set to project level prope ...
- C++ std::tr1::shared_ptr使用说明
1. 介绍 shared_ptr 是通过指针保持某个对象的共享拥有权的智能指针. 若干个 shared_ptr 对象能够拥有同一个对象:最后一个指向该对象的 shared_ptr 被销毁或重置时.该对 ...
- MongoDB 操作手冊CRUD 更新 update
改动记录 概述 MongoDB提供了update()方法用于更新记录. 这种方法接受下面參数: 一个更新条件的JSON对象用于匹配记录,一个更新操作JSON对象用于声明更新操作,和一个选项JS ...
- [libcurl]_[0基础]_[使用libcurl下载大文件]
场景: 1. 在Windows编程时, 下载http页面(html,xml)能够使用winhttp库,可是并非非常下载文件,由于会失败. 由此引出了WinINet库,无奈这个库的稳定性比較低,使用样例 ...