Stable Diffusion進階 -- 糊臉清晰化

Stable Diffusion進階 -- 糊臉清晰化

更新於 發佈於 閱讀時間約 6 分鐘

前言

偶而會碰到一種例子,就是在算圖時發現了一個很不錯的全身人物圖,當我將它放大之後,又想要抓個臉部特寫,卻發現人物的臉已經糊掉了。通常人物臉糊掉時,可以將面部的圖畫單獨剪出來,用幾種方法簡單修復看看:

  1. 使用Extra的Scale by,將人臉圖繼續放大,看看放大演算法能否修復模糊的線條。
  2. 使用ControlNet的Tile功能重新產生臉部細節。
  3. 用inpaint配合ControlNet的openpose以及depth一步一步慢慢修。

我以這張圖為例:

整個糊在一起的臉

整個糊在一起的臉

在這種情況下,我試過單純的Upscale,由於線條邊緣太過模糊,單純的AI放大演算法沒有辦法改善這張模糊的臉。

這時候還有兩種方法可以銳利化這張臉:

ControlNet Tile + Inpaint

本節實作細節由 修正細節:Inpaint + Tile Resample - Stable Diffusion 啟發,ControlNet的Tile Resample實在非常強大。

首先,在Inpaint將想要銳利化的地方選起來:

選取要銳利化的部分

選取要銳利化的部分

此時的Inpaint設定為

  • Masked content: original
  • Inpaint area: Only masked
  • Denoising strength: 0.3到0.5之間
Inpaint設定

Inpaint設定

然後啟動ControlNet,選擇Tile resample,將Control Weight降到0.5,但是Down Sampling Rate開到最大的8(也就是說,演算法會先將圖縮到八倍小,然後開始使用AI放大)。要注意到,這時候不用選圖放入ControlNet。

Tile Reasmple的設定

Tile Reasmple的設定

然後跑起來,有很大的機率會得到很不錯的結果!

效果非常良好的五官

效果非常良好的五官

ControlNet openpose/depth + Inpaint

當上述方法都沒用時,還有最原始的inpaint加上img2img的手工修臉法。

首先,將這張圖丟進Inpaint頁面下,然後把五官都選起來:

把臉選起來

把臉選起來

接著在Inpaint設定中,使用:

  • Masked content: original
  • Inpaint area: Only masked
  • Denoising strength: 0.45到0.6之間
Inpaint設定

Inpaint設定

在這個高的Denoising strength之下,角色的臉部可能會完全改變,為了不要讓她變臉,必須使用ControlNet的openpose和depth來鎖住角色的五官位置與大致輪廓:

ControlNet的openpose設定

ControlNet的openpose設定

ControlNet的depth設定

ControlNet的depth設定

在這邊還不要使用萬能Canny,因為這時角色的面部特徵還太模糊,既使用上Canny也抓不到角色完整的五官線條,反而會導致AI亂畫,弄出歪掉的五官。

接著開始算圖,每完成一張就檢查是否比上一張更接近自己想要的五官,同時不斷變動Inpaint的選取範圍以及Denosing strength。這邊就很像傳統的電繪藝術家,必須靠自己的判斷來決定是否算圖成功,以及下一步要改變哪些部位和力道強弱。

當面部清晰到一個程度之後,我們可以將第一個ControlNet的openpose設定改成canny,以得到更好的五官掌控:

openpose換成canny

openpose換成canny

此時可以降低Denoising strength到0.25到0.3之間,縮小inpaint的範圍到五官等需要細緻調整的範圍。

這樣再跑幾回,然後將完成圖拿到img2img再跑個幾次,將整張圖因為inpaint選取範圍變動造成的色差弭平,就能得到完成圖了:

面部清晰化的成果

面部清晰化的成果

比較一下之前與之後的五官,尤其是眼珠上的反光與上下睫毛,就會發現效果相當明顯。

這是一招非常耗費時間與專注力的方法,是在Upscale與ControlNet Tile都無法修補時的最終手段。

祝大家AI算圖愉快!


進階技巧目錄:

avatar-img
子不語怪・力・亂・神
27.3K會員
430內容數
寫奇幻小說,畫圖,心得,各式各樣作品的故鄉。
留言
avatar-img
留言分享你的想法!
今天要聊聊一個我最近AI作圖時常用的手法,就是使用真實世界的照片拼接縫合進AI生產的圖片後,補完AI作圖常出現的缺陷(歪曲的武器、錯誤的肢體姿勢、手指錯誤)。 使用這個方法,可以讓AI更貼近我所需要的完成圖,且少了很多用繪圖軟體修修補補的時間。
最近這幾天都在玩Stable Diffusion近期最火紅的外掛 -- AnimatedDiff。最近加上了prompt travel這個功能,加上新的v2模型讓整體畫面變得很穩定,所以一玩下去驚為天人,決定好好研究這個東西怎麼運作。
本篇要來解說一個最近新增的ControlNet前置處理器dw_openpose_full,如何使用它來快速修正爛掉的雙手手指。 這些方法的基礎都是使用實際的參考物,例如人偶網站的手,或者手指姿勢網站的手姿勢圖片來覆蓋掉原本的手,
今天要聊聊一個我最近AI作圖時常用的手法,就是使用真實世界的照片拼接縫合進AI生產的圖片後,補完AI作圖常出現的缺陷(歪曲的武器、錯誤的肢體姿勢、手指錯誤)。 使用這個方法,可以讓AI更貼近我所需要的完成圖,且少了很多用繪圖軟體修修補補的時間。
最近這幾天都在玩Stable Diffusion近期最火紅的外掛 -- AnimatedDiff。最近加上了prompt travel這個功能,加上新的v2模型讓整體畫面變得很穩定,所以一玩下去驚為天人,決定好好研究這個東西怎麼運作。
本篇要來解說一個最近新增的ControlNet前置處理器dw_openpose_full,如何使用它來快速修正爛掉的雙手手指。 這些方法的基礎都是使用實際的參考物,例如人偶網站的手,或者手指姿勢網站的手姿勢圖片來覆蓋掉原本的手,