Stable Diffusion WebUI詳細使用指南

flydean發表於2024-05-29

Stable Diffusion WebUI(AUTOMATIC1111,簡稱A1111)是一個為高階使用者設計的圖形使用者介面(GUI),它提供了豐富的功能和靈活性,以滿足複雜和高階的影像生成需求。由於其強大的功能和社群的活躍參與,A1111成為了Stable Diffusion模型事實上的標準GUI,並且是新功能和實驗性工具的首選釋出平臺。

  • 本指南可以作為一步步跟隨的教程,幫助你從基礎開始學習如何使用A1111。透過實際操作的例子,你可以逐步瞭解每個功能的作用和配置方法。
  • 當你已經熟悉了基本操作後,你可以將這個指南作為快速參考手冊。在需要使用特定功能或解決特定問題時,可以快速查閱相關內容。
  • 在學習過程中,示例是非常重要的。透過觀察和實踐示例,你可以更清晰地理解每個設定的效果和用途。

下載並安裝Stable Diffusion WebUI

這個就不多講了,大家登上github,複製下來直接啟動就行了。但是確保你有大於8G的視訊記憶體,否則在使用中會非常慢,並且可能會出現某些功能無法使用的問題。

txt2img

當您首次啟動GUI時,您會看到txt2img標籤。這個標籤執行了Stable Diffusion的最基本功能:將文字提示轉換成影像。

基本用法

如果你是第一次使用webUI,那麼下面這幾個引數是你一定需要注意的:

image-20240411001500594

首先是checkpoint,這個模型決定了你圖片的基礎風格。

你可以在提示詞部分,輸入你希望生成的圖片描述。在反向提示詞部分,可以輸入你不想在圖片上看到的內容。

寬度和高度:輸出影像的尺寸。當使用v1模型時,您應該將至少一邊設定為512畫素。例如,將寬度設定為512,高度設定為768,以獲得一個2:3的縱向影像。

批處理大小:每次生成的影像數量。在測試提示時,您至少想生成幾個影像,因為每個影像都會有所不同。最後,點選生成按鈕。稍等片刻,您就會得到您的影像!

image-20240411001837962

影像生成引數

在上面生成影像的底部,我們可以看到一些關於圖片生成的具體資訊,具體到上面的例子,我們得到了下面的圖片生成引數:

Prompt: a girl,0lg4kury,
Negative prompt: (unhealthy-deformed-joints:2),(unhealthy-hands:2),easynegative,ng_deepnegative_v1_75t,(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,badhandv4,((extra limbs)),((extra legs)),((fused legs)),((extra arms)),((fused arms)),normal quality,((monochrome)),((grayscale)),((watermark)),uneven eyes,lazy eye,bad-hands-5,(((mutated hand))),
Steps: 20,

Sampler: DPM++ 2M Karras,

CFG scale: 7,

Seed: 1650696303,

Size: 512x512,

Clip skip: 2

取樣步驟:去噪過程的取樣步驟數。步數越多越好,但也需要更長時間。25步適用於大多數情況。

寬度和高度:輸出影像的尺寸。對於v1模型,您應該至少將一側設定為512畫素。例如,將寬度設定為512,高度設定為768,以獲得一個2:3的豎向影像。使用v2-768px模型時,應至少將一側設定為768。

批次計數:執行影像生成管道的次數。

批次大小:每次執行管道生成的影像數量。生成的影像總數等於批次計數乘以批次大小。通常您會更改批次大小,因為這樣更快。只有在遇到記憶體問題時才會更改批次計數。

CFG scale:分類器無指導比例**是一個引數,用於控制模型應該多大程度上遵循您的提示。

1 - 大部分忽略您的提示。

3 - 更具創造性。

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

15 - 更加遵循提示。

30 - 嚴格遵循提示。

seed

seed:是在潛在空間中用於生成初始隨機張量的種子值。從實際情況來看,它可以控制影像的內容。

每個生成的影像都有自己的種子值。如果在webUI中把seed設定為-1,它將使用一個隨機的種子值。固定種子的一個常見原因是為了固定影像的內容並調整提示。比如說,我使用以下提示生成了一張影像。

a girl in the photo,0lg4kury,dresses,in the city,

image-20240411002357160

我覺得這張照片不錯,但是我還想給她新增點東西,比如手鐲。那麼我們要做的就是在圖片下面找到它的seed,然後規定這個值,再在prompt中新增bracelet:

image-20240411002533004

可以看到它的seed值是1721867153, 我們把這個值複製到種子值輸入框中。或者使用回收按鈕來複制種子值。

image-20240411002624820

現在在提示中新增術語“手鐲”

a girl in the photo,0lg4kury,dresses,in the city,bracelet

我們會得到下面的圖片:

image-20240411002752895

人物和場景大體上是沒有變化的,只不過這次給人物多加了一個手鐲。

extra seed

勾選 extra 選項將顯示額外種子選單。

image-20240411003015088

這個extra seed是做什麼用的呢?

在上面介面上,你可以看到有兩個非常重要的變數,分別是Variation seed和Varation strength。

Variation seed: 你想要使用的額外種子數值。

Varation strength: 表示的是在 種子變化種子 之間的插值程度。將其設定為0表示使用 種子 的數值。將其設定為1使用 變化種子 數值。

可能朋友們還是不明白這個引數到底是做什麼,那麼我們來舉個例子。

上面我們已經生成了一張圖片了,他的seed是1721867153,那麼我們修改這個seed,改成1721867155,再生成一張圖片:

image-20240411003340344

因為seed改變了,所以這兩幅圖片的差距有點大了。

extra seed的作用就是可以給我們一個合併這兩個圖的方法。

你想要生成這兩張圖片的混合影像。你將種子設為1721867153,變化種子設為1721867155,並調整變化強度在0和1之間。在下面的實驗中,變化強度允許你在兩個種子之間產生影像內容的過渡。當變化強度從0增加到1時,女孩的姿勢和背景逐漸改變。

image-20240411004045660

即使使用相同的種子,如果更改影像大小,影像也會發生顯著變化。

還是這個seed:1721867153。 如果我現在把長寬變成:512x768,看看生成的圖片:

image-20240411004226673

人臉修復

SD webUI提供了一個人臉修復的選項,可以專門用於修復人臉上的缺陷。以下是一些示例,展示了修復前後的效果。

修復前:

image-20240411095214945

修復後:

image-20240411095709393

對比看看,效果還是很明顯的。

等等,有同學會問了,restore face? 有這個選項嗎? 我怎麼沒看到?

別急,在使用之前你需要到settings--> user interface ->Quicksettings list 中把face_restoration加上去:

image-20240411102706333

加完之後,重啟UI,回到txt2img選項卡。勾選Restore Faces。人臉修復模型將應用於您生成的每張圖片。

image-20240411102755963

如果發現應用影響了人臉上的風格,您可以選擇關閉人臉修復。

Tiling

您可以使用Stable Diffusion WebUI建立類似桌布的重複圖案。

要啟用tiling,我們還是在settings--> user interface ->Quicksettings list 中把tiling加上去:

image-20240411103132254

現在我們在text2img選項中就可以看到tiling這個選項了,勾選上它,然後畫一下花,看看什麼效果:

image-20240411103252519

可以看到這幅畫是一個完美的平鋪圖片,你可以從上下左右任何方向拼接這個圖片,都可以得到完美的影像。

當然,生成的圖片可以是任何東西,比如無盡的階梯:

image-20240411103603145

快來發揮你的創意吧,創造你想要的圖片吧。

高畫質修復Hires.fix.

高解析度修復(High-Resolution Upscaling)是一個在影像生成領域常見的概念,特別是在使用穩定擴散模型時。這個選項的目的是為了克服模型原生輸出解析度的限制,從而生成更大尺寸、更高質量的影像。

穩定擴散模型預設的輸出解析度通常是512畫素(對於某些v2型號是768畫素)。這個限制是由模型的設計和訓練資料集決定的。對於一些應用場景,如列印、大尺寸展示或者高畫質螢幕顯示,這樣的解析度可能不夠用。

為什麼不直接設定更高的原生解析度?直接提高模型的原生輸出解析度(例如,將寬度和高度設定為1024畫素)可能會導致一些問題,比如構圖失真或者生成異常影像(例如,影像中出現多餘的頭或其他元素)。這是因為模型在訓練過程中學習到了特定的輸出尺寸,直接改變這個尺寸可能會導致模型無法正確地對映影像特徵到新的解析度上。

我們先看下hires.fix的一些引數設定:

image-20240411104136248

upscaler上取樣器:上取樣器是影像處理中用於放大影像的工具。有很多采樣器可以選擇。

其中latent是一種比較特殊的取樣器,它在所謂的“潛在空間”中工作。潛在空間是一個數學概念,用於表示影像生成模型在生成影像之前所處的中間狀態。這類上取樣器在影像生成的取樣步驟之後應用,即在模型已經根據文字提示生成了一個初步的影像表示後,再對其進行放大處理。潛在上取樣器的選項通常包括各種基於數學和機器學習原理的方法,它們可以在不改變影像構圖的情況下增加影像的尺寸。

高畫質步驟:僅適用於latent取樣器。它指的是在放大潛在影像後進行的額外取樣步驟的數量。更多的高畫質步驟意味著模型將有更多的機會細化影像的細節,可能產生更清晰、更高質量的影像。

去噪強度:僅適用於latent取樣器。它控制了在執行高畫質取樣步驟之前新增到潛在影像的噪聲。新增一定量的噪聲可以幫助模型更好地學習和恢復影像的細節。太低可能無法有效恢復細節,太高則可能導致影像中出現不必要的偽影或失真。

與傳統的上取樣器(如ESRGAN)相比,潛在上取樣器不容易產生上取樣偽影。這些偽影可能包括銳化過度、邊緣不自然等現象,它們會影響影像的視覺質量。由於潛在上取樣器是在影像生成的後期階段工作,它能夠保持與原始穩定擴散模型生成的影像的風格一致性。這意味著放大後的影像將更忠實於原始藝術風格和視覺特徵。潛在上取樣器在潛在空間中進行操作,這是一箇中間表示,允許在不直接修改畫素值的情況下對影像進行調整。這種方法可以更自然地處理影像的細節和結構。

但是潛在上取樣器可能會在一定程度上改變原始影像。這種變化的程度取決於去噪強度的設定。較高的去噪強度可能會導致影像細節的丟失或模糊,而較低的去噪強度可能無法充分恢復影像的清晰度。

放大因子控制影像將放大多少倍。例如,將其設定為2會將一個512x768畫素的影像放大為1024x1536畫素。

影像操作按鈕

在生成影像之後,你會發現一排按鈕,用於對生成的影像執行各種功能。

image-20240411105557483

開啟資料夾: 開啟影像輸出資料夾。可能並非適用於所有系統。

儲存: 儲存一張影像。點選後,按鈕下方將顯示下載連結。如果選擇影像網格,將儲存所有影像。

壓縮: 壓縮影像以便下載。

傳送到img2img: 將選定的影像傳送到img2img選項卡。

傳送到修復: 將選定的影像傳送到img2img選項卡中的修復選項。

傳送到額外功能: 將選定的影像傳送到額外功能選項卡。

Img2img

img2img的作用就是從一張圖片來建立另外一張圖片。

下面是基本的使用步驟:

步驟1:將基本影像拖放到img2img頁面上的img2img標籤中。

image-20240411105818196

步驟2:調整寬度或高度,使新影像具有相同的寬高比。您應該在影像畫布中看到一個矩形框,表示寬高比。

步驟3:設定取樣方法取樣步數。通常使用DPM++ 2M Karass和20步。

步驟4:將批處理大小設定為4。一次多生成幾張圖可以挑選出你更滿意的圖片。

步驟5:為新影像編寫提示。我將使用以下提示: a girl, sea。

步驟6:點選生成按鈕生成影像。調整去噪強度並重復。不同的去噪強度可以生成不同的圖片。

這是0.75的去噪強度:

image-20240411110158541

這是0.5的去噪強度

image-20240411110313855

可以看到0.75中人物已經發生了變化,但是在0.5中,人物基本上是保持不變的,同時我們還把背景換成了大海。

img2img頁面裡面的許多設定與txt2img是一致的。但是新增了一些新的選項:

Resize mode:如果新影像的寬高比與輸入影像不同,有幾種方法可以解決差異。現在我的原圖是1024x1024,現在我想生成的圖是768x1024。

  • Just resize將按比例縮放輸入影像以適應新影像尺寸。它會拉伸或擠壓影像。可以看到圖片發生了擠壓。

image-20240411111228157

  • Crop and resize將新影像畫布適應到輸入影像中。不適合的部分將被移除。原始影像的寬高比將被保留。

    image-20240411111304155

  • Resize and fill將輸入影像適應到新影像畫布中。多餘的部分將填充為輸入影像的平均顏色。寬高比將被保留。

    image-20240411111337585

  • Just resize (latent upscale)類似於Just resize,但縮放是在潛在空間中進行的。可以使用大於0.5的去噪強度以避免模糊影像。

去噪強度:控制影像的變化程度。如果設定為0,則不會發生任何變化。如果設定為1,則新影像與輸入影像無關。0.75是一個不錯的平衡點,你可以自行進行探索。

sketch

webUI中的sketch的作用是把素描圖轉換成真實的圖片。

步驟1:轉到img2img頁面上的素描選項卡。

步驟2:將背景影像上傳到畫布上。

步驟3:寫一個提示:a girl

步驟5:點選生成

image-20240411113017111

當然,素描的作用不限於此,我們還可以對圖片進行創意的修改。

比如現在我有這樣一幅圖片:

image-20240411121424574

這是一個美女,我想把她的衣服變成一個V領的可以可以呢?

在sketch介面,我們選擇吸管工具,吸取皮膚的顏色,然後塗抹到衣服上,點選生成,看看效果:

image-20240411121537788

Inpaint

img2img選項卡中,也許最常用的功能就是影像修復。

如果你在txt2img選項卡中生成了一張喜歡的影像,但出現了一點小瑕疵,你想要重新生成它。那麼就可以把這張圖片傳送到Img2Img中。

假設你在txt2img選項卡中生成了下面的影像。然後你想給這個圖片上加上個項鍊,那麼可以在需要項鍊的位置新增上mask,提示詞新增:necklace。點選生成看看效果:

image-20240411121959661

是不是很棒。你已經得到了你想要的效果。

當然,你可以透過調整降噪強度來觀察不同數值對最後結果的變化。

在修復影像中進行縮放和平移

在修復影像的小區域時是否遇到困難?將滑鼠懸停在左上角的資訊圖示上,即可檢視縮放和平移的鍵盤快捷鍵。

image-20240411122224989

  • Alt + 滾輪 / Opt + 滾輪:進行放大和縮小。

  • Ctrl + 滾輪:調整畫筆大小

  • R:重置縮放。

  • S:進入/退出全屏模式。

  • 按住F鍵並移動滑鼠進行平移

這些快捷鍵在SketchInpaint Sketch中同樣適用。

Inpaint sketch

Inpaint sketch結合了Inpaint和sketch功能。它讓你可以像在sketch標籤頁中那樣繪畫,但隻影響mask部分的區域。其他的區域保持不變。還是剛剛的例子:

image-20240411122812971

Inpaint upload

Inpaint upload功能允許您上傳一個獨立的蒙版檔案,而不是手動繪製它。

Batch

使用批處理可以對多張圖片進行修復或進行影像轉換。

從影像中獲取Promot

Interogate CLIP 按鈕會對您上傳到 img2img 選項卡的影像進行猜測,並生成提示。當您想生成一個不知道提示詞的影像時,這將非常有用。

步驟 1:轉到 img2img 頁面

步驟 2:將影像上傳到 img2img 選項卡

步驟 3:點選 Interrogate CLIP 按鈕。

image-20240411123104368

在提示文字框中會顯示這個圖片的提示詞。

Interrogate DeepBooru 按鈕提供類似的功能,但它是專為動漫影像設計的。

影像放大

之前我們在文生圖裡面提到了有一個Hire.fix的功能可以實現影像放大的效果。

如果不是在文生圖中,webUI也提供了一個非常有用的影像放大功能。你可以在Extras tab中找到它。

基本用法

按照以下步驟來放大影像。

步驟1:導航到extras頁面。

步驟2:上傳影像到影像畫布。

步驟3:在調整大小標籤下設定按比例縮放因子。新影像將會按比例放大。

步驟4:選擇Upscaler 1。比較通用AI影像放大器是R-ESRGAN 4x+。

步驟5:點選生成。您應該在右邊得到一張新的影像。

image-20240411123524703

影像放大器的種類

AUTOMATIC1111預設提供了一些影像放大器。

LanczosNearest是老式影像放大器。它們的功能不是很強大,但行為是可預測的。

ESRGANR-ESRGANScuNetSwinIR是AI影像放大器。它們可以透過創造內容來增加解析度。

在extra中還有一個upscaler2,透過使用它,你可以結合兩個影像放大器的效果。透過旁邊的visibility滑塊來控制混合的程度。

人臉修復

在放大過程中,你可以選擇進行人臉修復。

有兩個選項可供選擇:GFPGAN 和CodeFormer。勾選他們中的任何一個就可以開啟人臉修復功能了。

image-20240411155607444

PNG Info

如果AI影像是PNG格式,你可以嘗試檢視提示和其他設定資訊是否寫在了PNG後設資料欄位中。
首先,將影像儲存到本地。
開啟AUTOMATIC1111 WebUI。導航到PNG資訊頁面。

image-20240409232941011
將影像拖放到左側的畫布上。

上傳了影像的PNG資訊頁面。
在右邊你會找到關於提示詞的有用資訊。你還可以選擇將提示和設定傳送到txt2img、img2img、inpainting或者Extras頁面進行放大。

安裝擴充套件

image-20240411174357050

要在AUTOMATIC1111 Web UI中安裝擴充套件,請按照以下步驟進行:

  1. 正常啟動AUTOMATIC1111 Web UI。

  2. 轉到擴充套件頁面。

  3. 點選從URL安裝選項卡。

  4. 擴充套件git倉庫的URL欄位中輸入擴充套件的URL。

  5. 等待安裝完成的確認訊息。

  6. 重新啟動AUTOMATIC1111。(提示:不要使用“應用並重啟”按鈕。有時不起作用。完全關閉並重新啟動Stable Diffusion WebUI)

另外,在已安裝的擴充套件列表中,你也可以點選check for updates來對擴充套件進行升級。

image-20240411174516408

總結

好了,基本上所有的web UI操作說明都在這裡了。歡迎大家積極嘗試。

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

相關文章