Fork me on GitHub

StarGAN学习笔记

11 December 2019

20:32

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

   

  • StarGAN

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

    论文地址:https://arxiv.org/abs/1711.09020

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

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

    Pix2Pix模型解决了有Pair对数据的图像翻译问题;CycleGAN解决了Unpaired数据下的图像翻译问题。但无论是Pix2Pix还是CycleGAN,都是解决了一对一的问题,即一个领域到另一个领域的转换。当有很多领域要转换了,对于每一个领域转换,都需要重新训练一个模型去解决,即现有的GAN模型为了实现在k个不同的风格域上进行迁移,需要构建k(k1)个生成器,并且还不能跨数据集训练(标注不能复用)。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,再翻译回来,不会发生变化。

    其中GD的网络训练过程如下图所示:

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

    本文的损失函数

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

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

    训练G的损失如下:

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

    汇总之后是:

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

    多训练集进行训练

    在多数据集下训练StarGAN存在一个问题,那就是数据集之间的类别可能是不相交的,但内容可能是相交的。比如CelebA数据集合RaFD数据集,前者拥有很多肤色,年龄之类的类别,而后者拥有的是表情的类别。但前者的图像很多也是有表情的,这就导致前一类的图像在后一类的标记是不可知的。为了解决这个问题,在模型输入中加入了Mask,即如果来源于数据集B,那么将数据集A中的标记全部设为0

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

    网上其他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=79F0E8FE2F4E4071A1E29542821150A4note.youdao.com

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

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

       

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

posted @ 2019-12-11 20:37  stardsd  阅读(2506)  评论(0编辑  收藏  举报