Stable Diffusion 汽車?yán)L圖初探二(進(jìn)階創(chuàng)作)

一、前言
之前由于存放SD的硬盤壞了,所有文件都沒(méi)了,所以一直沒(méi)有更新第二期的內(nèi)容。前段時(shí)間換了新的硬盤后,重新下載了秋葉aaaki大佬的SD整合包,發(fā)現(xiàn)新的版本里有些菜單的中文翻譯變了,不過(guò)并不影響使用,我們接著往下講。
上一期的文章“Stable Diffusion 汽車?yán)L圖初探一(基礎(chǔ)創(chuàng)作)”講了如何使用SD進(jìn)行文生圖和圖生圖的基礎(chǔ)操作。這一期里我們來(lái)嘗試一種非常有趣的創(chuàng)作方式,通過(guò)簡(jiǎn)單的草圖來(lái)生成結(jié)果,看看SD能夠給大家?guī)?lái)怎樣的驚喜。
二、開(kāi)工
如圖1所示,我使用Rhinoceros軟件構(gòu)建了一個(gè)非常簡(jiǎn)單模型場(chǎng)景,用來(lái)模擬一輛硬派敞篷越野車。

選擇真實(shí)系模型“cyberrealistic_v31”作為基礎(chǔ)SD模型,“vae-ft-mse-840000-ema-pruned”作為VAE模型。正向提示詞中填入“futuristic vehicle, roadster, off-road, rainforest background, reptile style, finely detailed, LED lights,? a computer rendering, minimalism, octane render, 4k?”。嘗試在這個(gè)草圖的基礎(chǔ)上產(chǎn)生一輛以雨林為背景的帶有爬行動(dòng)物風(fēng)格特征的敞篷越野車。
反向提示詞中填入“worst quality, low quality, normal quality low-res, normal quality, bad_prompt, bad_prompt2, monochrome, grayscale, cropped, text, jpeg artifacts, signature, watermark, username, EasyNegative, sketch, cartoon, drawing, anime, duplicate, blurry, semi-realistic, out of frame, worst quality, ugly,? low quality, deformed, multiple objects"
迭代步數(shù)(Steps):30;采樣方法(Sampler):“DPM++ 2M Karras”;分辨率:512*512;批次:1;單批數(shù)量:4;提示詞引導(dǎo)系數(shù) (CFG Scale):7.5;重繪幅度 (Denoising strength):0.85
采用以上參數(shù),重繪幅度采用0.85,這個(gè)數(shù)值相對(duì)較高,目的是讓結(jié)果的方向能夠更豐富。生成了一批4張圖,如圖2所示。

可以看到結(jié)果與原圖差異很大,其中一張車的方向反了,還有兩張顏色也不對(duì)。這種情況在文生圖中也很常見(jiàn),即便是你在提示詞中加入色彩的描述,有時(shí)也得不到想要的結(jié)果。另外就是提示詞中的雨林背景沒(méi)有生成。
針對(duì)這種情況,我們可以引入ControlNet插件來(lái)改進(jìn)生成的結(jié)果。關(guān)于ControlNet的介紹和下載可以參考秋葉aaaki的介紹視頻。大佬最新的SD整合包已將ControlNet整合在內(nèi)了。

如上圖所示,在界面下方點(diǎn)擊打開(kāi)ControlNet的頁(yè)面,將草圖粘貼進(jìn)去作為生成內(nèi)容的參考原圖,勾選“啟用”。在預(yù)處理器這里選擇“canny”。 canny是邊緣檢測(cè)處理器,需配合canny的模型才能發(fā)揮作用。假如你點(diǎn)開(kāi)模型一欄里面是空的,說(shuō)明你的SD整合包中并未將ControlNet的模型導(dǎo)入,需重新下載模型導(dǎo)入后使用,具體可見(jiàn)上述視頻介紹。
canny的主要功能就是檢測(cè)參考原圖的輪廓邊緣,Canny Low Threshold和Canny High Threshold的數(shù)值可以控制采樣的深度,具體怎么發(fā)揮作用我也不太清楚,只知道這兩個(gè)數(shù)值越低,參考圖的輪廓和細(xì)節(jié)就越復(fù)雜,這里先采用默認(rèn)參數(shù)。
Preprocessor Resolution采用與圖生圖一致的512;控制權(quán)重默認(rèn)1,這個(gè)數(shù)值越大ControlNet影響生成內(nèi)容的權(quán)重就越大;引導(dǎo)介入步數(shù)0,在生成圖一開(kāi)始時(shí)就介入發(fā)揮影響;引導(dǎo)終止步數(shù)1,介入影響直到最后。
Control Mode有三個(gè)選項(xiàng),分別是“均衡”,“更注重提示詞”,“更傾向于讓 ControlNet 自由發(fā)揮”。我們選擇“更傾向于讓 ControlNet 自由發(fā)揮”,目的是讓結(jié)果更加符合草圖的特征,其他參數(shù)都使用默認(rèn),生成結(jié)果如圖4。

這顯然不是我們想要的結(jié)果,不過(guò)也可以看到ControlNet在其中發(fā)揮的作用很大。將控制權(quán)重改為0.5,Control Mode改為均衡,再次生成如圖5的結(jié)果。

可以看出與圖4相比,ControlNet做了些妥協(xié),但是還不夠。將Control Mode改為更注重提示詞,控制權(quán)重改為0.8。生成結(jié)果如圖6。

這時(shí)我們發(fā)現(xiàn)結(jié)果似乎朝著理想的方向發(fā)展了,雖然有兩張圖的車身顏色發(fā)生了變化,這是正常的,因?yàn)?strong>canny控制的主要是輪廓和細(xì)節(jié),對(duì)色彩沒(méi)有影響。我們把圖6中左下的結(jié)果發(fā)送到圖生圖,以該圖為基礎(chǔ)繼續(xù)往下走。
注:上述步驟在實(shí)際使用過(guò)程中通常需要不斷調(diào)整參數(shù)反復(fù)進(jìn)行,直至獲取自己滿意的結(jié)果。
接著關(guān)閉ControlNet,回到圖生圖。為了讓優(yōu)化造型風(fēng)格,我們引入一個(gè)能夠體現(xiàn)技術(shù)風(fēng)格的產(chǎn)品設(shè)計(jì)Lora模型(見(jiàn)上一篇文章介紹),在正向提示詞中加入?<lora:eddiemauroLora2(Tech):0.8>;將分辨率改為960*960(如果顯卡性能一般還是建議繼續(xù)使用512*512)。修改提示詞引導(dǎo)系數(shù) (CFG Scale)和重繪幅度 (Denoising strength)等參數(shù)多批次生成直到得到滿意的結(jié)果。
在反復(fù)出圖的過(guò)程中,由于正向提示詞中一直有“rainforest background”,所以偶爾在某一批次的圖中你可能會(huì)發(fā)現(xiàn)一張帶有雨林背景的圖,如圖7。但出現(xiàn)背景的概率并不高,品質(zhì)也不一定理想。車身上還有一些奇怪的標(biāo)志和文字,這時(shí)候我們可以人為進(jìn)行一些干預(yù)。

在Photoshop軟件中使用污筆修復(fù)畫筆工具去除車身上的標(biāo)志和文字,同時(shí)在選定車型的背景中放入一些蕨類植物的圖片(圖片可以不斷復(fù)制,改變大小和角度使其呈現(xiàn)出多樣性),如圖8所示。這些圖最好是摳出來(lái)帶透明背景的圖,這樣有助于圖片更好地融入背景中。如不具備摳圖能力,也可以使用一些比較粗糙的帶邊緣的圖,這樣可能需要訓(xùn)練更多的步驟才能獲得滿意的結(jié)果。

將該圖復(fù)制到局部重繪頁(yè)面,使用畫筆將畫面中車身以外的部分全部蓋住,蒙版區(qū)域內(nèi)容處理選擇“原圖”,將重繪幅度 (Denoising strength)改為0.65,生成圖片。
注:假如不使用局部重繪,使用類似的參數(shù)直接用圖生圖也能獲得較好的背景,但車身主體也會(huì)改變?cè)煨汀?/p>
從結(jié)果可以看出生成的背景與主體融合度還是比較高的,不過(guò)車身邊緣輪廓還是有點(diǎn)失真。

反復(fù)修改提示詞引導(dǎo)系數(shù) (CFG Scale)和重繪幅度 (Denoising strength),直至獲得理想的背景,發(fā)送到圖生圖。將重繪幅度 (Denoising strength)改為0.4,適當(dāng)添加修改正向提示詞,繼續(xù)重繪,直至獲得滿意的結(jié)果。如圖11所示,可以看到在多次圖生圖之后,車身與背景已經(jīng)很好地融合在了一起,甚至能夠透過(guò)擋風(fēng)玻璃看到背景及反光。

如果預(yù)想的背景不是上述這類復(fù)雜的環(huán)境,而是比較單調(diào)的環(huán)境比如沙漠或者冰川,我們甚至可以嘗試手繪簡(jiǎn)單輪廓的方式來(lái)進(jìn)行引導(dǎo),如圖12。

通過(guò)巧妙運(yùn)用ControlNet,我們可以令生成的結(jié)果更符合預(yù)期,同時(shí)更加精致。作者之前測(cè)試生成了上千張圖,本來(lái)可以分享更多的內(nèi)容,但由于硬盤損壞,只有少數(shù)留在聊天記錄里的圖得以存留,下圖是僥幸保留下來(lái)的一個(gè)使用簡(jiǎn)單模型草圖生成結(jié)果的過(guò)程案例。

三、總結(jié)
在使用SD進(jìn)行創(chuàng)作時(shí),適時(shí)的運(yùn)用傳統(tǒng)的繪圖工具比如Photoshop介入修改,比如去除瑕疵,使用液化工具調(diào)整局部輪廓造型,添加背景引導(dǎo)圖等,往往可以起到事半功倍的效果。因此在AI繪圖中,創(chuàng)作者具備基本的設(shè)計(jì)技能還是非常重要的。ControlNet的引入能夠?qū)σ龑?dǎo)結(jié)果往預(yù)期方向發(fā)展起關(guān)鍵作用。除了使用canny預(yù)處理器使結(jié)果與參考圖輪廓和細(xì)節(jié)更加接近以外,ControlNet還有很多強(qiáng)大的功能,作者目前也只是嘗試了少數(shù)幾種功能,后續(xù)還需要不斷學(xué)習(xí)。另外,通過(guò)不同的SD基礎(chǔ)模型和Lora模型,我們可以用本期內(nèi)容所介紹的方法生成更多不同風(fēng)格的作品。以下是作者創(chuàng)作的部分案例,圖上標(biāo)注有所使用的SD基礎(chǔ)模型和Lora模型名稱可供參考。




最后,謝謝大家的支持和關(guān)注!