AI繪畫:Stable Diffusion Web UI(六)圖生圖的基礎(chǔ)使用②局部重繪Inpaint
本次記錄圖生圖界面局部重繪/Inpaint和局部重繪手涂蒙版/Inpaint sketch的主要功能。
非技術(shù)大佬,如有錯(cuò)誤,純屬正常。
前面幾篇有需要的新手小伙伴可以去合集中看看:
(一)Windows本地搭建
(二)插件及模型安裝
(三)基礎(chǔ)使用教程
(四)模型推薦
(五)圖生圖的基礎(chǔ)使用1
????????前面說了img2img和 sketch特點(diǎn)是全圖重繪,不管你添加了哪個(gè)部位的提示詞,他都會(huì)把全圖畫一遍,尤其是重繪強(qiáng)度較高的時(shí)候,不但沒有到達(dá)我們想要的效果,還把我們不想改的地方也畫的亂七八糟。
????????Inpaint和Inpaint sketch就是為了解決這個(gè)問題存在的,他們的特點(diǎn)就是只重繪我們標(biāo)記的地方,也就是局部重繪。
此次試驗(yàn)的模型來自civitai,@rqdwdw的Counterfeit-V2.5,因?yàn)槲覜]有下載修復(fù)模型,所以下面的修復(fù)都是使用原模型
1、先看界面
1.1、局部重繪/Inpaint

①縮放模式,(五)里說過了
????????不同的地方在于,縮放模式和尺寸針對(duì)的是全圖,其他參數(shù)則是針對(duì)的蒙版,為了減少影響,在inpaint模式,我們盡量選擇和原圖相同的尺寸。
②蒙版參數(shù)
蒙版
????????首先了解蒙版,在PS里,蒙版是一種特殊的遮罩,它是附著在原圖之上。對(duì)蒙版的操作會(huì)影響原圖的可見性,但是并不會(huì)實(shí)際的改變?cè)瓐D。它有三個(gè)顏色,黑、白和不同程度的灰(可能是叫灰?),黑色會(huì)遮擋住原圖,使原圖這一部分消失,也可以說使原圖不可見、變透明;白色附加到原圖上,沒有任何變化,原圖可見;灰色會(huì)使原圖猶抱琵琶半遮面,變部分透明。
????????在PS中,這是一張?jiān)瓐D↓

它實(shí)際上有兩層,只不過底下的背景層被她覆蓋了看不到↓

現(xiàn)在在原圖上建立一個(gè)蒙版,分別畫了黑、白和黑白漸變(為了白色便于觀察,我用黑框圈起來)↓

加上蒙版后就是下面的效果↓
黑色部分變透明,露出了綠色;白色部分沒有變化;灰色部分變成部分透明。

↑原圖看起來已經(jīng)被改的面目全非,但是實(shí)際上并沒有任何實(shí)際改變,只要取消掉蒙版,它就會(huì)恢復(fù)成原來的美女,綠色也會(huì)重新被美女遮擋住。
再舉個(gè)不是很恰當(dāng)?shù)睦樱?/span>
????????現(xiàn)在有一張畫,我們稱它為原畫。原畫里有一串葡萄我想換成桃子,但是我又不能直接在原畫上面改。這是第一層。
????????于是我找來一張透明的紙覆蓋在原畫上,在葡萄的地方涂黑,這樣原畫上的葡萄就不見了。這是第二層。
????????然后我又找來一張透明的紙蓋在剛才的透明紙上,在黑色的地方畫了個(gè)桃子,但是桃子畢竟不是葡萄的形狀,我還要再畫一點(diǎn)別的東西把剩余黑色也擋住,還要考慮和原畫的融合。這是第三層。
????????三層疊加起來,就是原畫上的葡萄變成了桃子。
在Inpaint中,大概也是這么個(gè)流程:↓

我們需要重點(diǎn)知道的內(nèi)容:
蒙版的黑色畫筆并不是一種真的顏色,它是一片代表透明(不可見)屬性的區(qū)域;
原圖+蒙版+預(yù)處理+重繪加起來就是我們最后看到的出圖內(nèi)容;
導(dǎo)入原圖后,旁邊有個(gè)黑色畫筆,用來畫蒙版?!?/span>

為了便于觀察,以下重繪強(qiáng)度均設(shè)為0,無提示詞。
先看
?蒙版蒙住的內(nèi)容/Masked content:
????????我們知道被涂抹的內(nèi)容已經(jīng)不可見,上面的ps的示例中是綠色的背景出現(xiàn)在了不可見的地方。SD中并沒有背景圖層,它是給出了填充、原圖、潛變量噪聲和潛變量數(shù)值零四項(xiàng)內(nèi)容供我們選擇一個(gè)拿去填補(bǔ)蒙版區(qū)域:↓

這是一個(gè)預(yù)處理的步驟,
填充:使用蒙版邊緣圖像的顏色填充,不過顏色已經(jīng)被高度模糊;
原圖:原來是什么樣就是什么樣;
潛變量:一個(gè)是使用噪點(diǎn),零值可能就是噪點(diǎn)的值為零?

↑可以看到,填充、潛變量和原來的畫面一點(diǎn)關(guān)系都沒有,適合用來生成新東西;原圖模式保留了原畫面,更適合用來小改、修飾。
????????到這我們就能知道,畫筆只是一個(gè)用來標(biāo)記區(qū)域的工具,后面SD會(huì)根據(jù)我們此處的選擇和提示詞進(jìn)行重繪,重繪的效果怎么樣,這四個(gè)選項(xiàng)是關(guān)鍵的一步。
蒙版模糊/Mask blur:

蒙版模糊可能是添加的高斯模糊。高斯模糊,它會(huì)使圖像漸變式的透明,從而達(dá)到自然銜接的效果。
下圖是高斯模糊的效果:↓

可能白色背景不大明顯,看下透明背景:↓

蒙版模糊就是將我們涂抹區(qū)域,從邊緣向中間透明過渡。
數(shù)值較小的時(shí)候,邊緣柔和,可以更好的和原圖融合;
值越大,可見的重繪范圍越小,如果大于我們涂抹的范圍,則重繪完全消失(透明)。
如下圖:↓

增加重繪強(qiáng)度重繪看一下,截圖不大標(biāo)準(zhǔn),可以參照左右下角的物體比較↓

注1:64像素并不是極限,最后會(huì)不會(huì)消失,和我們涂抹的大小有關(guān)。如下圖,也是64,但是變化很小。↓

注2:有多個(gè)涂抹區(qū)域時(shí),每個(gè)涂抹區(qū)域是單獨(dú)處理的,并不是作為一個(gè)整體去模糊?!?/span>

重繪區(qū)域變小,其余部分是沒了么?并不是,蒙版反而還變大了。如下圖,
????????上:模糊后,涂抹的實(shí)際范圍;下:它們對(duì)應(yīng)的選區(qū),相當(dāng)于我們能看到的重繪區(qū)域:↓

????????隨著模糊數(shù)值增大,可見選區(qū)變小了,實(shí)際上的結(jié)果卻是蒙版變大了,更像是擴(kuò)散了。
????????雖然并沒有啥用,畢竟邊緣的透明度太高,根本不會(huì)有重繪內(nèi)容,AI的重繪還是集中在選區(qū)那么大范圍。
????????(說實(shí)話,蒙版模糊除了拿來減少手涂的誤差,我實(shí)在還想不到可以拿來干嘛)
????????但是這個(gè)變大效果在重繪區(qū)域中選擇使用僅重繪蒙版選項(xiàng)的時(shí)候會(huì)造成重大影響,后面再說。
注:前面說過的填充、原圖、潛變量四個(gè)預(yù)處理選項(xiàng),它們是跟著蒙版一起走的,同樣也會(huì)被這一步模糊處理。
蒙版模式:

這個(gè)簡(jiǎn)單,分別是重繪涂抹區(qū)域和重繪涂抹以外的區(qū)域。在inpaint模式中使用并不多,比如:
屋子里有一個(gè)蘋果。我們想重繪蘋果,只要涂抹蘋果就可以了;
如果想重繪背景那需要涂抹的地方太多,只需要涂抹蘋果,然后此處重繪非蒙版就可以了。
重繪區(qū)域/Inpaint area:

全圖:
并不是img2img那種全圖重繪,它不會(huì)改變非蒙版區(qū)域的內(nèi)容,只是指蒙版在全圖架構(gòu)下進(jìn)行重繪。優(yōu)點(diǎn)就是內(nèi)容與原圖融合的更好,缺點(diǎn)是不夠細(xì)節(jié);
我們知道SD的繪圖,尺寸越大細(xì)節(jié)越多,圖像越精細(xì)。使用全圖選項(xiàng)的時(shí)候,我們涂抹的地方有多大,它就會(huì)在多大的地方重繪,很明顯那點(diǎn)地方是限制了它的發(fā)揮的;
因此全圖最好使用原圖模式,只拿來做改變顏色之類的小修小改。
僅蒙版:會(huì)把蒙版區(qū)域的尺寸拉高到原圖的尺寸進(jìn)行重繪,然后再放回去。優(yōu)點(diǎn)就是細(xì)節(jié)更好,缺點(diǎn)也是細(xì)節(jié)太多,與原圖融合的不夠好;
????????為了解決這個(gè)問題,下面的僅蒙版模式的邊緣預(yù)留像素,就是擴(kuò)大我們的蒙版區(qū)域,將一部分原圖的內(nèi)容放到蒙版里。當(dāng)然這部分內(nèi)容也不會(huì)被重繪,只是一個(gè)參考項(xiàng)。
例如,原圖是512*768,蒙版區(qū)域的尺寸是50*50。
當(dāng)使用全圖模式時(shí),就是以50*50的尺寸重繪;
使用僅蒙版時(shí),50*50會(huì)變成512*768,重繪完成后又會(huì)變成50*50;
假設(shè)僅蒙版模式的邊緣預(yù)留像素+20,那么蒙版就會(huì)從50*50向外擴(kuò)張20,變成70*70,再?gòu)?0*70變成512*768,最后再變成70*70,再去掉多余的20,變成50*50放回去。
以下是圖示:↓

僅限涂抹一處或多處很近的情況,像是最上和最下都有涂抹,那就和全圖差不多↓

注1:前面說過的蒙版模糊會(huì)對(duì)僅蒙版模式造成重大影響:
????????從預(yù)覽可以看出,蒙版模糊后實(shí)際上變大了的影響就是,相比正常的僅蒙版(右圖),數(shù)值較大的蒙版模糊相當(dāng)于加了許多像素的邊緣預(yù)留,結(jié)果也就比全圖模式好一點(diǎn):↓

注2:因?yàn)閮H蒙版模式細(xì)節(jié)提升,我們可以看到明顯的蒙版模糊效果,使用僅蒙版需要注意模糊數(shù)值:↓

③在(五)里說過了,其他的(三)里說過了
????????再單獨(dú)說下重繪強(qiáng)度,在img2img中,我們雖然需要較大的重繪強(qiáng)度,但是并不是一開始就選擇較大,而是一步步加上去,不然會(huì)嚴(yán)重破壞原圖。
????????在inpaint中,一開始就要設(shè)置較大的強(qiáng)度,特別是使用蒙版模式中的填充、潛變量的時(shí)候?!?/span>

1.2、手繪蒙版/Inpaint sketch
相比Inpaint,Inpaint sketch多了個(gè)蒙版透明度的選項(xiàng)↓

????????在inpaint模式中,畫筆只有黑色,如果有的選,甚至我們可以讓它是紅色藍(lán)色等等任何我們喜歡的顏色,因?yàn)樗淼囊黄瑓^(qū)域,和顏色沒關(guān)系;
????????在inpaint sketch中,畫筆可以選顏色了,而且確確實(shí)實(shí)的是什么顏色就是什么顏色,會(huì)影響到原圖。
再來分解一下:↓

蒙版透明度:

前面說的蒙版模糊也有透明的效果,這里又有個(gè)透明度,有什么區(qū)別呢?
蒙版模糊的透明度,是從涂抹邊緣開始的一種漸變效果,數(shù)值越大,越靠近涂抹中心;
蒙版透明度,是整個(gè)蒙版都帶透明度。↓

隨著蒙版透明度數(shù)值增加,畫筆顏色和預(yù)處理圖像的透明度都變高。
透明度越高,AI發(fā)揮的空間越??;
最先受到影響的是預(yù)處理圖像,基本上當(dāng)透明度大于60,預(yù)處理就會(huì)失去作用,也就是蒙版蒙住的內(nèi)容選項(xiàng)失去作用,AI不會(huì)重繪。如果同時(shí)使用了數(shù)值較大的蒙版模糊,這個(gè)數(shù)值會(huì)大大提前;
畫筆顏色的影響會(huì)持續(xù)到透明度90以上,但是因?yàn)闆]有重繪,只是看到一個(gè)顏色附加。同樣的,如果同時(shí)啟用模糊,顏色的影響也會(huì)提前消失。
蒙版蒙住的內(nèi)容選擇潛變量那兩個(gè)選項(xiàng)時(shí),畫筆顏色基本不會(huì)產(chǎn)生影響,相當(dāng)于沒有。
除此之外還有幾個(gè)情況:
蒙版透明度0,不影響預(yù)處理圖像,只代表畫筆顏色不產(chǎn)生效果。但是有幾個(gè)例外情況:
當(dāng)蒙版蒙住的內(nèi)容選擇填充且使用蒙版模糊時(shí)。我們知道蒙版模糊會(huì)讓涂抹會(huì)向外擴(kuò)散導(dǎo)致實(shí)際范圍變大,此時(shí)畫筆的顏色已經(jīng)向外擴(kuò)散,即使蒙版透明度為0,擴(kuò)散出去的顏色還是會(huì)造成影響;↓

當(dāng)蒙版蒙住的內(nèi)容選擇原圖,畫筆顏色會(huì)作為原圖內(nèi)容保留,透明度0不會(huì)使顏色消失;↓

蒙版透明度接近100,代表蒙版已經(jīng)透明,此時(shí)顏色和預(yù)處理的圖像都不會(huì)產(chǎn)生效果,出圖即是原圖,不會(huì)發(fā)生改變。
蒙版模式與蒙版蒙住的內(nèi)容:

依據(jù)前面的內(nèi)容:
當(dāng)蒙版模式選擇重繪蒙版內(nèi)容時(shí),圖像蒙住的內(nèi)容需要選擇填充和原圖;潛變量的兩個(gè)選項(xiàng)會(huì)導(dǎo)致畫筆顏色失去效果,因此潛變量適合重繪非蒙版內(nèi)容。
其他的選項(xiàng)參考inpaint就可以。
1.3、上傳蒙版/Inpaint upload
上傳蒙版的參數(shù)和局部重繪inpaint是一樣的,參照上面的就可以。
上傳的蒙版需要借助其他工具如PS的處理,相比直接手涂肯定是更精確;
上傳蒙版的蒙版在制作時(shí)可以設(shè)置部分透明的效果(不同程度的灰),還有邊緣的羽化等等。此時(shí)需要注意具有相同效果的蒙版模糊的使用;
需要注意的一點(diǎn)是,在上傳蒙版中,白色代表重繪,黑色代表不處理。也不用細(xì)分,如果弄錯(cuò)了,在蒙版模式中選擇重繪非蒙版就可以。
2、總結(jié)
上面的內(nèi)容雖然多,但是基本沒啥用。
畢竟大多數(shù)時(shí)候,我們只需要正確的選擇,而不是過多的選擇。
以下是簡(jiǎn)單的總結(jié):
局部重繪/Inpaint
蒙版蒙住的內(nèi)容:一般用原圖,無中生有用填充、潛變量
蒙版模糊:默認(rèn)或小于默認(rèn),手殘黨適當(dāng)上調(diào);
蒙版模式:一般默認(rèn)重繪蒙版;
重繪區(qū)域:簡(jiǎn)單的修改用全圖;需要更多細(xì)節(jié)用僅蒙版,細(xì)節(jié)過多就增加邊緣預(yù)留像素;
重繪強(qiáng)度:默認(rèn)或大于默認(rèn);
手繪蒙版/Inpaint sketch
蒙版蒙住的內(nèi)容:一般使用原圖,需要更多的變化選填充,重繪非蒙版內(nèi)容選潛變量;
蒙版模糊:建議2,手殘黨適當(dāng)上調(diào),小于默認(rèn);
蒙版透明度:按照需要顏色的程度調(diào)節(jié),最好不要超過40
上傳蒙版/Inpaint upload
如果蒙版有羽化或者模糊,蒙版模糊的數(shù)值0或2
白色代表重繪
3、簡(jiǎn)單的示例
3.1首先補(bǔ)充一個(gè)上次忘了說的擴(kuò)展腳本:Outpainting mk2

這是一個(gè)擴(kuò)展原圖的腳本,可以增大尺寸的同時(shí)最大可能的保證原圖樣式。
上面的參數(shù)按照推薦設(shè)置即可,需要注意尺寸的修改。原圖是512*768,我要把它擴(kuò)展成768*768,需要擴(kuò)展256,兩邊分一下就是128,其他參數(shù)默認(rèn),向外繪制選左右,先嘗試一下


100步的出圖:

并不是很好,預(yù)覽時(shí)看到過不錯(cuò)的,降低步數(shù)試一下。
效果不能說一般,只能說不大讓人滿意↓

嘗試了一下降低衰減指數(shù),結(jié)果出來兩堵墻....還是用1

最后又加了點(diǎn)提示詞,就這樣吧

3.2、局部重繪/inpaint

上圖,是我復(fù)制了別人的提示詞生成的?,F(xiàn)在我覺得旁邊的紙和筆不好,又不知道放啥好,就可以把它們涂抹掉,什么提示詞也不填,讓AI自己發(fā)揮。
注意,inpaint模式,重繪只針對(duì)蒙版,所以不需要原圖提示詞,比如下圖,我直接從文生圖發(fā)送過來,保留了提示詞,看看它會(huì)生成什么

是的,它按照原圖的提示詞生成了一個(gè)小人....
去掉原圖提示詞重新操作,
為了讓它更容易發(fā)揮,蒙版蒙住的內(nèi)容選潛變量噪聲,重繪強(qiáng)度選1;
重繪區(qū)域選僅蒙版,為了減少干擾,蒙版模糊2,邊緣預(yù)留選擇4↓
咱也不知道它是咋想的....↓

效果極差!現(xiàn)在輸入提示詞,
就讓它畫個(gè)貓貓頭吧↓ a cat,standing,playying ball

還湊合,但是陽光被破壞了,將潛變量切換成原圖↓

還有問題,因?yàn)槲覀兺磕ǖ膮^(qū)域太小,貓貓頭施展不開,所以把playying ball去掉重繪↓

第一張還可以,除了沒有尾巴,將第一張發(fā)送到inpaint,再給它加個(gè)尾巴↓

修改提示詞為 (cat tail:1.4) ,另外這個(gè)涂抹區(qū)域?qū)嵲谑翘×?,使用僅蒙版抬高尺寸肯定會(huì)出幺蛾子,所以使勁加大邊緣預(yù)留像素,我加到了128,無中生有,依然選潛變量

就第一張吧,順便讓我們看看第二張發(fā)生了什么


3.3、上傳蒙版/inpaint upload
去PS也不知弄啥蒙版,于是我想了個(gè)取巧辦法,直接用controlnet生成了一個(gè)深度圖做蒙版,真是機(jī)智

目標(biāo)是保留人物改變背景,所以選擇重繪非蒙版內(nèi)容,先按正常參數(shù)測(cè)試一下,讓AI自己發(fā)揮

出圖:

對(duì)比很強(qiáng)烈...
添加提示詞 masterpiece, best quality, RAW photo,park bench,outdoors,sky,landscape, 蒙版蒙住的內(nèi)容改為填充,重繪1

就這樣吧,能看就行...
3.4、手繪蒙版/inpaint sketch
這個(gè)實(shí)在不知道哪來干啥,隨便試一下吧




求點(diǎn)贊^_^