前言
偶而會碰到一種例子,就是在算圖時發現了一個很不錯的全身人物圖,當我將它放大之後,又想要抓個臉部特寫,卻發現人物的臉已經糊掉了。通常人物臉糊掉時,可以將面部的圖畫單獨剪出來,用幾種方法簡單修復看看:
- 使用Extra的Scale by,將人臉圖繼續放大,看看放大演算法能否修復模糊的線條。
- 使用ControlNet的Tile功能重新產生臉部細節。
- 用inpaint配合ControlNet的openpose以及depth一步一步慢慢修。
我以這張圖為例:
在這種情況下,我試過單純的Upscale,由於線條邊緣太過模糊,單純的AI放大演算法沒有辦法改善這張模糊的臉。
這時候還有兩種方法可以銳利化這張臉:
ControlNet Tile + Inpaint
首先,在Inpaint將想要銳利化的地方選起來:
此時的Inpaint設定為
- Masked content: original
- Inpaint area: Only masked
- Denoising strength: 0.3到0.5之間
然後啟動ControlNet,選擇Tile resample,將Control Weight降到0.5,但是Down Sampling Rate開到最大的8(也就是說,演算法會先將圖縮到八倍小,然後開始使用AI放大)。要注意到,這時候不用選圖放入ControlNet。
然後跑起來,有很大的機率會得到很不錯的結果!
ControlNet openpose/depth + Inpaint
當上述方法都沒用時,還有最原始的inpaint加上img2img的手工修臉法。
首先,將這張圖丟進Inpaint頁面下,然後把五官都選起來:
接著在Inpaint設定中,使用:
- Masked content: original
- Inpaint area: Only masked
- Denoising strength: 0.45到0.6之間
在這個高的Denoising strength之下,角色的臉部可能會完全改變,為了不要讓她變臉,必須使用ControlNet的openpose和depth來鎖住角色的五官位置與大致輪廓:
在這邊還不要使用萬能Canny,因為這時角色的面部特徵還太模糊,既使用上Canny也抓不到角色完整的五官線條,反而會導致AI亂畫,弄出歪掉的五官。
接著開始算圖,每完成一張就檢查是否比上一張更接近自己想要的五官,同時不斷變動Inpaint的選取範圍以及Denosing strength。這邊就很像傳統的電繪藝術家,必須靠自己的判斷來決定是否算圖成功,以及下一步要改變哪些部位和力道強弱。
當面部清晰到一個程度之後,我們可以將第一個ControlNet的openpose設定改成canny,以得到更好的五官掌控:
此時可以降低Denoising strength到0.25到0.3之間,縮小inpaint的範圍到五官等需要細緻調整的範圍。
這樣再跑幾回,然後將完成圖拿到img2img再跑個幾次,將整張圖因為inpaint選取範圍變動造成的色差弭平,就能得到完成圖了:
比較一下之前與之後的五官,尤其是眼珠上的反光與上下睫毛,就會發現效果相當明顯。
這是一招非常耗費時間與專注力的方法,是在Upscale與ControlNet Tile都無法修補時的最終手段。
祝大家AI算圖愉快!
進階技巧目錄: