GAN家族在CVPR2018时候迎来一个新强悍的成员,即:StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation 。从这个题目可以看出,它与之前的pix2pix等相比,能够支持一生多。
1、论文原理
GAN的基本框架都是G和D两个模型,一个生成模型,一个判别模型,那么为了同时生成多个,那么这个G模型必须具备生成多样化图像的能力。这也是论文要针对解决的问题是:
However, existing models are both inefficient and ineffectivein such multi-domain image translation tasks. Theirinefficiency results from the fact that in order to learn allmappings among k domains, k(k−1) generators have tobe trained.
而论文的创新点如下:
(1)We propose StarGAN, a novel generative adversarialnetwork that learns the mappings among multiple domains using only a single generator and a discriminator,training effectively from images of all domains.• (仅用一个G和D,即可实现多领域图像生成和训练)
(2) We demonstrate how we can successfully learn multidomain image translation between multiple datasets byutilizing a mask vector method that enables StarGAN to control all available domain labels.
(3)We provide both qualitative and quantitative results on facial attribute transfer and facial expression synthesis tasks using StarGAN, showing its superiority over baseline models.
论文的基本框架如下:
要想让G拥有学习多个领域转换的能力,需要对生成网络G和判别网络D做如下改动。
同时模型为了支持多个数据集,需要增加mask来实现,即补位加0的办法。
2、论文复现
从论文原作代码:https://github.com/yunjey/StarGAN上进行复现,其运行结果如下:
输出测试结果如下:其中的选择的属性输出如下,结果相当的酷炫。特别是倒数第二个的性别转换。
selected_attrs Black_Hair Blond_Hair Brown_Hair Male Young