Stable Diffusion 教學 - Restore faces
本篇文章介紹 Stable Diffusion web UI 的 Restore faces 功能,能達到修復臉部的效果。
功能區塊
在文生圖和圖生圖的頁面,採樣方法的下面可以找到 Restore faces 的選項,勾起來就可以使用。
設定
在設定下的 Face restoration 頁簽,有更多的設定可以使用
Face restoration model
主要有兩種 model 可以選擇:
- CodeFormer
- GFPGAN
這些模型原本是用來把模糊的照片變清晰,而在文生圖或圖生圖時使用的話,會在產生圖片後進行後處理。
CodeFormer weight
使用 CodeFormer 還可設定權重,這邊和直覺相反,數字越大效果越小。可以設定 0 - 1,預設 0.5。
額外設定
除了 Face restoration 頁簽外,在 Saving images/grids 頁簽下面還有一個設定和 Restore faces 有關,在下面找到選取方塊
1 | Save a copy of image before doing face restoration. |
勾起後會另外儲存一份處理前的原始圖片。
實驗結果
這裡簡單進行幾種不同的測試看效果差異
照片一
原始 | CodeFormer | GFPGAN |
---|---|---|
可以看到 CodeFormer 讓原本看起來奇怪的五官變得比較好看,GFPGAN 則維持比較扭曲的狀態。兩種方式都嘗試讓臉部附近清晰,頭髮看起來有比較高的銳化效果,反而不如原本的自然。
照片二
原始 | CodeFormer | GFPGAN |
---|---|---|
雖然原始圖片已經很清晰,但眼睛部分看起來不正常,修正後眼睛看起來比較自然。同樣頭髮部分紋理變得清晰,在這個距離下看起來比較自然。最後值得一提的是眉毛的部分,原始圖片有點八字眉,CodeFormer 修正後把八字眉修不見,變得比較好看,而 GFPGAN 則保留了這個特徵。
動漫
原始 | CodeFormer | GFPGAN |
---|---|---|
由於原本是處理模糊照片的模型,所以只適用於有出現真人臉部的時候才有作用,對於動漫是沒有效果的。
所以圖片是動漫之類,沒有真人臉部就不用開啟這功能。使用 Lora 要產生特定人物時,有可能被修正後反而變得比較不像。而出現像照片一的臉部扭曲的圖片時,使用 Inpaint 或提升解析度處理其實效果更好。
延伸閱讀
上一篇 Stable Diffusion 教學 - web UI Extra Networks
下一篇 Stable Diffusion 教學 - Tiling