在stable diffussion中完美修復AI圖片

flydean發表於2024-09-09

無論您的提示和模型有多好,一次性獲得完美影像的情況很少見。

修復小缺陷的不可或缺的方法是影像修復(inpainting)。在這篇文章中,我將透過一些基本示例來介紹如何使用影像修復來修復缺陷。

需要的軟體

我們將使用 AUTOMATIC1111 Stable Diffusion GUI 來建立影像。

基本的影像修復設定

在這一部分,我將逐步展示如何使用影像修復來修復小缺陷。

我們先使用下面的提示來建立一張圖片:

正向提示詞:

masterpiece,best quality,masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,a beautiful woman,full body,

負向提示詞:

lowers,monochrome,grayscales,skin spots,acnes,skin blemishes,age spot,6 more fingers on one hand,deformity,bad legs,error legs,bad feet,malformed limbs,extra limbs,

我們可以得到下面的圖片:

image-20240703201556791

雖然這張圖片整體上看起來還不錯,但是還是有一些問題。

比如臉部和手部。

那麼接下來我們怎麼修復呢?

選擇對應的模型

如果你經常瀏覽C站的話,你可以看到對於有些模型會有一種專門給重繪使用的模型,這種模型是專門為影像修復而訓練的Stable Diffusion模型。

如果您想獲得最佳結果,可以使用它。但通常,使用生成影像的相同模型進行影像修復也是可以的。

我們把對應的模型下載下來,並將其放入資料夾中:

stable-diffusion-webui/models/Stable-diffusion

在AUTOMATIC1111中,點選左上角檢查點選擇下拉框旁邊的重新整理圖示,就可以看到你剛剛下載的模型了。

建立影像修復遮罩

在AUTOMATIC1111 GUI中,選擇img2img標籤並選擇Inpaint子標籤。將影像上傳到影像修復畫布。

或者在txt2img標籤中選擇send img to inpaint。

我們將同時修復手部和臉部。使用畫筆工具建立一個遮罩。這是您希望Stable Diffusion重新生成影像的區域。

image-20240703202118650

影像修復的設定

影像大小

需要調整影像大小以與原始影像相同。(在這種情況下為768 x 512)。

image-20240703202219551

面部修復

如果您正在修復面部,可以開啟restore faces。選擇對應的face restoration model:CodeFormer。

image-20240703202529557

有朋友會問了,為什麼我的頁面上面沒有restore faces選項呢?

如果你沒有這個選項的話,需要到setttings裡面的user interface新增下面的兩個設定:

image-20240703202501548

請注意,此選項可能會生成不自然的外觀。它也可能生成與模型風格不一致的內容。

遮罩內容

下一個重要設定是Masked Content

如果您希望結果由原始內容的顏色和形狀引導,請選擇original

original通常用於面部影像修復,因為一般形狀和解剖結構是正確的。我們只是希望它看起來有點不同。

在大多數情況下,您將使用original並更改去噪強度以實現不同的效果。

如果您想要從原始影像中完全重新生成某些內容,例如移除一個肢體或隱藏一隻手,可以使用latent noiselatent nothing

這些選項使用與原始影像不同的內容初始化遮罩區域。它將產生完全不同的東西。

去噪強度

去噪強度控制與原始影像相比將進行多少變化。當您將其設定為0時,什麼都不會改變。當您將其設定為1時,您將獲得一個不相關的影像。0.75通常是一個很好的起點。如果您想要更少的變化,請降低它。

批次大小

確保一次生成一些影像,以便您可以選擇最好的。將種子設定為-1,以便每個影像都不同。

影像修復結果

以下是一些修復後的影像。

image-20240703204340543

可以看到第四張還是不錯的,但是還不夠完美。所以我們可以考慮再來一輪修復。

再進行一輪影像修復

把上面生成的最後一張圖片再發到inpait中再次修復。

我們可以得到下面的結果:

image-20240703204936210

影像修復是一個迭代過程。您可以根據需要多次應用它來細化影像。

如果一次不行的話,我們可以考慮多來幾次。

新增新物件

有時,您可能希望在影像中新增一些新東西。

讓我們嘗試在圖片中新增一把劍。

首先,將影像上傳到影像修復畫布並在手部的位置新增遮罩。

在原始提示的開頭新增“holding a sword”。影像修復的提示是

(holding a sword:1.5),masterpiece,best quality,masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,a beautiful woman,full body,

向原始提示中新增新物件確保風格一致。您可以調整關鍵詞權重(上面的1.5)以使寶劍顯示。

遮罩內容設定為潛在噪聲

調整去噪強度CFG比例以微調修復後的影像。

經過一些實驗,我們的任務完成了:

image-20240703210315083

影像修復引數的解釋

去噪強度

去噪強度控制最終影像和原始內容的相似度。將其設定為0則什麼都不會改變。將其設定為1,則您會得到一個不相關的影像。

如果您想要小的變化,請設定為低值;如果您想要大的變化,請設定為高值。

CFG scale

類似於在文字到影像中的使用,CFG scale是一個引數,用於控制模型和你的提示詞的關聯度。

1 – 大致忽略您的提示。

3 – 更有創造力。

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

15 – 更多地遵循提示。

30 – 嚴格遵循提示。

遮罩內容

遮罩內容控制遮罩區域是如何初始化的。

fill:用原始影像的高度模糊版本初始化。

Original:未修改。

latent noise:遮罩區域用填充初始化,並在潛在空間中新增隨機噪聲。

latent nothing:像潛在噪聲,只是沒有在潛在空間中新增噪聲。

影像修復的技巧

成功的影像修復需要耐心和技巧。以下是使用影像修復的一些要點:

  • 一次修復一個小區域。
  • 嘗試不同的遮罩內容以檢視哪個最有效。
  • 可以多次嘗試修復。
  • 如果在AUTOMATIC1111的設定中什麼都不起作用,請使用像Photoshop或GIMP這樣的影像編輯軟體,用您想要的大致形狀和顏色繪製感興趣的區域。上傳那張影像並用原始內容進行影像修復。

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

相關文章