简介
Stargan: Unified generative adversarial networks for multi-domain image-to-image translation.CVPR-2018,Cited-690.
官方开源,是pytorch版本的:https://github.com/yunjey/StarGAN
关键字
风格迁移,GAN,深度学习,机器学习
正文
1. 任务
StraGAN目标是多个域之间的图像可以相互转换,与CycleGAN不同的是StraGAN转换域只需要一个模型就可以实现,其基本思路可以想象成CycleGAN的输入输出各自加上个域开关,使用这个开关来指示域转换的方向。用个图(文献Figure3)来表示:
从图上可以看出在生成器增加了个目标域标记输入,输入样本时附加上目标域标记
;判别器增加了域标记判别的输出,即在判别生成的样本
时,需要判别
的真假外,还需要判别
的属于哪个域。
2. 损失和训练过程
损失有3个构成:对抗损失对应传统GAN的损失,使用二分类损失计算;
域损失对应判别域标签的损失,使用交叉熵或多个二分类损失来计算;循环一致性损失
,和CycleGAN一样使用
来计算。
训练过程包含2个,更新参数时使用的目标函数分别如下:
3. 多数据集联合训练
为了发挥StarGAN的优势,可以同时训练多个数据集,但是多个数据集包含的属性未必相同,在训练过程中不仅对每个数据集的属性进行了编码,还增加了一个Mask来指示数据域,如图(文献Figure8),更加具体的可以参考开源。
4. 效果
放个文献的图(文献Figure1):
参考资料
[1] Choi, Yunjey, et al. "Stargan: Unified generative adversarial networks for multi-domain image-to-image translation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.