1. 程式人生 > 資訊 >AI 用 50 個三角形畫出抽象版蒙娜麗莎,有股後現代的感覺了

AI 用 50 個三角形畫出抽象版蒙娜麗莎,有股後現代的感覺了

9 月 23 日訊息現在,給 AI 一個短語和 50 個三角形,它就能創作一副極簡風格的抽象畫了。

只需輸入“a drawing of cat(一張貓的畫像)”,一隻稜角分明、散發著冷酷氣息的抽象貓就生成了。

不只是這種泛泛的概念,給出特定詞彙,這個 AI 也能指定作畫。

比如輸入“Walt Disney World(迪士尼樂園)”,50 個三角形立刻重新排布,一個風格完全不同的抽象版迪士尼城堡就出現在了眼前。

可以說是完完全全抓住了迪士尼城堡的精髓。

以上這些“大作”,其實都是進化策略(ES)和 CLIP 結合後生成的效果,由谷歌大腦團隊出品

他們讓兩個 AI 相互配合,根據文字提示及具體影象,用一堆三角形創作出了一幅幅極具特色的抽象畫。

抽象後的谷歌大樓,大概長這樣:

不能說毫無關係,只能說一模一樣啊。

這回,真的有點後現代藝術的 feel 了。

只用三角形創作的抽象畫

從生成的效果可以看到,ES 演算法 + CLIP 其實就是把一堆隨機的三角形重新排布,通過調整它們的大小、位置、顏色,逐漸將其構建成一個與給出詞彙所吻合的影象。

具體來看,在最初始時,ES 演算法會以三角形的座標、RGBA 值作為引數,在畫布上隨機給出一些三角形。

進化策略(ES)演算法的原理則像進化論一樣,它可以根據給出的資訊不斷優化,直到得到一個最優解。

CLIP 則是 OpenAI 開發的一個負責給影象重排序的模型。

它會對 ES 演算法給出的三角形影象與文字描述的相似度進行打分,然後將結果反饋給 ES 演算法,ES 演算法就會為了提升分數而不斷迭代,最後得到一副藝術畫。

除了給出文字指令外,直接給一張圖作為初始資訊,只用 ES 演算法也能進行作畫。

這不,用 50 個三角形、迭代 10000 次後,後現代抽象版蒙娜麗莎誕生了。

如果增加更多的三角形,演算法給出的效果也會更好。

在下面的對比中,當三角形數量達到 200 時,生成的影象立刻增加了億點點細節。

其中達爾文和蒙娜麗莎的例子,fitness 幾近達到了 100%

此外,為了實現更好的效果,研究人員還採用了 ClipUp 優化器。

從對比中可以看到,使用優化器後迭代 1 萬次後的效果比基本演算法迭代 56 萬次後的還要好。

同時,與基於梯度的渲染方法對比,ES 演算法的表現也可圈可點。

渲染方法會更側重於紋理和顏色上的細化,而 ES 演算法會更加側重於如何佈局這些三角形。

那麼給出文字指令生成的效果如何呢?

在“Self”、“Human”、“Walt Disney World(迪士尼樂園)”幾個案例中,演算法的表現依舊很優秀。

在體現關鍵字主題精髓的情況下,隨著構圖三角形數量的增多,演算法給出的結果細節也就更為豐富

但是在“picture of Tokyo”這個例子中,它的表現就不那麼好了。

研究人員認為這是由於演算法在生成陰影較深的三角形上還存在困難,所以造成了這一結果。

而且面對命題作業,演算法也會盡可能給出不同的答案

在這幾個案例的重複 4 次測試中,我們可以看到生成的影象都存在明顯的區別。

Demo 可試玩

其實這並不是 CLIP 第一次“指揮”別的 AI 作畫了。

此前與 GAN 配合,就讓影象變成了 CG 藝術風。

事實上,這一次的抽象畫效果,你也可以體驗。

團隊已經將程式碼開源,在 Colab 上也能進行試玩(連結已附在文末)。

這是有網友上傳的生成影象,效果真的還不錯,你能猜出來這是誰嗎?

論文連結:點選開啟

GitHub 開源地址:點選訪問

試玩連結:點選開啟

—完—