你看我还有机会吗?这么GAN让我秃然荒了!
點擊上方“AI搞事情”關(guān)注我們
Github: https://github.com/Azmarie/Hairstyle-Transfer
Blog: https://medium.com/swlh/hairstyle-transfer-semantic-editing-gan-latent-code-b3a6ccf91e82
Papers:
A Style-Based Generator Architecture for Generative Adversarial Networks
Interpreting the Latent Space of GANs for Semantic Face Editing
語義編輯
首先說說什么是語義編輯,所謂語義編輯是指在保留所有其他信息的同時編輯圖像中的目標屬性,在這里我們的目標屬性就是頭發(fā)。通過語義編輯改變目標屬性的各種屬性值:比如:發(fā)型、顏色、發(fā)際線高低、面部毛發(fā)等。下面為具體的語義編輯步驟:
隱式向量
隱式向量必須能夠很好的表示輸入圖像,一種方式就是優(yōu)化特征空間對圖像高級語義信息的表達能力。
將預(yù)訓(xùn)練殘差網(wǎng)絡(luò)的輸出初始化StyleGAN的隱式向量,通過生成器生成圖像(initial guess),將輸入圖像和生成圖像分別經(jīng)過預(yù)訓(xùn)練模型提取的特征做損失,通過梯度下降,將特征向量間損失最小化并更新隱式向量(紅色箭頭)
這樣,利用StyleGAN_Encoder便生成了輸入圖像的隱式向量,同時,生成器可以生成一個StyleGAN版本的逼真人臉圖像。
編輯邊界
在編輯屬性之前,需要在潛在隱式向量空間中找到能夠區(qū)分二進制屬性的特定邊界,其中每一個屬性都會對應(yīng)一個分割邊界。那么,如何能夠在StyleGAN生成的多維潛在空間中找到一個屬性分割邊界呢?
傳統(tǒng)線性分類器就可以通過超平面將二值屬性值進行劃分,通過對每個屬性訓(xùn)練獨立的線性SVM,使來自同一側(cè)的所有樣本都具有相同的屬性。那么,要在潛在空間中找到禿頭的邊界,只需要以StyleGAN生成的隱式向量作為輸入,隱式向量生成的圖片是否禿頂作為輸出,訓(xùn)練訓(xùn)練一個SVM二分類器。
因此,對于每個輸入圖像,首先在StyleGAN潛在空間中特定屬性的分割超平面,然后沿著特定方向移動,便可以對該屬性進行語義編輯。
搞事情
數(shù)據(jù)集
CelebA:名人數(shù)據(jù)集,共10,177個名人身份的202,599張人臉圖片,每張圖片都做好了特征標記,包含人臉bbox標注框、5個人臉特征點坐標以及40個屬性標記,CelebA由香港中文大學(xué)開放提供,廣泛用于人臉相關(guān)的計算機視覺訓(xùn)練任務(wù),可用于人臉屬性標識訓(xùn)練、人臉檢測訓(xùn)練以及l(fā)andmark標記等。
? FFHQ數(shù)據(jù)集:由NVIDIA最初作為生成對抗網(wǎng)絡(luò)(GAN)的基準創(chuàng)建的高質(zhì)量的人臉圖像數(shù)據(jù)集。
下載Hairstyle-Transfer
下載stylegan-encoder
下載resnet預(yù)訓(xùn)練模型
下載VGG預(yù)訓(xùn)練模型
styleGAN人臉生成模型提前下載
生成隱式向量
notebook:StyleGAN_Encoder.ipynb
準備人臉數(shù)據(jù)
使用dlib人臉檢測和對齊
編碼人臉到StyleGAN隱式空間
保存隱式向量為output_vectors.npy
構(gòu)造屬性分類數(shù)據(jù)
notebook:Get_attribute_score_pairs.ipynb
生成隱式向量和屬性分數(shù),為訓(xùn)練SVM構(gòu)造訓(xùn)練數(shù)據(jù)stylegan-dlatents.npy 和 9_score.npy 文件
注意將代碼中的模型路徑修改為本地模型地址。
屬性邊界與編輯
Train_Boundaries_+_Face_Editing_with_Interface_GAN.ipynb
下載interfacegan并將模型karras2019stylegan-ffhq-1024x1024.pkl放到models/pretrain
訓(xùn)練發(fā)際線屬性邊界(classifier對應(yīng)索引為9)獲得boundary.npy
編輯發(fā)際線bangs的屬性
效果一覽
年輕的小李子也禁不住發(fā)際線的上揚
有魅力的諾叔????
????一起去爬山啊!!!?
???發(fā)際線一長,氣質(zhì)就上來了,有木有????
項目的一些其他屬性編輯效果
姿勢變換
? ??
性別變換
??
帶上眼鏡
InterFaceGAN演示視頻
最后,再推薦一個有意思的人臉生成網(wǎng)站:http://www.seeprettyface.com
往期推薦
》》python
利用python分析了下乘風(fēng)破浪的姐姐
創(chuàng)意賽第二季又來了,PaddleHub人臉關(guān)鍵點檢測實現(xiàn)貓臉人嘴特效
【推薦】一下令人驚艷的的網(wǎng)站,絕對會讓你愛上歷史
python獲取原圖GPS位置信息,輕松得到你的活動軌跡
Scrapy爬取姓名大全,看看那個名字最受父母青睞
Windows10下的AlphaPose配置,人體摔倒姿態(tài)識別
》》論文
目標又多又密?多輪迭代的方式進行密集目標檢測
DeepHSV:號稱可以商用的計算機筆跡鑒別算法
CVPR 2019筆跡識別論文:逆鑒別網(wǎng)絡(luò)+八路Attention
PolarMask:單階段實例分割框架,FCOS進階!
真正意義的Anchor-Free,FCOS目標檢測算法了解一下
論文創(chuàng)新,可以看看這幾篇去雨文章是怎么做的
長按二維碼關(guān)注我們
有趣的靈魂在等你
總結(jié)
以上是生活随笔為你收集整理的你看我还有机会吗?这么GAN让我秃然荒了!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目标又多又密?多轮迭代的方式进行密集目标
- 下一篇: CRNN:端到端不定长文字识别算法