每日最新頭條.有趣資訊

StyleGAN玩出高度!生成999幅抽象畫,人人都是畢加索

新智元原創

來源:reddit

編輯:金磊、大明

【新智元導讀】NVIDIA推出的StyleGAN在前不久大火了一把。今日,Reddit一位網友便利用StyleGAN耗時5天創作出了999幅抽象派畫作!不僅如此,他還將創作過程無私的分享給了大家,引來眾網友的一致好評。

人人都能當抽象派畫作大師了!

去年,佳士得拍賣會上拍賣了一副由AI創作的肖像畫——《愛德蒙·貝拉米的肖像》,該畫最終售價43.25萬美元(301萬元人民幣),遠遠超過了7000到1萬美元的預計售價,同時也引發了人們對人工智能作畫的熱烈探討。

今天,Reddit上一位網友利用StyleGAN訓練生成了999幅抽象派畫作!

這項工作使得其他網友們羨慕不已:

那麽,這999幅AI生成的畫作中,是否又會出現天價作品呢?值得拭目以待。

利用StyleGAN訓練生成抽象派畫作

這位名為“_COD32_”的網友在Reddit上毫無保留的分享了這項工作的創作過程。

Reddit地址:

https://www.reddit.com/r/MachineLearning/comments/bagnq6/p_stylegan_trained_on_paintings_512x512/

在模型方面,採用的依舊是去年NVIDIA爆款StyleGAN,這是一種新的生成器架構,基於風格遷移,將面部細節分離出來,由模型進行單獨調整,從而大幅度超越傳統GAN等模型。

NVIDIAStyleGAN GitHub官方地址:

https://github.com/NVlabs/stylegan

在數據方面,採用的是Kaggle上名為”Painter by Numbers“項目中的數據集,其中大部分的圖像數據來源於WikiArt.org網站。

Kaggle地址:

https://www.kaggle.com/c/painter-by-numbers/data

其中,隻採用了≥1024X2014的圖像。在GTX 1080 TI上的訓練時間大約是5天。

不過作者表示,該模型試圖生成人臉的部分並不是很完美,但其它部分還算可以

例如下面兩個隨機向量之間的快速隱空間差值(latent space interpolation):

同時,作者也給出了訓練好的模型和Jupyter Notebook地址:

https://mega.nz/#!PsIQAYyD!g1No7FDZngIsYjavOvwxRG2Myyw1n5_U9CCpsWzQpIo

https://colab.research.google.com/drive/1cFKK0CBnev2BF8z9BOHxePk7E-f7TtUi

NVIDIA“造假”黑科技:StyleGAN簡介

StyleGAN是NVIDIA提出的一種用於生成對抗網絡的替代生成器體系結構,該結構借鑒了樣式遷移學習的成果。新結構能夠實現自動學習,以及無監督的高級屬性分離(比如在使用人臉圖像訓練時區分姿勢和身份屬性)和生成的圖像(如雀斑,頭髮)的隨機變化,並能在圖像合成和控制上實現直觀化和規模化。

新模型在傳統的分布質量指標方面實現了提升,並且更好地解決了潛在的變量因素。為了對插值質量和分解進行量化,本模型提出了兩種適用於任何生成架構的自動化新方法。以及一個新的、高度多樣化、高質量的人臉數據集。

NVIDIA研究人員在論文中寫道,他們提出的新架構可以完成自動學習,無監督地分離高級屬性(例如在人臉上訓練時的姿勢和身份)以及生成圖像中的隨機變化,並且可以對合成進行更直觀且特定於比例的控制。

換句話說,這種新的GAN在生成和混合圖像,特別是人臉圖像時,可以更好地感知圖像之間有意義的變化,並且在各種尺度上針對這些變化做出引導

例如,研究人員使用的舊系統可能產生兩個“不同”的面部,這兩個面部其實大致相同,只是一個人的耳朵被抹去了,兩人的襯衫是不同的顏色。而這些並不是真正的面部特異性特徵,不過系統並不知道這些是無需重點關注的變化,而當成了兩個人來處理。

在上面的動圖中,其實面部已經完全變了,但“源”和“樣式”的明顯標記顯然都得到了保留,例如最底下一排圖片的藍色襯衫。為什麽會這樣?請注意,所有這些都是完全可變的,這裡說的變量不僅僅是A + B = C,而且A和B的所有方面都可以存在/不存在,具體取決於設置的調整方式。

下面這些由計算機生成的圖像都不是真人。但如果我告訴你這些圖像是真人的照片,你可能也不會懷疑

效果如此出眾的StyleGAN一經開源就成了“網紅”,由該模型生成的假臉幾乎完全可以亂真,即使是放大了仔細看,大多數情況下依然難以分清,其難度堪比“大家來找茬”。

為此,有人甚至專門寫了一篇指南,專門指點那些有興趣“鑒臉”的人,該文總結出了StyleGAN生成假臉的幾處常見的破綻。不過,這些破綻大部分是在圖片背景、配飾、衣物等附加元素上找到的,面部本身的破綻雖然也有,但顯著性和易見性都要下降一個檔次。

被玩壞的StyleGAN:從“假人臉”到“假房子”,生成世間萬物

StyleGAN生成假臉圖像的逼真程度令人驚豔,但這麽厲害的模型只能用來生成假人臉嗎?顯然不是。很快,越來越多的吃瓜群眾發現了StyleGAN的更多潛力。比如生成假的出租房。

前不久,就有好事者利用StyleGAN生成了一個假的Airbnb租房網站,上面從房源圖片、地址、再到租客的評論和打分沒有一個是真實的,全是StyleGAN的傑作。

假房生成網站 thisairbnbdoesnotexist.com,每次刷新都會出現一個虛假的房源,網頁上的照片、文字描述、發布人頭像均由計算機自動生成。由於使用的模型非常簡單,文字描述多有不合邏輯之處,但乍看上去還是能以假亂真。來源:假房生成網站 thisairbnbdoesnotexist.com

根據Christopher Schmidt在Twitter的介紹,生成每個網頁用一塊GPU只需0.5秒,相關代碼開源,你可以在這裡找到:

https://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/shakespeare_with_tpu_and_keras.ipynb

這個“假房源”網站是怎麽做的?

網站上的圖像當然由著名的圖像生成模型StyleGAN生成,文本則來自在一個AirBNB列表(文末鏈接[1])上訓練的語言模型,主要基於Tensorflow的“Predict Shakespeare with Cloud TPU”(https://t.co/sJoUbwZ2UL)。

這個文本生成模型似乎是個兩層的前饋LSTM(文末鏈接[2]),主要是用它來獨立訓練生成房屋列表中的標題、描述、房主姓名、地理位置等,然後組合生成綜合列表。

每個模型的輸出都是預先生成的,每5秒創建一個新的列表(網頁)。唯一的修改是根據文本稍微調整序列大小。

下面是Christopher Schmidt在Twitter上對這個“假房子”網站的簡要介紹,包括靈感來源、大致結構、構建頁面使用的框架和訓練方式等。

本頁面在開發時主要使用以下幾種模型:在構建圖片和臥室照片時使用StyleGAN,一些文本網絡的訓練使用了tf.keras來生成地點名稱、房主姓名、標題和描述。此外還使用了Tensorflow的實例代碼

所有的數據訓練過程都在谷歌的Colab上完成,該平台上可以免費使用GPU和TPU來訓練和生成數據。

每個模型都可以做出獨立的預測,所以會經常出現各部分信息不相配的情況,比如描述信息中說某套房子有一間臥室,但列表信息中顯示有四件臥室,或者外觀和名字排列不齊等。

但總的來看,這個過程是比較理想的,我在這個學習過程中也獲得了不少樂趣,進一步掌握了一些模型的使用技巧。這裡要感謝Colab平台,更感謝StyleGAN社群的出色研究成果。

有了這個思路,應用方向什麽的就不用愁了,基於StyleGAN模型的假簡歷、假食物、假貓咪等等如雨後春筍一樣不斷湧現。甚至有人把這些“造假成果”匯總到了一個網站,叫“這些東西都不存在”。

這樣看來,StyleGAN已經火到了幾乎要被“玩壞”的程度。未來再出現什麽樣的假貨,可能已經不取決於模型本身,而是程序員們的腦洞了。

介紹了這麽多,大家是不是也想玩一玩StyleGAN呢?打開下方鏈接,快去嘗鮮吧!

參考鏈接:

https://www.reddit.com/r/MachineLearning/comments/bagnq6/p_stylegan_trained_on_paintings_512x512/

https://github.com/NVlabs/stylegan

獲得更多的PTT最新消息
按讚加入粉絲團