Title

StarGAN v2: Diverse Image Synthesis for Multiple Domains
代码:https://github.com/clovaai/stargan-v2
文章:http://arxiv.org/abs/1912.01865

Summary

作者改进stargan v1,更好地实现了多domain间的映射。

本文和v1最大的几个异同分析。
异:

  1. [最关键] v1只提供一个预设好的数字作为domain信息,且这个数字会通过复制拼接到图像的第四维作为Generator的输入,信息局限且作用有限。而v2是通过latent的mapping network或是图像的style encoder获取目标domain的style,并通过AdaIN的方式调制Generator。
  2. v1的disciminator采用ACGAN,逻辑是先判断真假,真再判断类别。v2采用多任务判别器,针对每个类别判断真假。
    (v2的做法相当于先侧重划分domain和style,再去精细每个domain的生成)
  3. 为了GAN的稳定性做的一系列优化。比如v1用的WGAN-GP(增加正则项约束梯度趋近于1),v2会更近一步用L1 reg(这块儿没仔细研究)

同:

  1. v1和v2的训练逻辑本质上都是cyclegan。
  2. Generator本质上都是基于input和domain做文章

Contribution(s)

  1. 提出了stargan v2的网络结构
  2. 提出了AHFQ的数据集(animal face)

Problem Statement

先回顾一下stargan v1。它会预设一些domain的label,对其进行空间上的复制和input image拼接到一起作为Generator输入。Discriminator除了会判断真假外还会对real image判断其所属domain。整体的训练方式采用的是cyclegan。
However, StarGAN still learns a deterministic mapping per each domain, which does not capture the multi-modal nature of the data distribution. 作者认为stargan没有根本上实现多域转化,还是在学确定性的映射。

[StarGAN v2]StarGAN v2: Diverse Image Synthesis for Multiple Domains - 图1

Method(s)

下面这张图能显示stargan v2的四大组成部分。对于此图的解释:

  1. 下图(a),对于Generator,stargan v1中target domain信息是预设好的,会与图像在深度上拼接。v2中是由Mapping network或style encoder生成的,并通过AdaIN的方式注入Generator。
  2. 下图(d),对于Discriminator,stargan v1中会先判断真假,真的话再判断所属domain。v2中是搞了个多分支结构,先分类再判断真假,相当于提升了domain的重要性,基于domain看真假,逻辑上讲确实更合理一些。
  3. 训练方式采用的是cyclegan,逻辑是这样:
    • cyclegan的从A到B:随机采样出一个latent,走Mapping Network获得目标domain的style1,然后和input一起送入Generator,通过discriminator等多种loss(所以这儿显然有一个gan loss)去同时训练mapping network和generator
    • cyclegan的从B到A:把上一步生成的output送入stylegan encoder,提取出当前domain的style2(那理论上style2和上一步的style1应该一样,所以这儿可以想到一个style的一致性loss),再和output一起送入Generator,期望得到原始input(所以这儿可以想到cyclegan的重建loss)。
    • 最后一个是多样性loss(这个之前没接触过,我还是做p2p有监督的比较多)。作者让不要基于latent code去计算多样性(多样性本质上就是两个东西的差异性),会不可控。他是基于两个latent code生成的图像去计算差异性的
    • 总结一下:
      • cyclegan的A->B: latent经过F得到style1, style1 + input1送入G得到output
      • cyclegan的B->A: output经过E得到style2, style2 + output送入G得到input2
      • loss: adv loss(GAN loss),style reconstruction loss(style1应与style2一致),cycle consistency loss(input1应与input2一致),diversity sensitive loss(风格多样性,两次生成的output差异应尽可能大)

[StarGAN v2]StarGAN v2: Diverse Image Synthesis for Multiple Domains - 图2

Evaluation

把stargan v1作为baseline,依次增加一些策略,评价标准是FID和LPIPS
[StarGAN v2]StarGAN v2: Diverse Image Synthesis for Multiple Domains - 图3

Criticism

暂时没有想到什么点,可能细节怎么保持可以再搞搞