11 December 2019

20:32

来自 <https://zhuanlan.zhihu.com/p/44563641>

 
 

  • StarGAN

    StarGAN是CVPR2018最新提出来的,用于多领域的图像迁移学习。

    代码地址(Pytorch):https://github.com/yunjey/StarGAN

    -----------------------------------------------------------------------------------------------

    Pix2Pix模型解决了有Pair对数据的图像翻译问题;CycleGAN解决了Unpaired数据下的图像翻译问题。但无论是Pix2Pix还是CycleGAN,都是解决了一对一的问题,即一个领域到另一个领域的转换。当有很多领域要转换了,对于每一个领域转换,都需要重新训练一个模型去解决,即现有的GAN模型为了实现在k个不同的风格域上进行迁移,需要构建k∗(k−1)个生成器,并且还不能跨数据集训练(标注不能复用)。StarGAN正是为了解决跨多个域、多个数据集的训练而提出的。在StarGAN中,并不使用传统的fixed translation((e.g., black-to-blond hair),而是将域信息和图片一起输入进行训练,并在域标签中加入mask vector,便于不同的训练集进行联合训练。对比如下图所示;

    本文贡献:

  • 提出StarGAN模型,使用单组GAN模型进行跨domain和跨数据集的训练
  • 展示了mask vector技术来实现上述的训练过程
  • 训练了角色的面部属性和面部表情特征的各种图片

    要想让G拥有学习多个领域转换的能力,本文对生成网络G和判别网络D做如下改动:

  • 在G的输入中添加目标领域信息c,即把图片翻译到哪个领域这个信息告诉生成模型。
  • D除了具有判断图片是否真实的功能外,还要有判断图片属于哪个类别的能力。这样可以保证G中同样的输入图像,随着目标领域的不同生成不同的效果。
  • 除了上述两样以外,还需要保证图像翻译过程中图像内容要保存,只改变领域差异的那部分。图像重建可以完整这一部分,图像重建即将图像翻译从领域A翻译到领域B,再翻译回来,不会发生变化。

    其中G和D的网络训练过程如下图所示:

    -----------------------------------------------------------------------------------------------

    本文的损失函数

    首先是GAN网络通用的损失函数Adversatial Loss,以判断输出的图像是否真实:

    其次是类别损失,该损失被分为两个,训练判别网络D的时候,使用真实图片在原始领域的监督信号进行训练;而训练生成网络G的时候,使用生成之后的图片在目标领域的监督信号进行训练。其中训练D的损失如下(交叉熵损失):

    训练G的损失如下:

    最后一个损失函数是重建损失,主要目的是保证图片翻译过程中非关键的图片内容信息保存下来,其中损失函数如下(L-1 norm):

    汇总之后是:

    -----------------------------------------------------------------------------------------------

    多训练集进行训练

    -----------------------------------------------------------------------------------------------

    网上其他StarGAN介绍参考:

    https://blog.csdn.net/stdcoutzyx/article/details/78829232

    https://www.cnblogs.com/punkcure/p/7977819.html

    原文笔记:

    http://note.youdao.com/noteshare?id=53fea36362db94c27934b272542d44fe&sub=79F0E8FE2F4E4071A1E29542821150A4​note.youdao.com

    -----------------------------------------------------------------------------------------------

    《StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation》论文笔记​www.cnblogs.com

     
     

    -----------------------------------------------------------------------------------------------

StarGAN学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. django-配置404页面

    setting.py文件配置 # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False ALLOW ...

  2. 爬虫篇-python爬虫中多线程的使用

    queue介绍 queue是python的标准库,俗称队列.可以直接import引用,在python2.x中,模块名为Queue.python3直接queue即可 在python中,多个线程之间的数据 ...

  3. IE浏览器下AJAX缓存问题导致数据不更新的解决办法

    一直知道使用ajax的时候,有的时候会出现数据缓存的问题,当时也没有深究,就是所有的简单粗暴的全部加上cache:false,或者使用在url处加上随机时间函数 今天无意间看见了为什么会出现缓存的原因 ...

  4. 201871010128-杨丽霞《面向对象程序设计(java)》第二周学习总结

    201871010128-杨丽霞<面向对象程序设计(java)>第二周学习总结 项目 内容 这个作业属于哪个课程 <https://www.cnblogs.com/nwnu-daiz ...

  5. 201671030113 李星宇 实验十四 团队项目评审&课程学习总结

    项目 内容 所属课程 [所属课程(https://www.cnblogs.com/nwnu-daizh/) 作业要求 作业要求 课程学习目标 (1)掌握软件项目评审会流程:(2)反思总结课程学习内容 ...

  6. css 固定图片

  7. VIJOS-P1294 拯救OIBH总部

    洛谷 P1506 拯救oibh总部 洛谷传送门 JDOJ:1405: VIJOS-P1294 拯救OIBH总部 JDOJ传送门 Description OIBH被突来的洪水淹没了> .< ...

  8. IEnumerable、IEnumerator接口(如何增加迭代器功能)

    IEnumerable.IEnumerator接口封装了迭代器功能,有了它,我们不需要将内部集合暴露出去,外界只需要访问我的迭代器接口方法即可遍历数据. 在C#中,使用foreach语句来遍历集合.f ...

  9. django @login_required登录限制

    参考文章:https://www.cnblogs.com/wodekaifalog/p/10817275.html 我们在网站开发过程中,经常会遇到这样的需求: 用户登陆系统才可以访问某些页面 如果用 ...

  10. Kafka中的HW、LEO、LSO等分别代表什么?

    HW . LEO 等概念和上一篇文章所说的 ISR有着紧密的关系,如果不了解 ISR 可以先看下ISR相关的介绍. HW (High Watermark)俗称高水位,它标识了一个特定的消息偏移量(of ...