最近忙着弄論文,不知不覺三個多月沒更新了 = =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
復現結果以下,看起來還闊以~翻譯
默認對imgs/no_makeup/xfsy_0068.png
進行上妝code
python main.py
複製代碼
若是須要對其餘人臉圖片上妝,傳入圖片路徑便可,推薦使用大小合適的正臉圖片
python main.py --no_makeup xxx.xxx
複製代碼
自取玩耍,歡迎star~