Stable Diffusion是一套基于Diffusion擴(kuò)散模型生成技術(shù)的圖片生成方案,隨著技術(shù)的不斷發(fā)展以及工業(yè)界對(duì)這套工程細(xì)節(jié)的不斷優(yōu)化,使其終于能在個(gè)人電腦上運(yùn)行,本文將從github下載開(kāi)始講一講如何使用Stable Diffusion Web UI進(jìn)行AI圖像的生成。
1.聊聊Diffusion
1.1 概念簡(jiǎn)介
StableDiffusion是基于擴(kuò)散模型的應(yīng)用,那就先來(lái)講一講什么是擴(kuò)散模型。
我們知道在擴(kuò)散模型出現(xiàn)之前,比較火的是GAN(對(duì)抗生成網(wǎng)絡(luò)),GAN由生成器和判別器組成,兩者相互博弈訓(xùn)練,最終產(chǎn)生較理想的輸出。
但是GAN也有缺點(diǎn),首先生成器和判別器不斷進(jìn)化的中間N個(gè)步驟完全是黑盒,無(wú)法調(diào)試。其次還有難以訓(xùn)練、模式坍縮等許多問(wèn)題。
Diffusion模型并非新技術(shù),而是更像是在另一個(gè)技術(shù)方向上的不斷前進(jìn),相比GAN,Diffusion會(huì)將生成的每一個(gè)步驟都拆解出來(lái)進(jìn)行反復(fù)訓(xùn)練。
好比繪制一幅簡(jiǎn)筆畫(huà),GAN是生成器和判別器不斷進(jìn)化,最終繪制完成簡(jiǎn)筆畫(huà)。而Diffusion是將繪畫(huà)的每一步拆解出來(lái)不斷訓(xùn)練,最后完整的將所有步驟繪制出來(lái):
1.2 講講原理
Duffsion是一個(gè)在圖像加噪去噪過(guò)程中進(jìn)行生成的模型,假設(shè)一張完全沒(méi)有噪點(diǎn)的圖像到一張充滿(mǎn)噪點(diǎn)無(wú)法辨認(rèn)的圖像會(huì)經(jīng)過(guò)1000個(gè)步驟:
那么在訓(xùn)練階段,Diffusion模型首先會(huì)在這1000個(gè)步驟中隨機(jī)選一步,先加噪,再通過(guò)網(wǎng)絡(luò)去噪,反向傳播時(shí)用該階段的原始圖片作為L(zhǎng)oss。而這個(gè)加噪去噪的具體步驟,也并非直接加減,需要通過(guò)網(wǎng)絡(luò)求出噪聲變化值再減回去等,這里不做過(guò)多講解。
這個(gè)去噪聲的操作通過(guò)的就是Unet網(wǎng)絡(luò),這是一個(gè)殘差卷積網(wǎng)絡(luò),因?yàn)榻Y(jié)構(gòu)呈U形所以得名。而我們輸入的提示詞也會(huì)先通過(guò)CLIP模型再編碼進(jìn)噪聲中。
再后來(lái)出現(xiàn)了Latent Diffusion Models,即通過(guò)VAE這樣的壓縮技術(shù),將原圖通過(guò)VAE網(wǎng)絡(luò)編碼成一張尺寸比較小、包含潛空間數(shù)據(jù)的圖片,再進(jìn)行擴(kuò)散處理,最終圖像再通過(guò)VAE網(wǎng)絡(luò)解碼成原始圖片。這項(xiàng)技術(shù)大大降低了顯存的占用,也為后來(lái)的Stable Diffusion打下了基礎(chǔ)。
2.Stable Diffusion Web UI
接下來(lái)講講實(shí)用的,關(guān)于Stable Diffusion與第三方開(kāi)源的Web UI倉(cāng)庫(kù)。
2.1 Web UI簡(jiǎn)介
在github上直接查找StableDiffusion可以看到排名最靠前的有3個(gè)倉(cāng)庫(kù):
實(shí)際上Stable Diffusion 是由 CompVis、Stability AI 和 LAION一起開(kāi)發(fā)的,因此CompVis和Stability-AI的倉(cāng)庫(kù)地址理論上都是官方倉(cāng)庫(kù)。
而stable diffusion web ui實(shí)際上是一個(gè)非官方開(kāi)源項(xiàng)目,但這個(gè)才是我么一會(huì)要用的倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)真正做到了開(kāi)箱即用,不需要配置Cuda、不會(huì)有奇怪的報(bào)錯(cuò)、連基礎(chǔ)模型都會(huì)幫你自動(dòng)下載好。
2.2下載與配置
2.2.1 啟動(dòng)Stable Diffusion
首先從AUTOMATIC1111倉(cāng)庫(kù)的Stable Diffusion Web UI進(jìn)行下載,該倉(cāng)庫(kù)會(huì)自動(dòng)下載StableDiffusion以及基礎(chǔ)模型:
https://github.com/AUTOMATIC1111/stable-diffusion-webui
根據(jù)該倉(cāng)庫(kù)的教程說(shuō)明,最后運(yùn)行webui-user.bat即可。
安裝好并且webui-user.bat內(nèi)的內(nèi)容下載好后,在ip:127.0.0.1:7860可以打開(kāi)StableDiffusion界面:
左上角顯示的是基礎(chǔ)模型。
2.2.2 安裝大模型
像SDXL這類(lèi)算作大模型,像Lora、ControlNet算小模型,小模型需要依賴(lài)大模型的版本,大模型版本改變的話小模型就會(huì)失效報(bào)錯(cuò)。
下載大模型需要去另外2個(gè)github倉(cāng)庫(kù)查找。
不想折騰,也可以在這里下載大模型:
https://rentry.org/sdmodels
https://civitai.pro/
2.2.3 安裝插件
使用Stable Diffusion web ui還可以進(jìn)行插件的拓展,像較流行的Lora、Control Net這些最早都不是作為SD的插件開(kāi)發(fā)的,而是有正經(jīng)論文的學(xué)術(shù)內(nèi)容,后來(lái)才拓展的StableDiffusion插件版本。
Control Net1.1全家桶可以在hugging face上下載:
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-681448.html
還有最近短視頻平臺(tái)比較火的小和尚,嘴型生成SadTalker插件:
https://github.com/OpenTalker/SadTalker文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-681448.html
到了這里,關(guān)于Stable Diffusion Web UI的原理與使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!