2023-07-30|閱讀時間 ‧ 約 2 分鐘

Stable Diffusion進階 -- 水漬修復

有水漬的圖案

有水漬的圖案

今天要分享的是一個在重度使用inpaint跟loopback常遇到的問題,就是水漬清除。

當我們重複在同一個區域使用inpaint,尤其是配上loopback在一個區域內不停變動內容時,在inpaint遮罩的邊緣,會不斷累積微小的色差,當次數多了,就會變成非常明顯的邊界線,如同上面這張圖,可以看到床上的棉被邊緣因為不斷的重繪,造成了一圈明顯的線條。

處理這個水漬痕跡的方法非常簡單,就是將出現線條的地方用inpaint再次重繪一次,就能重整圖像,把水漬清除掉。

首先將圖導入inpaint,再將出現水漬線條的地方圈選起來。然後使用0.3到0.4的Denosing strength來重繪。

如果重繪的成果會造成圖片變形成不喜歡的樣子的話,可以使用ControlNet的canny或者normal來固定圖片的形狀,畢竟我們的目的是修復圖片,不是替圖片增添新的細節。

圈選出現水漬的地方



inpaint設定,我使用0.4的Denoising strength

ControlNet設定,在此我使用Normal來固定

修復成果

上圖就是修復成果,可以看到醜陋的水漬痕跡消失了。有時候一次的inpaint依然不能消除水漬,那時可以用更大的Denosing strength來嘗試。但是在複雜區域的水漬,例如剛好切到手指的水漬痕跡,就可能要用繪圖軟體來處理才不會越弄越糟。

希望大家AI算圖愉快!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.