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