打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

四月初,我看到 CG 大佬 @瘋景CrazyJN 展示了一組科幻插畫,它們構圖巧妙,畫面精美,乍一看像某位概念設計大師的作品。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

有意思的是,這些都是 AI 畫出來的。他用的工具是 Disco Diffusion,一個僅靠文字就能生成畫作的 AI。

我帶著疑問和期待,直奔電腦,隨手搜了一個快速入門教程。簡單來說,

我只要開啟瀏覽器,在網頁上寫好描述目標畫作的關鍵詞,然後就等著雲端算力(對計算機硬體無要求)幫我渲染、生成,接著就能收圖了。而這些圖,往往還都是傑作。

對著教程,我開始想描述語句。我想象力有限,那時只能想到梵高的《星空》《向日葵》這兩幅名畫,“如果它們融合成一幅畫,會是什麼樣?”於是,我在描述框裡輸入:星空下的向日葵花海。

之後,渲染框一幀一幀地變清晰,畫面一幀一幀地逐漸“離譜”。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

成品並非是《星空》和《向日葵》的生硬拼接:巨大的向日葵就開在山後,背後是萬星璀璨的星空。

我意識到:一個新的時代已經悄然而至。

誇張點說,這個工具出現後,人們“用嘴就能畫畫”。

我忙著在設計師圈裡奔走相告,而 Disco Diffusion 這位 AI 畫師又勤勤懇懇地給我畫了好幾張圖。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

我很感動,於是一口氣又讓它幫我畫了大半個月……

我幾乎每天都在測試描述詞、調教機器人,踩了很多坑,翻了不少車,現在想以新手視角寫一篇入門教程。放心,即使你沒有程式碼基礎也能看懂。

準備篇

沒什麼好準備的,有瀏覽器就行

Disco Diffusion 是一個直接執行在谷歌雲端電腦(Google Colab)的程式,所以

對你的電腦配置沒有任何要求,有瀏覽器就能執行。

對了,前提是你已經有一個谷歌賬號。

接下來,複製https://colab。research。google。com/github/alembics/disco-diffusion/blob/main/Disco_Diffusion。ipynb到瀏覽器,開始 AI 繪畫之旅。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

先別慌,我一開始也差點被這滿屏的英文和程式碼勸退,但咬牙刷了幾個入門教程後我就膨脹了:原來設定引數也就幾分鐘的事兒。

下面,我繼續教你,手把手,保姆級。

入門篇

不騙你,五分鐘就能上路

第一步:儲存一份副本

由於原程式是公開給所有人使用的,沒有開放編輯許可權,因此需要先儲存一份副本到你的谷歌硬碟,操作如下:

檔案 在雲端硬碟中儲存一份副本

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

第二步:設定引數

初次使用的話,建議大部分引數保持預設,你可以等操作熟練了再繼續摸索。到這裡,你先修改下面六個引數。

首先,直接滑到

【3. Settings】

,修改這三個基礎引數:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

batch_name

:資料夾的名稱,所有生成結果都在這資料夾裡。

steps

:迭代步數,一般情況下數值越大越精細,但耗時也越長,初次使用建議保持在 250,熟練之後再考慮 500,甚至 800。

width_height

:圖片的尺寸,數值必須是 64 的倍數。初次使用非常不建議設定大尺寸,不僅更耗時,還會因為記憶體不足,導致出錯。我目前用得最多的尺寸是 [1024, 512]。

然後,到

【Extra Settings】

修改這個引數:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

intermediate_saves

:儲存次數,這決定生成多少張過程圖,我一般設定為 5。

最後,到

【4. Diffuse!】

裡修改這兩個引數:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

display rate

:重新整理頻率,用來預覽生成結果。我一般設定 25,每 25 幀重新整理一次進度。

n_batches

:這個數值決定了 AI 最終出多少張圖,由於我經常用來發微博九宮格,這裡設定了 9。你也可以設定大一點的數字,讓 AI 通宵加班。

至此,六個基本引數設定完畢。接下來,就是最重要的描述詞環節了。

第三步:撰寫描述詞

描述詞(Prompts)寫對了,Disco Diffusion 才能輸出越接近你預期的畫作。所以,

撰寫描述詞這一步非常關鍵。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

如果你是初次使用,我建議你先在官方示例描述詞的基礎上修改,先彆著急照抄網上現成的描述詞。

舉個例子,官方示例描述詞是“A beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of bloodby greg rutkowskiand Thomas kinkade,Trending on artstation。”, “yellow color scheme”

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

官方示例描述詞生成圖丨Disco Diffusion

簡單分析一下,你會發現這段在描述一個燈塔的畫面時,還附加了很多特殊的關鍵詞:

藝術家的名稱

:by greg rutkowski and Thomas kinkade

畫風

:Trending on artstation (知名藝術社群 Artstation 上的流行畫風)

顏色主題

:yellow color scheme

這些關鍵詞都會直接影響生成結果的畫風。於是,我有樣學樣地修改了一些字眼:把“燈塔”替換成“星夜”,把“動盪的血海”改成“向日葵花海”,藝術家替換成“James Gurney”。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“A beautiful painting of a

starry night

, shining its light across a

sunflower sea

by

James Gurney

, Trending on artstation。”

開篇提到的向日葵花海,就是由這段描述詞生成。

關於描述詞的更多注意事項,我會在後面的進階篇細講,這裡先把流程跑通再說。

第四步:點選執行

你已經完成了所有配置,直接執行吧!依次點選:

程式碼執行程式 全部執行

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

在程式執行過程中,會詢問你是否允許訪問谷歌硬碟,點選

【連線】

。然後,就等著收圖吧!

最終生成結果以及過程圖,都會存放在谷歌硬碟的

【images_out】

資料夾裡:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

以上,就是使用 Disco Diffusion 的整個流程。

進階篇

如何寫好描述詞

為了讓 AI 能聽懂我的話,過去的大半個月我都在跟 Disco Diffusion“吵架”,積累了不少經驗,下面分享 8 個小竅門:

1. 英文不好沒關係,機翻可能更對機器人的口味。

2. 不建議生成生物,尤其是人類。

同理,也不建議加入常畫人物的藝術家為關鍵詞。否則你會得到一堆扭曲的肉,為了保住大家的“san 值”,我就不放圖了。

3. 酌情加入 Unreal Engine, C4D, 3dMax, Maya, V-Ray 等關鍵詞

,它們都可以讓 AI 模仿主流 3D 引擎的渲染效果。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

以這個異形場景為例,加入“Unreal Engine“前,畫面有點平,像作者的手稿

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

加入“Unreal Engine“後

,我能清楚地感受到輝光、景深以及金屬光澤,這讓畫面更有電影質感

4.

加入能讓畫面更高畫質的關鍵詞

,比如:high detailed, detailed, 8k, intricate, elaborate 等。

我在生成達芬奇手稿時做了對比測試,能感受到明顯的精細度變化。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“animal skull sketch, by Leonardo davinci journal”

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

detailed

animal skull sketch, by Leonardo davinci journal”

5.

加入可以幫 AI 去掉作者本人照片的關鍵詞

:human:-2。

有時候,AI 會把藝術家本人照片當成是藝術風格之一融入到生成圖中,尤其是一些有自畫像的作者。此時,你可以在描述詞中強行把人類權重降低。還是以達芬奇手稿為例:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“a time machine blueprint, by Leonardo da vinci journal”

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“a time machine blueprint, by Leonardo da vinci journal”, “

human:-2

6. 加入可以去掉煩人景深的關鍵詞

:blur:-2, depth of field:-2。

AI 給畫面加入的景深是隨機的,有時候甚至會反噬畫面,如果你不想被隨機景深影響,也可以強行把景深的權重降低,看下面這組對比:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“Mount Fuji, Sakura, by Phil Greenwood”

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“Mount Fuji, Sakura, by Phil Greenwood”, “

depth of field:-2

7. 給 AI 多點提示,用上關鍵詞組合

:名畫名字 + 作者名字。

比如很多非英語地區的名畫,其英文譯名都是後加的,AI 並不能很好地識別出來,不能被準確識別的關鍵詞,也就是無效的關鍵詞。

舉例,日本的《神奈川衝浪裡》的英文名是“the Great Wave”,如果你只在描述詞中寫這個英文名,AI 可能只會幫你畫一個普通的大浪,請看下面這組對比:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“the Great Wave, rendered in high resolution by Greg Rutkowski, trending on artstation”,不加原作者,AI 就按他的理解給我畫了一個驚濤駭浪

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

“the Great Wave

by Hokusai

, rendered in high resolution by Greg Rutkowski, trending on artstation”,加上名畫作者葛飾北齋的名字後,AI 就能精準還原原作的一些特徵了

8. 巧用一些特殊畫風關鍵詞。

Disco Diffusion 能模仿的遠不止 Artstation 上的流行藝術家,它還能畫水墨畫和異形主題畫。我列舉一些用過的特殊畫風關鍵詞:

水墨風關鍵詞

:Chinese ink painting, Chinese Shanshui

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

莫比斯風格關鍵詞

:moebius, m bius, Jean Giraud(莫比斯本名)

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

異形主題關鍵詞

:Alien, H。 R。 Giger(異形之父)

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

更多有趣的關鍵詞,可以關注這份由網友 proximasan 和 sureailabs 整理出來的畫風詞典:https://weirdwonderfulai。art/resources/disco-diffusion-70-plus-artist-studies/。他們用同一組描述詞,測試了 70 多位藝術家的畫風在 Disco Diffusion 上的表現,並製作了非常直觀的對比圖。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

如果你還不滿足,強烈建議到 Disco Diffusion 的 Discord 社群逛一逛:discord。gg/QFjmfjXE。在那裡,來自全世界的高階玩家不間斷地討論著同一個話題:如何生成出更好的效果?資訊量大到即使你偶爾瞄一眼,都能獲得很多實用小技巧。

如你所見,關於“如何寫好描述詞”,是沒有天花板的。總有你沒見過的風格,總有你學不完的引數設定。

在用 AI 生成畫作的這大半個月,我越發驚歎人類藝術家的造詣。

那些擁有自己成熟畫風的藝術家是多麼的偉大,試想,這每個名字背後得濃縮多少才華和心血才能達到影響 AI 畫風的程度呢?

人類還沒輸。

“AI 超越人類”的新聞沒有停過,人們擔心自己會因此失業。但我想,面對一項新技術,消除焦慮最好的方法就是先學會它。

AI 不會讓我失業,它大機率能讓我早點下班。

它有著更“脫韁”的想象力,能毫不費力地產出大量天馬行空的畫面,規則之外的構圖,想都不敢想的混搭。有一些藝術家開始嘗試在 Disco Diffusion 生成圖的基礎上再加工,再創作。

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

我用 Disco Diffusion 生成了一段影片

還有人擔心它存在版權風險。Disco Diffusion 生成圖理論上可以商用,其程式基於 MIT 開源協議,所有網際網路使用者可以免費使用、複製、修改甚至出售生成圖。但我覺得還是存有風險。風險主要來源於你的描述詞會引來畫風抄襲的爭議。

當你使用了風格鮮明的藝術家(尤其是在世的藝術家),以及某部商業作品作為關鍵詞時,都請不要直接拿來商用。

作者:阿文_Simon

編輯:biu

注:以上所有理論知識和操作技巧均來自 YouTuber Quick-Eyed Sky 的入門教程。文中配圖如無特殊說明,均為作者提供。

一個AI

我只是輸入了

Disco Diffusion 就給了我這個:

打三個表情就能畫出世界名畫?大家都在玩的Disco Diffusion是什麼

更多“有極客”故事

TAG: AIDiscoDiffusion關鍵詞描述