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