[AI繪畫]分步渲染及循環(huán)迭代

在上篇的權重基礎中我們已經(jīng)提到過“融合”這一概念。最近,通過對webui的代碼解讀,我們對之前使用的“豎線融合”有了新的認知,同時我們也了解到了只在webui上生效的分布渲染方法。
循環(huán)繪制
[A | B]
兩個或者多個關鍵詞之間加 | 可以表示循環(huán)繪制:
例如[cat | dog]
這個句式的基本邏輯是先畫一步cat再畫一步dog,按照這樣的順序循環(huán)畫下去。
這個邏輯可以一直延伸下去:
[A | B | C | D |E | F .......]
即畫一筆A,再畫一筆B,再畫一筆C,?······
而對于帶步數(shù)權重的循環(huán)繪制[A:w1 | B:w2],在11月1日的元素同典中表示只有naifu生效,而webui中只是被當做數(shù)字讀取,而另一種[(A:w1) | (B:w2)]雖然能讀取權重,但是只是對權重的調(diào)整,不能起到調(diào)整繪畫步驟的效果
即:在naifu中可以通過cat:2|dog:3,大致上實現(xiàn)先畫2步cat再畫3步dog這樣的循環(huán)方式。
而這webui中,(cat:2)|(dog:3)會被讀作 第一步(cat:2),第二步(dog:3)這樣的權重效果。
在簡單使用[cat | dog]的時候可以起到混合圖形的效果。可以寫成cat:0.2|dog 這樣來修改混合比例,這個比例最大100,可以是負值,負數(shù)的話可能會產(chǎn)生不可控的相反的效果 cat:1|happy:-0.2|cute:-0:3(備注:這一小段寫于10月20日前,目前可能已經(jīng)發(fā)生了變化

雖然很怪,但是還是能看出貓和狗的變化。。。好吧還是不要隨便嘗試煉成術
prompt matrix中的豎線
根據(jù)wiki的描述,這一方法需要開啟prompt matrix才能生效,但是實際過程中好像沒有收到限制。

反而如果開啟后,會先跑一張豎線前所有prompts的圖,再跑一張包含豎線后全部prompts的圖。如:1girl, black idol dress|red hanfu, wet clothes.
在開啟prompt matrix后,第一張圖只會執(zhí)行1girl,black idol dress。第二張圖會執(zhí)行1girl, black idol dress, red hanfu, wet clothes.

實際看這種方法與直接融合的方法還是有少許區(qū)別

tips:有一個很有趣的現(xiàn)象,漢服的領子不會打濕
畫風融合
一張圖中,同時存在兩種畫風,一次成型基本是不能做到的,ai會把畫風融合起來,另外如果用inpaint和img2img進行二次處理也是比較難做到畫風修正

同時一幅畫里有兩種畫風的不同物體也是比較難做到的,ai會盡力讓兩個畫風出現(xiàn),但是能不能出現(xiàn)在要求的物體上就不好說了

?
分步渲染
分步渲染是使用webui獨有的語法在同一個繪圖中分別繪制不同的prompt。該方法目前建立在10月20日之后更新的webui基礎上。
該語法為:
[A:B:step]
(這里面有兩個冒號,分別表示A與B內(nèi)容的分段,和賦值步數(shù)長度)
這個語法具體表示為“在執(zhí)行到step前,先繪制A的內(nèi)容,之后再繪制B的內(nèi)容”
step為大于1的整數(shù)時表示步數(shù),為小于1的正小數(shù)時表示總步數(shù)的百分比。
比如a girl with [white idol dress:red hanfu:0.2]會在前20%步數(shù)被視為a girl with white idol dress,在后80%步數(shù)被視為 a girl with red hanfu。
我們可以將其視為,ai在畫了一部分white idol dress后,再在white idol dress的基礎上畫red hanfu。
由此延伸出這個方法的兩種額外寫法:
[?:B:step] 將A設置為空,即只在step后繪制B的內(nèi)容
[A:?:step]?將B設置為空,即只繪制A的內(nèi)容直到step
所以這個方法非常適合“在物體上雕花”。比如我先畫一件濕衣服,再畫出深色的內(nèi)衣(誤)如果這個過程中濕衣服和內(nèi)衣的順序反了,那就只會在內(nèi)衣上加點濕衣服元素。所以這個語句的使用還要考慮到里面兩個物體的繪畫先后順序。
另外,根據(jù)目前的使用經(jīng)驗來看,在[ ]方括號內(nèi)部添加其他括號或者權重調(diào)整時,請反復檢查括號的使用。
值得注意的是,分布渲染在繪制時存在一定的延后性,例如該圖設定人物渲染50步,背景渲染后50步。但是可以看見人物的渲染在60步時才基本完全結束。這里猜測ai對人物的判定大概注意在面部,而頭發(fā),裝飾等細節(jié)都可能被判斷為環(huán)境而繼續(xù)進行渲染。(左側為使用[人物::50], 右側為[人物::0.5])

(extremely detailed CG unity 8k wallpaper),(((masterpiece))), (((best quality))), ((ultra-detailed)), (best illustration),(best shadow), ((an extremely delicate and beautiful)),dynamic angle,floating,
solo,[(impasto:1.3),(a detailed cute loli with red eyes and long wavy curly white_color_hair with single ponytail with gold Headdress and star earrings and wear detailed gorgeous white dress with gold patterns and lace), (beautiful detailed eyes:1.2),(cute face:1.2),expressionless, (medium breast:1.2),blush,(upper body, thigh),(colorful splashes:1.3): :0.5],
[:((flat color),(bright colorful background),(((high saturation))),(surrounded by colorful splashes),((surrounded by colorful dot)),surrounded by colorful flowers,(shining),Malt Syrup):0.5]
負面為一般負面tags
參數(shù)
Steps: 100, Sampler: Euler, CFG scale: 6, Seed: 2200146686, Size: 1024x512, Model hash: e6e8e1fc, Clip skip: 2, ENSD: 31337
那么,有了分步渲染,我們是不是就能做到畫風融合了呢?
答:目前的結果依舊不樂觀。
分步渲染的時候,如果長時間對一個目標進行渲染了,比如話我先對人物進行渲染,這個過程中ai可能會丟棄掉人物周圍的噪聲點,這就導致了輪到背景開始渲染時,已經(jīng)沒有足夠的噪聲供給了,就會出現(xiàn)很簡單的背景。


提前對背景開始渲染,可以讓背景更豐富一點。

提高了CFG?scale后,ai變得死板,對噪聲清除變快,使得背景更加單調(diào)。

基本看不到提升,分步渲染的時候?qū)︿秩緦ο笸獾脑肼暻宄炝恕??!?/p>
背景預留式的分步邏輯
那換一個思路,我能不能一開始就給背景留一點渲染空間呢。這就像是人繪畫的時候先打個草稿一樣,把大致的色彩都先抹好,然后再來“加點細節(jié)”。
答案是可以的,這樣確實會提升背景的豐富度。當然一開始的噪聲改變了,人物也會改變。

在頭50步對人物進行渲染,我們使用?[A:?:step]:
solo,[(impasto:1.3),(a detailed cute loli with red eyes and long wavy curly white_color_hair with single ponytail with gold Headdress and star earrings and wear detailed gorgeous white dress with gold patterns and lace), (beautiful detailed eyes:1.2),(cute face:1.2),expressionless, (medium breast:1.2),blush,(upper body, thigh),(colorful splashes:1.3): :0.5],
(請關注該段末尾的符號使用。不要學習這里的人物描寫長句,這個長句有巨大的問題。with的鏈接性及其不可靠,造成了大量的元素污染,長句建議也只用and連接)
同時在頭10步渲染背景,留下噪點:
[((flat color),(bright colorful background),(((high saturation))),(surrounded by colorful splashes),((surrounded by colorful dot)),surrounded by colorful flowers,(shining),Malt Syrup):?:0.1],
后50步單獨渲染背景,我們使用?[?:B:step]:
[:((flat color),(bright colorful background),(((high saturation))),(surrounded by colorful splashes),((surrounded by colorful dot)),surrounded by colorful flowers,(shining),Malt Syrup)?:0.5]
完整的時間線邏輯如下

這還是CFG=11的情況,那么把CFG調(diào)回到6呢

似乎能夠在一定程度上豐富了細節(jié)

這背景是好看了,元素污染及其嚴重,這是未進行元素綁定的問題。
關于元素綁定,我們有強短句和長句兩種方法來綁定;
強短句是利用大寫的AND來鏈接詞匯,長句就是根據(jù)語言邏輯來寫一個完整的描述。
這部分內(nèi)容在彩虹糖果女孩tags分析中有進行表述。

對強短句內(nèi)容進行一點修正。AND的優(yōu)先級很高,在長括號里面會影響括號的權重調(diào)整(削弱權重效果)。優(yōu)先用短括號對詞組包裹。

回到畫風融合的問題。。實際上我們大概能得到一丁點相似的地方,比如背景描述中的平涂小花。但是依舊很難實現(xiàn)在整個平涂背景上畫出一個厚涂的角色。。。。


更多資料:
【騰訊文檔】AI繪畫——深度教程
https://docs.qq.com/doc/DQ3ZJSGFmeVpWc2ta