本篇文章介紹 Stable Diffusion web UI 的 Restore faces 功能,能達到修復臉部的效果。

功能區塊

在文生圖和圖生圖的頁面,採樣方法的下面可以找到 Restore faces 的選項,勾起來就可以使用。
功能區塊

設定

在設定下的 Face restoration 頁簽,有更多的設定可以使用
設定

Face restoration model

主要有兩種 model 可以選擇:

  1. CodeFormer
  2. 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.

勾起後會另外儲存一份處理前的原始圖片。

實驗結果

這裡簡單進行幾種不同的測試看效果差異

照片一

原始CodeFormerGFPGAN
原始CodeFormerGFPGAN

可以看到 CodeFormer 讓原本看起來奇怪的五官變得比較好看,GFPGAN 則維持比較扭曲的狀態。兩種方式都嘗試讓臉部附近清晰,頭髮看起來有比較高的銳化效果,反而不如原本的自然。

照片二

原始CodeFormerGFPGAN
原始CodeFormerGFPGAN

雖然原始圖片已經很清晰,但眼睛部分看起來不正常,修正後眼睛看起來比較自然。同樣頭髮部分紋理變得清晰,在這個距離下看起來比較自然。最後值得一提的是眉毛的部分,原始圖片有點八字眉,CodeFormer 修正後把八字眉修不見,變得比較好看,而 GFPGAN 則保留了這個特徵。

動漫

原始CodeFormerGFPGAN
原始CodeFormerGFPGAN

由於原本是處理模糊照片的模型,所以只適用於有出現真人臉部的時候才有作用,對於動漫是沒有效果的。

所以圖片是動漫之類,沒有真人臉部就不用開啟這功能。使用 Lora 要產生特定人物時,有可能被修正後反而變得比較不像。而出現像照片一的臉部扭曲的圖片時,使用 Inpaint 或提升解析度處理其實效果更好。

延伸閱讀

上一篇 Stable Diffusion 教學 - web UI Extra Networks
下一篇 Stable Diffusion 教學 - Tiling