Stable Diffusion中文的意思是穩(wěn)定擴(kuò)散,本質(zhì)上是基于AI的圖像擴(kuò)散生成模型。
Stable Diffusion是一個(gè)引人注目的深度學(xué)習(xí)模型,它使用潛在擴(kuò)散過(guò)程來(lái)生成圖像,允許模型在生成圖像時(shí)考慮到文本的描述。這個(gè)模型的出現(xiàn)引起了廣泛的關(guān)注和討論,不僅因?yàn)樗诩夹g(shù)上的創(chuàng)新,還因?yàn)樗趹?yīng)用領(lǐng)域的廣泛適用性。本文將詳細(xì)介紹Stable Diffusion的背景、技術(shù)原理、應(yīng)用場(chǎng)景以及其優(yōu)缺點(diǎn)。
stable-diffusion
一、背景介紹
隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,文本到圖像生成已經(jīng)成為了研究的熱點(diǎn)領(lǐng)域。過(guò)去幾年中,出現(xiàn)了許多文本到圖像的生成模型,如GANs、VQ-VAE等。這些模型在生成圖像時(shí),通常需要使用大量的數(shù)據(jù)和計(jì)算資源,并且生成的圖像質(zhì)量也參差不齊。因此,開(kāi)發(fā)一種更加穩(wěn)定、高效且能夠生成高質(zhì)量圖像的文本到圖像生成模型成為了當(dāng)務(wù)之急。
在這個(gè)背景下,Stable Diffusion應(yīng)運(yùn)而生。該模型由CompVis、Stability AI和LAION的研究人員和工程師共同開(kāi)發(fā),于2022年發(fā)布。與其他文本到圖像生成模型相比,Stable Diffusion具有更高的穩(wěn)定性和生成質(zhì)量,同時(shí)使用了一種創(chuàng)新的潛在擴(kuò)散過(guò)程來(lái)生成圖像。
圖1 stable diffusion繪畫(huà)例子
二、技術(shù)原理
Stable Diffusion 技術(shù),作為 Diffusion 改進(jìn)版本,通過(guò)引入隱向量空間來(lái)解決 Diffusion 速度瓶頸,除了可專門(mén)用于文生圖任務(wù),還可以用于圖生圖、特定角色刻畫(huà),甚至是超分或者上色任務(wù)。作為一篇基礎(chǔ)原理介紹,這里著重解析最常用的“文生圖(text to image)”為主線,介紹 stable diffusion 計(jì)算思路以及分析各個(gè)重要的組成模塊。
下圖是一個(gè)基本的文生圖流程,把中間的 Stable Diffusion 結(jié)構(gòu)看成一個(gè)黑盒,那黑盒輸入是一個(gè)文本串“paradise(天堂)、cosmic(廣闊的)、beach(海灘)”,利用這項(xiàng)技術(shù),輸出了最右邊符合輸入要求的生成圖片,圖中產(chǎn)生了藍(lán)天白云和一望無(wú)際的廣闊海灘。
圖2 Stable Diffusion組成
Stable Diffusion 的核心思想是,由于每張圖片滿足一定規(guī)律分布,利用文本中包含的這些分布信息作為指導(dǎo),把一張純?cè)肼暤膱D片逐步去噪,生成一張跟文本信息匹配的圖片。它其實(shí)是一個(gè)比較組合的系統(tǒng),里面包含了多個(gè)模型子模塊,接下來(lái)把黑盒進(jìn)行一步步拆解。stable diffusion 最直接的問(wèn)題是,如何把人類(lèi)輸入的文字串轉(zhuǎn)換成機(jī)器能理解的數(shù)字信息。這里就用到了文本編碼器 text encoder(藍(lán)色模塊),可以把文字轉(zhuǎn)換成計(jì)算機(jī)能理解的某種數(shù)學(xué)表示,它的輸入是文字串,輸出是一系列具有輸入文字信息的語(yǔ)義向量。有了這個(gè)語(yǔ)義向量,就可以作為后續(xù)圖片生成器 image generator(粉黃組合框)的一個(gè)控制輸入,這也是 stable diffusion 技術(shù)的核心模塊。圖片生成器,可以分成兩個(gè)子模塊(粉色模塊+黃色模塊)來(lái)介紹。下面介紹下 stable diffusion 運(yùn)行時(shí)用的主要模塊:
(1) 文本編碼器(藍(lán)色模塊),功能是把文字轉(zhuǎn)換成計(jì)算機(jī)能理解的某種數(shù)學(xué)表示,在第三部分會(huì)介紹文本編碼器是怎么訓(xùn)練和如何理解文字,暫時(shí)只需要了解文本編碼器用的是 CLIP 模型,它的輸入是文字串,輸出是一系列包含文字信息的語(yǔ)義向量。
(2) 圖片信息生成器(粉色模塊),是 stable diffusion 和 diffusion 模型的區(qū)別所在,也是性能提升的關(guān)鍵,有兩點(diǎn)區(qū)別:
② Diffusion 模型一般都是直接生成圖片,不會(huì)有中間生成低維向量的過(guò)程,需要更大計(jì)算量,在計(jì)算速度和資源利用上都比不過(guò) stable diffusion;
那低維空間向量是如何生成的?是在圖片信息生成器里由一個(gè) Unet 網(wǎng)絡(luò)和一個(gè)采樣器算法共同完成,在 Unet 網(wǎng)絡(luò)中一步步執(zhí)行生成過(guò)程,采樣器算法控制圖片生成速度,下面會(huì)在第三部分詳細(xì)介紹這兩個(gè)模塊。Stable Diffusion 采樣推理時(shí),生成迭代大約要重復(fù) 30~50 次,低維空間變量在迭代過(guò)程中從純?cè)肼暡粩嘧兂砂S富語(yǔ)義信息的向量,圖片信息生成器里的循環(huán)標(biāo)志也代表著多次迭代過(guò)程。
(3) 圖片解碼器(黃色模塊),輸入為圖片信息生成器的低維空間向量(粉色 4*4 方格),通過(guò)升維放大可得到一張完整圖片。由于輸入到圖片信息生成器時(shí)做了降維,因此需要增加升維模塊。這個(gè)模塊只在最后階段進(jìn)行一次推理,也是獲得一張生成圖片的最終步驟。
那擴(kuò)散過(guò)程發(fā)生了什么?
擴(kuò)散過(guò)程發(fā)生在圖片信息生成器中,把初始純?cè)肼曤[變量輸入到 Unet 網(wǎng)絡(luò)后結(jié)合語(yǔ)義控制向量,重復(fù) 30~50 次來(lái)不斷去除純?cè)肼曤[變量中的噪聲,并持續(xù)向隱向量中注入語(yǔ)義信息,就可以得到一個(gè)具有豐富語(yǔ)義信息的隱空間向量(右下圖深粉方格)。采樣器負(fù)責(zé)統(tǒng)籌整個(gè)去噪過(guò)程,按照設(shè)計(jì)模式在去噪不同階段中動(dòng)態(tài)調(diào)整 Unet 去噪強(qiáng)度。
更直觀看一下,如圖 3 所示,通過(guò)把初始純?cè)肼曄蛄亢妥罱K去噪后的隱向量都輸?shù)胶竺娴膱D片解碼器,觀察輸出圖片區(qū)別。從下圖可以看出,純?cè)肼曄蛄坑捎诒旧頉](méi)有任何有效信息,解碼出來(lái)的圖片也是純?cè)肼?;而迭?50 次去噪后的隱向量已經(jīng)耦合了語(yǔ)義信息,解碼出來(lái)也是一張包含語(yǔ)義信息的有效圖片。
圖3 可視化輸出圖片變化
到這里,我們大致介紹了 Stable Diffusion 是什么以及各個(gè)模塊思路,并且簡(jiǎn)單介紹了 stable diffusion 的擴(kuò)散過(guò)程。第三部分我們繼續(xù)分析各個(gè)重要組成模塊的運(yùn)行機(jī)制,更深入理解 Stable Diffusion 工作原理。
github開(kāi)源地址
三、應(yīng)用場(chǎng)景
Stable Diffusion具有廣泛的應(yīng)用場(chǎng)景。首先,它可以應(yīng)用于文本生成圖像領(lǐng)域。通過(guò)輸入一段文字描述,Stable Diffusion可以生成一張符合描述的清晰圖像。這種應(yīng)用場(chǎng)景非常適合于創(chuàng)意設(shè)計(jì)、藝術(shù)創(chuàng)作等領(lǐng)域。例如,設(shè)計(jì)師可以通過(guò)文字描述來(lái)設(shè)計(jì)一張海報(bào)或者服裝圖案,然后使用Stable Diffusion來(lái)生成符合描述的圖像。
其次,Stable Diffusion還可以應(yīng)用于圖像修復(fù)、超分辨率重建等領(lǐng)域。在這些領(lǐng)域中,Stable Diffusion可以通過(guò)對(duì)圖像進(jìn)行編碼和解碼來(lái)修復(fù)圖像中的缺陷或者提高圖像的分辨率。這種應(yīng)用場(chǎng)景非常適合于數(shù)字圖像處理、計(jì)算機(jī)視覺(jué)等領(lǐng)域。
此外,Stable Diffusion還可以應(yīng)用于視頻制作、游戲設(shè)計(jì)等領(lǐng)域。在這些領(lǐng)域中,可以使用Stable Diffusion來(lái)生成視頻中的動(dòng)態(tài)圖像或者游戲中的場(chǎng)景和角色。這種應(yīng)用場(chǎng)景非常適合于影視制作和游戲開(kāi)發(fā)等領(lǐng)域。
github開(kāi)源地址 https://github.com/CompVis/stable-diffusion
stable-diffusion-ui
由于Stable Diffusion只是針對(duì)開(kāi)發(fā)者的程序,需要通過(guò)接口或者命令程序去使用生成圖片,對(duì)普通人非常不友好,所有一款面向普通人UIweb應(yīng)用出現(xiàn)了,它就是開(kāi)源項(xiàng)目stable-diffusion-ui。
Stable Diffusion Web UI是一個(gè)基于Stable Diffusion模型的應(yīng)用程序接口,它利用gradio模塊搭建出交互程序,可以在低代碼GUI中立即訪問(wèn)Stable Diffusion。Stable Diffusion是一個(gè)畫(huà)像生成AI,能夠模擬和重建幾乎任何可以以視覺(jué)形式想象的概念,而無(wú)需文本提示輸入之外的任何指導(dǎo)。
Stable Diffusion Web UI提供了多種功能,如txt2img、img2img、inpaint等,還包含了許多模型融合改進(jìn)、圖片質(zhì)量修復(fù)等附加升級(jí)。用戶可以通過(guò)調(diào)節(jié)不同參數(shù)生成不同效果,根據(jù)自己的需要和喜好進(jìn)行創(chuàng)作。在界面Extras(更多)中,用戶可以找到優(yōu)化(清晰、擴(kuò)展)圖像的功能;在Settings中,用戶可以修改默認(rèn)參數(shù)。
Stable Diffusion web UI GitHub 地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui
Midjourney和Stable Diffusion
作為目前市場(chǎng)兩個(gè)主流的AI繪畫(huà)工具,簡(jiǎn)單介紹一下他們的共同點(diǎn)和不同點(diǎn),還有各自的優(yōu)缺點(diǎn)。
共同點(diǎn)和不同點(diǎn)
Midjourney和Stable Diffusion都是AI繪畫(huà)工具,它們有一些共同點(diǎn),但也有很多不同之處。
共同點(diǎn):
- 都是基于AI技術(shù)的繪畫(huà)工具。
- 都可以通過(guò)輸入文字或文本提示來(lái)生成圖像。
- 都可以用于創(chuàng)作各種類(lèi)型的藝術(shù)作品,包括插畫(huà)、漫畫(huà)、攝影、設(shè)計(jì)等。
不同點(diǎn):
- 生成圖像的算法不同:Midjourney主要使用的是擴(kuò)散模型(diffusion model),而Stable Diffusion則基于Latent Diffusion Model(LDM)。
- 使用的技術(shù)棧不同:Midjourney使用了DALL·E模型,而Stable Diffusion則使用了CLIP ViT-L/14文本編碼器。
- 輸出圖像的質(zhì)量不同:Midjourney的輸出圖像質(zhì)量相對(duì)較高,而Stable Diffusion的輸出圖像質(zhì)量相對(duì)較低。
- 使用難度不同:Midjourney的使用難度相對(duì)較高,需要一定的學(xué)習(xí)和實(shí)踐才能掌握,而Stable Diffusion則相對(duì)較容易上手。
- 功能不同:Midjourney具有更多的功能和插件,可以用于創(chuàng)作各種類(lèi)型的藝術(shù)作品,而Stable Diffusion則主要專注于圖像生成。
- 總的來(lái)說(shuō),Midjourney和Stable Diffusion都是非常優(yōu)秀的AI繪畫(huà)工具,它們各有所長(zhǎng),可以根據(jù)自己的需求選擇合適的工具進(jìn)行創(chuàng)作。
優(yōu)缺點(diǎn)
Midjourney的優(yōu)點(diǎn):
- 輸出圖像質(zhì)量高
- 功能豐富:Midjourney具有較多的功能和插件,可以用于創(chuàng)作各種類(lèi)型的藝術(shù)作品,例如插畫(huà)、漫畫(huà)、攝影、設(shè)計(jì)等。
- 支持多種輸入方式:Midjourney支持輸入文字、圖像、視頻等多種形式的輸入,方便用戶進(jìn)行創(chuàng)作。
Midjourney的缺點(diǎn):
- 使用難度較高
- 需要科學(xué)上網(wǎng)
- 需要付費(fèi)
Stable Diffusion的優(yōu)點(diǎn):
- 穩(wěn)定性好
- 細(xì)節(jié)表現(xiàn)好
- 對(duì)硬件要求較低:Stable Diffusion對(duì)硬件的要求較低,可以在普通的PC上運(yùn)行。
- 免費(fèi)本地使用
Stable Diffusion的缺點(diǎn):
- 輸出圖像質(zhì)量不穩(wěn)定:Stable Diffusion的輸出圖像質(zhì)量有時(shí)會(huì)不穩(wěn)定,需要一定的實(shí)踐和調(diào)整才能得到滿意的圖像。
- 功能相對(duì)較少:Stable Diffusion的功能相對(duì)較少,主要專注于圖像生成,不如Midjourney那樣具有較多的功能和插件。
總的來(lái)說(shuō),Midjourney和Stable Diffusion都是非常優(yōu)秀的AI繪畫(huà)工具,它們各有所長(zhǎng),可以根據(jù)自己的需求選擇合適的工具進(jìn)行創(chuàng)作。
Midjourney具有較高的輸出圖像質(zhì)量和豐富的功能,但使用難度較高且對(duì)硬件要求較高;而Stable Diffusion具有較好的穩(wěn)定性和細(xì)節(jié)表現(xiàn)力,但對(duì)訓(xùn)練數(shù)據(jù)要求較高且功能相對(duì)較少。
總結(jié)
Stable Diffusion是一個(gè)引人注目的文本到圖像生成模型,具有廣泛的應(yīng)用前景和潛在的發(fā)展空間。該模型使用潛在擴(kuò)散過(guò)程來(lái)生成圖像,具有很高的生成質(zhì)量和穩(wěn)定性。它可以應(yīng)用于文本生成圖像、圖像修復(fù)、超分辨率重建等多個(gè)領(lǐng)域,并且具有開(kāi)源的預(yù)訓(xùn)練模型方便用戶使用。然而,由于潛在擴(kuò)散過(guò)程的復(fù)雜性以及數(shù)據(jù)和計(jì)算資源的限制,Stable Diffusion仍然存在一些挑戰(zhàn)和問(wèn)題需要進(jìn)一步研究和解決。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-752169.html
后續(xù)會(huì)講解Stable Diffusion web UI的安裝和使用,教你如何使用Stable Diffusion制作出,你想要它制作的圖片!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-752169.html
到了這里,關(guān)于AI繪畫(huà) | stable diffusion簡(jiǎn)介和原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!