熱評(píng) 離家出走的帆高

寫得非常詳細(xì),真保姆級(jí),感謝大佬

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

碼字不易,SD 保姆教程,從原理功能到案例輸出展示,最后簡(jiǎn)述 ControlNet 的使用技巧,圖文約 1 萬 5 千字左右,閱讀時(shí)長(zhǎng)約 20 分鐘~

Stable Diffusion 的基本介紹

首先官方給出的解釋是:

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

這和 MJ 有什么區(qū)別

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

為了更方便的理解我們將 Stable Diffusion 與 Midjourney 做一個(gè)對(duì)比

一、基礎(chǔ)介紹

1. 提示詞:

提示詞分為兩個(gè)部分

正向提示詞:

生成圖像時(shí),我們可以使用正向提示詞來指定想要生成的圖像。正向提示詞可以是腦子里想到的圖片或一句話,將其拆分成不同的關(guān)鍵詞,并用逗號(hào)隔開作為輸入。

需要注意的是,相同的指令在不同的模型庫(kù)和參數(shù)下,生成的輸出圖像可能會(huì)不一樣。此外,提示詞的順序也非常重要,因?yàn)樗鼈兊捻樞驎?huì)影響到生成圖像的權(quán)重。通常情況下,越靠前的提示詞權(quán)重越大,越靠后的提示詞權(quán)重越小。

排除詞:

輸入框內(nèi)輸入的標(biāo)簽內(nèi)容就是你畫面中不想要出現(xiàn)的東西,如:低質(zhì)量的,缺手指,五官不齊等等

下圖給大家做一個(gè)案例演示

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

提示詞拆分:

①對(duì)于使用提示詞生成圖像生成的小伙伴來說,當(dāng)看到喜歡的圖像或腦海中想到很多畫面,但卻不知道如何用提示詞準(zhǔn)確描述,現(xiàn)在有三種方法可以幫助大家快速拆分和生成圖像。

Stable Diffusion 中自帶反推功能,可以通過將想要拆分的圖像拖入反推,點(diǎn)擊按鈕來獲得生成該圖像的提示詞。第一次使用可能會(huì)有些慢,需要稍等片刻。需要注意的是,這些提示詞需要進(jìn)行后期的優(yōu)化,常用的方法是通過百度翻譯后進(jìn)行增刪改,或者輸入到 GPT 中進(jìn)行優(yōu)化,優(yōu)化后將提示詞放入相應(yīng)的框內(nèi)進(jìn)行圖像輸出。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

②第二種方法我們可以借助三方網(wǎng)站:https://replicate.com/

來進(jìn)行拆分,拆分好后,同第一條一樣,進(jìn)行一個(gè)增刪改,然后我們對(duì)兩種方法進(jìn)行比較,通過比較后,我們可以進(jìn)行詞匯的篩選與合并

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

③利用 gpt 或文心等相關(guān)工具,將想要描述的長(zhǎng)句輸入,最后加一句描述,請(qǐng)將這句話拆分為 Stable Diffusion 的提示詞,如果不滿意可以繼續(xù)恢復(fù)優(yōu)化提示詞,或者換一批相關(guān)描述,然后將轉(zhuǎn)換好的提示詞同 ①一樣增刪改

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

2. 符號(hào)的使用

正如前文所述,詞匯在提示中的位置越靠前,其所占的權(quán)重就越大。為了進(jìn)一步調(diào)整提示關(guān)鍵詞的權(quán)重,我們可以通過以下語法來設(shè)置關(guān)鍵詞的權(quán)重:在選中關(guān)鍵詞的同時(shí),按下鍵盤上的 Ctrl+?? ??來快速調(diào)整權(quán)重。每次調(diào)整的權(quán)重值為0.1,建議將權(quán)重值控制在0.7-1.4之間。簡(jiǎn)單來說,將每個(gè)提示詞看作一個(gè)獨(dú)立的個(gè)體,權(quán)重默認(rèn)為1,而后面的數(shù)值就相當(dāng)于在修改這個(gè)默認(rèn)值。當(dāng)然,我們也可以將權(quán)重調(diào)整為負(fù)數(shù),從而在提示中產(chǎn)生與原意相反的影響。

通過這種方法,我們可以更加精確地控制提示關(guān)鍵詞的權(quán)重,以達(dá)到更好的提示效果。同時(shí),我們也需要注意保持提示內(nèi)容的流暢性和自然性,避免過度的修改導(dǎo)致提示內(nèi)容的語義不連貫或不符合實(shí)際情況。

3. 圖像的輸出

畫面的信息量取決于輸出圖片的大小。在全身構(gòu)圖中,一些細(xì)節(jié),例如臉部、飾品和復(fù)雜的紋樣,只有在較大的圖像中才能得到充分的展示空間,如圖像太小,臉部,手部,一些細(xì)節(jié)就會(huì)被壓縮成一團(tuán),無法得到充分的表現(xiàn),以下圖的風(fēng)景為例,當(dāng)畫幅越大時(shí),展示的內(nèi)容越多。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

二、界面部分

1. 采樣迭代步數(shù)

輸出畫面需要的步數(shù),每一次采樣步數(shù)都是在上一次的迭代步驟基礎(chǔ)上繪制生成一個(gè)新的圖片,一般來說采樣迭代步數(shù)保持在 18-30 左右即可,低的采樣步數(shù)會(huì)導(dǎo)致畫面計(jì)算不完整,高的采樣步數(shù)僅在細(xì)節(jié)處進(jìn)行優(yōu)化,對(duì)比輸出速度得不償失。

2. 采樣方法的介紹

常用的有三種,分別是 Euler a,DPM++2S a Karras 和 DDI

Euler a:

①Euler a 是一種用于控制時(shí)間步長(zhǎng)大小的可調(diào)參數(shù),在 Stable Diffusion 中采用 Euler 時(shí)間步長(zhǎng)采樣方法。適當(dāng)?shù)?Euler a 值能夠捕捉到細(xì)節(jié)和紋理,但如果值太大會(huì)導(dǎo)致過度擬合,生成圖像出現(xiàn)噪點(diǎn)等不良效果。

②一句話概括:采樣生成速度最快,但是如果說在高細(xì)節(jié)圖增加采樣步數(shù)時(shí),會(huì)產(chǎn)生不可控突變(如人物臉扭曲,細(xì)節(jié)扭曲等)

適合:ICON,二次元圖像,小場(chǎng)景

下圖為大家展示同提示詞不同步幅

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

DPM++2S a Karras:

①采用 DPM++2S a Karras 采樣方法生成高質(zhì)量圖像,該方法在每個(gè)時(shí)間步長(zhǎng)中執(zhí)行多次操作,同等分辨率下細(xì)節(jié)會(huì)更多,比如可以在小圖下塞進(jìn)全身,代價(jià)是采樣速度更慢

②適合:寫實(shí)人像,復(fù)雜場(chǎng)景刻畫

下圖展示 elura a 同提示詞不同步幅下的輸出圖像,可以看到步幅越高,細(xì)節(jié)刻畫越好

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

DDIM

①DDIM 采樣方法可以快速生成高質(zhì)量的圖像,相比其他采樣方法具有更高的效率,想嘗試超高步數(shù)時(shí)可以使用,隨著步數(shù)增加可以疊加細(xì)節(jié)

②適合:寫實(shí)人像,復(fù)雜場(chǎng)景刻畫

下圖為大家展示 DDIM 同提示詞不同步幅下的輸出圖像,可以看到隨著步幅的提高,細(xì)節(jié)和豐富度逐漸提高

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

3. 提示詞相關(guān)性

Stable Diffusion 中的提示詞相關(guān)性指的是輸入提示詞對(duì)生成圖像的影響程度。當(dāng)我們提高提示詞相關(guān)性時(shí),生成的圖像將更符合提示信息的樣子;相反,如果提示詞相關(guān)性較低,對(duì)應(yīng)的權(quán)重也較小,則生成的圖像會(huì)更加隨機(jī)。因此,通過調(diào)整提示詞相關(guān)性,可以引導(dǎo)模型生成更符合預(yù)期的樣本,從而提高生成的樣本質(zhì)量。

①在具體應(yīng)用中,對(duì)于人物類的提示詞,一般將提示詞相關(guān)性控制在 7-15 之間;

②而對(duì)于建筑等大場(chǎng)景類的提示詞,一般控制在 3-7 左右。這樣可以在一定程度上突出隨機(jī)性,同時(shí)又不會(huì)影響生成圖像的可視化效果。因此,提示詞相關(guān)性可以幫助我們通過引導(dǎo)模型生成更符合預(yù)期的樣本,從而提高生成的樣本質(zhì)量。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

4. 隨機(jī)種子

隨機(jī)種子是一個(gè)可以鎖定生成圖像的初始狀態(tài)的值。當(dāng)使用相同的隨機(jī)種子和其他參數(shù),我們可以生成完全相同的圖像。設(shè)置隨機(jī)種子可以增加模型的可比性和可重復(fù)性,同時(shí)也可以用于調(diào)試和優(yōu)化模型,以觀察不同參數(shù)對(duì)圖像的影響。

在 Stable Diffusion 中,常用的隨機(jī)種子有-1 和其他數(shù)值。當(dāng)輸入-1 或點(diǎn)擊旁邊的骰子按鈕時(shí),生成的圖像是完全隨機(jī)的,沒有任何規(guī)律可言。而當(dāng)輸入其他隨機(jī)數(shù)值時(shí),就相當(dāng)于鎖定了隨機(jī)種子對(duì)畫面的影響,這樣每次生成的圖像只會(huì)有微小的變化。因此,使用隨機(jī)種子可以控制生成圖像的變化程度,從而更好地探索模型的性能和參數(shù)的影響。

在工作產(chǎn)出中,如果細(xì)微調(diào)整,我們將會(huì)固定某個(gè)種子參數(shù)然后進(jìn)行批量生成

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

三、模型部分

Checkpoint,VAE,embedding 和 lora 的使用詳解

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

2. Checkpoint 的介紹

對(duì)于模型作者而言,訓(xùn)練模型通常指生成 Checkpoint 文件。這些文件包含了模型參數(shù)和優(yōu)化器狀態(tài)等信息,是訓(xùn)練過程中定期保存的狀態(tài)快照。

對(duì)于使用者而言,可以將 Checkpoint 文件理解為一種風(fēng)格濾鏡,例如油畫、漫畫、寫實(shí)風(fēng)等。通過選擇對(duì)應(yīng)的 Checkpoint 文件,您可以將 Stable Diffusion 模型生成的結(jié)果轉(zhuǎn)換為您所選擇的特定風(fēng)格。需要注意的是,一些 Checkpoint 文件可能需要與特定的低碼率編碼器(如 Lora)配合使用,以獲得更好的效果。

在下載 Checkpoint 文件時(shí),您可以查看相應(yīng)的模型簡(jiǎn)介,通常作者會(huì)提供相應(yīng)的文件和說明事項(xiàng),以幫助您更好地使用和理解該文件。

總之,Checkpoint 文件是 Stable Diffusion 模型訓(xùn)練過程中定期保存的狀態(tài)快照,使用者可以將其理解為一種風(fēng)格濾鏡,用于將模型輸出結(jié)果轉(zhuǎn)換為特定的風(fēng)格。在使用 Checkpoint 文件時(shí),需要注意文件的匹配和相應(yīng)的使用說明。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

3. VAE 的介紹

可以將 VAE 理解為對(duì)模型的濾鏡加微調(diào),不同的 VAE 可能有一些細(xì)節(jié)上的差異,但不會(huì)影響輸出的效果。

它可以增強(qiáng)模型的表現(xiàn),有些模型文件已經(jīng)自帶了 VAE 效果,因此不需要盲目地去掛載,可以選擇自動(dòng)模式來簡(jiǎn)化日常使用。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

4. embedding 的介紹

如果你有做過 UI 的經(jīng)驗(yàn),那么你應(yīng)該知道組件的概念。在 Stable Diffusion 中,embedding 技術(shù)就可以被理解為一種組件,它可以將輸入數(shù)據(jù)轉(zhuǎn)換成向量表示,方便模型進(jìn)行處理和生成。

舉個(gè)例子,如果我們想要生成一個(gè)開心的皮卡丘,通常需要輸入很多描述詞,如黃毛、老鼠、長(zhǎng)耳朵、腮紅等等。但是,如果引入皮卡丘的 embedding,我們只需要輸入兩個(gè)詞:皮卡丘和開心。皮卡丘的 embedding 打包了所有皮卡丘的特征描述,這樣我們就不用每次輸入很多單詞來控制生成的畫面了。

在日常使用中,embedding 技術(shù)通常用于控制人物的動(dòng)作和特征,或者生成特定的畫風(fēng)。相比于其他模型(如 LORA),embedding 的大小只有幾十 KB,而不是幾百兆或幾 GB,除了還原度對(duì)比 lora 差一些但在存儲(chǔ)和使用上更加方便。

總之,embedding 技術(shù)將輸入數(shù)據(jù)轉(zhuǎn)換為向量表示,為模型的處理和生成提供了便利。通過使用 embedding,我們可以更加輕松地生成符合預(yù)期的樣本,而不需要手動(dòng)輸入大量的描述詞匯。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

5. LORA 的介紹

LORA 與 embedding 在本質(zhì)上類似,因?yàn)閿y帶著大量的訓(xùn)練數(shù)據(jù),所以 LORA 對(duì)人物和細(xì)節(jié)特征的復(fù)刻更加細(xì)膩

使用技巧:

通常來說,每個(gè) LORA 模型都有對(duì)應(yīng)的底膜和觸發(fā)詞匯。我們可以查看 LORA 作者產(chǎn)出的相關(guān)圖片,從中獲取模型信息,并從中選擇一些提示詞和排除詞來指定生成圖像的方向。需要注意的是,每個(gè) LORA 模型對(duì)輸出圖像的權(quán)重設(shè)置是非常重要的。權(quán)重設(shè)置越大,對(duì)畫面的影響因素就越淺。通常情況下,權(quán)重應(yīng)該控制在 0.7-1 之間。如果權(quán)重過高,會(huì)大幅度影響出圖的質(zhì)量。

為了獲得最佳效果,我們可以根據(jù)不同的 LORA 模型選擇適當(dāng)?shù)奶崾驹~和排除詞,并在設(shè)置權(quán)重時(shí)進(jìn)行調(diào)整。同時(shí),我們還可以參考其他作者的經(jīng)驗(yàn)和技巧,以便更好地利用 LORA 生成圖像。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

四、圖生圖

簡(jiǎn)介:

是一種生成圖像的方法,它可以通過對(duì)已有的圖像進(jìn)行修改或變形,生成新的圖像。在 Stable Diffusion 中,我們可以將墊圖的圖像看作是一張“初始圖像”,通過多次迭代,對(duì)其進(jìn)行修改和變形,逐步生成與墊圖風(fēng)格類似想要的圖片。

需注意的是圖生圖相對(duì)于文生圖多出兩個(gè)功能

重繪幅度:

指的是每次迭代中圖像被重新繪制的程度或幅度,也就是新生成的圖像與上一次迭代生成的圖像之間的差異程度。

它的取值范圍在 0 到 1 之間。當(dāng) 值等于 0 時(shí),新生成的圖像與上一次迭代生成的圖像完全一致,即沒有重新繪制;

當(dāng)值等于 1 時(shí),新生成的圖像與上一次迭代生成的圖像完全不同,即完全重新繪制。

需要注意的是,重繪幅度的大小會(huì)影響生成圖像的質(zhì)量和逼真程度。當(dāng)重繪幅度較小時(shí),生成的圖像可能會(huì)比較模糊或粗糙;

當(dāng)重繪幅度較大時(shí),生成的圖像可能會(huì)出現(xiàn)明顯的噪點(diǎn)或瑕疵。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

縮放模式:

拉伸:不改變寬高比的前提下將圖片拉伸,寬度高度充滿畫面空間的 100%

裁剪:保留寬高比的基礎(chǔ)上,然后裁剪掉超出去的部分,使用時(shí)我們可以提前調(diào)整好輸出圖片的寬高比例

填充:它指在縮放圖像時(shí),將原始圖像放置在目標(biāo)尺寸的中心位置,多出去的部分用一定的顏色值(通常為黑色)填充周圍的空白區(qū)域。

直接縮放:

①指對(duì)圖像進(jìn)行簡(jiǎn)單的縮放處理,即直接將原始圖像縮放到目標(biāo)尺寸。

②在 Stable Diffusion 中,如果生成的圖像尺寸與原始圖像尺寸不一致,就需要進(jìn)行縮放處理。直接縮放是一種簡(jiǎn)單粗暴的縮放方式,它直接將原始圖像縮放到目標(biāo)尺寸,不進(jìn)行任何額外的處理。這種縮放方式的優(yōu)點(diǎn)是簡(jiǎn)單快速,但缺點(diǎn)是可能會(huì)導(dǎo)致圖像失真或模糊,特別是當(dāng)縮放比例較大時(shí)。

1. 圖生圖

主要用來做圖片放大和造型背景的變化,或者三次元改二次元時(shí)用的,通常配合著 ControlNet 來使用

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

2. 繪圖

通過手動(dòng)繪制或修改圖像的局部區(qū)域,來指導(dǎo)生成器生成更加符合用戶期望的圖像,使用時(shí)可以利用繪圖工具,如筆刷、橡皮擦等,對(duì)圖像的局部區(qū)域進(jìn)行修改。修改后的圖像會(huì)被作為下一次迭代的初始圖像,從而影響后續(xù)的圖像生成過程。

通過繪圖,可以更加精細(xì)地控制生成圖像的細(xì)節(jié)和特征,從而獲得更符合預(yù)期輸出

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

3. 局部重繪

也稱為上傳蒙版法,提前在作圖軟件里用畫筆涂抹好需要重新繪制的區(qū)域,黑色區(qū)域表示需要修復(fù)的區(qū)域,白色區(qū)域表示不需要修復(fù)的區(qū)域

(注意:因此只需要在需要修復(fù)的區(qū)域涂黑色,其他區(qū)域可以涂白或保留原始顏色。上傳蒙版的話也只需在繪圖軟件里把需要修復(fù)的區(qū)域涂黑即可)

局部重繪的目的是盡可能地保留原始圖像的結(jié)構(gòu)和紋理特征,使修復(fù)后的圖像更加自然和真實(shí)。

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

4. 批量處理

指使用已有的圖像生成新的圖像。而圖生圖的批量處理是指同時(shí)對(duì)多張輸入圖像進(jìn)行圖生圖操作,生成對(duì)應(yīng)的多張輸出圖像。

五、進(jìn)階篇:ControlNet 的使用

相關(guān)教程:

1. ControlNet 基礎(chǔ)知識(shí)

一圖搞定插件安裝

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

權(quán)重:

ControlNet 的權(quán)重與圖生圖權(quán)重的對(duì)比關(guān)系時(shí)

  1. 低重繪強(qiáng)度配高權(quán)重,可以鎖定圖片的細(xì)節(jié),更改畫風(fēng)上的展現(xiàn),拓展延伸推薦
  2. 高重回強(qiáng)度配低權(quán)重,修改圖片細(xì)節(jié),定風(fēng)格圖后小修改推薦

預(yù)處理器與模型的關(guān)系:

使用預(yù)處理器時(shí)要與模型一一對(duì)應(yīng)起來,如與處理器選擇 canny,則相對(duì)應(yīng)的模型也要選擇 canny

預(yù)處理器和模型在 Stable Diffusion 中是相輔相成的,預(yù)處理器通過對(duì)輸入圖像進(jìn)行預(yù)處理和數(shù)據(jù)增強(qiáng),為模型提供了更好的輸入,而模型則通過對(duì)輸入進(jìn)行特征提取和生成高質(zhì)量圖像,為預(yù)處理器提供了更好的反饋

介入時(shí)機(jī)和退出時(shí)機(jī):

介入時(shí)機(jī):代表第幾步介入對(duì)畫面的影響退出時(shí)機(jī):代表第幾步退出對(duì)畫面的影響

如,現(xiàn)在是一個(gè)生成步幅為 30 步的圖像

現(xiàn)在介入時(shí)機(jī)為 0.2,則從 30x0.2=6,第六步的時(shí)候 ControlNet 開始介入
現(xiàn)在退出時(shí)機(jī)為 0.8,則從 30x0.8=24,第二十四步的時(shí)候 ControlNet 退出對(duì)輸出的介入

2. Canny 邊緣檢測(cè)

Canny 是一種經(jīng)典的邊緣檢測(cè)算法,能夠很好地識(shí)別出圖像中的邊緣信息,對(duì)于圖像生成任務(wù)來說,可以幫助模型更好地生成具有清晰邊緣的圖像

處理圖片的方式是將圖片專為線稿,對(duì)于畫面細(xì)節(jié)不復(fù)雜的圖像來說很好;但處理復(fù)雜圖像時(shí),主體會(huì)容易被除主題元素以外的元素影響

細(xì)節(jié)刻畫上,一種是分辨率越高,線條越清晰;閾值越少,對(duì)應(yīng)的細(xì)節(jié)也越多

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

3. Hed 邊緣檢測(cè),細(xì)節(jié)保留

該算法的特點(diǎn)是能夠同時(shí)預(yù)測(cè)多個(gè)尺度的邊緣,從而提高了邊緣檢測(cè)的精度,對(duì)邊緣清晰的圖像生成效果更好

當(dāng)用草圖轉(zhuǎn)上色時(shí),可以在繪圖軟件將描邊加粗加深一些,從而能更方便獲取邊緣

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

4. MLSD 線性檢測(cè)

mlsd 模型,可以進(jìn)行直線檢測(cè),通過分析圖片的線條結(jié)構(gòu)來構(gòu)建出建筑外框,適合建筑設(shè)計(jì)的使用

可以配合 canny 一起使用,效果更佳

5. Open pose-人物擺 pose

判斷主圖的主體動(dòng)作,然后將動(dòng)作附加在主圖上 一般配合著 open pose editer

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

6. LeRes 深度信息估算

對(duì)有場(chǎng)景深度的圖片效果更佳,生成的圖像景深更易區(qū)分

萬字保姆級(jí)教程!Stable Diffusion完整入門指南

最后

隨著 AI 技術(shù)的快速發(fā)展,圖像生成領(lǐng)域的大型模型正在成為研究的熱點(diǎn),但是由于該領(lǐng)域的相對(duì)新穎和復(fù)雜性,相關(guān)的教程和資源目前還相對(duì)匱乏。希望本文可以幫助大家快速入門 Stable Diffusion,并為您提供一些有用的參考資料。

相信在不久的將來,一些真正具有商業(yè)價(jià)值的大模型將會(huì)涌現(xiàn)出來,為設(shè)計(jì)和其他領(lǐng)域帶來更多的創(chuàng)新和效益,最后,希望大家能不斷探索和學(xué)習(xí),掌握更多的技能和知識(shí),為設(shè)計(jì)賦能!

收藏 441
點(diǎn)贊 130

復(fù)制本文鏈接 文章為作者獨(dú)立觀點(diǎn)不代表優(yōu)設(shè)網(wǎng)立場(chǎng),未經(jīng)允許不得轉(zhuǎn)載。