一键上妆的BeautyGAN

最近忙着弄论文,不知不觉三个多月没更新了 = =python

内心实在过意不去,分享一下前段时间看的一篇论文,以及复现的模型~git

一键上妆效果以下github

BeautyGAN

  • 论文名称:BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network,2018年的ACM MM
  • 官方网站:liusi-group.com/projects/Be…
  • 实现功能:输入两张人脸图片,一张无妆,一张有妆,模型输出换妆以后的结果,即一张上妆图和一张卸妆图

采用了经典的图像翻译结构:编程

  • 生成器G包括两个输入,分别是无妆图、有妆图,经过encoder、residual blocks、decoder获得两个输出,分别是上妆图、卸妆图
  • 上妆和卸妆不能改变原始的人物信息,这里经过perceptual loss保证
  • 使用两个判别器,DA区分真假无妆图,DB区分真假有妆图
  • 训练了一个语义分割网络用于提取人脸不一样区域的mask,上妆图和有妆图在脸部、眼部、嘴部三个区域需知足makeup loss,经过直方图匹配实现
  • 把上妆图和卸妆图再次输入给G,从新执行一次卸妆和上妆,从而获得两张重建图,经过cycle consistency loss须要和原始图相同

论文中的上妆结果看起来很nice~bash

做者也很nice地给出了自建的数据集,包括1116张无妆图、2720张有妆图,在官方网站提供了下载连接网络

惟一不nice的是,没有开源代码,也没有提供训练好的模型网站

本身动手

看了论文中的效果,正好数据集也能够下载,感受挺有意思,固然要手动复现一下啦spa

复现结果以下,看起来还阔以~翻译

  • 项目放到了Github上,github.com/Honlan/Beau…
  • 训练好的模型传到了网盘上,pan.baidu.com/s/1wngvgT0q…,7lip
  • 编程环境为Python3.6和TensorFlow1.9
  • 项目中包括11张无妆图片,以及9张有妆图片
  • 下载训练好的模型,新建文件夹model,将模型文件放于其中

默认对imgs/no_makeup/xfsy_0068.png进行上妆code

python main.py
复制代码

若是须要对其余人脸图片上妆,传入图片路径便可,推荐使用大小合适的正脸图片

python main.py --no_makeup xxx.xxx
复制代码

自取玩耍,欢迎star~

相关文章
相关标签/搜索