标题:PairedCycleGAN: Asymmetric Style Transfer for Applying and Removing Makeup
本文主要的思路就是将cycleGAN用于妆容迁移。最大的亮点就是通过扭曲妆容图像来构造相似妆容对,从而构建出一个可以对妆容类型进行鉴别的discriminator。
结构如图所示,本质上就是cycleGAN,输入一张没化妆的图像和参考图像,通过G网络生成妆后图像,然后通过F网络还原回没化妆的图像。进而做重构损失
Adversarial loss
最基础的GAN loss,就是判断生成的图像真不真实。
identity loss
这其实就是原来基于像素的cycle consistency loss
style loss
这分为两个部分:
第一个是基于妆容的颜色一致性匹配,就是对像素颜色做l1损失。
第二个是给discriminator加了一个style一致性的loss,也就是说,输入两张图,discriminator需要判断出这两张图是不是同一个妆容。这样我们就可以将生成的妆容图和原始参考图一起输入,来让discriminator判断了。但是按照GAN的逻辑,生成的图像给的标签应该是“不是同一个妆容”,也就是负样本。那正样本怎么构造呢?作者提出的想法是随便找个图,提取landmark,然后将参考图按照landmark扭曲成找的这张图的样子,从而构造正样本。
区域分割
最后要说的就是作者也观察到了不同区域间妆容的类别差异还是很大的,比如眼影和口红,完全不是一类,因此作者也做了语义分割,然后对每个区域分别设计G和F来做妆容转移,最后拼接到一起作为最终输出。