GANs中的明星StarGAN:使用单一模型执行多个域的图像转换,GAN之父点赞
雷锋网按:2017年可谓“GANs之年”,各种基于GANs的模型和变化层出不穷。近日,韩国首尔大学团队发布了一篇“StarGAN:Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation”的文章,下面雷锋网和大家来看下这篇论文。
论文摘要: 最近的研究表明在两个领域的图像转化方面取得了显着的成功。 然而,现有的方法在处理两个以上的域时在可伸缩性和鲁棒性上存在局限, 原因在于应该为每一对图像域独立建立不同的模型 。 为了解决这个限制,我们提出了StarGAN,这是一种新颖且可扩展的方法, 可以仅使用一个模型来执行多个域的图像到图像的转换 。 StarGAN这样一个统一的模型体系架构让我们可以同时训练单个网络中具有不同域的多个数据集,这导致StarGAN的图像转化结果比现有模型质量更高,并具有将输入图像灵活转化成任何期望目标域的新颖能力。我们凭经验证明了我们的方法在面部属性转移和面部表情合成任务上的有效性。
(图2:StarGAN进行多个域的图像转换)
图2为在CelebA数据集上通过传递从RaFD数据集中学习到的知识,进行多领域图像到图像的转换结果。第一列和第六列显示输入图像,而其余的列是由StarGAN生成的图像。 (值得注意的是,图像由一个单一的生成器网络产生,如愤怒、快乐和恐惧等面部表情标签来自RaFD,而不是CelebA。)
图像到图像转换的任务是将给定图像的某个特定属性改变为另一种属性,例如将人的面部表情从微笑改变为皱眉(见图2)。而在引入生成对抗网络(GAN)之后,这个任务进一步升级,生成结果包括改变头发颜色、从边缘映射重建照片、改变风景图像的季节等。
给定来自两个不同域的训练数据,这些模型将学习如何将图像从一个域转换到另一个域中。在这里,我们将术语属性用诸如头发颜色、性别或年龄等这些图像中固有意义的特征来表示,并将属性值作为属性的特定值,例如头发颜色:黑色/金色/棕色,或性别:男性/女性。我们进一步将域表示为一组共享相同属性值的图像。例如,女性的图像可以代表一个域,而男性的图像则代表另一个域。
某些图像数据集会带有一些标注属性,例如,CelebA数据集包含40个与面部属性相关的标签,如头发颜色、性别和年龄等,而RaFD数据集有8个面部表情标签,如“开心”、“愤怒”、“悲伤”等。这些设置属性使我们能够执行更多有趣的任务,我们称之为多域的图像到图像转换,即根据来自多个域的属性来变换图像,如图2中的前五列显示了一个CelebA图像是如何按照“金发”、“性别”、“老年”和“苍白的皮肤”四这个域中来进行转换的。我们还可以进一步扩展到从不同的数据集中训练多个域,如联合训练CelebA和RaFD图像,如图2最右一列就是使用在RaFD训练过程中学习的特征来改变CelebA图像的面部表情。
(图3:StarGAN与Cross-domain models的区别)
然而,目前的模型在这种多域的图像转换任务中效率不高且效果低下。它们效率不高主要是为了学习k个域之间的所有映射,必须训练k(k-1)个生成器,如图3所示,左边表明了在4个不同的域中进行图像转换需要训练12个不同的生成器,而它们效果也不是很好。即便存在诸如面部形状这样可以从所有域的图像中学习的全局特征,每个生成器都不能充分利用整个训练数据,而只能从k个中的两个域中进行学习,这也进一步限制了生成图像的质量。此外,由于每个数据集已经是部分标注的,所以他们无法联合训练来自不同数据集的域。
基于此,我们提出StarGAN,一个能够学习多个域之间相互映射的生成对抗网络。如上图右侧所示,我们的模型可以从多个域中提取训练数据,并仅使用一个生成器就可以学习所有可用域之间的映射。这个想法很简单:我们的模型将图像和域信息作为输入而不是学习固定转换(例如,黑色到金色的头发),并学习将输入图像灵活地转换到相应的域。我们使用标签(例如,二进制或onehot向量)来表示域信息。在训练中,我们随机生成一个目标域标签,并训练模型以灵活地将输入图像转换到目标域。这样,我们可以控制域标签,并在测试阶段将图像转换成任何期望的域。
我们还提出了一种简单而有效的方法,这一方法可以通过向域标签添加一个掩码向量,来实现不同数据集的域之间的联合训练。这一方法确保模型可以忽略未知的标签并聚焦于特定数据集提供的标签。这样,我们的模型可以很好地完成如使用从RaFD学习的特征来合成CelebA图像的面部表情的任务(如图2最右一列)。据我们所知,我们的该项研究是第一个在不同数据集上成功执行多域图像转换的研究。
总的来说,我们的贡献如下:
•我们提出了一种全新的生成对抗网络StarGAN,该网络只使用一个生成器和一个鉴别器来学习多个域之间的映射,并从各个域的图像中有效地进行训练;
•我们演示了如何使用掩模向量方法(mask vector method)成功学习多个数据集之间的多域图像转换,并使得StarGAN控制所有可用的域标签;
•我们使用StarGAN进行面部属性转换和面部表情合成任务,并对结果进行了定性和定量分析,结果显示其优于基准线模型。
点击此处可阅读完整论文 。
反响:Ian GoodFellow点赞,网友热议
不出所料,这篇论文被GAN的提出者Ian Goodfellow发推点赞,重点提了StarGAN在 多个域 中用非监督学习方法进行转换的成果(之前的研究是在 两个域 中进行转换)。
而在Reddit的Machine Learning版块上,这篇论文也引起了热烈讨论,Reddit指数直逼一千。雷锋网 (公众号:雷锋网) 摘录了几条关于这篇文章的评价如下:
@ReginaldIII:
很酷的研究。 令人惊讶的是,他们没有在相关的工作中引用任何Google的神经转换的论文。 将多个生成器模型编码到一个共同的空间并在整个集合上进行训练,这种想法并不是新鲜。 尽管GAN的应用给出了很好的结果。
@ajinkyablaze:
对于那些你的角色顶着丑陋的头像的视频游戏来说是个不错的东西。
@Reiinakano对这条评论进行了回复:
说实话,这件事正在进行,我敢说现在已经有一个非常清晰的路径来生成恶搞奥巴马(雷锋网注:原文为“Obama punching babies”,punching babies为“喝酒”或“聚会”的代名词)的视频。
@bigassholeredditor :
这看起来很棒。你们有预训练的模型吗?
第一作者@Yunjey回复:
我们很快将上传预训练的模型。
于是下面就被“一月内求通知”刷了屏。
@abhik_singla:
这与 Pix2Pix方法 有什么区别?
@ProgrammerChilli回复:
论文中有提到。简单说,Pix2pix要求明确地学习从一个域到另一个域的任何转换,StarGAN可以一次学习几个领域,并从任何领域转换到另一个领域。 我想, 这就是它为什么用“STAR”命名的原因吧?
。