最近《隱祕的角落》可謂火爆全網,劇中秦昊扮演的張東昇一角更是深入人心。如果盤點張東昇的名場面,肯定少不了這一幕:“想看看二十年後的自己嗎?

兩邊蜘蛛網,中間溜冰場,作爲一名數學老師,張東昇年級輕輕已經禿成這樣。雖然劇中是化妝特效,不過脫髮已經成爲年輕人的普遍焦慮,尤其是從事科研、程序員等高壓行業的年輕人,好像禿頂已成爲註定的宿命,有多少人曾想象過自己二十年後會禿成什麼樣?

在看完《隱祕的角落》後,B站Up主MarsLUL決定用代碼來實現自己的“夢想”。MarsLUL是谷歌的一名在職程序員,曾在加利福尼亞大學(UC Irvine)學習計算機相關專業。

在最近上傳的一則視頻中,他利用StyleGAN自制了一款禿頂生成器,可以從髮量濃密的現在分分鐘看到二十年後髮量稀疏的自己。先來看一下效果如何?

先來還原東昇哥禿頂的全過程,髮際線後移的速度着實讓人覺得恐怖。

從生成效果來看,除了面部有些區別外,最終髮型還是非常一致的。

再來看MarsLUL的,這畫面簡直無法接受。

網友們的評論更是扎心:彷彿看到了我的未來。

如果你也有脫髮焦慮,想看看二十年後的自己,不妨來如法炮製一下。接下來我們來詳細說說禿頂生成器是如何實現的。

基於StyleGAN的生成器原理

B站視頻中,MarsLUL沒有詳細呈現代碼的實現過程,但所用到的核心技術和詳細參考資料均已給出。這款禿頂生成器所用到的技術,如市面上普遍的圖片生成器一樣,都是英偉達開源的StyleGAN,StyleGAN在圖像合成的質量和分辨率方面具備出色的性能,通常我們看到的逼真的人臉交換都是基於它實現的。

基於StyleGAN技術,《Hairstyle Transfer-Semantic Editing GAN Latent Code》(鏈接見文末),這篇詳細講述瞭如何在保持人臉不變的情況下,改變髮型的全過程。

GAN的基本原理是通過對抗式訓練學習從潛在空間分佈到真實數據的非線性映射。通常情況下,潛在空間和語義屬性之間的關係是未知的。比如潛在代碼如何確定生成的髮型屬性?又如何區別目標屬性與非目標屬性?

因此,潛碼估計和語義編輯是解決潛在空間與語義屬性的未知關係的關鍵。在這裏,研究人員對兩個模塊的原理進行了詳細說明。

潛在代碼估計:

首先,將輸入圖像發送至預訓練的殘差網絡進行潛在代碼估計,然後將生成的估計值發送給生成器。此時已經完成了對原始輸入圖像的初步猜想。對於此圖像,我們可以將預訓練圖像分類器應用於特徵提取,同時,對輸入圖像進行相同的特徵提取。

接下來,在特徵空間中執行梯度下降,將特徵向量L2損失最小化並更新潛碼估計(紅色箭頭)。相比於在像素損失上採用梯度下降的方法,這種在語義特徵向量執行梯度下降更具有優勢,因爲直接在像素空間中使用L2優化會陷入不良的局部最優。

生成潛在代碼估計

帶邊界的語義編輯

所謂語義編輯是指在保留所有其他信息的同時編輯具有目標屬性的圖像,在這裏我們的目標屬性就是頭髮。

在編輯之前,我們需要在潛在空間中找到能夠分隔二進制屬性的特定邊界,其中每個邊界將對應一個頭發屬性。如髮型、顏色、髮際線高低、面部毛髮等;

對於任何二進制屬性,在潛在空間中都存在一個超平面,使來自同一側的所有樣本都具有相同的屬性,這樣便可以訓練負責每個屬性的獨立線性SVM。因此,我們需要從StyleGAN的512維潛在空間中找到一個超平面。

要查找超平面,需要配對的潛在代碼數據和該屬性的分數。最終研究人員決定使用在大型數據集(CelebA)上訓練過的預訓練分類器來獲取頭髮屬性。10個屬性匹配的10個分類器大約生成了20k個潛在代碼和分數組。這些配對的潛在代碼在頭髮屬性上訓練了獨立的線性SVM,通過驗證評估,其準確度達到了80%。

對於每個輸入圖像,首先在StyleGAN潛在空間中找到它的特定位置,然後沿着特定方向移動,並進行語義編輯。

如上圖,研究人員在StyleGAN空間中發現了年輕萊昂納多·迪卡普里奧(Leonardo DiCaprio)圖像的潛碼,畫出了一個與劉海超平面正交的方向,並沿該方向移動了潛碼的位置。最終創建了不同劉海狀態的萊昂納多。以下是最終的動態效果圖:

關於條件邊界,研究人員談到許多屬性是相互耦合。比如髮際線的高低與年齡有關,髮型較長的通常爲女性,男性的鬍子和鬢角更爲明顯等。因此,將目標屬性與其相關屬性分開至關重要。

正是出於這一點,這種通過尋找超平面邊界來編輯人臉屬性的方法也存在一些不足。當使用一個屬性編輯面孔時,一些其他屬性也可能由於它們的相關性而被更改。另外,該模型也無法完成跨性別的人臉交換。研究人員稱或許更多的分類器和使用特殊的數據集訓練可以解決以上問題。

最後,MarsLUL坦言自己製作這款禿頂生成器,目的是警醒大家合理作息防脫髮!小編奉上完整視頻鏈接,希望大家都能成爲髮量濃密的程序猿。 (雷鋒網雷鋒網雷鋒網 (公衆號:雷鋒網)

bilibili地址: https://www.bilibili.com/video/BV1ot4y197MG?from=search&seid=6465326088364452402

https://medium.com/swlh/hairstyle-transfer-semantic-editing-gan-latent-code-b3a6ccf91e82

雷鋒網原創文章,未經授權禁止轉載。詳情見 轉載須知

相關文章