當前位置:
首頁 > 科技 > 想怎麼GAN就怎麼GAN,一鍵拯救髮際線

想怎麼GAN就怎麼GAN,一鍵拯救髮際線

郭一璞 劈圖栗 乾明 發自 亞龍灣

量子位 報道 | 公眾號 QbitAI

GAN可GAN,非常GAN。

生成對抗網路(GAN)除了生成各種各樣的人臉,現在還能對人臉進行各種各樣的精確「整容」。

比如,把頭頂光亮的大叔P出青蔥的髮際線;把陽剛的肌肉男P成小鮮肉,再P成可愛的女孩子;讓金髮女郎變成黑長直。

不久後,你還能用GAN一鍵調整自己的髮際線,從此省下植髮錢,免費讓你的頭髮像Jackie Chan一樣烏黑油亮,duang duang duang~

堪稱整·容·神·器

禿禿禿魔法

首先,我們先來學習一下脫髮的「原理」

你知道如何一鍵脫髮么?

請使用咒語:禿,禿,禿。

一隻充滿惡意的按鈕

奮力點擊Bald+按鈕:

俊朗的面容,頓時變得矍鑠而慈祥。

不只髮際線被強行逼退,原本的褐色頭髮也成了花白。除此之外,法令紋與其他皺紋都清晰了起來。

當然,想要植髮的話,只要反過來用Bald-就可以了。

順便告訴你一個秘密,這個按鈕「歧視」男性:男生照片隨便點幾下就禿了,女生點幾下就可能變成男生,然後才會禿。

或許是因為數據集源於自然。

那麼,再來試試其他按鈕。

(Niang)(Hua) ,大概是非常受歡迎的功能。

錯誤示範:史蒂夫·喬布子,比本體的頭髮茂盛一些

不想看男生的時候,就點擊Male-把他變成妹子。

真是造福人類的功能。

友情提示,除了Male按鈕之外,Pointy Nose(尖鼻) 也可以把男生變成女生。

莫非,鼻子尖了會變娘?一定是數據集的錯。

尖鼻技能

就算只是想刮刮鬍子,連擊Beard-,也能順勢變成妹子。

一定是數據集的錯x2。

來來來,一起刮鬍子

全部21個按鈕裡面,能做變性的還有許多。有興趣的小夥伴自己去試一試嘛。

娘化雖好,可不要貪杯哦。畢竟,這也不是唯一的功能。

大鼻子」 (Big Nose) 可能是怨念的象徵。畢竟,連續點擊加號之後,鼻子似乎沒有變大,五官倒是擠在一起,好像吃了芥末。

其他按鈕,大家有空就自行探索吧,傳送門在文底。

目前,Demo還不支持上傳人臉,只能用它提供的隨機人臉。

不過,作者說下一步就會增加上傳功能了,有大膽想法的同學,可以預備備了。

前途似錦的GAN

這個神奇的GAN一放出來,一眾網友就雞凍了。

?(?>

樓主好人,求樓主做個.exe格式的應用程序出來

看來下一個被AI搞失業的職業是模特了

不少人紛紛開始暢想它商業化之後的用處:

可以用來定製女朋友,靠這個軟體生成好看的臉,投射到機器人或者VR上……

希望可以把我的臉傳上去,修改成最喜歡的效果,然後拿去給整容醫生照著這個整

警察叔叔找犯罪嫌疑人的時候這個應該會很有用

如果以後可以根據目標受眾喜好生成各種「千人千面」的帥哥美女,用來打廣告……真可怕

背後的原理

有這種「神奇魔力」的GAN,名字叫做TL-GAN,TL代表的是Transparent Latent-space,意思是將潛在空間(Latent-space)透明化(Transparent)。

總體來說,這個項目提供了一種新的方法,可以來控制像GAN (生成對抗性網路)這樣的無監督生成模型的生成過程。

首先,使用一個已經訓練好的GAN生成器,在這個模型中,使用的是英偉達的pg-GAN。然後,挖掘其中有意義的特徵軸,將圖像變化的過程變得透明化,從而使我們能夠控制圖像合成和編輯的過程。

整個模型的構建,主要分成三個步驟:


第一,將圖像背後的潛在空間透明化。

作者在模型上使用的是英偉達的的pg-GAN(progressively-growing GAN),其生成的1024px × 1024px圖像的特徵由潛在空間中的512維雜訊矢量(一種圖像內容的低維表示)來確定。如果能夠理解這些都代表著什麼,就能完全控制生成過程。

為什麼要用pg-GAN呢?作者說,它有兩個優點:

一是,它生成的圖像很多,這意味著空間中的大部分點會生成合理的圖像。二是,它是強連續的,這意味著潛在空間中兩點之間的插值一般會讓相應圖像的平滑過渡。

這讓他可以在潛在空間中尋找方向,如果能夠找到,就可以使用這些方向的單位矢量作為特徵軸來控制圖像生成過程。


第二,尋找特徵軸。

為了找到這些特徵軸,作者通過基於配對數據(z,y)的監督學習方法進行訓練,在潛在向量 z 和特徵標籤 y 之間建立了一個連接。

於是問題來了:如何獲得這樣的配對數據?現有的數據集只包含圖像 x 及其相應的特徵標籤 y。

作者表示,為解決這個問題,TL-GAN模型的關鍵創新是,使用現有的標記圖像數據集( x_real,y_real ),來訓練一個獨立的特徵提取器模型y=F(x),然後將訓練好的GAN生成器G與特徵提取器網路F耦合。

在這個過程中,作者在CelebA 數據集上訓練了一個簡單的卷積神經網路(其中包含了3萬多張面部照片,每張有40個標籤)。

這樣,就可以使用訓練好的特徵提取器網路來預測合成圖像x_gen的特徵標記y_pred,從而通過合成圖像建立z和y之間的聯繫,如x_gen=G(z)和 y_pred=F(x_gen)。

第三,訓練模型。

既然有了成對的潛在向量和特徵,就可以訓練回歸模型y=A(z)來揭示特徵軸控制圖像生成的過程了。

TL-GAN 模型的架構

在進行測試的過程中,雖然效果很好,但出現了一個非常讓人頭疼的問題:特徵軸糾纏(entangled feature axes)。即不同的特徵軸之間會相互影響,例如當你打算減少鬍鬚特徵的時候,圖像就會變得越來越像女性,或者調整Pointy Nose(尖鼻), 也會把男生變成女生。

為了解決這個問題,作者表示自己使用了線性代數技巧:將鬍鬚軸映射到一個垂直於性別軸的新方向,這可以有效消除它們的相關性。

使用線性代數技巧分離相關特徵軸

不過,如上所述,量子位在測試的時候發現,還是會出現類似的問題。Hacker News上也有網友在吐槽這一點:

啊!為什麼改變膚色的時候,嘴唇會變薄、頭髮會變禿,人會變成男的啊,真是AI魔術

有網友猜測是訓練模型的數據集太小的原因:

因為是用真實的明星照片訓練的吧,畢竟明星普遍都比較好看。可能樣本里只有白人,沒有其他膚色的人,所以生成的效果也就跟著訓練用的數據集跑了~

以上,就是模型大致的原理了。

作者認為,這個模型有兩個突出的優點:

1、效率高:想要為生成器添加新的功能調諧器的時候,不需要重新訓練GAN模型,使用這個方法,只需要花1個小時,就能夠添加40個功能調諧器。

2、靈活性:你可以使用任何數據集上訓練的任何特徵提取器,來向訓練好的GAN中添加更多的特徵調諧器。

作者介紹

這個TL-GAN的作者關少波(Shaobo Guan),是一位集生物學和計算機兩大專業技能於一體的博士小哥哥,本科畢業於上海交通大學生物技術專業,之後在中科院做了三年研究助理,然後去布朗大學讀了系統/計算神經學的博士。

厲害的是,讀博第三年開始,他還順便在布朗大學讀了一個計算機碩士,從此踏入AI圈。

今年夏天碩士和博士都畢業後,關少波開始在YC和SV Angel投資的Insight Data Science項目擔任AI Fellow,TL-GAN就是他在該項目的第一個作品。

小哥哥還很自豪的在自己的LinkedIn上寫:

我的TL-GAN,全Hacker News熱度第二呦~

傳送門

如果你對這個模型有興趣,下面有一些傳送門,能夠送你到你想去的地方~

GitHub地址:

https://github.com/SummitKwan/transparent_latent_gan

Demo地址:

https://www.kaggle.com/summitkwan/tl-gan-demo

(友情提示:玩Demo的時候,要有耐心哦~)

模型博客文章地址:

https://blog.insightdatascience.com/generating-custom-photo-realistic-faces-using-ai-d170b1b59255

模型的PPT地址:

https://docs.google.com/presentation/d/1OpcYLBVpUF1L-wwPHu_CyKjXqXD0oRwBoGP2peSCrSA/edit#slide=id.p1

年度評選申請

加入社群

量子位AI社群開始招募啦,歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字「交流群」,獲取入群方式;

此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。

進專業群請在量子位公眾號(QbitAI)對話界面回復關鍵字「專業群」,獲取入群方式。(專業群審核較嚴,敬請諒解)

活動策劃招聘

量子位正在招聘活動策劃,將負責不同領域維度的線上線下相關活動策劃、執行。歡迎聰明靠譜的小夥伴加入,並希望你能有一些活動策劃或運營的相關經驗。相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 量子位 的精彩文章:

南開大學開源新圖像分割演算法,刷新精度記錄
清華大學登頂亞洲第一:2019泰晤士高等教育世界大學排名發布

TAG:量子位 |