這篇心得Automatic1111 (A1111)/ Vlad Diffusion (Vlad)介面通用。
Stable Diffusion進入Image2Image的放大階段後,很少有算出來的成果是完全滿意的。如果是人物角色的話,最常出現不滿意的地方就是五官、手指等部位,這時就會需要把「近完成品」圖片導入「Inpaint」中,只重新運算需要修正的部位。
Inpaint基本設定
這次範例使用的設定如下圖所示:
圖中紅框說明:
Inpaint masked = 最後呈現的結果只修改有遮罩的部分
Only masked = 只運算遮罩的部分
1024、512 = 因為只運算遮罩的部分,所以這裡的長(Width)高(Height)數值只要考慮遮罩的大小和形狀。
*請注意:無論畫了多少個遮罩區塊,運算時都會視為一個整體,長x高的調整也是根據整體判斷。
遮罩就是塗黑的地方 - 請注意:是直接在Stable Diffusion中塗黑。
另外,Inpaint時-Prompts(負面提示詞)可以保留,但+Prompts(正面提示詞)不需要保留原本的--不如說不保留原本的才是正確的作法,例如我這次調整眼睛時使用的+Prompts如下:
即便如此,Inpaint時也往往需要碰運氣,而且Denoising Strength數值太小修正不了多少,可數值達到0.5以上又常常矯枉過正,例如下面的情況:
這時ControlNet 1.1版提供的Tile Resample就派上用場了。
Tile Resample
在測試過幾種Tile Resample/ControlNet的設定後,最終我採用的設定如下:
Control Weight從預設的1下調至0.5,讓Stable Diffusion有更多的自由度。
Down Sampling Rate則拉至最高的8,也是為了提高自由度。
最終成果如下:
最後附上整張圖:
Tile Resample的更多相關資訊,請參閱我撰寫的
另一篇心得。