Stable diffusion中這些重要的引數你一定要會用

flydean發表於2024-04-24

Stable diffusion中這些重要的引數你一定要會用

如果你已經使用Stable diffusion AI模型生成了一些影像,但發現它們並不完全符合你的期望,不用擔心,你可以透過調整一些基本的生成引數來進行自定義,以達到更加滿意的效果。

使用Stable diffusion軟體

Stable diffusion(AI)是一種強大的技術,它可以生成高質量的影像。雖然一些基本的引數可以在免費的線上AI生成器中調整,但為了獲得更全面和精細的控制,我們通常會轉向更專業的工具,如Stable diffusion web UI AUTOMATIC1111。這個平臺提供了更多的選項和功能,使得使用者能夠更深入地探索和利用穩定擴散AI的潛力。

雲端環境推薦【仙宮雲】點我直達仙宮雲這個平臺非常強大,價效比也很高。它支援GeForce GTX 4090,3090,3080ti等多種主流高效能運算GPU。並且平臺提供了Stable Diffusion WebUI,ComfyUI,Fooocus等多款AI應用。註冊就送免費算力。

在Stable diffusion web UI中,我們先生成一個初始的影像,然後再一步步的引導大家學習瞭解一些重要引數的用法。

這是我們的初始引數:

Checkpoint: realisian_v60

prompt: digital painting of a magical cat goddess,ambiguous,energetic,pyroclasmic,fierce,abyssal,occult,multiple exposure photography,weird,deferred rendering,
Negative prompt: (naked, nude, nudity, nsfw, nipples),sexy,
Steps: 20,

Sampler: DPM++ 2M Karras,

CFG scale: 7,

Seed: 712020765,

Size: 512x768,

Clip skip: 2

我們可以得到下面這樣一張圖片:

image-20240410174659546

我們生成了一張帶有魔力的貓的圖片。

下面我們來調整一些非常重要的引數,來看看具體的效果。

使用x/y/z plot

為了進行引數對比,我們可以修改好引數,然後點選生成,生成一張照片,最後把生成的照片再合併起來進行比較。

這種做法比較麻煩,不符合我們現代人追求效率的做法。

為了更好的進行對比,這裡我們需要用到一個叫x/y/z plot的指令碼。

點選web UI下方的script,你會發現一個x/y/z plot的選項。選中他:

image-20240410175437185

你會得到下面的介面:

image-20240410175748307

這個指令碼很簡單,學過微積分的都能理解。

基本上x,y,z就是三個不同的變數,你可以為不同的變數設定不同的值。最後會生成一個grid的合併圖片,非常方便我們進行圖片效果的對比。

接下來我們會使用這個指令碼來進行不同引數的對比。

CFG scalar

CFG scalar是一個引數,用於控制模型應在多大程度上遵守你的提示。

1 – 大多數情況下忽略您的提示。

3 – 更有創意。

7 – 在遵循提示和自由之間取得良好的平衡。

15 – 更多提示。

30 – 嚴格按照提示操作。

因為我們這裡只有一個變數,所以X type選擇CFG Scale. value欄位設定為:1,3,7,15,30:

image-20240410180937195

執行之後,我們可以得到相應圖片的對比情況:

image-20240410180922763

可以看到,1和30基本上太過極端了。

通常情況下,我們可以從7開始。如果你想圖片更多接近你的提示詞,那麼可以適當的進行增加。

Sampler Steps

增加取樣步驟可以提高質量。通常情況下,使用取樣器進行 20 步就可以得到高質量、清晰的影像。如果增加更多的步數,那麼影像會出現微妙的變化,但不一定會具有更高的質量。

同樣我們更改Sampler Steps,選擇1,5,10,20,30和50:

image-20240410181847525

最後生成的結果如下:

image-20240410181817384

一般情況下20步已經夠了,你可以根據需要看看是否需要增加步數。

Sampler方法

Stable diffusion支援多種取樣方法。這些方法僅代表了不同的擴散方程求解方法。它們應該產生相似的結果,但由於數字偏差可能略有不同。然而,由於沒有絕對正確的答案——唯一的標準是影像看起來不錯,因此您不必過於擔心方法的準確性。

下面是這些取樣器的簡單介紹:

Euler a :有很高的多樣性,tag利用率僅次與DPM2和DPM2 a。但是構圖有時很奇葩,而且步數大於30,效果減弱

Euler:柔和,也適合插畫,環境細節與渲染好,背景模糊較深。同時是最簡單、最快的

LMS 是 Euler 的衍生,它們使用一種相關但稍有不同的方法(平均過去的幾個步驟以提高準確性)。大概30step可以得到穩定結果,更傾向於動畫的風格

Heun:單次出圖平均質量比Euler和Euler a高,但速度最慢,高step表現好。

DPM2:該取樣方法對tag的利用率最高,幾乎佔80%+

DPM2 a:幾乎與DPM2相同,是對於DDIM的改進,減少步驟以獲得良好的結果,它的速度大約是DDIM的兩倍,生圖效果也非常好

DPM fast:此為上界開發者所遺留的測試工具,不適合魔術師使用

LMS Karras:會大改成油畫的風格,寫實不佳。

DDIM:適合寬畫,速度偏低,高step表現好,負面tag不夠時發揮隨意,環境光線與水汽效果好,寫實不佳。

UniPC 效果較好且速度非常快,對平面、卡通的表現較好,推薦使用。

DDIM 收斂快,但效率相對較低,因為需要很多 step 才能獲得好的結果,適合在重繪時候使用。

PLMS 是 Euler 的衍生,可以更好地處理神經網路結構中的奇異性。

不同的方法處理時間並不相同,以下是各種方法的處理時間。

處理時間

以下是使用不同取樣方法經過 20 個步驟後生成的影像。其中許多是相似的,但也可能有一些完全不同的。

同樣的我們使用X/Y/Z plot來進行對比:

image-20240410200905093

推薦:DPM++ 2M Karras

seed

Seed決定了初始噪聲模式,從而決定了最終影像。

將其設定為 -1 意味著每次都使用隨機的種子。這在您想要生成新影像時非常有用。

如果你設定seed為同一值,那麼會導致每一代影像都相同。

我們可以在這裡設定seed值:

image-20240410200841755

Size

size決定了輸出影像的大小。由於 Stable Diffusion v1 是使用 512×512 張影像進行訓練的,因此偏離太多可能會導致複製物件等問題。

所以我們儘可能保持輸出的size是正方形。512×768(縱向)或768×512(橫向)也可以。

建議:將影像大小設定為512×512。否則,請撥打 512×768 或 768×512。

當然這隻適合V1模型,SDXL已經擴充套件到了1024x1024。

batch size

batch size是每次生成的影像數量。由於最終影像非常依賴於隨機種子,因此一次生成幾張影像始終是一個好主意。這樣,您可以更好地瞭解當前提示可以做什麼。

建議:將批處理大小設定為 4 或 8。

總結

在本文中,我們介紹了 Stable Diffusion AI 的基本引數。大家可以嘗試一下去調整對應的引數,看看能不能得到不同的結果。

點我檢視更多精彩內容:www.flydean.com

相關文章