AI 藝術生成手冊/Stable Diffusion 設定
在這幅 Stable Diffusion 的數字畫布背後,隱藏著各種可調節的引數,就像藝術家選擇畫筆、顏料和技巧一樣。這些設定允許創作者微調影像生成過程的方方面面,從廣闊的構圖元素到最精細的細節。瞭解和掌握這些引數對於想要充分發揮 Stable Diffusion 潛力的藝術家來說至關重要,使他們能夠彌合想象力和影像生成之間的差距。
在本例中,我們將使用以下提示詞在 ComfyUI 中/其他提示詞也可以使用
身穿西裝的擬人犀牛在紐約證券交易所交易大廳裡,看到股市崩盤後,雙手捂著臉尖叫
我們將修改每個引數以檢視它如何改變
這是影像的原始設定
種子:368039721048954
步驟:80
CFG:7
取樣器名稱:DDIM
排程器:普通
種子 是一個數值,作為影像生成過程的起點。Stable Diffusion 使用此數字生成特定噪聲模式,然後以此為基礎生成最終影像。
種子的重要性在於它們能夠確保可重複性。Stable Diffusion 生成的每個影像都與一個獨特的種子相關聯,充當該特定影像的某種主金鑰或指紋。雖然 這個過程可能看起來是隨機的,但用於噪聲生成和影像製作的演算法在給定相同輸入的情況下實際上相當一致。這意味著相同的種子將可靠地產生相同的初始噪聲模式,該模式與文字提示和其他設定(如引數)相結合,將產生可預測的輸出。
任何知道影像種子的人都可以重現該影像或生成它的變體,這使得種子在影像生成中對於一致性和迭代至關重要。[1] [2] [3]
在 Auto1111 中,值 "-1" 是 隨機分配的種子編號
CFG 控制生成的影像與給定文字提示詞或輸入影像的匹配程度。此比例充當嚴格提示詞遵守與創造性解釋之間的平衡機制。
較高的 CFG 值(通常在 8 到 30 之間)會導致生成的影像更 closely 遵循輸入提示詞,確保更高保真度地遵循使用者的描述。相反,較低的值(1 是最小值)賦予 AI 更多的創作自由,可能產生更多樣化和富有想象力的結果,這些結果可能偏離原始提示詞。
預設 CFG 值通常設定為 7,提供了一個良好的起點,平衡了系統對指令的遵守和一些創造性的自由。使用者可以根據自己的具體需求調整此值,無論他們優先考慮提示詞保真度還是希望獲得更多意外和創造性的結果。
在實踐中,找到最佳的 CFG 值通常需要試驗才能在他們的藝術 vision 和 AI 的解釋之間取得完美的平衡,最終產生所需的影像質量和風格。[4] [5] [6]
P.S:請注意,更高的 CFG 並不一定意味著更好的藝術。它可能導致多樣性降低,並可能降低整體影像質量,因為 AI 專注於嚴格遵守提示詞,而犧牲了其他方面。
步驟 指的是 AI 根據給定提示詞將隨機噪聲轉化為連貫影像的迭代次數。這個過程被稱為 "去噪",它逐漸將影像從完全隨機的狀態細化為最終的輸出。
影像生成始終以隨機噪聲開始,以完全去噪的影像結束,無論步驟數多少。步驟數控制的是將這個過程細分為多少。較高的步驟數意味著 AI 在每次迭代中進行更小、更漸進的更改,可能導致更細化的結果。但是,大多數情況下,這是不明顯的。
需要注意的是,步驟數的有效性會因取樣器而異。現代快速的取樣器(如 DDIM 和 DPM Solver++)通常比舊的取樣器(如 LMS)使用更少的步驟就能產生高質量的結果。
步驟數與影像質量之間的關係並不總是線性的。步驟數太少會導致影像發育不全,而步驟數太多會導致不必要的細節或重複,尤其是在使用更簡單的提示詞或風格時。[7] [8] [9]
P.S: 請注意,步驟數越低,影像生成速度越快。但這並不能很好地轉化為較低步驟數的影像美學。(除了某些 AI 模型,例如 Stable Cascade,它能夠在低至 20 步的情況下生成影像)
Stable Diffusion 中的取樣器是控制 AI 在生成過程中如何去噪和細化影像的演算法。這個去噪過程被稱為取樣,因為 Stable Diffusion 在每個步驟中都會生成一個新的樣本影像。取樣中使用的方法被稱為取樣器或取樣方法。
不同的取樣器在速度、質量和控制之間提供了各種權衡。
以下是一些 Stable Diffusion 中使用的取樣器型別(截至 2023 年 1 月)
尤拉、尤拉 a、LMS、Heun、DPM2、DPM2 a、DPM++ 2S a、DPM++ 2M、DPM++ SDE、DPM fast、DPM adaptive、LMS Karras、DPM2 Karras、DPM2 a Karras、DPM++ 2S a Karras、DPM++ 2M Karras、DPM++ SDE Karras、DDIM、PLMS
我們專注於取樣器中的“五大”,這些取樣器通常被新手使用,因為它們產生相同的結果
注意:所有采樣器都是使用種子 368039721048954、CFG 7 和步驟 80 生成的,以確保一致性
- 尤拉通常是許多 Stable Diffusion 介面中的預設取樣器。
- 它在速度和質量之間取得了良好的平衡,使其適用於廣泛的應用。
- 尤拉 A 隨著取樣步驟的增加,往往會產生截然不同的影像。
- Heun 基於二階方法,這意味著它通常比一階方法(如基本尤拉方法)更準確。它基本上就像該方法快速地向前看一步,並根據他們看到的內容調整你的預測一樣。這額外的步驟通常會導致更準確的預測,尤其是在處理不斷變化的條件時。
- 這種方法以Heun 法命名,Heun 法是一種用於求解常微分方程的數值方法。
- DPM2 旨在以更少的步驟生成高質量的樣本。
- DPM 代表“擴散機率模型”,該取樣器基於清華大學研究人員發表的論文:DPM-Solver:一種針對擴散機率模型取樣,大約在 10 步內完成的快速常微分方程求解器。
- 與尤拉等單步方法不同,LMS 使用來自多個先前步驟的資訊來計算下一步,因此在較低的步驟數下會產生噪聲偽影,但在更高的步驟數下會穩定。
- LMS 這個名字來自線性多步法,線性多步法是一類用於求解常微分方程的數值方法。它們在科學和工程的各個領域都有應用,然後才被應用於擴散模型。
DDIM(去噪擴散隱式模型)
- DDIM 允許透過允許更大的步長來加快取樣,而不會顯著降低影像質量。與其他取樣器相比,DDIM 通常即使在較低的步驟數下也能生成高質量的影像。
- 通常結果與尤拉非常相似。
- DDIM 這個名字代表“去噪擴散隱式模型”,由斯坦福大學研究人員在論文中提出:去噪擴散隱式模型”。
- LCM 旨在透過利用一種新穎的基於一致性的取樣方法,以比傳統擴散模型少得多的步驟生成高質量的影像。
- LCM 不像傳統擴散模型那樣逐步對影像去噪,而是使用一致性模型直接預測最終輸出。
- 根據樣本測試,只有窄範圍的 CFG 對正常的 AI 藝術生成“可用”(CFG 3 - CFG 7),而更高的 CFG 會使影像更傾向於迷幻藝術風格。
- 因此,它以犧牲一些精細細節和真實感為代價,換取了與五大采樣器相比,相對較快的生成速度。
- 每一步都會產生截然不同的卡通風格影像結果(請參閱下面的示例影像)。
- LCM 這個名字代表潛伏一致性模型,由清華大學研究人員在論文中提出“潛伏一致性模型:用少量步驟推理合成高解析度影像”。
- UniPC 以統一的方式自適應地調整預測步驟和校正步驟之間的平衡,以加速擴散模型的取樣過程(在其推薦的引數範圍內)。它還採用動態加權策略來最佳化取樣軌跡。
- 根據測試,如果步驟數變高(>60),影像結果會變得更偏向抽象藝術形式(請參閱下面的示例影像)。
- UniPC 代表Unified Predictor-Corrector,由清華大學研究人員在論文中提出“UniPC:一種用於快速取樣擴散模型的統一預測器-校正器框架”。
- DPM++ SDE Karras 使用隨機取樣,導致生成的影像之間存在很大差異。
- DPM++ 2M Karras 以生成高質量、細緻的影像而聞名,使其成為複雜場景或肖像的理想選擇。
選擇取樣器時,請考慮以下因素:
- 對於高細節:DPM++ 2M 或 LMS Karras 是肖像或風景中複雜細節的絕佳選擇。
- 對於速度:Euler A 或 DPM Adaptive 提供更快的處理時間。
- 對於控制:DDIM 提供了一種更直接控制影像結果的方法。
需要注意的是,取樣器的有效性可能會因所用步驟數而異。一些取樣器,如 Euler A 和 DPM2 A,隨著步驟數的增加會發生顯著變化,而其他取樣器,如 LMS,則會在某一點後趨於穩定。
取樣器選擇應基於專案的具體要求,平衡影像質量、生成速度和對輸出的控制程度等因素。透過嘗試不同的取樣器和步驟數,可以幫助找到適合特定用例的最佳設定。
祖先採樣技術在去噪過程的每個步驟中引入一定程度的隨機性或“祖先噪聲”。雖然祖先方法增加了隨機性,但它們以一種結構化的方式進行,通常會導致生成的影像具有相似的整體構圖。
由於這是一種取樣方法的早期階段,所以所有祖先方法即使在高步驟數(約 200)下也無法生成美觀的影像(但如果你想生成“馬鈴薯相機質量”的照片,可以使用它們)。
Stable Diffusion 中的排程器控制影像生成過程中噪聲的新增和去除方式。它是一個重要的組成部分,可以顯著影響生成的影像的質量和特徵。
使用 DDIM 取樣器方法作為控制,我們嘗試不同的排程器,以檢視它們對影像生成的影響。
注意 1:正常、UGM 統一和簡單在這組生成的影像之間沒有顯示出任何差異。
注意 2:雖然 DDIM 統一排程器與 DDIM 取樣器同名,但根據該取樣測試,它會使背景影像變得更差。
[2] https://decentralizedcreator.com/what-is-stable-diffusion-seed-and-how-to-use-it/
[3] https://onceuponanalgorithm.org/guide-what-is-a-stable-diffusion-seed-and-how-to-use-it/
[4] https://watcher.guru/news/what-is-the-cfg-scale-in-stable-diffusion
[5] https://blockchain.news/wiki/cfg-scale-in-stable-diffusion-a-comprehensive-analysis
[6] https://getimg.ai/guides/interactive-guide-to-stable-diffusion-guidance-scale-parameter
[7] https://openart.ai/blog/post/the-most-complete-guide-to-stable-diffusion-parameters
[8] https://blog.segmind.com/the-a-z-of-stable-diffusion-essential-concepts-and-terms-demystified/
[9] https://mccormickml.com/2023/01/11/steps-and-seeds/
[10] https://www.felixsanz.dev/articles/complete-guide-to-samplers-in-stable-diffusion
[11] https://easywithai.com/guide/stable-diffusion-best-sampler-comparison/
[12] https://paulfernandez.dev/posts/a-comparison-stable-diffusion-sampling-methods/