在 Disco Diffusion 官方說明的第一段,其對自身是這樣定義: AI Image generating technique called CLIP-Guided Diffusion。DD 是通過 CLIP 來進行圖文匹配,引導 AI 進行影像生成的技術,通過 Diffusion 持續去噪去生成影像的,而在整個過程中,CLIP 不斷地評估影像和文字之間的距離,來為生成影像的整體方向進行指導,最終就體現為“輸入文字-生成圖畫”,因此我們便可以通過文字來引導AI生成藝術風格圖片。
啟動矩池雲快速使用Disco Diffusion
矩池雲已經將 Disco Diffusion 映象搭建在平臺上,可以直接使用,無需再進行環境搭建,主機市場中多種 GPU 可供選擇,具體流程為 主機市場-選擇GPU-租用-搜尋&點選Disco,點選“下單”即可。
機器顯示為“執行中”之後,點選JupyterLab連結
進入後找到 disco-diffusion資料夾
雙擊 Disco_Diffusion 檔案,即可開啟專案
預設文字輸入生成影像
更改影像輸出路徑 Tips
在開始訓練前,可以將此處 outDirPath 處的 ‘{root_path}/out_images’ 程式碼進行調整,調整到矩池雲網盤中即可,比如如下就改為了 /mnt/DD_result/out_images 這樣,終止訓練以後,圖片會直接存在矩池雲網盤中,管理起來更輕鬆~
點選選單欄 Run ,選擇 Run All Cells ,等待依次等待模型載入完成,即可預設的生成影像
預設狀態生成影像如下
修改文字輸入生成影像
在 3. Prompts 此處,可以對引號內容進行文字修改
影像輸出資料夾
如果沒有操作剛才的“更改影像輸出路徑 Tips”,最後狀態的影像將自動儲存在資料夾 images_out 中,雙擊 images_out 就可以看到訓練好的圖片。
當然如果訓練結束後、關閉機器前,想把最終都輸出結果儲存到矩池雲網盤,可以在 Jupyterlab 裡新建一個Terminal
然後將下面指令複製貼上,回車執行。
mv /disco-diffusion/images_out/TimeToDisco /mnt/DD_result/castle
這代表著將 DD 輸出影像的資料夾 /disco-diffusion/images_out/TimeToDisco,儲存到矩池雲網盤 /mnt/DD_result/castle 路徑下(這個是我自己創立的,如果是其他路徑進行修改即可)。
那麼我們就可以在網頁端 “我的網盤” 中找到這個資料夾,展示如下
如果開通了 矩池雲客戶端網盤 (可以聯絡矩池雲小助手開通),就可以輕鬆在本地計算機上進行訪問,點選圖片旁邊的下載圖示,即可存在本地。
如果需要更改預設下載到本地的資料夾,則可以點選左下角的設定圖示,修改儲存的路徑。
以上是矩池雲網盤 Mac版 介面,目前矩池雲網盤客戶端支援 Windows 和 Mac ,如果有需要可以聯絡矩池雲微信小助手,僅需傳送你的矩池雲賬號,即可申請開通。
進階使用 Disco Diffusion : 輸入文字
在修改描述語部分,我們在0後面的語句進行修改即可,100後面的內容可以維持原貌。
預設模式下的描述語如下:
["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."]
我們看到,句法結構可以總結為:影像種類 + 主題描述 + 藝術家描述 + 風格調整。
輸入描述語(Prompts)的時候,影像種類、主題描述、藝術家描述和風格保持在同一個範疇中,AI 對於某位指定藝術家和該位藝術家之外的風格進行組合的情況,會產生迷惑。在實踐中,我們發現使用藝術家風格對AI的構圖、顏色的調整非常有效,當然這也盡顯於那些納入 DD 本身。
例如,在設定 Prompts 為 "A beautiful painting of castle on the cloud by Studio Ghibli, Trending on artstation." 出圖情況為,雲和城堡都為宮崎駿工作室出品的作品中常見的映象,輸入內容相對具有一致性,因此在影像的風格特色比較明顯。
影像型別(Type/Subject)
"A beautiful painting of",是對影像進行描述,一定程度上,這一描述也會影響到影像的風格。譬如 sketch、pencil drawing, matte painting, watercolor painting, Oil painting, Portrait photography, Portrait,都是可以擴充嘗試的關鍵詞,其對應的繪畫風格。
主題描述(Main idea)
"a singular lighthouse, shining its light across a tumultuous sea of blood",是對畫面細節的描述。畫面描述也是所有描述中需要費心思研究的部分,會因為在這一部分中,決定了畫面中出現的形象。
在描述中,儘量使用確切的語句,比如確定的個數(比如寫出具體的數字而不是 many)、形象的詞而不是概述的詞,同時不使用否定詞,這一部分再在上手輸入實踐的時候,會有更深刻的體會。
藝術家(Artist)
"by greg rutkowski and thomas kinkade"是對藝術家的描述,可以包含一名或多名藝術家的風格。比如嘗試奇幻的景色風格,可以用 Tyler Edlin, Mark Simonetti 的風格;科幻類,可以嘗試Jim Burns, John Harris, Dean Ellis, H.R. Giger 的風格;動畫類可以嘗試 Studio Ghibli, Makoto Shinkai 的風格。
以下為社群中的嘗試過的一些知名藝術家的風格,可以作為參考。
Hiroshi Yoshida, Max Ernst, Paul Signac, Salvador Dali, James Gurney, Thomas Kinkade, Ivan Aivazovsky, Italo Calvino, Norman Rockwell, Albert Bierstadt, Giorgio de Chirico, Rene Magritte, Ross Tran, Marc Simonetti, John Harris, Hilma af Klint, George Inness, Pablo Picasso, William Blake, Wassily i Kandinsky, Peter Mohrbacher, Greg Rutkowski, Paul Signac, Steven Belledin, Studio Ghibli, John Singer Sargent, Alfons Mucha, Gustav Klimt, John William Waterhouse, Zdzisław Beksiński, Edmund Dulac, Arthur Rackham, Ivan Bilibin, Gerald Brom
風格調整
"yellow color scheme" 是對畫面顏色風格的描述;參考渲染方式為 Trending on artstation(專業CG藝術家社群,被稱作A站)。參考的種類/渲染方式可以根據創作者的設想,進行設定。4k resolution, 8k resolution, Unsplash photo contest winner, Deviantart, pixelart 3d art, Digital art, Blender, Octane Render, Unreal engine, , Acrylic painting, Shot on film 35mm lens, Character design, Cgsociety, Mandelbulb 3D, Trending on Flickr, Vaporwave 等等。
值得注意的是,這裡有提及到 4K resolution / 8K resolusion,這並不代表著圖片將渲染為對應的尺寸,尺寸還需要在 Setting 中進行設定,這裡指的是 AI 將吸取哪些 4K / 8K 解析度的影像中所具備的特徵。
輸入方式對輸出畫面的影響
輸入的結構和輸出的影像有較大關係,在保持其他設定100% (包括隨機變數)一致的情況下,用以下Prompts進行輸入
"a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape, vibrant, cinematic lighting"
其結果為:
保持同樣 Prompts 內容,僅僅改變斷句方式,輸入
"a magic realism painting by Gediminas Pranckevicius depicting an abandoned building in a field of flowers landscape", "vibrant cinematic lighting"
其結果為:
輸入不同句式會對構圖產生比較大的影響,這應當是 DD 模型的自主性比較強造成的。在語義方面,正如先前所說到,CLIP-Guided,意味著輸入文字的含義如果存在誤讀的可能,那麼 CLIP 也很有可能會對其進行誤讀,最終生成的影像也就有可能產生不一樣的結果,這一過程可以在打磨影像的過程中持續體會。
圖片生成來自於:https://www.matpool.com/
參考藝術家風格:https://weirdwonderfulai.art/resources/disco-diffusion-70-plus-artist-studies/
參考關鍵詞: https://imgur.com/a/SnSIQRu
視訊版: