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