《StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation》论文笔记
---恢复内容开始---
Motivation
使用单组的生成器G和判别训练图片在多个不同的图片域中进行转换
效果确实很逆天,难怪连Good Fellow都亲手给本文点赞
Introduction
论述了Image translating的概念,GAN极大地提升了该领域的生成质量。具体到头像生成任务,作者定义attribute为图片特征(feature),如haircolor,age,gender等;domain被定义为 一系列共享了某个属性的图片,如女性图片和男性图片分属不同的domain。该文的训练数据集基于celebA(40 labels related to facial attributes such as hair color, gender, and age)和RaFD(8 labels for facial expressions such as ‘happy’, ‘angry’ and ‘sad’)。图1左边正是展示了由starGAN生成的图片怎样在celebA的各个不同域之间进行转换的例子,右边展示了交叉训练两个数据集,以把RaFD的表情域也应用在celebA的图片上面。
现有的GAN模型为了实现在k个不同的风格域上进行迁移,需要构建$k*(k-1)$个生成器,并且还不能跨数据集训练(标注不能复用)。StarGAN正是为了解决跨多个域、多个数据集的训练而提出的。在StarGAN中,并不使用传统的fixed translation((e.g., black-to-blond hair),而是将域信息和图片一起输入进行训练,并在域标签中加入mask vector,便于不同的训练集进行联合训练。本文贡献:
- 提出StarGAN模型,使用单组GAN模型进行跨domain和跨数据集的训练
- 展示了mask vector技术来实现上述的训练过程
- 训练了角色的面部属性和面部表情特征的各种图片
Ralated Work
- GAN(略)
- CGAN(略)
- Image2Image translating
pixel2pixel coGAN DiscoGAN CycleGAN
模型描述
1.损失函数
adv损失函数
和普通的GAN没太大区别,对G来说,输入为图片x和标签信息c。
Domain Classification 损失函数
对于真实图片:
对于生成图片:
Recstruntion 损失
使用了cycle损失的概念 ,看来循环训练的概念确实可以高质量的保留原有图片特征!!!!!!!!
综合上述各损失函数,得到StarGAN的总损失函数表达:
2.在多数据集上训练模型
对于不同的数据集来说,每一个数据集只能知道全体标注的一部分。如celebA并不知道RaFD中关于表情的“愤怒” “开心”等标签。但是在计算损失函数时,我们需要知道全部的标签信息,作者使用mask vector来解决这一问题。在StarGAN中构建了一个n-dimensional的one-hot vector m,其中n是数据集的数量(在论文中使用了两个数据集,故n=2),对于未知的数据集标签,统统设置为0向量
训练时,生成器G将忽略掉传入的C向量中的0向量,犹如在训练单数据集一样,而判别器D的auxiliary classifier则生成所有数据集的全部标签概率,但只和已知的真实标签做loss计算。
训练模型采用了Wasserstein GAN
---恢复内容结束---
《StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation》论文笔记的更多相关文章
- 《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(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...
随机推荐
- 【分段哈希】H. Paint the Wall
https://www.bnuoj.com/v3/contest_show.php?cid=9147#problem/H [题意] 在一个长为H,宽为W的白墙上选一个矩形区域涂颜色,后涂的颜色会覆盖先 ...
- bzoj3142[Hnoi2013]数列 组合
Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都 ...
- java Web项目Service层通用接口和entityVo对象与entity对象转化问题的解决方案
Service层的接口中有一些比较常用方法,一次又一次的在新的Service层中被书写,所以懒惰的程序员又烦了,他们决定写个通用接口来解决这个问题. 有些项目中,实体类即承担接收表单数据的任务,又承担 ...
- C#.net获取存储过程的Return返回值和Output输出参数值
原文发布时间为:2008-10-25 -- 来源于本人的百度文章 [由搬家工具导入] 1.获取Return返回值 程序代码//存储过程//Create PROCEDURE MYSQL// @a ...
- msp430入门编程25
msp430中C语言开发环境搭建 msp430入门学习 msp430入门编程
- iOS - 设置系统类似的方法弃用警告的方式
在开发过程中,调用系统方法时,经常可以看xCode 提示 该方法已弃用,如下图: 觉得特别炫,查一下资料,如果自己也想实现如下的效果,只需要采用系统的如下几个关键字加在方法名后面就可以了: NS_DE ...
- JVM内存区域(运行时数据区)划分
前言: 我们每天都在编写Java代码,编译,执行.很多人已经知道Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文 ...
- 初学总结--------Java修饰符与修饰关键字(且叫修饰关键字)
Java中有类,有成员变量,有成员方法,有局部变量.他们分别能用什么来修饰? 目前学习到的类,有普通类和内部类. 一.修饰普通类: 1.public 每个文件中只有一个类能被public修饰,表示可 ...
- jenkins节约硬盘空间的几个办法
jenkins真是费硬盘和内存,我们先聊聊硬盘问题怎么解决: 1.不要保留太多的构建记录.发布包数量 相关描述如下:取最先匹配进行执行 2.构建完,删除吧
- Docker+Drone做Java/Tomcat的CI服务
1. 安装Docker(略过) 2. 编写docker-compose.yaml version: '2' services: drone-server: image: drone/drone:0.8 ...