GauGAN (SPADE) 水记 (seg2img)
GauGAN (SPADE) 水记 (seg2img)
根据语义mask生成图像
论文:
Semantic Image Synthesis with Spatially-Adaptive Normalization
https://arxiv.org/pdf/1903.07291.pdf
https://github.com/NVlabs/SPADE
https://github.com/NVlabs/SPADE
网络结构解析:
GauGAN之原理解析
论文逐段详解:
CVPR 2019 | SPADE 阅读笔记(翻译)_ybacm的博客-CSDN博客_spade模型
模型架构
论文中的模型架构如下:
模型由三部分组成:Encoder,Generator,Discriminator。
Encoder用于从真实图像中获取与其分布有关均值mu和方差var,然后用得到的均值,方差和高斯分布产生的向量x做反归一化操作,最终得到一个包含真实图像信息的随机向量z。
Generator接收上一步产生的随机向量z,产生一个图像x_,在生成的过程中会不断地使用语义图去增强语义信息。
Discriminator接收的是语义图与图像连接产生的张量,经过一系列的处理会输出判断结果,如果语义图与Generator生成的图像相连接,那么就判断为假,反之如果语义图与真实的图像相连接,那么久判断为真。
经过生成器和判别器的不断博弈训练,最终我们输入一个语义图,生成器会生成与该语义图相对应的真实图像。
他们将谱标准化 Spectral Norm 应用于生成器和判别器中的所有层。
SPADE
这个 Sync Batch Norm 表示把所有 GPU 的数据综合起来计算 BN 。
SPADE是在Generator里使用的模型,一个模块会接收上一层的输出,以及语义图作为输入,上一层的输出经过BN,语义图经过resize后通过一个卷积层,然后再分别通过两个卷积层,这两个卷积层输出的结果分别和BN的结果做wise乘法以及加法得到输出。(文中说这种处理方式能够有效地弥补BN带来的语义信息的丢失,使得生成的图像能够更加逼真,因为语义图经过卷积层处理后得到的是表示语义信息的方差和均值,然后经过反归一化操作就向生成的图像中添加了语义信息)
论文的模型并没有直接使用SPADE,而是利用其构建了一个模块SPADE ResBlk
Generator中实际使用的就是和这个模块
Generator
下图是Generator的架构:
训练时输入的z向量是满足高斯分布的向量利用真实图经过Encoder得到的均值和方差经过反归一化处理得到的,利用训练好的模型生成图像时可以直接使用满足高斯分布的向量作为Generator的输入。
Encoder
Encoder的架构如下:
Encoder 的输出用 KL 散度约束到正态分布
Discriminator
Discriminator架构如下:
为什么要 SPADE
SPADE(Spatially-Adaptive Denormalization)空间自适应反标准化
条件标准化层(Conditional normalization layers)包括 Conditional BatchNorm 和自适应实例标准化(Adaptive Instance Normalization, AdaIN)两种方法。
这两种方法最初都用于风格迁移任务,后来被用于各种视觉任务。
条件标准化似乎就是先正常 Normalization 然后再用一个线性变换作为 Denormalization ,这个线性变换的参数是通过外部数据推断的,并且需要训练
SPADE 的 Spatially-Adaptive 的意思似乎就是像素级的意思,似乎之前的条件标准化都是 channel级的。
对 mask 做 Normalization 往往会丢失太多信息
因为分割掩码通常由几个均匀uniform的区域组成,所以在应用标准化时会出现信息丢失的问题。
如果输入多个不同的纯色的 mask (比如纯天空,纯草地),经过 Normalization 后就会统统变成一样的,这样语义信息就丢失了。
所以 SPADE 里面没有对 mask 用 Normalization
不过,论文里的 BN 应该不是普通的 BN ,而是 谱标准化(Spectral Norm)
GauGAN2
GauGAN第二代发布!训练超1000万张图片,两个词就能生成风景画!
增加了 text-to-image 的功能
似乎就是加大训练集,加大模型
GauGAN2用了1000万张图像,模型有 1 亿参数
而 GauGAN 只用了 100 万张图像训练
似乎是在 DALL-E 之后提出的模型
没找到相关的论文或者解析,这个可能是闭源的
试玩:
英伟达其他模型的试玩:
AI Demos from NVIDIA Research
GauGAN (SPADE) 水记 (seg2img)相关推荐
- Stylized NeRF 水记(NeRF的风格化)
Stylized NeRF 水记(NeRF的风格化) <StylizedNeRF: Consistent 3D Scene Stylization as Stylized NeRF via 2D ...
- Liquid Warping GAN 水记
Liquid Warping GAN 水记 <Liquid Warping GAN: A Unified Framework for Human Motion Imitation, Appear ...
- DCT-Net 水记(用于 人脸风格化 的 小样本 图像翻译,无需反演,无需构造配对图片)
DCT-Net 水记(用于 人脸风格化 的 小样本 图像翻译,无需反演,无需构造配对图片) <DCT-Net: Domain-Calibrated Translation for Portrai ...
- 交互式视频风格化 水记
交互式视频风格化 水记 <Interactive Video Stylization Using Few-Shot Patch-Based Training> 项目主页: Interact ...
- PI-REC 水记 (线稿+色块→绘画)
PI-REC 水记 (线稿+色块→绘画) https://github.com/youyuge34/PI-REC 官方视频教程:BV1db411g74d 机器之心 新闻稿 渐进式图像重构网络:像画画一 ...
- MacBook进水记
水杯与狗不得靠近 --MPB 工作时不小心把水杯放在了MBP旁边,只是唯一的一次放在旁边,就被我碰倒了!键盘进入大约20ML,第一时间拔所有接线,把MBP倒过来,长按电源键关机,之后用电吹风吹了一小时 ...
- 论文水记|How to Train Triplet Networks with 100K Identities?
这是来自猎户星空的关于人脸识别的文章 作者 Chong Wang :Xue Zhang :Xipeng Lan https://arxiv.org/abs/1709.02940 好久没有写博客了,水一 ...
- 【李宏毅2020 ML/DL】P84 SAGAN, BigGAN, SinGAN, GauGAN, GANILLA, NICE | More About GAN 2020
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第11篇笔记,GAN 系列: 1:Basic Idea 2:Condition ...
- 核心单词Word List 43
词根.词缀表 re- 反 recede vi. 退,退去 prim第一,首要 primitive a. 原始的 ced 走 recede v. 退去,渐渐远去 cit 唤起 recite v. 背诵: ...
- 李宏毅学习笔记40.GAN.番外篇
文章目录 简介 Recap Self-attention GAN(SAGAN) Self-attention Spectral normalization (SN) Two-Timescale Upd ...
最新文章
- shell语法以及监控进程不存在重启
- bzoj1688[Usaco2005 Open]Disease Manangement 疾病管理*
- RHEL5+PXE+DHCP+Apache+Kickstart安装RHCE5.1 i386实验室环境
- 安装gym库_强化学习Gym库学习实践(一)
- Spring MVC+Spring+Mybatis实现支付宝支付功能(附完整代码)
- VTK:PolyData之PolyDataToUnstructuredGrid
- (转)JAVA AJAX教程第三章—AJAX详细讲解
- java反射有什么用_java反射的作用知识点总结
- java打开输入框,java – 在Android中打开输入对话框
- HDU 1520Anniversary party(树型DP)
- 模板函数:将string类型变量转换为常用的数值类型和常用的数值类型转String
- 开启3389的方法记录
- 网络安全应急响应-常用工具
- Java实时获取基金收益项目源码分享
- [OMNET++]ALOHA协议
- 计算机机械制图试题及答案,机械制图及计算机绘图试卷和参考答案1.pdf
- 数据嗨客 | 第6期:不平衡数据处理
- 触摸屏和显示屏参考文献
- 快速搭建仓储管理系统
- 算法设计与分析 实验三 回溯法求解地图填色问题