AI繪畫:Stable Diffusion 提示詞高階技巧(二)多人圖

你「Stable diffusion WebUI 」進行AI繪畫時,是不是發(fā)現(xiàn)SD對多人畫面的識別總是天馬行空,沒有按照你的提示詞進行繪圖?今天作者將分享如何通過提示詞提高多人圖的抽卡率。讓SD繪制多人畫面不再靠抽卡。
在上一篇分享?Stable Diffusion 提示詞高階用法(一)中,作者已經(jīng)介紹了在Stable-diffusion中,不使用任何插件或模型,僅通過提示詞(Prompt)的某些高階寫法進行單角色的畫面控制技巧。在本次分享中,作者將承接上一篇的內(nèi)容,介紹通過提示詞的高階用法、以及通過“區(qū)域提示詞(Regional Prompter)”的使用達到雙人圖或者某些特定場景的SD繪制圖片的90%出圖率的方式。

僅用提示詞 - 繪制多人圖
與上一篇分享一樣,作者依舊將通過一個案例進行雙人圖撰寫的說明,在這個案例中,作者將使用統(tǒng)一的SD參數(shù)配置,隨機數(shù)種子,模型選擇以及硬件環(huán)境,僅改變“提示詞”的部分。
場景案例:張曉曉和王宇下班后走在街上。
因為模型是無法識別“張曉曉”和“王宇”是什么,所以作者對“林雨萌”“王宇”進行了角色定義。
張曉曉:女孩,紅色眼鏡,棕色長發(fā),口紅,紅色襯衣,
王宇:男孩,黃色眼睛,黃色短發(fā),黃色職業(yè)裝,單手插兜,
場景:街邊,看著鏡頭,
得到的畫面描述:
1girl, long brown hair, lipstick, red eyes, red shirt, lipstick,1boy, short yellow hair, yellow eyes, yellow suit, hands in pocket,street_background, looking at viewer,
作者的畫質(zhì)描述詞:
dynamic pose, dynamic angle,(masterpiece:1. 4, best quality), unity 8k wallpaper, ultra detailed, beautiful and aesthetic, perfect lighting,detailed background, realistic,
先看看常規(guī)組合是一個什么效果(作者的批次數(shù)設(shè)為9,即一鍵生成9張圖)。正面提示詞:
1girl, brown long hair, lipstick, red eyes, red shirt, lipstick,1boy, yellow short hair, yellow eyes, yellow suit, hands in pocket, street_background,looking at viewer, dynamic pose, dynamic angle,(masterpiece:1. 4, best quality), unity 8k wallpaper, ultra detailed, beautiful and aesthetic, perfect lighting,detailed background, realistic,
得到的畫面:

可以發(fā)現(xiàn):
9張圖中,沒有1張是雙人圖,都是單人圖。這是為什么呢?
因為提示詞中,并沒有對畫面的人數(shù)進行要求,模型在讀取這段提示詞中,無法判斷出這個畫面中需要的是1個人,還是2個人?;谶@個原因。
請記?。?/strong>在生成多角色圖片時,切記要設(shè)置“角色數(shù)量”。如:
2個女孩:2girls 一對男女:2people\(1girl and 1boy\), 一只狗和一個女孩:2characters\(1girl and 1dog\),
注:角色設(shè)置中的“注釋”用法介紹請看:提示詞高階用法:注釋
作者增加了一個提示詞“角色人數(shù)”后,正面提示詞:
2people\(1girl and 1boy\), 1girl, brown long hair, lipstick, red eyes, red shirt, lipstick,1boy, yellow short hair, yellow eyes, yellow suit, hands in pocket, street_background, looking at viewer, dynamic pose, dynamic angle,(masterpiece:1. 4, best quality), unity 8k wallpaper, ultra detailed, beautiful and aesthetic, perfect lighting, detailed background, realistic,
得到的畫面:

可以發(fā)現(xiàn):
9張圖中,只有2張圖出現(xiàn)了雙人。抽卡概率不到20%。
出現(xiàn)的2張雙人圖,僅保證了性別是男和女,其他的特征描述都相互污染了。
SD給出這樣的結(jié)果,原因是雖然提示詞中寫明了“2個人”,但是并未分別對兩個人物進行各自特定的描述(雖然提示詞中我們通過先后順序區(qū)分了女孩和男孩的描述,但SD不是這樣理解的)。這里作者使用在第一篇內(nèi)容中的介紹的"提示詞加權(quán)"和"and"格式再對提示詞進行一次優(yōu)化后。
正面提示詞:
2people, (1girl and brown long hair and red eyes and lipstick and red shirt), slim body,(1boy and yellow short hair and yellow eyes and hands in pocket and yellow business_suit),street_background, looking at viewer, dynamic pose, dynamic angle,(masterpiece:1.4, best quality), unity 8k wallpaper, ultra detailed, beautiful and aesthetic, perfect lighting, detailed background, realistic,
得到的畫面:

可以發(fā)現(xiàn):
9張圖中,已經(jīng)有6張圖出現(xiàn)了雙人。抽卡概率接近60%
出現(xiàn)的6張圖,僅保證了男和女,其他的特征描述依舊是相互污染了。
如果單用提示詞,不用其他任何輔助手段,目前作者在大量實踐后,60%~65%的概率是可以得到多人圖,但如果對顏色、動作、服飾、背景道具等特征有指定要求時,抽卡率會大幅度降低。那怎么辦呢?
這里作者推薦使用區(qū)域提示詞(Regional Prompter)的方式來進一步提高抽卡概率。
市面上也有其他解決方案,比如最為大家熟悉的“ControlNet+Openpose”的方式,以及“Multidiffusion”,“ Latent Couple”等插件方式?!癈ontrolNet+Openpose”方式雖然學(xué)習(xí)成本低,但使用成本較高,需要一些參考圖。后兩種雖然使用成本不高,但學(xué)習(xí)成本高,上手難。
而今天作者介紹的區(qū)域提示詞的方式,學(xué)習(xí)成本低,且使用成本也不高。
區(qū)域提示詞 - 繪制多人圖
先讓我們看一下上述提示詞在使用區(qū)域提示詞(Regional Prompter)的方式后的生成效果和抽卡概率。

可以發(fā)現(xiàn):
連續(xù)生成的9張圖中,全部出現(xiàn)了雙人。雙人圖抽卡概率100%
每張圖都保證左右的男女位置恒定,且對服裝款式,發(fā)型等明顯特征都被固定了。
圖1和圖6完全按照提示詞要求進行圖片生成。
使用區(qū)域提示詞(Regional Prompter)來進行SD的AI繪畫是不是很nice?下面作者將介紹這個插件的使用方式和如何利用這個插件進行上述案例的提示詞書寫。
1.安裝方式

Regional Prompter 插件的下載地址:https://github.com/hako-mikan/sd-webui-regional-prompter
你可以將這個插件下載后,放在Stable-Diffusion-WebUI的本地存儲的插件文件夾中。重啟SDWebUI后,就可以在插件模塊中看到這個插件了。
2.參數(shù)簡介

在文生圖頁面的插件區(qū)域中,首先單擊打開“Regional Prompter”這個插件。我們可以看到上圖這樣的一個參數(shù)配置模塊。作者將簡單介紹一下這里的參數(shù)作用。
生成模式:Generation modeAttention 模式 和 Latent 是兩種不同的生成模式,作者并不是深度學(xué)習(xí)的從業(yè)者,對底層原理并不是很了解。就不在這班門弄斧了。作者只能通過實踐總結(jié)一下這兩個模式的區(qū)別。
Attention 模式:生成的圖像畫面具有更好的一致性,生成的速度也更快。耗時大概是Latent 模式的三分之一。
Latent 模式:生成的圖像畫面,分區(qū)更為明顯。如果你想在分區(qū)使用LoRA時,建議選擇這個模式。如果你想生成一些具有沖擊感的畫面時,Latent更加合適。
區(qū)域提示詞:Region Prompt,各個區(qū)域?qū)?yīng)子提示詞。
公共提示詞:Common Prompt,各個區(qū)域中重復(fù)的提示詞,即代表公共提示詞。公共提示詞常用于描述畫質(zhì)畫風。
基礎(chǔ)提示詞:Base Prompt,基礎(chǔ)提示詞是根據(jù)基礎(chǔ)比率,插入到各個區(qū)域提示詞中?;A(chǔ)提示詞常用于描述背景和場景。使用基礎(chǔ)提示詞需要用到基礎(chǔ)比率(base Ratio)?;A(chǔ)比率默認是 0.2,代表生成的圖像將包含 20%*BASE PROMPT + 80%*REGION PROMPT?;A(chǔ)比率可以指定每個區(qū)域的基礎(chǔ)提示詞的權(quán)重。
分割模式:Divide mode,分割方式分為“水平分割(horizontal)”和“垂直分割(Vertical)”;分割維度分為“一維分割”和“二維分割”。分割方法是通過分割比率(Divide Ratio)進行的。
比如你在分割比率中輸入1,1,1,圖像將被分為三個相等的區(qū)域(33,3%, 33,3%, 33,3%);如果輸入3,1,1,圖像將被分為60%、20%和20%。為了獲得最大的精度,你可以輸入與高度/寬度(分別為垂直/水平模式)相對應(yīng)的像素值。
如果你要啟用二維分割,你可以使用;分隔符來自動激活 2D 區(qū)域模式。例如:
你選中水平分割(horizontal);并在分割比率(Divide Ratio)輸入:1,1,1,1;2,1,2
代表:
你將畫面分為兩行,兩行的高度比為“1:2”; 第一行分為三列,三列的寬度比為“1:1:1”; 第二行分為兩列,兩列的寬度比為“1:2”。
本篇因為不使用蒙版模式和提示詞模式,因此將不會進一步介紹。有興趣的朋友,可以留言給作者,看情況是否要單獨開一篇分享一些使用技巧和經(jīng)驗。
3.操作方法

第一步:啟動“Regional Prompter”插件服務(wù)。即勾選“Active”;
第二步:選擇生成模式,因為作者要生成的圖片的背景是需要有連貫性的,所以在“Generation mode”選擇“Attention”;
第三步:選擇使用公共提示詞,勾選“Use common prompt”,其他不用勾選;
第四步:因為作者的雙人場景是左右布局的,所以在split mode 選中“Horizontal”;
第五步:基于作者的意愿將畫布分為左右兩個等寬的區(qū)域,將“Divide Ratio”設(shè)為“1,1”,
第六步:點擊“visualize and make template” ,如上圖所示,生成一個水平分成兩個相等區(qū)域的畫布。并標記子區(qū)域的編號。
可以看到畫布被分為藍紅兩個區(qū)域,紅色區(qū)域標記為0,藍色區(qū)域標記為1,并且在左側(cè)的模板展示區(qū)域(template)中顯示:“ADDCOMM”和“ADDCOL”。那提示詞應(yīng)該怎么寫呢?書寫格式:
公共提示詞部分,
ADDCOMM 藍色區(qū)域提示詞部分,
ADDCOL 紅色區(qū)域提示詞部分,
基于上文的案例,作者在正面提示詞中輸入下面的內(nèi)容:
2people\(1boy and 1girl\),walking,(street_background:1.3),(looking at viewer), dynamic pose, dynamic angle,(masterpiece:1.4, best quality), unity 8k wallpaper, ultra detailed, beautiful and aesthetic, perfect lighting,detailed background, realistic,?
BREAK?
1girl, red long hair and red eyes and (red shirt:1.3), BREAK 1boy, yellow short hair and yellow eyes and ?(yellow suit:1.3) and hands in pocket,
得到畫面:

可以看到區(qū)域提示詞的強大之處了吧。
在作者又給男女角色添加了對應(yīng)LoRA模型后,最終得到了下面這樣的效果。

區(qū)域提示詞不光在雙人場景圖中效果顯著,在某些特定需求的繪圖場景中,依然非??孔V,比如以下2張圖都是使用區(qū)域提示詞生成的。
御龍少年:Attention 模式&垂直分割

機甲少女:Latent 模式&水平分割

少女與狗:Attention 模式&水平分割

下期預(yù)告
對于多人場景的Stable Diffusion 提示詞就介紹到這,下一篇將會介紹Stable Diffusion 中另一個很多人都遇到的痛點問題「LoRA模型固定角色的話題」。你可能在使用LoRA模型時總會因為LoRA的特點影響到畫面原本的溝通,導(dǎo)致你可能需要不停的找新的LoRA模型去實驗。作者將會從另一個角度去介紹LoRA模型的使用“LoRA模型的區(qū)域調(diào)用”。
