萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

在開始這篇文章之前,我想先給大家介紹一下我個(gè)人學(xué)習(xí)深入 SD 的學(xué)習(xí)曲線。

  1. 先學(xué)最基礎(chǔ)的,大概理解參數(shù)模型提示詞的用途,先把 SD 的流程跑通,這一步大概可以做出來相對(duì)看得過去的圖了
  2. 然后再去研究模型和提示詞的高級(jí)用法,比如,混用 lora 模型,提示詞的分步和融合寫法,這個(gè)時(shí)候,必然會(huì)涉及到一些原理性的東西,就會(huì)理解為什么 AI 畫不好手了。到這一步,可以對(duì)圖進(jìn)行針對(duì)性的優(yōu)化了,比如說一個(gè)圖怎么達(dá)不到提示詞想要的效果,可以針對(duì)性地優(yōu)化提示詞。
  3. 學(xué)習(xí)其他功能,圖生圖,Control net 插件,以及分層控制 Lora 模型等進(jìn)階功能。
  4. 訓(xùn)練自己的模型

更多Stable Diffusion教程:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

上一篇文章集中在第一步,這篇文章會(huì)講解一下第二部分和第三部分。沒有看上一篇的基礎(chǔ)篇的建議先看完上一篇再食用。上一篇文章指路:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

一、圖片對(duì)比

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

1. XYZ 圖表的使用

XYZ 三維圖表是一種用于可視化三維數(shù)據(jù)的圖表。它由三個(gè)坐標(biāo)軸組成,分別代表三個(gè)變量。這個(gè)工具的作用就是可以同時(shí)查看至多三個(gè)變量對(duì)于結(jié)果的影響。具體在 sd 中,xyz 圖表可以幫助我們觀察到三個(gè)變量的變化對(duì)圖像的影響,以便我們更好的調(diào)整參數(shù),如此,我們便對(duì)各個(gè)參數(shù)的作用更加了解,即使以后 sd 更新了新參數(shù),我們也可以在不需要教程的情況下知道該參數(shù)的含義。

這項(xiàng)功能可以在 文生圖/圖生圖 界面的左下角中 “腳本” 一欄內(nèi)選擇 “X/Y/Z 圖表” 以啟用。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

舉個(gè)例子,我們想要測(cè)試采樣器(Sampler),迭代步數(shù)(Steps)和基礎(chǔ)底模型(Checkpoint name)三個(gè)變量對(duì)圖片的影響,點(diǎn)開 X 類型,選擇為采樣器,Y 和 Z 依次設(shè)置為迭代步數(shù)和基礎(chǔ)底模型。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

在填各個(gè)軸數(shù)值的時(shí)候,將對(duì)應(yīng)的參數(shù)以英文逗號(hào)隔開即可。以 X 軸的 sampler 為例,我們可以把要對(duì)比的采樣器的名稱復(fù)制進(jìn)去。另外,也可以點(diǎn)擊右邊的“book”圖標(biāo),加載本地所有的采樣器,然后刪除掉不需要的即可。在填 Y 軸的迭代步數(shù)時(shí),除了可以直接輸入數(shù)值外,也可以采用另外兩種方式來寫。

  1. 起點(diǎn)-終點(diǎn)(間距),例如:20-50(+10)就表示,從 20 到 50,每一步加 10。
  2. 起點(diǎn)-終點(diǎn)[步數(shù)],例如 20-50[4]就表示,從 20 到 50,一共四步。

這兩種方式的效果都與直接輸入“20,30,40,50”等效。

最終我們會(huì)得到一個(gè)這樣的網(wǎng)格圖。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

這里還有一個(gè)小技巧,如果我們覺得圖與圖之間沒有間隔,混在一起不好區(qū)分,可以調(diào)整這里的數(shù)值,來增加圖與圖的間隔。將這里的間隔調(diào)整為 12 后效果如下:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

2. 提示詞矩陣

①基本使用方式

在許多情況下,一大串從網(wǎng)絡(luò)上抓取的提示詞在某些模型中表現(xiàn)良好,但在更換模型后可能就無法使用。有時(shí)候,一些看似無用的提示詞被移除后,畫面的感覺會(huì)變得怪異,不清楚到底是哪里受到了影響。這時(shí)候,就可以使用 Prompt matrix 來深入探究原因。與之前介紹的 X/Y/Z plot 相比,Prompt matrix 的使用方式相似,都可以生成一組圖表,但它們的設(shè)置方式有很大的差別。

我們舉個(gè)例子來說明這個(gè)腳本的使用方法:

例如我們?cè)趧e人的提示詞中看到了這兩個(gè)詞:dutch angle,autumn lights,翻譯過來是傾斜的角度,秋天光影,每個(gè)字都懂,但是我們還是無法知道這些詞對(duì)圖像的影響。

1)首先我們把選擇提示詞這個(gè)部分選中正面。(默認(rèn)就是選中正面,不需要去更改)。其他參數(shù)我們保持默認(rèn)即可。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

2)接下來我們將兩個(gè)詞填入正向提示詞中,這里的格式是“|測(cè)試提示詞 1|測(cè)試提示詞 2”。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

在上面的這個(gè)圖中,第一行的提示詞會(huì)被用在每一張圖上,第二、三行被“|”分割的提示詞,會(huì)被當(dāng)成矩陣提示詞,交錯(cuò)添加在最終的圖上。

3)然后,我們可以產(chǎn)出這么一張圖。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

左上角的第一張圖,就是什么額外提示詞都沒加的狀態(tài),它第二列的圖,則全都是添加了“dutch angle(傾斜角度)”這個(gè)提示詞的效果。第二行則是都增加了“autumn lights(秋天光影)”提示詞的效果。而最右下的,就是傾斜角度與秋天光影全部提示詞都有的效果。 這樣你就能很清楚地看到,各種提示詞交互疊加起來的效果。

②進(jìn)階使用

提示詞矩陣不止一次可以對(duì)單個(gè)詞進(jìn)行測(cè)試,還可以將一組詞組合在一起進(jìn)行測(cè)試。例如:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

以此作為提示詞產(chǎn)出的圖如下:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

二、圖片微調(diào)

在完成最終的繪圖后,有時(shí)我們可能會(huì)發(fā)現(xiàn)一些小問題,或者想要微調(diào)畫面。這時(shí),我們可以使用“變異隨機(jī)種子”來實(shí)現(xiàn)。

以這樣一張?jiān)瓐D為例:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

首先,我們先將隨機(jī)種子確定,然后將這里勾選后,下面的子參數(shù)“變異隨機(jī)種子”會(huì)被打開,變異幅度越大,最終的圖與之前的圖的區(qū)別越大。一般來說,我們會(huì)把這個(gè)值調(diào)整為 0.3,當(dāng)然,這里也可以借助上面介紹過的 xyz 圖表進(jìn)行嘗試,找到一個(gè)最合適的值。另外,我們可以把批次數(shù)提高,找到最合適的結(jié)果。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

最終,我們可以得到這樣的結(jié)果。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

三、圖片放大

由于顯存大小的限制,通常我們只能在出圖時(shí)生成 512*512 大小的圖像。然而,這個(gè)大小的圖像通常不夠清晰,即使進(jìn)行高清修復(fù),也只能將分辨率提高到 1024*1024。如果我們強(qiáng)行將分辨率改變?yōu)?2000 以上,要么顯存直接爆掉,無法生成圖像,要么生成的圖像會(huì)出現(xiàn)各種奇怪的問題。

為了解決這個(gè)問題,我們可以使用“multi diffusion”插件來放大圖像。這是目前圖像放大的最佳解決方案,可以在放大圖像的同時(shí)補(bǔ)充細(xì)節(jié)。

1. 插件的安裝

一般來說,在秋葉的整合包中已經(jīng)自帶了這個(gè)插件。如果沒有的話,點(diǎn)擊擴(kuò)展→從網(wǎng)址安裝→重啟UI即可。

網(wǎng)址:https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

2. 插件的使用

①使用前的準(zhǔn)備

  1. 去掉正向提示詞中的有實(shí)際意義的部分,只留下例如"highres, masterpiece, best quality, ultra-detailed 8k wallpaper, extremely clear"的詞匯。由于這個(gè)插件的原理是對(duì)大圖進(jìn)行分塊繪制,如果在正向提示詞中加入了具體對(duì)象,會(huì)使得這個(gè)對(duì)象遍布在圖像的各個(gè)區(qū)域。
  2. 「可選」把提示詞引導(dǎo)系數(shù)調(diào)大,例如調(diào)到 15 左右,經(jīng)過我的測(cè)試,效果是要好于 7 的,但是差別不大。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

3. 插件參數(shù)設(shè)置

我們首先將要生成的圖發(fā)送到圖生圖下,將頁面往下滾動(dòng),找到這兩個(gè)標(biāo)題,并點(diǎn)擊右側(cè)的箭頭展開設(shè)置項(xiàng)。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

①Tile Diffusion 參數(shù)設(shè)置

我們只需要調(diào)整以下五個(gè)參數(shù)即可,其他參數(shù)保持默認(rèn)即可。

放大算法:真人圖像用 4x+,二次元圖像用 4x+anime。

放大倍數(shù),即最終圖像相對(duì)于原圖的放大倍率。

renoise stength 推薦“0.3-0.6”之間。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

②Tiled VAE

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

首次使用時(shí)點(diǎn)擊 reset,系統(tǒng)會(huì)自動(dòng)計(jì)算出最適合當(dāng)前電腦配置的編碼器區(qū)塊大小和解碼器區(qū)塊大小。然后如果放大后的圖顏色失真,勾選壓縮編碼器顏色修復(fù)即可。

最后,我們點(diǎn)擊生成即可。

從右下角的圖片信息可以看到,我們已經(jīng)得到了 2k 的圖。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

并且在原比例顯示時(shí),也是非常清晰的。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

四、提示詞進(jìn)階

在之前的文章中,我們介紹了提示詞的基本語法和撰寫方式,在這里我們要介紹一下更進(jìn)階的語法和使用方式。

1. 提示詞的順序

先說結(jié)論:越重要的提示詞應(yīng)該放到越靠前的位置。

這里做一個(gè)測(cè)試,1girl,1cat

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

可以看到,當(dāng) cat 這個(gè)提示詞在前時(shí),貓的細(xì)節(jié)明顯多了很多,而且甚至 AI 將貓耳的元素加到了人物身上。

結(jié)論:Prompt 的順序會(huì)影響畫面的組織方式,越靠前的 Prompt 對(duì)構(gòu)圖的影響越大。雖然本次試驗(yàn)只涉及一個(gè)場(chǎng)景,但在更多的后續(xù)探究和復(fù)雜場(chǎng)景構(gòu)建中,這種影響的有效性已經(jīng)得到證明。然而,它并非絕對(duì)有效,在某些情況下或者較為復(fù)雜的場(chǎng)景中,這種規(guī)律可能會(huì)失效,但總的來說,遵循這個(gè)規(guī)律寫提示詞更容易獲得自己想要的場(chǎng)景。

2. 分步描繪

有時(shí)候,在特定的情況下,你可能希望一個(gè)提示詞在計(jì)算過程中持續(xù)到達(dá)到 X%時(shí)停止,或者在達(dá)到 X%時(shí)才加入,或者在開始時(shí)使用提示詞 A,然后在達(dá)到 X%時(shí)切換到提示詞 B。在這種情況下,SD 提供了這樣子功能的語法:

[A:B:number] 表示:A 提示詞跑到 number 之后換成 B 提示詞

[A:number] 表示:A 提示詞跑到 number 之后才開始加入

[A::number] 表示:A 提示詞跑到 number 的時(shí)候停止使用

我們來看一個(gè)例子:

假設(shè)你想畫一位穿著白色毛衣和橘色皮衣的女孩,并測(cè)試不同比例的 Prompt 的效果,你可以嘗試以下方式:

[White sweater:orange Leather coat:0.2]

這意味著前 20%的圖像使用“白色毛衣”提示詞進(jìn)行繪制,剩下的 80%則使用“橘色皮衣外套”提示詞繼續(xù)繪制。

同樣,[White sweater:orange Leather coat:0.5]表示在繪制到一半時(shí),提示詞從“白色毛衣”轉(zhuǎn)換為“橘色皮衣外套”,而 [White sweater:orange Leather coat:0.9] 則表示在繪制到 90%時(shí)才切換到“橘色皮衣外套”。以下是效果對(duì)比:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

3. 融合描繪

語法是:[提示詞 A|提示詞 B]。

這種用法非常罕見,基本上就是在每個(gè)回合中不斷輪流使用提示詞,效果會(huì)變得難以預(yù)測(cè)。例如,下圖使用了這樣的提示詞,[black hat|red hat]是黑帽和紅帽提示詞交替使用,但實(shí)際上生成的帽子并沒有真正變成紅黑相間,而是黑底帽子帶有了紅色裝飾。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

筆者建議,這種用法慎用,可控程度相當(dāng)?shù)停苋菀壮霈F(xiàn)奇奇怪怪的圖。

4. 反向提示詞的進(jìn)階用法

反向提示詞的高級(jí)用法不僅僅是寫一些低質(zhì)量的提示詞,還可以寫一些與正向提示詞相關(guān)但不需要的提示詞。例如,在正向提示詞中,上半身通常會(huì)默認(rèn)繪制手,但是我們可以將手寫入反向提示詞中,從而達(dá)到更加自由的繪制效果。

5. 借助 ChatGPT 寫提示詞

在編寫提示詞時(shí),我們可能會(huì)遇到不知道如何描述一個(gè)場(chǎng)景的情況。例如,我們想要繪制一張女孩在咖啡館里看書的畫面,但不知道如何描述這個(gè)場(chǎng)景。這時(shí),我們可以借助 ChatGPT 來提供靈感,打開思路。

具體操作如下:首先給 ChatGPT 一個(gè)基本的提示,讓它幫助我們產(chǎn)生畫面描述。

我這里的基本提示如下:

假設(shè)你現(xiàn)在是一個(gè)創(chuàng)意插畫師,接下來我會(huì)給你一些提示,你需要以這個(gè)提示為依據(jù),去組合想象生成一副插畫的語言描述,請(qǐng)注意,不允許用長(zhǎng)句,盡可能用詞匯,其次是短語。另外盡可能多地合理地去補(bǔ)充場(chǎng)景中對(duì)人或風(fēng)景的細(xì)節(jié)和特征,不少于 5 處,例如主體的衣著,長(zhǎng)相,姿勢(shì),背景的花草樹木等,盡可能的幫我補(bǔ)充這些我沒有提到的細(xì)節(jié),整體內(nèi)容豐富一點(diǎn)。

大家可以直接復(fù)制,也可以在此基礎(chǔ)上加入一些其他細(xì)節(jié)。

之后,我們輸入一個(gè)簡(jiǎn)單的場(chǎng)景描述,例如“女孩坐在咖啡館”,ChatGPT 就會(huì)給出對(duì)應(yīng)的畫面描述,接下來,我們從中提取出重要的提示詞即可。

另外,我們還可以將借助一些 ChatGPT 的軟件或?yàn)g覽器插件,將這個(gè)保存成一個(gè)模板,以后我們需要時(shí)直接輸入我們的畫面即可,不需要重復(fù)輸入基本提示。

以 iOS 上一個(gè)叫“Chitchat”的軟件為例:(chitchat 的工作人員看到后,請(qǐng)給我廣告費(fèi))

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

在這部分的最后,額外補(bǔ)充一個(gè)知識(shí)點(diǎn):ChatGPT 的提示語句式:

“假設(shè)你你現(xiàn)在是 XX 專家,需要做 XXX,請(qǐng)注意:要求 1,要求 2”,使用這樣的句式會(huì)讓 ChatGPT 的效果大幅提升。這個(gè)不是本文重點(diǎn),這里不展開詳述。

5. 提示詞管理

在開始之前,我想先說一下為什么推薦這樣做。雖然網(wǎng)上有很多所謂的提示詞大全,但我不建議直接替換自己的提示詞管理,原因如下:

  1. 我們不需要那么多的風(fēng)格,過多的提示詞會(huì)增加使用成本和管理難度。
  2. 我們不知道未經(jīng)使用的提示詞具體會(huì)給圖片帶來什么變化。

正是出于這樣的考慮,我不想分享所謂的“海量?jī)?yōu)質(zhì)提示詞”,我認(rèn)為這些東西的噱頭價(jià)值大于實(shí)際意義,收藏后很可能就會(huì)被遺忘。授人以魚不如授人以漁,我希望大家學(xué)會(huì)的是一種有效的提示詞管理方法。

這里推薦一個(gè)網(wǎng)站: https://moonvy.com/apps/ops/ ,我們可以在這里對(duì)我們的提示詞進(jìn)行管理。

使用方法可以參考這個(gè)視頻: https://www.bilibili.com/video/BV15N411P7D3/?vd_source=bd8f1862d445f4e01d7c1f49857dd474

五、ControlNet插件

現(xiàn)在的 AI 繪畫技術(shù)主要采用了一種名為擴(kuò)散模型的方法,這種方法能夠使生成的圖片呈現(xiàn)出獨(dú)特且富有趣味性的效果。然而,這種方法也存在一個(gè)顯著的問題,那就是生成的圖片可控性非常差。在某些情況下,生成的圖片可能會(huì)非常精美,而在其他時(shí)候,效果卻可能不盡如人意。這使得設(shè)計(jì)師在使用此類工具時(shí),很難確保能夠滿足客戶的具體需求。

然而,隨著一種名為 ControlNet 的新技術(shù)的出現(xiàn),這一局面得到了改善。ControlNet 能夠幫助設(shè)計(jì)師更好地控制 AI 繪畫過程,從而使這個(gè)工具更加符合他們的實(shí)際工作需求。AI 繪畫不再僅僅是一個(gè)供人們娛樂的小玩具,而是逐漸發(fā)展成為一種能夠真正幫助設(shè)計(jì)師提高工作效率的實(shí)用工具。雖然目前 ControlNet 的可控性仍然有待提高,但與之前的技術(shù)相比,它已經(jīng)實(shí)現(xiàn)了質(zhì)的飛躍。

Controlnet 插件的本質(zhì)是利用圖像作為輸入信息的方式,以彌補(bǔ)語言在某些情況下的局限性。相對(duì)于語言而言,圖像更加直觀、簡(jiǎn)潔、易于理解,能夠更加準(zhǔn)確地傳達(dá)信息。因此,Controlnet 利用圖像作為輸入方式,可以更好地幫助 AI 理解我們的需求,從而生成我們所需要的圖片。

在圖片中,包含了多種信息,例如線條輪廓、表面凹凸等。Controlnet 插件的工作原理是使用特定的模型提取出特定的圖像信息,然后將其輸入給 AI,引導(dǎo) AI 生成圖片。

總的來說,我們可以將使用圖片作為提示詞視為補(bǔ)充語言的方式。這里補(bǔ)充一下,在文生圖和圖生圖中用 controlnet 插件的區(qū)別,一句話說明白,需要生成新的圖片用文生圖,在原有圖片上優(yōu)化使用圖生圖。

1. 插件安裝與模型下載

①插件安裝

一般來說,網(wǎng)上的整合包已經(jīng)包含了 controlnet 插件,不需要額外安裝。

安裝方式:

  1. 選擇到從網(wǎng)址安裝: https://github.com/Mikubill/sd-webui-controlnet (推薦)
  2. 可以直接去這個(gè)鏈接這里下載 https://github.com/Mikubill/sd-webui-controlnet/archive/refs/heads/main.zip ,然后解壓到 extension 文件夾

②模型下載

我們可以直接去 https://huggingface.co/lllyasviel/ControlNet-v1-1下載對(duì)應(yīng)的模型 ,把這些后綴為 safetensors 的文件下載下來,然后放到這個(gè)文件夾中即可。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

2. 使用

①基本使用流程

這里以最常用的 canny 模型為例,模式選擇文生圖,canny 模型的作用就是提取出圖片的線條信息并輸入給 AI。

在界面最下面找到 controlnet 的插件,點(diǎn)擊右邊箭頭展開參數(shù),將這四個(gè)選項(xiàng)全部啟用。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

然后將預(yù)處理器和模型全部選擇為 canny,這里要注意,前面的預(yù)處理器與后面的模型要對(duì)應(yīng)。接下來點(diǎn)一下這個(gè)爆炸的 icon,在右邊會(huì)顯示所提取出的線條信息。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

下面的那些參數(shù)我們先保持默認(rèn)不變,接下來,修改采樣器為 DPM++2M Karras,總批次數(shù)修改為 4,基礎(chǔ)底模型改為“cetusMix_Coda2”,并且填入如下的提示詞:

正向提示詞:masterpiece, best quality, ultra detailed, A girl, cute, light smile, black hair, purple eyes, yellow clothes, standing, outdoor, long sleeves,

反向提示詞:nsfw,(watermark),sketch, duplicate, ugly, huge eyes, text, logo, monochrome, worst face, (bad and mutated hands:1.3), (worst quality:2.0), (low quality:2.0), (blurry:2.0), horror, geometry, badpromptv2, (bad hands), (missing fingers), multiple limbs, bad anatomy, (interlocked fingers:1.2), Ugly Fingers, (extra digit and hands and fingers and legs and arms:1.4), crown braid, ((2girl)), (deformed fingers:1.2), (long fingers:1.2),(bad-artist-anime), bad-artist, bad hand

然后我們點(diǎn)擊生成即可??梢钥吹剑罱K生成的圖片是在初始的真人的基礎(chǔ)上生成的。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

3. 具體參數(shù)介紹

低顯存模式:如果你的顯卡內(nèi)存小于等于 4GB,建議勾選此選項(xiàng)。

完美像素模式:勾選后,controlnet 會(huì)自動(dòng)去匹配適合的像素大小。

允許預(yù)覽:勾選后,點(diǎn)擊爆炸 icon,在圖片右邊會(huì)展示所提取的圖片特征信息

控制權(quán)重:可以調(diào)整該項(xiàng) ControlNet 的在合成中的影響權(quán)重。

引導(dǎo)介入步數(shù)&引導(dǎo)終止步數(shù):controlnet 對(duì)最終生成結(jié)果的控制步數(shù)范圍比例。Guidance strength 用來控制圖像生成的前百分之多少步由 Controlnet 主導(dǎo)生成。Guidance Start(T) 設(shè)置為 0 即代表開始時(shí)就介入,默認(rèn)為 0,設(shè)置為 0.5 時(shí)即代表 ControlNet 從 50% 步數(shù)時(shí)開始介入計(jì)算。

canny low threshold & canny high threshold

更高的閾值下,所提取的線條更少,更低的閾值下提取的線條更多。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

控制類型:更遵循提示詞,更遵循 controlnet 輸入的圖像特征,或者均衡。

①常用模型介紹

除了上面使用的 canny,還有幾個(gè)常用的模型,我在這里給大家介紹一下其他模型的用途。

Depth

通過提取原始圖片中的深度信息,獲得前后景的關(guān)系,可以生成具有同樣深度結(jié)構(gòu)的圖。一般用于提取物體邊緣輪廓,沒有物體內(nèi)部的細(xì)節(jié)。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

以這個(gè)模型為引導(dǎo),生成的圖片如下:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

Lineart

與 canny 類似,該模型對(duì)線稿的處理能力極為優(yōu)秀。同樣也是將圖形提取成線稿,然后在此基礎(chǔ)上進(jìn)行上色與細(xì)節(jié)補(bǔ)充。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

MLSD

該模型通過分析圖片的線條結(jié)構(gòu)和幾何形狀,來構(gòu)建出建筑外框,適合建筑設(shè)計(jì)的使用。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

Normal

適用于三維立體圖,通過提取圖片中 3D 物體的法線向量,繪制出的新圖與原圖的光影關(guān)系完全一致。此方法適用于人物建模和建筑建模,但更適合人物建模。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

hed(邊緣檢測(cè)算法):

canny 提取線稿更硬朗,hed 提取的線條更圓潤

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

OPENPOSE

根據(jù)圖片生成動(dòng)作骨骼中間圖,然后生成圖片,使用真人圖片是最合適的,因?yàn)槟P蛶焓褂玫恼嫒怂夭摹?/p>

目前已經(jīng)有五個(gè)預(yù)處理器,分別是 openpose,openposefull,open posehand,openposefaceonly,openposeface,這五個(gè)預(yù)處理器分別可以識(shí)別身體姿態(tài),姿態(tài)+手部+臉部,身體+手部,僅臉部,身體姿態(tài)+臉部。

我們這里以身體姿態(tài)為例,

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

上圖中右邊便是 openpose 提取出來的人物骨骼圖,以此引導(dǎo)生成的圖像如下,可以看到,圖像里人物的姿勢(shì)都與原圖保持了一致。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

這里順便給大家推薦一個(gè)網(wǎng)站: https://escalalatina.com/mujeres/sentada-azul-naranja/ ,可以從這里面下載人物的不同姿勢(shì)的圖片。

Segment

語義分割模型,標(biāo)注畫面中的不同區(qū)塊顏色和結(jié)構(gòu)(不同顏色代表不同類型對(duì)象),從而控制畫面的構(gòu)圖和內(nèi)容。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

如上右圖所示,每個(gè)色塊代表不同的含義,完整的色塊釋義對(duì)照表如下:

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

原圖文件鏈接如下: https://cowtransfer.com/s/3a5fc9e578ab44 ,各位自取即可。

在這個(gè)模型下,我們可以更自由地控制圖片的生成。例如我們想要添加一個(gè)人,將預(yù)處理后的色塊圖下載后,在 PS 中添加一個(gè)人物輪廓的色塊,顏色從表格中獲得。然后再導(dǎo)入到 controlnet 中,注意這時(shí)預(yù)處理器要選擇無,后面依舊選擇 seg,如圖所示。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

再次點(diǎn)擊生成后,可以看到,圖片按照我們的要求在中下部添加了一個(gè)拿箱子的人,并且由于我們選擇的模型是二次元的,所以生成的圖片也是二次元的。但整體的結(jié)構(gòu)是遵循我們的指令的。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

六、常見問題

這里整理了一些大家在使用 stable diffusion 過程中遇到的常見問題,希望可以幫助到大家。

1. Vae 模型是否必須要有?

不需要,現(xiàn)在的大模型很多已經(jīng)自帶了 vae 模型,我們即使不使用額外的 vae 模型也可以得到比較好的效果

2. 大模型和 lora 是否必須對(duì)應(yīng)?

這個(gè)是不需要的,并且甚至我們可以對(duì) lora 模型混搭使用。例如:

3. 我明明描述的是一個(gè)人,最終圖像卻生成了多個(gè)人?

一般來說多人的問題,大概率是圖像尺寸過大,或者比例不對(duì)導(dǎo)致的。

為什么會(huì)出現(xiàn)這樣的問題呢?這要從 stable diffusion 的底層訓(xùn)練集說起,stable diffusion V1.5 的版本其實(shí)是基于 512x512 圖像上進(jìn)行微調(diào)的。當(dāng)我設(shè)置的圖片尺寸遠(yuǎn)大于 512x512,或比例與 1:1 相差過大時(shí),SD 就會(huì)采用提示詞中的部分進(jìn)行填充,所以會(huì)出現(xiàn)多人或多頭的情況。

解決方案:

a. 多抽卡。最直接的方案,生成很多張圖,把多人或多頭的圖片扔掉,但是這種方案很浪費(fèi)算力。

b. 盡量保持文生圖時(shí),直接生成的圖像比例和尺寸在 1:1 和 512x512 左右,需要放大時(shí)采用文章中提到的措施進(jìn)行。

4. 無法生成全身照,盡管我添加了“full body”這種詞。

a. 使用 512*768 這樣的縱向比例的圖。

b. 在提升詞中加入諸如“牛仔褲”此類的對(duì)下半身的描述詞

另外,在遇到問題時(shí),我們可以打開控制臺(tái),看一下控制臺(tái)的報(bào)錯(cuò),很多小的問題,我們都可以通過這里發(fā)現(xiàn)并解決。

例如在我初次使用 controlnet 時(shí),發(fā)現(xiàn)控制臺(tái)報(bào)出來這樣類似下載失敗的錯(cuò)誤,于是我手動(dòng)下載控制臺(tái)中的文件到指定的文件夾就解決了這個(gè)小問題。

萬字長(zhǎng)文!從零開始帶你進(jìn)階AI繪畫神器Stable Diffusion

諸如此類的問題還有很多,善用控制臺(tái)可以解決大部分的小問題。

后記

如今,我們經(jīng)常可以看到有關(guān)“學(xué)習(xí) AI,否則你就落后了”的文章和帖子,但是我認(rèn)為這種說法并不完全正確。客觀上說,chatgpt、mj 等 AI 工具已經(jīng)被非常廣泛地運(yùn)用,并且也確確實(shí)實(shí)地帶來了生產(chǎn)力的提高,但是我們并不需要像設(shè)計(jì)師必須熟練掌握 PS 一樣精通 AI。相反,我們只需要保持好奇心,嘗試一下,摸索一下,享受這個(gè)過程,無須把它當(dāng)成考試或者培訓(xùn)。我們不應(yīng)該被“不學(xué) AI,馬上就會(huì)被替代”的焦慮所困擾。當(dāng)前,AI 繪畫等技術(shù)也只是出現(xiàn)了不到 1 年的新事物,沒有所謂的專家,只有在互聯(lián)網(wǎng)上扮演專家的人,包括筆者在內(nèi),也只不過是 AI 繪畫領(lǐng)域的小學(xué)生而已。科技日新月異,自去年 AI 繪畫技術(shù)初現(xiàn)端倪以來,其成果已然大不相同,今日之 AI 繪畫已愈發(fā)強(qiáng)大。

因此,我們只需要保持興趣即可,而非糾結(jié)于學(xué)習(xí)哪種技術(shù)、安裝哪些插件。在這個(gè)新領(lǐng)域里,我們應(yīng)懷抱好奇心,共同享受探索的樂趣,基于此,若能為生活、工作帶來生產(chǎn)力的提升,那便是錦上添花。

愿諸君玩得開心。

收藏 203
點(diǎn)贊 74

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