最近忙著弄論文,不知不覺(jué)三個(gè)多月沒(méi)更新了 = =
心里實(shí)在過(guò)意不去铣焊,分享一下前段時(shí)間看的一篇論文,以及復(fù)現(xiàn)的模型~
一鍵上妝效果如下
BeautyGAN
- 論文名稱(chēng):BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network,2018年的ACM MM
- 官方網(wǎng)站:http://liusi-group.com/projects/BeautyGAN
- 實(shí)現(xiàn)功能:輸入兩張人臉圖片醉鳖,一張無(wú)妝郎嫁,一張有妝秉继,模型輸出換妝之后的結(jié)果,即一張上妝圖和一張卸妝圖
采用了經(jīng)典的圖像翻譯結(jié)構(gòu):
- 生成器G包括兩個(gè)輸入泽铛,分別是無(wú)妝圖尚辑、有妝圖,通過(guò)encoder盔腔、residual blocks杠茬、decoder得到兩個(gè)輸出,分別是上妝圖弛随、卸妝圖
- 上妝和卸妝不能改變?cè)嫉娜宋镄畔⑵昂恚@里通過(guò)perceptual loss保證
- 使用兩個(gè)判別器,DA區(qū)分真假無(wú)妝圖舀透,DB區(qū)分真假有妝圖
- 訓(xùn)練了一個(gè)語(yǔ)義分割網(wǎng)絡(luò)用于提取人臉不同區(qū)域的mask栓票,上妝圖和有妝圖在臉部、眼部盐杂、嘴部三個(gè)區(qū)域需滿(mǎn)足makeup loss逗载,通過(guò)直方圖匹配實(shí)現(xiàn)
- 把上妝圖和卸妝圖再次輸入給G哆窿,重新執(zhí)行一次卸妝和上妝,從而得到兩張重建圖厉斟,通過(guò)cycle consistency loss需要和原始圖相同
論文中的上妝結(jié)果看起來(lái)很nice~
作者也很nice地給出了自建的數(shù)據(jù)集挚躯,包括1116張無(wú)妝圖、2720張有妝圖擦秽,在官方網(wǎng)站提供了下載鏈接
唯一不nice的是码荔,沒(méi)有開(kāi)源代碼,也沒(méi)有提供訓(xùn)練好的模型
自己動(dòng)手
看了論文中的效果感挥,正好數(shù)據(jù)集也可以下載缩搅,感覺(jué)挺有意思,當(dāng)然要手動(dòng)復(fù)現(xiàn)一下啦
復(fù)現(xiàn)結(jié)果如下触幼,看起來(lái)還闊以~
- 項(xiàng)目放到了Github上硼瓣,https://github.com/Honlan/BeautyGAN
- 訓(xùn)練好的模型傳到了網(wǎng)盤(pán)上,https://pan.baidu.com/s/1wngvgT0qzcKJ5LfLMO7m8A置谦,7lip
- 編程環(huán)境為Python3.6和TensorFlow1.9
- 項(xiàng)目中包括11張無(wú)妝圖片堂鲤,以及9張有妝圖片
- 下載訓(xùn)練好的模型,新建文件夾model媒峡,將模型文件放于其中
默認(rèn)對(duì)imgs/no_makeup/xfsy_0068.png
進(jìn)行上妝
python main.py
如果需要對(duì)其他人臉圖片上妝瘟栖,傳入圖片路徑即可,推薦使用大小合適的正臉圖片
python main.py --no_makeup xxx.xxx
自取玩耍谅阿,歡迎star~