AI視覺字謎爆火!夢露轉180°秒變愛因斯坦,英偉達高級AI科學家:近期最酷的擴散模型
AI畫的瑪麗蓮·夢露,倒轉180°后,竟然變成了愛因斯坦?!
這是最近在社交媒體上爆火的擴散模型視錯覺畫,隨便給AI兩組不同的提示詞,它都能給你畫出來!
哪怕是截然不同的對象也可以,例如一位男子,經(jīng)過反色處理,就神奇地轉變成一名女子:
就連單詞也能被翻轉出新效果,happy和holiday只在一旋轉間:
原來,這是來自密歇根大學的一項“視覺字謎”新研究,論文一發(fā)出就在Hacker News上爆火,熱度飆至近800。
英偉達高級AI科學家Jim Fan贊嘆稱:
這是我近期見到最酷的擴散模型!
還有網(wǎng)友感嘆稱:
這讓我想到了從事分形壓縮工作的那段經(jīng)歷。我一直認為它是純粹的藝術。
要知道,創(chuàng)作一幅經(jīng)過旋轉、反色或變形后呈現(xiàn)出新主題的繪畫作品,怎么也需要畫家對色彩、形狀、空間具備一定的理解能力。
如今連AI也能畫出這樣的效果,究竟是如何實現(xiàn)的?實際效果是否有這么好?
我們上手試玩了一番,也探究了一下背后的原理。
Colab就能直接試玩
我們用這個模型繪制了一組Lowpoly風格的畫,讓它正著看是一座山,反過來則是城市的天際線。
同時,我們讓ChatGPT(DALL·E-3)也試著畫了一下,結果除了清晰度高一些之外似乎就沒什么優(yōu)勢了。
而作者自己展示的效果則更加豐富,也更為精彩。
一座雪后的山峰,旋轉90度就變成了一匹馬;一張餐桌換個角度就成了瀑布……
最精彩的還要屬下面這張圖——從上下左右四個角度看,每個方向的內容都不一樣。
(這里先考驗一下各位讀者,你能看出這四種動物分別是什么嗎?)
以兔子為初始狀態(tài),每逆時針旋轉90度,看到的依次是鳥、長頸鹿和泰迪熊。
而下面這兩張圖雖然沒做到四個方向每個都有“新內容”,但還是做出了三個不同的方向。
除了旋轉,它還可以把圖像切割成拼圖,然后重組成新的內容,甚至是直接分解到像素級。
風格也是千變萬化,水彩、油畫、水墨、線稿……應有盡有。
那么這個模型去哪里能玩呢?
為了能讓更多網(wǎng)友體驗到這個新玩具,作者準備了一份Colab筆記。
不過免費版Colab的T4不太能帶動,V100偶爾也會顯存超限,要用A100才能穩(wěn)定運行。
甚至作者自己也說,如果誰發(fā)現(xiàn)免費版能帶動了,請馬上告訴他。
言歸正傳,第一行代碼運行后會讓我們填寫Hugging Face的令牌,并給出了獲取地址。
同時還需要到DeepFloyd的項目頁面中同意一個用戶協(xié)議,才能繼續(xù)后面的步驟。
準備工作完成后,依次運行這三個部分的代碼完成環(huán)境部署。
需要注意的是,作者目前還沒有給模型設計圖形界面,效果的選擇和提示詞的修改需要我們手動調整代碼。
作者在筆記中放了三種效果,想用哪個就取消注釋(去掉那一行前面的井號),并把不用的刪除或注釋掉(加上井號)。
這里列出的三種效果不是全部,如果想用其他效果可以手動替換代碼,具體支持的效果有這些:
修改好后要運行這行代碼,然后提示詞也是如法炮制:
修改好并運行后,就可以進入生成環(huán)節(jié)了,這里也可以對推理步數(shù)和指導強度進行修改。
需要注意的是,這里一定要先運行image_64函數(shù)生成小圖,然后再用后面的image變成大圖,否則會報錯。
做個總結的話,我們體驗后的一個感覺是,這個模型對提示詞的要求還是比較高的。
作者也意識到了這一點,并給出了一些提示詞技巧:
△機翻,僅供參考
那么,研究團隊是如何實現(xiàn)這些效果的呢?
“糅合”多視角圖像噪聲
首先來看看作者生成視錯覺圖像的關鍵原理。
為了讓圖像在不同視角下,能根據(jù)不同的提示詞呈現(xiàn)出不同的畫面效果,作者特意采用了“噪聲平均”的方法,來進一步將兩個視角的圖像糅合在一起。
簡單來說,擴散模型(DDPM)的核心,是通過訓練模型將圖像“打碎重組”,基于“噪點圖”來生成新圖像:
所以,要想讓圖像在變換前后,能根據(jù)不同提示詞生成不同圖像,就需要對擴散模型的去噪過程進行改動。
簡單來說,就是對原始圖像和變換后的圖像,同時用擴散模型進行“打碎”處理做成“噪點圖”,并在這個過程中將處理后的結果取平均,計算出一個新的“噪點圖”。
隨后,基于這個新的“噪點圖”生成的圖像,就能在經(jīng)過變換后呈現(xiàn)出想要的視覺效果。
當然,這個變換的圖像處理過程,必須要是正交變換,也就是我們在展示效果中看到的旋轉、變形、打碎重組或反色等操作。
具體到擴散模型的選擇上,也有要求。
具體來說,這篇論文采用了DeepFloyd IF來實現(xiàn)視錯覺圖像生成。
DeepFloyd IF是一個基于像素的擴散模型,相比其他擴散模型,它能直接在像素空間(而非潛在空間或其他中間表示)上進行操作。
這也讓它能更好地處理圖像的局部信息,尤其在生成低分辨率圖像上有所幫助。
這樣一來,就能讓圖像最終呈現(xiàn)出視錯覺效果。
為了評估這種方法的效果,作者們基于GPT-3.5自己編寫了一個50個圖像變換對的數(shù)據(jù)集。
具體來說,他們讓GPT-3.5隨機生成一種圖像風格(例如油畫風、街頭藝術風),然后再隨機生成兩組提示詞(一個老人、一個雪山),并交給模型生成變換畫。
這是一些隨機變換生成的結果:
隨后,他們也拿CIFAR-10進行了一下不同模型間圖像生成的測試:
隨后用CLIP評估了一下,結果顯示變換后的效果和變換之前的質量一樣好:
作者們也測試了一下,這個AI能經(jīng)得起多少個圖像塊的“打碎重組”。
事實證明,從8×8到64×64,打碎重組的圖像效果看起來都不錯:
對于這一系列圖像變換,有網(wǎng)友感嘆“印象深刻”,尤其是男人轉變成女人的那個圖像變換:
我看了大概有10遍左右。
還有網(wǎng)友已經(jīng)想把它做成藝術作品掛在墻上了,或是使用電子墨水屏:
但也有專業(yè)的攝影師認為,現(xiàn)階段AI生成的這些圖像仍然不行:
仔細觀察的話,會發(fā)現(xiàn)細節(jié)經(jīng)不起推敲。敏銳的眼睛總是能分辨出糟糕的地方,但大眾并不在意這些。
那么,你覺得AI生成的這一系列視錯覺圖像效果如何?還能用在哪些地方?