AI換臉常見方法細(xì)說從頭
「AI 換臉」這幾天又熱起來了。雷鋒網(wǎng)(公眾號:雷鋒網(wǎng)) AI 科技評論秉承以往的風(fēng)格,從技術(shù)角度簡單回顧一下近幾年重要的 AI 換臉技術(shù)。
Cycle GAN
Cycle GAN 可以說是所有人臉轉(zhuǎn)換嘗試重要早期嘗試。在對抗性生成式網(wǎng)絡(luò)(GANs)的風(fēng)潮中,大家發(fā)現(xiàn)只要給定源類別的樣本和目標(biāo)類別的樣本,GANs 可以便捷地學(xué)習(xí)到兩個類別之間的轉(zhuǎn)換關(guān)系,就天然地適用于「圖像到圖像轉(zhuǎn)換」問題,比如同一張風(fēng)景照的冬天到夏天、一匹馬到一匹斑馬;Cycle GAN 核心思路在于,如果能從源轉(zhuǎn)換到目標(biāo)、還能從源轉(zhuǎn)換回來,就可以認(rèn)為模型很好地學(xué)習(xí)到了兩個類別間的轉(zhuǎn)換關(guān)系,也更好地保證了轉(zhuǎn)換后的圖像的品質(zhì)。不過 Cycle GAN 的換臉效果并不怎么好,它畢竟是一個對所有類別的圖像通用的方法。
Face2Face
Face2Face 可以說是一次「標(biāo)準(zhǔn)的、規(guī)矩的」的嘗試,它借助 dlib 和 OpenCV,首先人臉檢測器檢測出源圖片中的人臉、找到人臉上的關(guān)鍵標(biāo)記點,然后再使用針對人臉的 pix2pix 轉(zhuǎn)換模型把關(guān)鍵標(biāo)記點轉(zhuǎn)換為目標(biāo)人臉圖像。也許是因為這個方法沒有給深度學(xué)習(xí)留下足夠的發(fā)揮空間,所以它的效果也一般般。
在此之后,英偉達(dá)和 UC 伯克利的研究人員們根據(jù) pix2pix 改進(jìn)出了 pix2pixHD,提升了人臉圖像的生成效果,而且也依然保持了原 pix2pix 模型的多類別通用能力。論文地址,開源地址。
DeepFakes
最火熱、最廣為流傳的深度學(xué)習(xí)換臉模型無疑是 DeepFakes。出現(xiàn)于 2017 年底的 DeepFakes 是一個深度自動編解碼器模型(Autoencoder-Decoder),通過用源人物和目標(biāo)人物的幾百張照片(越多越好)訓(xùn)練模型分別識別、還原兩人面部的能力。最后用源人物的照片搭配目標(biāo)人物的解碼器就可以完成轉(zhuǎn)換。它也對視頻到視頻的轉(zhuǎn)換有良好支持。
DeepFakes 的缺點在于,它無法在小樣本上工作,意味著無法憑一兩張照片替換任意兩個人的臉部;模型的訓(xùn)練過程也需要消耗大量資源。
DeepFakes 剛剛公開時也僅限于技術(shù)愛好者們之間交流,也并沒有發(fā)布正式的論文。但一些蓋爾·加朵的換臉動圖一下子引爆了關(guān)注。今年年初曾經(jīng)熱炒的「楊冪換臉朱茵」視頻也很可能是用這個方法實現(xiàn)的,因為 DeepFakes 中的編碼器經(jīng)過足夠的訓(xùn)練后確實能夠具有將任意輸入人臉(比如朱茵的人臉)轉(zhuǎn)換為高質(zhì)量、高逼真度的目標(biāo)人臉(楊冪人臉)的能力。
DeepFakes 的 GitHub 地址為 https://github.com/deepfakes/faceswap,如今它還在持續(xù)更新升級;后來推出了還名為 FakeApp 的桌面應(yīng)用程序,便于更多 TensorFlow 玩不轉(zhuǎn)的小白用戶嘗試。雷鋒網(wǎng)深度解析文章參見
一張照片轉(zhuǎn)換面部動作
DeepFakes 式的「把目標(biāo)圖像中的人臉換成另一張臉」可能未來也很難減小樣本數(shù)量要求和資源要求,所以也有另一種思路,那就是給定一張人臉圖像,然后根據(jù)給定的動作讓圖中的人「動起來」。三星莫斯科 AI 研究中心聯(lián)合斯科爾科沃科學(xué)技術(shù)研究所在今年 5 月發(fā)表的一篇論文就帶來了不錯的結(jié)果。不僅是真人的照片,他們甚至可以讓油畫中的人自然地開口說話。
以上提到的論文和博客 PDF 打包
本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請至雷鋒網(wǎng)官網(wǎng)申請授權(quán)。