昨天刚看了Cycle GAN,今天这篇CVPR2020跟Cycle GAN很类似,做的任务是基于非成对数据的肖像画生成,区别是采用了非对称的循环映射(参考Cycle GAN里的循环一致性 https://blog.csdn.net/weixin_42108775/article/details/108102599)
论文下载:Unpaired Portrait Drawing Generation via Asymmetric Cycle Mapping
代码地址:https://github.com/yiranran/Unpaired-Portrait-Drawing
之前的Cycle GAN中,两个域的信息量基本对等,可以对称地进行互相转换,也就是对称的循环一致性。具体到本文的任务中,由于照片中的细节比较多,而画像仅由一些简单的线条组成,两个域的信息不对等,网络也不需要从画像来生成图片。这里作者提出了非对称的循环映射来解决这个问题,在画像和照片之间引入了松弛的循环一致性。主要贡献:
- 我们提出了一种新颖的非对称循环结构GAN模型,以避免在整个APDrawing中无差别地嵌入重构信息,而重构信息通常是由循环一致性损失引起的。
- 我们使用多个局部判别器来保证了面部特征的存在和它的质量。
- 我们从不成对的混合Web数据中学习多样式APDrawings,以便用户可以使用简单的样式代码在多种样式之间进行切换。
3 METHODS
3.1 Overview
令P和D为面部照片域和APDrawing域,并且在这两个域之间不需要成对匹配。我们的模型使用训练数据 和
,学习从P映射到D的函数Φ。 N和M是训练照片和APDrawings的数量。我们的模型由两个生成器组成:一个生成器G将面部照片转换为肖像照片,一个反向生成器F将图纸转换为面部照片;两个鉴别器,
负责区分生成的画像与真实画像,
负责区分生成的照片与真实的照片。
APDrawing域中的信息比面部照片域中的信息少得多。例如,在脸颊区域中,原始照片中有许多颜色变化,但是在APDrawing中,脸颊通常绘制为完全白色(即不包括线条)。在重建的面部照片和输入照片上强制执行严格的循环一致性损失(如CycleGAN [25]中所述)将导致网络将重建信息嵌入生成的APDrawings中的很小变化中(即,肉眼看不见的颜色变化,但是可以在网络计算中有所作为)[2]。有关示例请参见图3。将重建信息嵌入很小的变化中,可以在CycleGAN中的循环一致性损失和GAN损失之间取得平衡。由于颜色变化很小,生成的画像G(p)可以成功地重建与输入照片相似的人脸照片,同时G(p)可以和真实画像很像,并被鉴别器判断为真。在整个图中不加选择地嵌入不可见的重建信息将对目标函数的优化施加很大的限制。此外,这将使重要的面部特征在生成的图形中部分丢失。
![](https://i-blog.csdnimg.cn/blog_migrate/c841bfac140b40474f9da7f3b13a1b48.png)