科普信息網

B站Up主自制禿頭生成器 張東升同款發型你想擁有嗎?

發布時間:2020-07-06 16:48:59 來源:雷鋒網 責任編輯:caobo

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

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

在看完《隱秘的角落》后,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坦言自己制作這款禿頂生成器,目的是警醒大家合理作息防脫發!小編奉上完整視頻鏈接,希望大家都能成為發量濃密的程序猿。

標簽: B站 自制禿頭生成器

上一篇:Moto Razr 5G新機或于2020年底前上市 支持雙 SIM 卡
下一篇:AI 快門!小米正在為 MIUI 12 中相機開發AI快門功能

新聞排行