Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

文章目錄

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

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

我帶著疑問和期待,直奔電腦,隨手搜了一個快速入門教程。簡單來說,我只要打開瀏覽器,在網頁上寫好描述目標畫作的關鍵詞,然後就等著雲端算力(對電腦硬體無要求)幫我渲染、產生,接著就能收圖了。而這些圖,往往還都是傑作。

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

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

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

我意識到:一個新的時代已經悄然而至。誇張點說,這個工具出現後,人們「用嘴就能畫畫」。

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

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

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

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

Disco Diffusion 是一個直接執行在 Google 雲端電腦(Google Colab)的程式,所以對你的電腦配置沒有任何要求,有瀏覽器就能執行。對了,前提是你已經有一個 Google 帳號。

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

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

下面,我繼續教你。

入門篇:不騙你,五分鐘就能上路

第一步:儲存一份副本

由於原程式是公開給所有人使用的,沒有開放編輯權限,因此需要先儲存一份副本到你的 Google 硬碟,操作如下:檔案 → 在雲端硬碟中儲存副本。

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

第二步:設置參數

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

首先,直接滑到【3. Settings】,修改這三個基礎參數:

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

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

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

然後,到【Extra Settings】修改這個參數:

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

最後,到【4. Diffuse!】裡修改這兩個參數:

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

display rate:更新頻率,用來預覽產生結果。我一般設置 25,每 25 格刷新一次進度。

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

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

第三步:撰寫描述詞

描述詞(Prompts)寫對了,Disco Diffusion 才能輸出越接近你預期的畫作。所以,撰寫描述詞這一步非常關鍵。

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

舉個例子,官方示例描述詞是「A beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and Thomas kinkade, Trending on artstation.」, 「yellow color scheme」

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

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

  • 藝術家的名稱:by greg rutkowski and Thomas kinkade
  • 畫風:Trending on artstation (知名藝術社群 Artstation 上的流行畫風)
  • 顏色主題:yellow color scheme

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

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

「A beautiful painting of a starry night, shining its light across a sunflower sea by James Gurney, Trending on artstation.」

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

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

第四步:點擊執行

你已經完成了所有配置,直接執行吧!依次點擊:程式碼執行程式 → 全部執行

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

在程式執行過程中,會詢問你是否允許存取 Google 硬碟,點擊【連接】。然後,就等著收圖吧!

最終產生結果以及過程圖,都會存放在 Google 硬碟的【images_out】文件夾裡:

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

進階篇 :如何寫好描述詞

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

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

2. 不建議製作生物,尤其是人類。同理,也不建議加入常畫人物的藝術家為關鍵詞。否則你會得到一堆扭曲的肉,為了保住大家的「san 值」,我就不放圖了。

3. 酌情加入 Unreal Engine, C4D, 3dMax, Maya, V-Ray 等關鍵詞,它們都可以讓 AI 模仿主流 3D 引擎的算繪效果。

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

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

4. 加入能讓畫面更高解析的關鍵詞,比如:high detailed, detailed, 8k, intricate, elaborate 等。

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

「animal skull sketch, by Leonardo davinci journal」

「detailed animal skull sketch, by Leonardo davinci journal」

5. 加入可以幫 AI 去掉作者本人照片的關鍵詞:human:-2

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

「a time machine blueprint, by Leonardo da vinci journal」

「a time machine blueprint, by Leonardo da vinci journal」, 「human:-2」

6. 加入可以去掉煩人景深的關鍵詞:blur:-2, depth of field:-2。

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

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

「Mount Fuji, Sakura, by Phil Greenwood」

「Mount Fuji, Sakura, by Phil Greenwood」, 「depth of field:-2」

7. 給 AI 多一點提示,用上關鍵詞組合:名畫名字 + 作者名字。

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

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

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

「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

莫比斯風格關鍵詞:moebius, mœbius, Jean Giraud(莫比斯本名)

異形主題關鍵詞:Alien, H. R. Giger(異形之父)

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

Disco Diffusion 入門教學,打幾個關鍵字用AI畫出世界名畫

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

如你所見,關於「如何寫好描述詞」,是沒有天花板的。總有你沒見過的風格,總有你學不完的參數設置。

在用 AI 產生畫作的這大半個月,我越發驚嘆人類藝術家的造詣。那些擁有自己成熟畫風的藝術家是多麼的偉大,試想,這每個名字背後得濃縮多少才華和心血才能達到影響 AI 畫風的程度呢?

人類還沒輸。

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

AI 不會讓我失業,它大機率能讓我早點下班。它有著更「脫韁」的想像力,能毫不費力地產出大量天馬行空的畫面,規則之外的構圖,想都不敢想的混搭。有一些藝術家開始嘗試在 Disco Diffusion 產生圖的基礎上再加工,再創作。

我用 Disco Diffusion 做了一段影片

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

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

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

  • 本文授權轉載自:36kr

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則