我是Everest無限悟
探索AI領(lǐng)域的設(shè)計(jì)師
對體驗(yàn)過AI繪畫的朋友們來說,提示詞可以說是耳熟能詳了,目前市面上的AI繪圖工具基本都是圍繞著文生圖的基本功能展開的。不過相較于其他工具,Stable Diffusion的在咒語編寫上會(huì)具有技巧性,相信大家在學(xué)習(xí)過程中都遇到過類似問題:復(fù)制別人的咒語但效果卻很差、咒語的控圖效果不理想、加了關(guān)鍵詞但繪圖結(jié)果卻沒有體現(xiàn)等。
老規(guī)矩,提神時(shí)刻!
01
關(guān)于文生圖
文生圖是Stable Diffusion中的一種繪圖模式,它可以通過選擇不同的模型、填寫提示詞和設(shè)置參數(shù)來生成我們想要的圖片。下面是文生圖的基礎(chǔ)操作流程:
1.選擇模型:在文生圖界面中,你可以從可用的模型列表中選擇一個(gè)適合你需求的模型。不同的模型有不同的畫風(fēng)和特點(diǎn),可以根據(jù)你的喜好和需求進(jìn)行選擇。
2.填寫提示詞:在文生圖界面中,你需要填寫一些提示詞來指導(dǎo)生成的圖片內(nèi)容。這些提示詞可以是具體的物體、場景或者是一些抽象的概念,根據(jù)你的提示詞,模型會(huì)盡量生成符合你要求的圖片。
3.設(shè)置參數(shù):文生圖界面中還提供了一些參數(shù)設(shè)置選項(xiàng),你可以根據(jù)需要進(jìn)行調(diào)整。這些參數(shù)可以影響圖像的預(yù)設(shè)屬性,如顏色、飽和度、清晰度等,可以根據(jù)自己的需求進(jìn)行調(diào)整。
4.點(diǎn)擊生成:完成上述步驟后,你可以點(diǎn)擊生成按鈕來生成圖片。模型會(huì)根據(jù)你選擇的模型、填寫的提示詞和設(shè)置的參數(shù)來生成一張圖片,你可以在生成結(jié)果中進(jìn)行查看和調(diào)整。
關(guān)于模型需要講解的內(nèi)容有很多,我會(huì)在后面的文章中單獨(dú)進(jìn)行介紹,今天我們重點(diǎn)關(guān)注提示詞的寫法以及各種設(shè)置參數(shù)的功能和含義,準(zhǔn)備好了嗎,下面讓我們正式開始吧~
02
提示詞的基本語法
如今,大部分模型都是基于英文訓(xùn)練,因此輸入的提示詞大多只支持英文,中間也會(huì)夾雜了各種輔助模型理解的數(shù)字和符號(hào)。由于AI繪圖無需經(jīng)歷手繪、攝影等過程就能憑空生成圖片,國內(nèi)最早一批AI愛好者貼切的將AI繪畫過程比作施展魔法,提示詞就是我們用來控制魔法的咒語,參數(shù)就是增強(qiáng)魔法效果的魔杖。
2.1 基礎(chǔ)書寫規(guī)范
相較于簡單易上手的Midjourney,Stable Diffusion的咒語上除了prompt(正向關(guān)鍵詞)外,還有Negative prompt反向關(guān)鍵詞。顧名思義,正向提示詞用于描述想要生成的圖像內(nèi)容,而反向關(guān)鍵詞用于控制不想出現(xiàn)在圖像中的內(nèi)容,比如目前很多模型還無法理解的手部構(gòu)造,為了避免出現(xiàn)變形,我們可以提前在反向關(guān)鍵詞中輸入手部相關(guān)的提示詞,讓繪圖結(jié)果規(guī)避出現(xiàn)手的情況。不過目前很多反向提示詞都已經(jīng)集成到Embedding模型中,使用時(shí)只需輸入模型觸發(fā)詞即可,在后續(xù)的文章中我會(huì)詳細(xì)介紹。
前面我們提到Stable Diffusion只支持識(shí)別英文提示詞,因此大家務(wù)必記住全程在英文輸入法下進(jìn)行輸入,模型是無法理解中文字符的。但好消息是我們不用像學(xué)習(xí)英語時(shí)那樣遵照嚴(yán)格的語法結(jié)構(gòu),只需以詞組形式分段輸入即可,詞組間使用英文逗號(hào)進(jìn)行分隔。除了部分特定語法外,大部分情況下字母大小寫和斷行也不會(huì)影響畫面內(nèi)容,我們可以直接將不同部分的提示詞進(jìn)行斷行,由此來提升咒語的可讀性。
在Stable Diffusion中,提示詞默認(rèn)并不是無限輸入的,在提示框右側(cè)可以看到75的字符數(shù)量限制。不過不用擔(dān)心內(nèi)容過長的問題,作者A41大佬提前在WebUI中預(yù)設(shè)好了規(guī)則,如果超出75個(gè)參數(shù),多余的內(nèi)容會(huì)被截成2段內(nèi)容來理解。注意這里表示的并非75個(gè)英文單詞,因?yàn)槟P褪前凑諛?biāo)記參數(shù)來計(jì)算數(shù)量的,一個(gè)單詞可能對應(yīng)多個(gè)參數(shù)。
此外,提示詞的內(nèi)容并非越多越好,過多的提示詞會(huì)導(dǎo)致模型在理解時(shí)出現(xiàn)語意沖突的情況,難以判斷具體以哪個(gè)詞為準(zhǔn),并且我們的繪圖過程往往會(huì)根據(jù)出圖效果不斷修飾提示詞內(nèi)容,太多內(nèi)容也會(huì)導(dǎo)致修改時(shí)難以精確定位目標(biāo)關(guān)鍵詞。
看到這里,你可能會(huì)擔(dān)心提示詞的編寫過程會(huì)非常復(fù)雜。但實(shí)際上,SD的繪圖過程是非常自由的。提示詞的作用是引導(dǎo)和輔助模型的繪圖過程,并非硬性要求,即使你的輸入框沒有填寫任何內(nèi)容,模型依舊可以為你畫出一張圖來,甚至可能效果還不錯(cuò)。
但如果想成為專業(yè)的魔法師,遵循一套標(biāo)準(zhǔn)的書寫規(guī)范還是很有必要的:一方面完整且內(nèi)容豐富的提示詞可以讓我們更好的控制最終出圖效果,另一方面在后期微調(diào)過程中,也可以快速修改和驗(yàn)證特定關(guān)鍵詞對出圖結(jié)果的影響。
下面我會(huì)為大家介紹如何編寫一段優(yōu)雅的魔法咒語。
2.2 提示詞的萬能公式
一段能被模型清楚理解的好咒語首先應(yīng)該保證內(nèi)容豐富充實(shí),描述的內(nèi)容盡可能清晰。這個(gè)過程就像是甲方給我們布置任務(wù),如果只說設(shè)計(jì)一張圖,不說圖中放什么,也不提圖片是用來干嘛,我們會(huì)一臉懵逼無從下手。同理,Stable Diffusion在繪制圖片時(shí)需要提供準(zhǔn)確清晰的引導(dǎo),提示詞描述的越具體,畫面內(nèi)容就會(huì)越穩(wěn)定。
在下面的例子中,如果我只是簡單的寫上【A girl】,對于畫面中女孩著裝、場景、鏡頭角度等內(nèi)容都沒有提及,Stable Diffusion只能根據(jù)模型訓(xùn)練時(shí)的歷史經(jīng)驗(yàn)自行發(fā)揮。得益于模型的強(qiáng)大,我們得到的繪圖結(jié)果都還不錯(cuò),但如果對畫面內(nèi)容有特定要求,這樣抽獎(jiǎng)的方式就效率很低了。
在下面的例子中,我們對提示詞內(nèi)容進(jìn)行了豐富,描述了具體的場景和畫面構(gòu)圖等信息后,出圖結(jié)果明顯穩(wěn)定了許多。
當(dāng)然如果每次都是想到什么輸什么,畫面中可能還是會(huì)缺失很多信息,這里給大家分享一下我自己平時(shí)使用的提示詞公式,按順序分別為:主體內(nèi)容、環(huán)境背景、構(gòu)圖鏡頭、圖像設(shè)定、參考風(fēng)格。后續(xù)在編寫咒語時(shí)可以按照一下類目對號(hào)入座,會(huì)更加規(guī)范和易讀。當(dāng)然網(wǎng)絡(luò)上也有許多其他博主分享的咒語公式,內(nèi)容都大同小異,只要能滿足出圖需求即可。
需要注意的是,公式只是參考,并非每次編寫咒語我們都要包含所有內(nèi)容,正常的流程應(yīng)該是先填寫主體內(nèi)容看看出圖效果,再根據(jù)自己的需求來做優(yōu)化調(diào)整。
下面我們具體看下每個(gè)部分的信息,先說主體內(nèi)容 ,這里是用于描述畫面的主體內(nèi)容,比如說是人或者動(dòng)物,人物的著裝、表情,動(dòng)物的毛發(fā)、動(dòng)作等,物體的材質(zhì)等。一般同一畫面中的主體內(nèi)容不要超過2個(gè),Stable Diffusion對多個(gè)物體的組合生成能力較弱,如果對畫面內(nèi)容有特定要求,可以先挨個(gè)生成主體素材進(jìn)行拼合,然后用controlNet插件約束進(jìn)行出圖。
其次是環(huán)境背景 ,這個(gè)很好理解,就是設(shè)定周圍的場景和輔助元素,比如天空的顏色、四周的背景、環(huán)境的燈光、畫面色調(diào)等,這一步是為了渲染畫面氛圍,凸顯圖片的主題。
構(gòu)圖鏡頭 主要用來調(diào)節(jié)畫面的鏡頭和視角,比如強(qiáng)調(diào)景深,物體位置等,黃金分割構(gòu)圖、中全景、景深。
圖像設(shè)定 是增強(qiáng)畫面表現(xiàn)力的常用詞匯,我們經(jīng)常在一些驚艷的真實(shí)系A(chǔ)I圖片中看到比如增加細(xì)節(jié)、攝影畫質(zhì)、電影感等詞,可以一定程度上提升畫面細(xì)節(jié)。但注意最終圖像的分辨率和精細(xì)度主要還是由圖像尺寸來決定的,而本地運(yùn)行的Stable Diffusion支持的繪圖尺寸很大程度決定于顯卡性能。如果電腦顯卡算力跟不上,再多的關(guān)鍵詞也彌補(bǔ)不了硬件差距,當(dāng)然在Stable Diffusion中也有一些實(shí)現(xiàn)高清修復(fù)的小技巧,我會(huì)在后面的文章中為大家介紹。
最后就是參考風(fēng)格,用于描述畫面想呈現(xiàn)的風(fēng)格和情緒表達(dá),比如加入藝術(shù)家的名字、藝術(shù)手法、年代、色彩等。其實(shí)參考風(fēng)格關(guān)鍵詞在Stable Diffusion中使用的并不多,平時(shí)我們出圖,多數(shù)情況下都是先選好特定風(fēng)格的模型,然后根據(jù)模型作者提供的觸發(fā)詞強(qiáng)化風(fēng)格。因?yàn)樵赟table Diffusion中,圖像風(fēng)格基本是由模型決定的,如果此前該模型并沒有經(jīng)過藝術(shù)風(fēng)格關(guān)鍵詞的訓(xùn)練,是無法理解該藝術(shù)詞含義的。
因此,大家如果對圖像風(fēng)格有要求,最好還是直接使用對應(yīng)風(fēng)格的模型來繪圖,會(huì)比單純使用提示詞有效的多。
你可能會(huì)奇怪,為什么參考風(fēng)格的關(guān)鍵詞在Midjourney中效果會(huì)格外明顯,這是由基礎(chǔ)模型決定的。Midjourney調(diào)用的是官方服務(wù)器的超大模型,里面容納了海量的訓(xùn)練數(shù)據(jù),經(jīng)過包羅萬象的AI學(xué)習(xí)后基本各類風(fēng)格的提示詞都能理解,這也是為什么Midjourney如今的出圖效果基本都很驚艷的原因。另一個(gè)典型的例子就是當(dāng)我們在Midjourney中選擇Niji模型時(shí),即使加入高保真、3D等詞匯,最終的出圖效果也都是二次元畫風(fēng)的原因。
當(dāng)然,如果每次編寫咒語時(shí)都要背一次公式也太過麻煩。這里我搜集了網(wǎng)絡(luò)上各類關(guān)鍵詞,并結(jié)合自己使用經(jīng)驗(yàn)整理了一套自用關(guān)鍵詞文檔,里面有3k+中英文對照詞匯,大家平時(shí)在輸入提示詞時(shí)可以查找對應(yīng)詞條,基本能涵蓋日常大多數(shù)的使用場景了,如果大家需要的話可以在公眾號(hào)后臺(tái)回復(fù)【關(guān)鍵詞寶典】獲取。
最后再提一點(diǎn),我們最終的出圖結(jié)果是由提示詞、繪圖模型和參數(shù)等共同決定的,不同模型對提示詞的敏感度也不同,因此大家盡量結(jié)合模型特點(diǎn)靈活控制提示詞的內(nèi)容,比如對寫實(shí)類模型可以多使用真實(shí)感等詞匯,對二次元風(fēng)格模型多使用卡通插畫等詞匯。
03
高階語法技巧
看到這里,你已經(jīng)掌握了Stable Diffusion提示詞的基礎(chǔ)書寫規(guī)則。但WebUI的強(qiáng)大并不止于此,作者“貼心”的為我們預(yù)設(shè)了很多更加高階的玩法,掌握這些技巧可以讓你更高效的控制模型出圖,下面就是本篇文章的高能部分,記得做好筆記哦~
上圖中我為大家整理匯總了Stable Diffusion常用語法的格式和功能說明,WebUI的高階語法包括:強(qiáng)調(diào)關(guān)鍵詞、分步繪制、停止繪制、打斷提示詞、鏈接提示詞、交替繪制、提示詞轉(zhuǎn)義,由于是我自己理解后命名的功能,和作者的英文翻譯會(huì)有部分差異,大家重點(diǎn)關(guān)注其語法和實(shí)際效果即可。
其中有些字符平時(shí)使用頻率不高,這里也給大家提供鍵盤上對應(yīng)字符按鍵的位置標(biāo)注,以作參考。
3.1 強(qiáng)調(diào)關(guān)鍵詞
先來看看強(qiáng)調(diào)關(guān)鍵詞,這應(yīng)該是使用最為頻繁的語法了。強(qiáng)調(diào)關(guān)鍵詞是依賴?yán)ㄌ?hào)和數(shù)值來控制特定關(guān)鍵詞的權(quán)重,當(dāng)權(quán)重?cái)?shù)值越高,說明模型對該關(guān)鍵詞更加重視,在運(yùn)行過程中模型就會(huì)著重繪制該部分的元素,在最終成像時(shí)圖片中就會(huì)體現(xiàn)更多對應(yīng)信息。反之?dāng)?shù)值越低,則最終圖片中對應(yīng)內(nèi)容會(huì)展示的更少。
控制關(guān)鍵詞的括號(hào)共有三種類型:圓括號(hào)()、花括號(hào){}和方括號(hào)[],分別表示將括號(hào)內(nèi)關(guān)鍵詞的權(quán)重調(diào)整到原有的1.1倍、1.05倍和0.9倍。其中花括號(hào){}平時(shí)很少會(huì)使用,一般都是用圓括號(hào)()和方括號(hào)[]。
需要注意的是,這里括號(hào)是支持多層疊加的,每層括號(hào)都表示乘以固定倍數(shù)的權(quán)重。
以下面這張圖為例,默認(rèn)情況下女孩的發(fā)色會(huì)是紅色和金色結(jié)合成的橘紅色,而當(dāng)【blonde hair】加上表示提高權(quán)重的圓括號(hào)時(shí),模型對金發(fā)部分的繪制會(huì)加強(qiáng),最終圖像里就出現(xiàn)更多金色的頭發(fā)。
反之,【blonde hair】加上表示降低權(quán)重的方括號(hào)時(shí),金發(fā)部分被減弱,模型在繪制時(shí)就會(huì)優(yōu)先關(guān)注剩下的關(guān)鍵詞【red hair】,所以最終圖像里出現(xiàn)更多紅色的頭發(fā)。
除了直接加括號(hào)外,還有一種更常用的控制權(quán)重方法,那就是直接填寫數(shù)值。
舉個(gè)例子,下圖默認(rèn)情況下頭發(fā)是呈現(xiàn)白、金、紅三種顏色,如果我們在【white hair】后面設(shè)置權(quán)重為0.9,表示白發(fā)部分的權(quán)重降低為原來的0.9倍,則最終圖像里白發(fā)部分的繪制會(huì)明顯降低。
同理,我們增加紅發(fā)和金發(fā)關(guān)鍵詞的權(quán)重時(shí),對應(yīng)發(fā)色就會(huì)被加強(qiáng)。
雖然強(qiáng)調(diào)關(guān)鍵詞語法支持的權(quán)重范圍在0.1~100之間,但是過高和過低的權(quán)重都會(huì)影響出圖效果,因此建議大家控制在0.5~1.5范圍即可。
這里還有個(gè)快捷操作的小技巧,就是選中對應(yīng)關(guān)鍵詞后,按住ctrl+?? / ??,可以快速增加和減少權(quán)重?cái)?shù)值,默認(rèn)每次修改0.1,可以在設(shè)置中修改默認(rèn)數(shù)值。
3.2 分步繪制
分步繪制在官方文檔中的稱呼是漸變繪制,但實(shí)際體驗(yàn)下來感覺叫做分步繪制會(huì)更好理解。該語法的原理是通過參數(shù)來控制整個(gè)繪制過程中用于繪制特定關(guān)鍵詞的步數(shù)占比,語法格式如下:
關(guān)于迭代繪制步數(shù)我會(huì)在下面的參數(shù)設(shè)置中詳細(xì)介紹,這里大家可以通過下面的例子來理解分布繪制語法的功能。
分布繪制可以控制畫面中不同元素的融合比例,在上面的圖片中可以看到,隨著沙漠在采樣迭代步數(shù)中占比的提升,接著繪制的森林元素已很難影響畫面主體內(nèi)容,基本都是沙漠元素。
3.3 停止繪制
停止繪制和分步繪制的原理相同,都是控制模型運(yùn)行時(shí)繪制特定內(nèi)容的步數(shù)占比。兩者的區(qū)別在于:停止繪制只針對畫面中單個(gè)關(guān)鍵詞,并且是先繪制特定元素再移除,字符用的是2個(gè)冒號(hào)。
同樣,我們結(jié)合下面的案例中來理解停止繪制語法的效果。
結(jié)合分步繪制和停止繪制的案例來看,在Stable Diffusion中模型繪制圖像內(nèi)容并非按照完美百分比的步驟進(jìn)行繪制,畫面內(nèi)容在前面20步左右時(shí)已基本定型,后續(xù)的迭代步數(shù)更多是豐富細(xì)節(jié),基本不會(huì)再添加或減少主體內(nèi)容。
因此,對于需要優(yōu)先展示的重要內(nèi)容,大家盡量控制在迭代前期便開始繪制,否則后續(xù)很難在畫面中體現(xiàn)。
3.4 打斷提示詞
打斷的語法非常簡單,也很好理解,就是在提示詞之間加上關(guān)鍵詞【BREAK】,它的作用時(shí)打斷前后提示詞的聯(lián)系,在一定程度上減少提示詞污染的情況。
Stable Diffusion模型在理解提示詞時(shí),并非像人類一樣逐字逐句的閱讀,而是會(huì)結(jié)合上下文內(nèi)容來統(tǒng)一理解,這就導(dǎo)致在運(yùn)行過程中有時(shí)候會(huì)出現(xiàn)前后關(guān)鍵詞相互影響的情況,也就是我們俗稱的污染。
通過加入【BREAK】,可以打斷前后提示詞的聯(lián)系,模型會(huì)將前后內(nèi)容分為2段話來理解,以下面這張圖為例,可以看到我們在對女孩的服裝進(jìn)行了顏色指定,其中褲子的顏色被領(lǐng)帶污染成了紅色。而當(dāng)我們在中間加入【BREAK】后,污染就被解除了,褲子呈現(xiàn)了正確的藍(lán)色。
3.5 融合提示詞
融合語法和打斷正好相反,是將前后提示詞的內(nèi)容聯(lián)系起來,模型在繪制時(shí)就會(huì)關(guān)聯(lián)前后的元素特征,最終呈現(xiàn)出具備融合圖像的特征。它的關(guān)鍵詞是【AND】
到這里有的朋友可能會(huì)問,模型本身就是將一段提示詞結(jié)合起來理解,為什么要額外加上【AND】呢?看完下面這個(gè)例子就很好理解了,可以發(fā)現(xiàn)如果只是通過逗號(hào)分隔,模型繪制時(shí)只是簡單將黃色和綠色進(jìn)行填充拼接,而加上【AND】后,模型會(huì)將黃色和綠色當(dāng)作一個(gè)詞來理解,最終繪制出草綠色。
我們都知道黃色和綠色融合會(huì)呈現(xiàn)出草綠色,而模型在訓(xùn)練時(shí)有針對該內(nèi)容進(jìn)行深度學(xué)習(xí),因此當(dāng)【AND】鏈接前后關(guān)鍵詞后就會(huì)將其以草綠色來理解,最終呈現(xiàn)出融合顏色的效果。
融合語法是非常強(qiáng)大的功能,顏色混合是其中一個(gè)方面的應(yīng)用,大家在日常使用時(shí)可以靈活嘗試。
3.6 交替繪制
除了融合外,還有一種語法也可以實(shí)現(xiàn)關(guān)鍵詞融合的效果,那就是交替繪制。語法格式如下:
這里我們直接使用官方的案例來理解該語法的效果。通過觀察迭代過程中的圖像效果可以發(fā)現(xiàn),模型在繪制時(shí)每一步迭代后都會(huì)切換用于繪制的關(guān)鍵詞,而在這個(gè)過程中圖像內(nèi)容也被逐漸固定,最終呈現(xiàn)出又像牛又像馬的融合怪。
雖然同樣是融合元素特征,但在原理上交替繪制和融合有本質(zhì)區(qū)別:【交替】每步繪制時(shí)只理解單獨(dú)的關(guān)鍵詞,而【融合】是將前后的關(guān)鍵詞一起來理解,因此交替最終呈現(xiàn)的效果更多是融合主體內(nèi)容的畫面特征,而無法像融合一樣深度理解關(guān)鍵詞之間的聯(lián)系。我們平時(shí)在使用時(shí)一般主要也是使用融合語法【AND】居多,交替繪制更多是用于繪制比較獵奇的克蘇魯風(fēng)格圖像等。
3.7矩陣排列
最后就是矩陣排列的語法,該語法主要用于實(shí)現(xiàn)批量出圖的效果,提高繪圖效果。語法格式如下:
需要注意的是,該語法需要配合提示詞矩陣Prompt matrix來使用,開啟后按語法輸入,模型會(huì)將關(guān)鍵詞進(jìn)行矩陣排列,每個(gè)組合的提示詞都會(huì)生成一張對應(yīng)的圖像,若沒有開啟則會(huì)隨機(jī)生成其中一張。
在下面的案例中可以看到,通過矩陣排列的提示詞會(huì)依次組合生成多張圖片。
以上就是我們平時(shí)常用的高階語法啦,當(dāng)然還有一些偏代碼層的語法內(nèi)容,不過平時(shí)用的不多,這里就不一一介紹啦,感興趣的小伙伴也可以查閱WebUI作者整理的原版說明文檔:
https://github.com/AUTOMATIC1111/stable-diffusion-webui
05
文生圖參數(shù)設(shè)置解析
最后,我們再來看看文生圖板塊另一個(gè)十分重要的部分:參數(shù)設(shè)置。前面有提到參數(shù)的主要作用是設(shè)置圖像的預(yù)設(shè)屬性,這里的意思是WebUI作者將原本Stable Diffusion代碼層常用于控制圖像的參數(shù)進(jìn)行了提取,通過滑塊等可視化表單的方式來進(jìn)行操控,這樣就無需靠輸入提示詞來進(jìn)行控制,使用起來更加便捷高效。
需要注意的是控制圖像的參數(shù)其實(shí)有很多,這里只是作者預(yù)設(shè)的常用控制項(xiàng),還有一些控圖方法要裝載其他腳本插件才能使用,我會(huì)在后面的教程中為大家介紹。
下面就跟我一起來看看這些預(yù)設(shè)項(xiàng)的功能和使用技巧吧~
4.1 采樣迭代步數(shù) Steps
首先就是我們前面提到的采樣迭代步數(shù),在【初識(shí)篇】中我們有介紹擴(kuò)散模型的繪制原理是逐步減少圖像噪音的過程,而這里的迭代繪制步數(shù)就是噪音移除經(jīng)過的步數(shù),每一步的采樣迭代都是在上一步的基礎(chǔ)上繪制新的圖片。
理論上來說,迭代步數(shù)越高表示去噪的過程越長,最終呈現(xiàn)的圖像效果也就越精細(xì),但實(shí)際上我們通常將步數(shù)都控制在40步以內(nèi)。首先步數(shù)過小會(huì)導(dǎo)致圖像內(nèi)容繪制不夠完整,很容易出現(xiàn)變形、錯(cuò)位等問題,而步數(shù)在迭代到一定次數(shù)時(shí)畫面內(nèi)容已基本確定(30步左右),后續(xù)再增加步數(shù)也只是優(yōu)化微小細(xì)節(jié),此外過高的步數(shù)也會(huì)占用更多資源,影響出圖速度。
因此建議大家平時(shí)使用時(shí),將采樣迭代步數(shù)控制在20~30的范圍內(nèi)即可。
4.2 采樣方法 Sampler
在之前的文章里我們知道Stable Diffusion模型的圖像生成器里包含了 U-Net神經(jīng)網(wǎng)絡(luò) 和 Scheduler采樣算法 2個(gè)部分,其中采樣算法就是用來選擇使用哪種算法來運(yùn)行圖像擴(kuò)散過程,不同的算法會(huì)預(yù)設(shè)不同的圖像降噪步驟、隨機(jī)性等參數(shù),最終呈現(xiàn)的出圖效果也會(huì)有所差異。
簡單來說,選擇采樣算法是為了配合圖像類型和使用的模型,來達(dá)到更佳的出圖效果。WebUI中提供的采樣算法有十幾項(xiàng),但我們平時(shí)常用的并不多,這里我也查閱了不少資料,發(fā)現(xiàn)大家推薦的算法類型并不一致,實(shí)際體驗(yàn)發(fā)現(xiàn)不同模型下算法的出圖效果也不穩(wěn)定,沒有完全適合的固定算法一說。
下面的圖中羅列了同一組提示詞下所有的不同采樣算法生成的圖像對比,可以發(fā)現(xiàn)整體出圖效果并沒有太大差異,在實(shí)際使用時(shí),給大家提供以下參考建議:
優(yōu)先使用模型作者推薦的算法,比如深淵橘的作者最推薦使用的就是 DPM++ SDE Karras。
優(yōu)先使用帶加號(hào)的算法,作為優(yōu)化算法會(huì)比不帶加號(hào)的更加穩(wěn)定
有選擇恐懼癥的小伙伴可以優(yōu)先使用這幾個(gè)推薦算法:Euler A、DPM+ +2S a Karras、DPM++ 2M Karras、DPM++ SDE Karras
4.3 面部修復(fù) Face Restoration
該設(shè)置項(xiàng)用于修復(fù)繪制過程中經(jīng)常出現(xiàn)的面部扭曲問題,開啟后模型會(huì)加強(qiáng)人物臉部的識(shí)別效果,因?yàn)槎卧獎(jiǎng)勇宋锏奈骞佼嬶L(fēng)多樣,算法的識(shí)別效果并不明顯,該功能主要用于真實(shí)攝影類或偏寫實(shí)的2.5D風(fēng)格人像繪制。
實(shí)際上如今大多模型中已加強(qiáng)針對人臉的訓(xùn)練,反而開啟面部修復(fù)或會(huì)對圖像生成有一定干擾,所以在模型介紹頁有的作者會(huì)特意加上避免開啟面部修復(fù)的備注。
4.4 平鋪/分塊 Tiling
平鋪類似Midjourney中的tile參數(shù),用于繪制重復(fù)的花紋或圖案紋理,平時(shí)用的不多。
4.5 寬高設(shè)置
寬度和高度很好理解,就是最終生成的圖像大小。
我們都知道,在分辨率恒定的情況下,圖片的尺寸越大,可以容納的信息就越多,最終體現(xiàn)的畫面細(xì)節(jié)就越豐富。如果圖片尺寸設(shè)置的較小,畫面內(nèi)容往往會(huì)比較粗糙,這一點(diǎn)在Stable Diffusion繪制真實(shí)人像、復(fù)雜紋理等元素時(shí)會(huì)格外明顯。下面這張圖可以看到,同一張圖在放大尺寸重新繪制后,畫面細(xì)節(jié)得到了顯著提升。
但繪制大圖的同時(shí),顯卡的運(yùn)算負(fù)擔(dān)也會(huì)加重,繪圖時(shí)間會(huì)明顯加長,過大的尺寸也容易出現(xiàn)黑圖或爆顯存等問題。此外,尺寸過大也會(huì)導(dǎo)致畫面中出現(xiàn)多個(gè)人物或肢體拼接等問題。目前Stable Diffusion的大多數(shù)模型在訓(xùn)練時(shí)使用的是512*512像素大小圖片,少部分會(huì)使用768*768,因此當(dāng)圖像尺寸超出一定范圍,比如使用1536*512,模型在繪制圖像時(shí)就會(huì)將其理解為是由多張圖片拼接在一起,從而在一張圖內(nèi)塞入2~3張圖片的內(nèi)容,導(dǎo)致出現(xiàn)多人多肢體等問題。
這也是舊版模型的缺點(diǎn)之一,但在最近剛發(fā)布的SDXL官模中,已經(jīng)對該問題進(jìn)行了優(yōu)化,相信再過段時(shí)間就能直接繪制大圖了。
當(dāng)然,以上問題目前也有解決方法,下面的高清修復(fù)就是解決方法之一。
4.6 高清修復(fù) Hi-Res Fix
高清修復(fù),也叫做高分辨率修復(fù)、超分(超分辨率),它是我們平時(shí)放大圖片使用最頻繁的功能之一。平時(shí)我們繪制圖像,一般都是采用低分辨率先繪制,再開啟高清修復(fù)進(jìn)行放大。不同于我們平時(shí)的增加圖像分辨率,高清修復(fù)的本質(zhì)是進(jìn)行了一次額外的繪圖操作。該功能開啟后會(huì)出現(xiàn)額外的操作欄,下圖是簡單的操作項(xiàng)介紹。
關(guān)于繪制高清大圖的方法有很多,我會(huì)在后面的文章里進(jìn)行統(tǒng)一介紹,這里就不再贅述了。
4.7 總批次數(shù)&單批數(shù)量
總批次數(shù)和單批數(shù)量可以放在一起來看,總批次數(shù)可以理解為同一提示詞和設(shè)置項(xiàng)下觸發(fā)幾次生成操作,而每單批數(shù)量則表示每個(gè)批次繪制幾張圖片,因此總的圖片生成數(shù)量=總批次數(shù) x 單批數(shù)量。該功能主要是為了解決出圖效率的問題,類似Midjourney中的repeat參數(shù)。由于模型繪圖的結(jié)果存在很大的不確定性,想獲取一張滿意的圖片往往要嘗試多次,所以通過調(diào)整生成批次和數(shù)量,可以實(shí)現(xiàn)Stable Diffusion自動(dòng)跑圖,這樣就無需每次繪圖結(jié)束后再手動(dòng)點(diǎn)擊生成按鈕。
其中,單批數(shù)量平時(shí)很少會(huì)修改,默認(rèn)都是1張,更多時(shí)候是設(shè)置總批次數(shù)。因?yàn)槊颗傻膱D片越多,相當(dāng)于同一時(shí)間Stable Diffusion要繪制多張圖片,其原理等同于繪制了一張大圖,對顯卡的要求會(huì)比較高,還不如每次只生成一張,然后用提高次數(shù)的方法來解決。
值得一提的是,調(diào)整多批次后,除了正常繪制的每張圖,Stable Diffusion還會(huì)生成一張拼在一起的格子圖,和Midjourney默認(rèn)的四格圖一樣。
4.8 提示詞相關(guān)性 CFG Scale
CFG Scale是用來控制提示詞與出圖相關(guān)性的參數(shù),數(shù)值越高,則Stable Diffusion繪圖時(shí)會(huì)更加關(guān)注提示詞的內(nèi)容,發(fā)散性會(huì)降低。
該功能支持的數(shù)值范圍在0~30之間,但大多數(shù)情況下我們使用的數(shù)值會(huì)控制在7~12之間,正常情況下保持7不動(dòng)即可。如果CFG數(shù)值過低或過高,都可能會(huì)導(dǎo)致出圖結(jié)果不佳的情況。
4.9 隨機(jī)種子 Seed
AI在繪圖過程中會(huì)有很強(qiáng)的不確定性,因?yàn)槊看卫L制時(shí)都會(huì)有一套隨機(jī)的運(yùn)算機(jī)制,而每次運(yùn)算時(shí)都對應(yīng)了一個(gè)固定的Seed值,也就是我們俗稱的種子值。在Midjourney中,種子值的隨機(jī)性達(dá)到了42億種可能,也就是說同一套提示詞我們會(huì)獲得42億種隨機(jī)結(jié)果,當(dāng)然這和Midjourney本身龐大的訓(xùn)練數(shù)據(jù)庫有關(guān)系。
而通過固定種子值可以鎖定繪圖結(jié)果的隨機(jī)性,比如我們繪制了一張比較滿意的圖片時(shí),可以將調(diào)用其種子值填寫在這里,可以最大程度的保證原圖的畫面內(nèi)容。
在右側(cè)有2個(gè)按鈕,點(diǎn)擊骰子可以將seed重置為默認(rèn)的-1,也就是隨機(jī)的狀態(tài)?;厥??按鈕則是將最后繪制的圖片seed值固定在這里。
結(jié)束撒花
到這里本篇教程就全部結(jié)束啦,在今天的文章里我給大家介紹了提示詞的基本語法和書寫規(guī)則以及一些更高階的語法技巧,關(guān)于文生圖的各類參數(shù)也進(jìn)行了介紹。因?yàn)槔锩娴牟簧僦R(shí)點(diǎn)加入了我自己的理解,可能在表述上有一定差異,如果你有其他建議或想法的話,也歡迎在評論區(qū)給我留言~
作者能力有限,本文主要是對文生圖這塊的內(nèi)容進(jìn)行簡單介紹和資源整合。再搜索資料中發(fā)現(xiàn)幾篇很棒的文章,目前標(biāo)記在文末處。感興趣的可以查看學(xué)習(xí)。
個(gè)別引用,侵刪。
聯(lián)系客服