AI技術(shù)的進(jìn)步為我們的工作帶來(lái)了更多挑戰(zhàn),比如不少人可能就對(duì)新出現(xiàn)的AI繪畫(huà)軟件應(yīng)用感到不太熟練。而在本篇文章里,作者就針對(duì) Stable Diffusion 這款A(yù)I繪畫(huà)軟件的使用輸出了這份“保姆級(jí)教程”,一起來(lái)看看本文的解讀。
碼字不易,SD保姆教程,從原理功能到案例輸出展示,最后簡(jiǎn)述ControlNet的使用技巧,圖文約1萬(wàn)5千字左右,閱讀時(shí)長(zhǎng)約20分鐘~
除了官方給出的解釋。
它和MJ有什么區(qū)別?
為了更方便的理解,我們將Stable Diffusion與Midjourney做一個(gè)對(duì)比:
提示詞分為兩個(gè)部分。
1)正向提示詞
i. 生成圖像時(shí),我們可以使用正向提示詞來(lái)指定想要生成的圖像。正向提示詞可以是腦子里想到的圖片或一句話(huà),將其拆分成不同的關(guān)鍵詞,并用逗號(hào)隔開(kāi)作為輸入。
ii. 需要注意的是,相同的指令在不同的模型庫(kù)和參數(shù)下,生成的輸出圖像可能會(huì)不一樣。此外,提示詞的順序也非常重要,因?yàn)樗鼈兊捻樞驎?huì)影響到生成圖像的權(quán)重。通常情況下,越靠前的提示詞權(quán)重越大,越靠后的提示詞權(quán)重越小。
2)排除詞
輸入框內(nèi)輸入的標(biāo)簽內(nèi)容就是你畫(huà)面中不想要出現(xiàn)的東西,如:低質(zhì)量的,缺手指,五官不齊等等。
下圖給大家做一個(gè)案例演示。
3)提示詞拆分
對(duì)于使用提示詞生成圖像生成的小伙伴來(lái)說(shuō),當(dāng)看到喜歡的圖像或腦海中想到很多畫(huà)面,但卻不知道如何用提示詞準(zhǔn)確描述,現(xiàn)在有三種方法可以幫助大家快速拆分和生成圖像。
i. Stable Diffusion 中自帶反堆功能,可以通過(guò)將想要拆分的圖像拖入反堆,點(diǎn)擊按鈕來(lái)獲得生成該圖像的提示詞。第一次使用可能會(huì)有些慢,需要稍等片刻。
需要注意的是,這些提示詞需要進(jìn)行后期的優(yōu)化,常用的方法是通過(guò)百度翻譯后進(jìn)行增刪改,或者輸入到 GPT 中進(jìn)行優(yōu)化,優(yōu)化后將提示詞放入相應(yīng)的框內(nèi)進(jìn)行圖像輸出。
ii. 第二種方法我們可以借助三方網(wǎng)站:https://replicate.com/ 來(lái)進(jìn)行拆分,拆分好后,同第一條一樣,進(jìn)行一個(gè)增刪改,然后我們對(duì)兩種方法進(jìn)行比較,通過(guò)比較后,我們可以進(jìn)行詞匯的篩選與合并。
iii. 利用gpt或文心等相關(guān)工具,將想要描述的長(zhǎng)句輸入,最后加一句描述,請(qǐng)將這句話(huà)拆分為Stable Diffusion的提示詞,如果不滿(mǎn)意可以繼續(xù)恢復(fù)優(yōu)化提示詞,或者換一批相關(guān)描述,然后將轉(zhuǎn)換好的提示詞同i一樣增刪改。
正如前文所述,詞匯在提示中的位置越靠前,其所占的權(quán)重就越大。為了進(jìn)一步調(diào)整提示關(guān)鍵詞的權(quán)重,我們可以通過(guò)以下語(yǔ)法來(lái)設(shè)置關(guān)鍵詞的權(quán)重:在選中關(guān)鍵詞的同時(shí),按下鍵盤(pán)上的Ctrl+上下來(lái)快速調(diào)整權(quán)重。每次調(diào)整的權(quán)重值為0.1,建議將權(quán)重值控制在0.7-1.4之間。
簡(jiǎn)單來(lái)說(shuō),將每個(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ò)這種方法,我們可以更加精確地控制提示關(guān)鍵詞的權(quán)重,以達(dá)到更好的提示效果。同時(shí),我們也需要注意保持提示內(nèi)容的流暢性和自然性,避免過(guò)度的修改導(dǎo)致提示內(nèi)容的語(yǔ)義不連貫或不符合實(shí)際情況。
畫(huà)面的信息量取決于輸出圖片的大小。在全身構(gòu)圖中,一些細(xì)節(jié),例如臉部、飾品和復(fù)雜的紋樣,只有在較大的圖像中才能得到充分的展示空間,如圖像太小,臉部,手部,一些細(xì)節(jié)就會(huì)被壓縮成一團(tuán),無(wú)法得到充分的表現(xiàn),以下圖的風(fēng)景為例,當(dāng)畫(huà)幅越大時(shí),展示的內(nèi)容越多。
輸出畫(huà)面需要的步數(shù),每一次采樣步數(shù)都是在上一次的迭代步驟基礎(chǔ)上繪制生成一個(gè)新的圖片,一般來(lái)說(shuō)采樣迭代步數(shù)保持在18-30左右即可,低的采樣步數(shù)會(huì)導(dǎo)致畫(huà)面計(jì)算不完整,高的采樣步數(shù)僅在細(xì)節(jié)處進(jìn)行優(yōu)化,對(duì)比輸出速度得不償失。
常用的有三種,分別是Euler a,DPM++2S a Karras和DDI
Euler a:
i. Euler a是一種用于控制時(shí)間步長(zhǎng)大小的可調(diào)參數(shù),在Stable Diffusion中采用Euler時(shí)間步長(zhǎng)采樣方法。適當(dāng)?shù)腅uler a值能夠捕捉到細(xì)節(jié)和紋理,但如果值太大會(huì)導(dǎo)致過(guò)度擬合,生成圖像出現(xiàn)噪點(diǎn)等不良效果。
ii. 一句話(huà)概括:采樣生成速度最快,但是如果說(shuō)在高細(xì)節(jié)圖增加采樣步數(shù)時(shí),會(huì)產(chǎn)生不可控突變(如人物臉扭曲,細(xì)節(jié)扭曲等)。
適合:ICON,二次元圖像,小場(chǎng)景。
下圖為大家展示同提示詞不同步幅。
DPM++2S a Karras :
i. 采用 DPM++2S a Karras 采樣方法生成高質(zhì)量圖像,該方法在每個(gè)時(shí)間步長(zhǎng)中執(zhí)行多次操作,同等分辨率下細(xì)節(jié)會(huì)更多,比如可以在小圖下塞進(jìn)全身,代價(jià)是采樣速度更慢。
ii. 適合:寫(xiě)實(shí)人像,復(fù)雜場(chǎng)景刻畫(huà)。
下圖展示elura a同提示詞不同步幅下的輸出圖像,可以看到步幅越高,細(xì)節(jié)刻畫(huà)越好。
DDIM
i. DDIM 采樣方法可以快速生成高質(zhì)量的圖像,相比其他采樣方法具有更高的效率,想嘗試超高步數(shù)時(shí)可以使用,隨著步數(shù)增加可以疊加細(xì)節(jié)。
下圖為大家展示DDIM同提示詞不同步幅下的輸出圖像,可以看到隨著步幅的提高,細(xì)節(jié)和豐富度逐漸提高。
Stable Diffusion中的提示詞相關(guān)性指的是輸入提示詞對(duì)生成圖像的影響程度。當(dāng)我們提高提示詞相關(guān)性時(shí),生成的圖像將更符合提示信息的樣子;相反,如果提示詞相關(guān)性較低,對(duì)應(yīng)的權(quán)重也較小,則生成的圖像會(huì)更加隨機(jī)。因此,通過(guò)調(diào)整提示詞相關(guān)性,可以引導(dǎo)模型生成更符合預(yù)期的樣本,從而提高生成的樣本質(zhì)量。
i. 在具體應(yīng)用中,對(duì)于人物類(lèi)的提示詞,一般將提示詞相關(guān)性控制在7-15之間。
ii. 而對(duì)于建筑等大場(chǎng)景類(lèi)的提示詞,一般控制在3-7左右。這樣可以在一定程度上突出隨機(jī)性,同時(shí)又不會(huì)影響生成圖像的可視化效果。因此,提示詞相關(guān)性可以幫助我們通過(guò)引導(dǎo)模型生成更符合預(yù)期的樣本,從而提高生成的樣本質(zhì)量。
i. 隨機(jī)種子是一個(gè)可以鎖定生成圖像的初始狀態(tài)的值。當(dāng)使用相同的隨機(jī)種子和其他參數(shù),我們可以生成完全相同的圖像。設(shè)置隨機(jī)種子可以增加模型的可比性和可重復(fù)性,同時(shí)也可以用于調(diào)試和優(yōu)化模型,以觀察不同參數(shù)對(duì)圖像的影響。
ii. 在Stable Diffusion中,常用的隨機(jī)種子有-1和其他數(shù)值。當(dāng)輸入-1或點(diǎn)擊旁邊的骰子按鈕時(shí),生成的圖像是完全隨機(jī)的,沒(méi)有任何規(guī)律可言。而當(dāng)輸入其他隨機(jī)數(shù)值時(shí),就相當(dāng)于鎖定了隨機(jī)種子對(duì)畫(huà)面的影響,這樣每次生成的圖像只會(huì)有微小的變化。因此,使用隨機(jī)種子可以控制生成圖像的變化程度,從而更好地探索模型的性能和參數(shù)的影響。
在工作產(chǎn)出中,如果細(xì)微調(diào)整,我們將會(huì)固定某個(gè)種子參數(shù)然后進(jìn)行批量生成。
i. 對(duì)于模型作者而言,訓(xùn)練模型通常指生成Checkpoint文件。這些文件包含了模型參數(shù)和優(yōu)化器狀態(tài)等信息,是訓(xùn)練過(guò)程中定期保存的狀態(tài)快照。
ii. 對(duì)于使用者而言,可以將Checkpoint文件理解為一種風(fēng)格濾鏡,例如油畫(huà)、漫畫(huà)、寫(xiě)實(shí)風(fēng)等。通過(guò)選擇對(duì)應(yīng)的Checkpoint文件,您可以將Stable Diffusion模型生成的結(jié)果轉(zhuǎn)換為您所選擇的特定風(fēng)格。需要注意的是,一些Checkpoint文件可能需要與特定的低碼率編碼器(如Lora)配合使用,以獲得更好的效果。
iii. 在下載Checkpoint文件時(shí),您可以查看相應(yīng)的模型簡(jiǎn)介,通常作者會(huì)提供相應(yīng)的文件和說(shuō)明事項(xiàng),以幫助您更好地使用和理解該文件。
總之,Checkpoint文件是Stable Diffusion模型訓(xùn)練過(guò)程中定期保存的狀態(tài)快照,使用者可以將其理解為一種風(fēng)格濾鏡,用于將模型輸出結(jié)果轉(zhuǎn)換為特定的風(fēng)格。在使用Checkpoint文件時(shí),需要注意文件的匹配和相應(yīng)的使用說(shuō)明。
i. 可以將VAE理解為對(duì)模型的濾鏡加微調(diào),不同的VAE可能有一些細(xì)節(jié)上的差異,但不會(huì)影響輸出的效果。
ii. 它可以增強(qiáng)模型的表現(xiàn),有些模型文件已經(jīng)自帶了VAE效果,因此不需要盲目地去掛載,可以選擇自動(dòng)模式來(lái)簡(jiǎn)化日常使用。
i. 如果你有做過(guò)UI的經(jīng)驗(yàn),那么你應(yīng)該知道組件的概念。在Stable Diffusion中,embedding技術(shù)就可以被理解為一種組件,它可以將輸入數(shù)據(jù)轉(zhuǎn)換成向量表示,方便模型進(jìn)行處理和生成。
ii. 舉個(gè)例子,如果我們想要生成一個(gè)開(kāi)心的皮卡丘,通常需要輸入很多描述詞,如黃毛、老鼠、長(zhǎng)耳朵、腮紅等等。但是,如果引入皮卡丘的embedding,我們只需要輸入兩個(gè)詞:皮卡丘和開(kāi)心。皮卡丘的embedding打包了所有皮卡丘的特征描述,這樣我們就不用每次輸入很多單詞來(lái)控制生成的畫(huà)面了。
iii. 在日常使用中,embedding技術(shù)通常用于控制人物的動(dòng)作和特征,或者生成特定的畫(huà)風(fēng)。相比于其他模型(如LORA),embedding的大小只有幾十KB,而不是幾百兆或幾GB,除了還原度對(duì)比lora差一些但在存儲(chǔ)和使用上更加方便。
iiii. 總之,embedding技術(shù)將輸入數(shù)據(jù)轉(zhuǎn)換為向量表示,為模型的處理和生成提供了便利。通過(guò)使用embedding,我們可以更加輕松地生成符合預(yù)期的樣本,而不需要手動(dòng)輸入大量的描述詞匯。
LORA與embedding在本質(zhì)上類(lèi)似,因?yàn)閿y帶著大量的訓(xùn)練數(shù)據(jù),所以LORA對(duì)人物和細(xì)節(jié)特征的復(fù)刻更加細(xì)膩。
使用技巧:
i. 通常來(lái)說(shuō),每個(gè) LORA 模型都有對(duì)應(yīng)的底膜和觸發(fā)詞匯。我們可以查看 LORA 作者產(chǎn)出的相關(guān)圖片,從中獲取模型信息,并從中選擇一些提示詞和排除詞來(lái)指定生成圖像的方向。需要注意的是,每個(gè) LORA 模型對(duì)輸出圖像的權(quán)重設(shè)置是非常重要的。權(quán)重設(shè)置越大,對(duì)畫(huà)面的影響因素就越淺。通常情況下,權(quán)重應(yīng)該控制在 0.7-1 之間。如果權(quán)重過(guò)高,會(huì)大幅度影響出圖的質(zhì)量。
ii. 為了獲得最佳效果,我們可以根據(jù)不同的 LORA 模型選擇適當(dāng)?shù)奶崾驹~和排除詞,并在設(shè)置權(quán)重時(shí)進(jìn)行調(diào)整。同時(shí),我們還可以參考其他作者的經(jīng)驗(yàn)和技巧,以便更好地利用 LORA 生成圖像。
簡(jiǎn)介:
是一種生成圖像的方法,它可以通過(guò)對(duì)已有的圖像進(jìn)行修改或變形,生成新的圖像。在 Stable Diffusion 中,我們可以將墊圖的圖像看作是一張“初始圖像”,通過(guò)多次迭代,對(duì)其進(jìn)行修改和變形,逐步生成與墊圖風(fēng)格類(lèi)似想要的圖片。
需注意的是圖生圖相對(duì)于文生圖多出兩個(gè)功能。
重繪幅度:
i. 指的是每次迭代中圖像被重新繪制的程度或幅度,也就是新生成的圖像與上一次迭代生成的圖像之間的差異程度。
ii. 它的取值范圍在 0 到 1 之間。當(dāng) 值等于 0 時(shí),新生成的圖像與上一次迭代生成的圖像完全一致,即沒(méi)有重新繪制;
當(dāng)值等于 1 時(shí),新生成的圖像與上一次迭代生成的圖像完全不同,即完全重新繪制。
需要注意的是,重繪幅度的大小會(huì)影響生成圖像的質(zhì)量和逼真程度。當(dāng)重繪幅度較小時(shí),生成的圖像可能會(huì)比較模糊或粗糙;
當(dāng)重繪幅度較大時(shí),生成的圖像可能會(huì)出現(xiàn)明顯的噪點(diǎn)或瑕疵。
縮放模式:
直接縮放:
i. 指對(duì)圖像進(jìn)行簡(jiǎn)單的縮放處理,即直接將原始圖像縮放到目標(biāo)尺寸。
ii. 在 Stable Diffusion 中,如果生成的圖像尺寸與原始圖像尺寸不一致,就需要進(jìn)行縮放處理。直接縮放是一種簡(jiǎn)單粗暴的縮放方式,它直接將原始圖像縮放到目標(biāo)尺寸,不進(jìn)行任何額外的處理。這種縮放方式的優(yōu)點(diǎn)是簡(jiǎn)單快速,但缺點(diǎn)是可能會(huì)導(dǎo)致圖像失真或模糊,特別是當(dāng)縮放比例較大時(shí)。
主要用來(lái)做圖片放大和造型背景的變化,或者三次元改二次元時(shí)用的,通常配合著ControlNet來(lái)使用。
i. 通過(guò)手動(dòng)繪制或修改圖像的局部區(qū)域,來(lái)指導(dǎo)生成器生成更加符合用戶(hù)期望的圖像,使用時(shí)可以利用繪圖工具,如筆刷、橡皮擦等,對(duì)圖像的局部區(qū)域進(jìn)行修改。修改后的圖像會(huì)被作為下一次迭代的初始圖像,從而影響后續(xù)的圖像生成過(guò)程。
ii. 通過(guò)繪圖,可以更加精細(xì)地控制生成圖像的細(xì)節(jié)和特征,從而獲得更符合預(yù)期輸出。
i. 也稱(chēng)為上傳蒙版法,提前在作圖軟件里用畫(huà)筆涂抹好需要重新繪制的區(qū)域,黑色區(qū)域表示需要修復(fù)的區(qū)域,白色區(qū)域表示不需要修復(fù)的區(qū)域。
(注意:因此只需要在需要修復(fù)的區(qū)域涂黑色,其他區(qū)域可以涂白或保留原始顏色。上傳蒙版的話(huà)也只需在繪圖軟件里把需要修復(fù)的區(qū)域涂黑即可)
ii. 局部重繪的目的是盡可能地保留原始圖像的結(jié)構(gòu)和紋理特征,使修復(fù)后的圖像更加自然和真實(shí)。
指使用已有的圖像生成新的圖像。而圖生圖的批量處理是指同時(shí)對(duì)多張輸入圖像進(jìn)行圖生圖操作,生成對(duì)應(yīng)的多張輸出圖像。
權(quán)重:
ControlNet的權(quán)重與圖生圖權(quán)重的對(duì)比關(guān)系時(shí):
預(yù)處理器與模型的關(guān)系:
i. 使用預(yù)處理器時(shí)要與模型一一對(duì)應(yīng)起來(lái),如與處理器選擇canny,則相對(duì)應(yīng)的模型也要選擇canny。
ii. 預(yù)處理器和模型在 Stable Diffusion 中是相輔相成的,預(yù)處理器通過(guò)對(duì)輸入圖像進(jìn)行預(yù)處理和數(shù)據(jù)增強(qiáng),為模型提供了更好的輸入,而模型則通過(guò)對(duì)輸入進(jìn)行特征提取和生成高質(zhì)量圖像,為預(yù)處理器提供了更好的反饋。
介入時(shí)機(jī)和退出時(shí)機(jī):
i. 介入時(shí)機(jī):代表第幾步介入對(duì)畫(huà)面的影響;退出時(shí)機(jī):代表第幾步退出對(duì)畫(huà)面的影響。
ii. 如,現(xiàn)在是一個(gè)生成步幅為30步的圖像:
i. Canny 是一種經(jīng)典的邊緣檢測(cè)算法,能夠很好地識(shí)別出圖像中的邊緣信息,對(duì)于圖像生成任務(wù)來(lái)說(shuō),可以幫助模型更好地生成具有清晰邊緣的圖像。
ii. 處理圖片的方式是將圖片專(zhuān)為線稿,對(duì)于畫(huà)面細(xì)節(jié)不復(fù)雜的圖像來(lái)說(shuō)很好,但處理復(fù)雜圖像時(shí),主體會(huì)容易被除主題元素以外的元素影響。
iii. 細(xì)節(jié)刻畫(huà)上,一種是分辨率越高,線條越清晰,閾值越少,對(duì)應(yīng)的細(xì)節(jié)也越多。
i. 該算法的特點(diǎn)是能夠同時(shí)預(yù)測(cè)多個(gè)尺度的邊緣,從而提高了邊緣檢測(cè)的精度,對(duì)邊緣清晰的圖像生成效果更好。
ii. 當(dāng)用草圖轉(zhuǎn)上色時(shí),可以在繪圖軟件將描邊加粗加深一些,從而能更方便獲取邊緣。
i. mlsd模型,可以進(jìn)行直線檢測(cè),通過(guò)分析圖片的線條結(jié)構(gòu)來(lái)構(gòu)建出建筑外框,適合建筑設(shè)計(jì)的使用。
ii. 可以配合canny一起使用,效果更佳。
判斷主圖的主體動(dòng)作,然后將動(dòng)作附加在主圖上 一般配合著open pose editer。
對(duì)有場(chǎng)景深度的圖片效果更佳,生成的圖像景深更易區(qū)分。
隨著AI技術(shù)的快速發(fā)展,圖像生成領(lǐng)域的大型模型正在成為研究的熱點(diǎn),但是由于該領(lǐng)域的相對(duì)新穎和復(fù)雜性,相關(guān)的教程和資源目前還相對(duì)匱乏。希望本文可以幫助各位設(shè)計(jì)師快速入門(mén)Stable Diffusion,并為您提供一些有用的參考資料。
相信在不久的將來(lái),一些真正具有商業(yè)價(jià)值的大模型將會(huì)涌現(xiàn)出來(lái),為設(shè)計(jì)和其他領(lǐng)域帶來(lái)更多的創(chuàng)新和效益,最后,希望大家能不斷探索和學(xué)習(xí),掌握更多的技能和知識(shí),為設(shè)計(jì)賦能!
本文由 @尹承元 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議。
聯(lián)系客服