人工智能文本轉(zhuǎn)圖像模型 Stable Diffusion 入門教程
Stable Diffusion 是由 CompVis、Stability AI 和 LAION 共同開發(fā)的一個文本轉(zhuǎn)圖像模型,它通過 LAION-5B 子集大量的 512x512 圖文模型進(jìn)行訓(xùn)練,我們只要簡單的輸入一段文本,Stable Diffusion 就可以迅速將其轉(zhuǎn)換為圖像,同樣我們也可以置入圖片或視頻,配合文本對其進(jìn)行處理。先來看幾個示例吧。







使用 Stable Diffusion 目前有幾種不同的途徑:
01. Stable Diffusion Demo(https://huggingface.co/spaces/stabilityai/stable-diffusion),這是官方發(fā)布的一個簡單的體驗(yàn)版,無需登錄,只需要「輸入描述文本」,然后點(diǎn)擊「生成圖像」即可,可進(jìn)行簡單的設(shè)置,需要排隊(duì),等待時長根據(jù)排隊(duì)人數(shù)而定,通常需要幾分鐘,完成后圖片會展示在文本下方,可右擊保存,只可生成 512x512 像素的圖片。

02. DreamStudio Beta(https://beta.dreamstudio.ai/dream),這是官方發(fā)布的公測版,可以對參數(shù)進(jìn)行調(diào)整,需要注冊登錄,注冊后會獲得 200 積分(generations/credits),每次生成需要消耗相應(yīng)的積分,積分用完后需要購買才可繼續(xù)使用,價(jià)格 10 英鎊(80 元左右)1000 積分。

界面右側(cè)是參數(shù)調(diào)整區(qū),可調(diào)整圖片的尺寸、文本描述與成圖的貼近程度、步數(shù)、生成圖片的張數(shù)、采樣模式和種子,一般按默認(rèn)參數(shù)即可,其中圖片尺寸和步數(shù)會影響消耗的積分?jǐn)?shù)量,步數(shù)建議使用默認(rèn) 50 步,高了也并沒有太大區(qū)別,各種尺寸和步數(shù)需要的積分如下。

圖片生成后可點(diǎn)擊圖片中心的下載按鈕下載圖片,若生成多張圖片可點(diǎn)擊圖片下方的「Download All」按鈕下載全部圖片,注意目前生成多張圖片時若點(diǎn)擊某張圖片進(jìn)行放大預(yù)覽后是無法返回多圖預(yù)覽界面,無法再下載其他圖片的,因此如果生成了多張圖片建議先全部下載下來。
點(diǎn)擊界面左側(cè)的「History」可進(jìn)入歷史記錄頁面,可以查看之前生成圖片的記錄,這里主要記錄了歷次生成的 Prompt、尺寸和種子等信息,如果想對過去生成的圖片進(jìn)行優(yōu)化或調(diào)整,可在此復(fù)制 Seed 值,并回到 Dream 頁面打開界面右下角 Random Seed 后方的按鈕,然后將種子值粘貼至此,在調(diào)整參數(shù)或描述,重新生成圖片。
點(diǎn)擊界面右上角自己的頭像,選擇「Membership」進(jìn)入個人中心,可查看個人積分余額及充值。

03. Stable Diffusion ??(https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion.ipynb),這是官方發(fā)布的 Google Colab 版本,無生成次數(shù)限制,需要注冊 Hugging Face 賬號,需要谷歌賬號,需要科學(xué)上網(wǎng),這個版本的流程有點(diǎn)繁瑣,不推薦,這邊不做介紹了。
04. Stable Diffusion WebUI 1.4(https://colab.research.google.com/github/altryne/sd-webui-colab/blob/main/Stable_Diffusion_WebUi_Altryne.ipynb),這是由 @altryne 制作的有 WebUI 的 Google Colab 版本,無生成次數(shù)限制,需要注冊 Hugging Face 賬號,需要谷歌賬號,需要科學(xué)上網(wǎng),這算是目前比較好用的一版,這邊詳細(xì)介紹一下。
準(zhǔn)備工作
04.01. 注冊谷歌賬號并登錄。
04.02. 注冊 Hugging Face(https://huggingface.co/)賬號并登錄(注冊后去郵箱驗(yàn)證一下)。
04.03. 打開 CompVis/stable-diffusion-v1-4(https://huggingface.co/CompVis/stable-diffusion-v1-4)頁面,找到下圖部分,勾選同意選項(xiàng),點(diǎn)擊「Access repository」,開通模型訪問權(quán)限。(這里列出了使用協(xié)議,可以自己看一下)

04.04.?打開?CompVis/stable-diffusion(https://huggingface.co/CompVis/stable-diffusion)頁面,找到「stable-diffusion-v-1-4-original」并單擊打開鏈接。(如果以后更新版本了,請打開對應(yīng)版本的鏈接)

04.05. 找到下圖部分,勾選同意選項(xiàng),點(diǎn)擊「Access repository」,開通模型下載權(quán)限。

04.06. 打開 Access Tokens(https://huggingface.co/settings/tokens)頁面,點(diǎn)擊「New Token」按鈕,起個名字,Role 選 read 或者 write 都可以,點(diǎn)擊「Generate a token」,點(diǎn)擊 Show 后面的復(fù)制按鈕復(fù)制 Token。


入門教程
04.1. 打開 Stable Diffusion WebUI 1.4(https://colab.research.google.com/github/altryne/sd-webui-colab/blob/main/Stable_Diffusion_WebUi_Altryne.ipynb),若未自動登錄谷歌賬號請點(diǎn)擊頁面右上角「登錄」按鈕,登入你的谷歌賬號。
04.2. 點(diǎn)擊「復(fù)制到云端硬盤」或點(diǎn)擊「文件」選擇「在云端硬盤中保存一份副本」。

04.3. 副本創(chuàng)建完成會出現(xiàn)「筆記本的副本已完成」彈窗,點(diǎn)擊「在新標(biāo)簽頁中打開」。
04.4. 點(diǎn)擊「“Stable Diffusion WebUi - Altryne”的副本」修改筆記本名稱(不改也可以,以后就能直接從自己的云端硬盤打開這個文件運(yùn)行 Stable Diffusion 了)。

04.5. 點(diǎn)擊「1 - Setup stage」前面的小三角,找到「1.4 Connect to Google Drive」,將 token(第 04.06. 步復(fù)制的 token)粘貼在圖中位置,并勾選「download_if_missing」選項(xiàng)。

04.6. 點(diǎn)擊「代碼執(zhí)行程序」選擇「全部運(yùn)行」。

04.7. 彈出「筆記本需要高 RAM」的窗口,點(diǎn)擊「確定」。(接下來需要等待一段時間,你看到 1 - Setup stage 下面的按鈕在轉(zhuǎn)圈圈就表示程序正在運(yùn)行,需要下載一些文件,第一次運(yùn)行等待時間會稍長一些)
04.8. 彈出「您還在設(shè)備面前嗎?」的窗口,點(diǎn)擊「進(jìn)行人機(jī)身份驗(yàn)證」,按指令進(jìn)行驗(yàn)證。(如果沒有彈出可忽略)
04.9. 彈出「允許此筆記本訪問您的 Google 云端硬盤文件嗎?」的窗口,點(diǎn)擊「連接到 Google 云端硬盤」。
04.10. 彈出「登錄 - Google 賬號」窗口,選擇你的谷歌賬號,點(diǎn)擊「允許」。(如果等待過程中 Google Colab 圖標(biāo)變紅,網(wǎng)絡(luò)中斷,可點(diǎn)擊頁面右上角的重新連接,重連后會繼續(xù)運(yùn)行)
04.11. 點(diǎn)擊「3 - Launch WebUI for stable diffusion」前面的小三角展開單元,當(dāng)這個單元最下方出現(xiàn)「Running on public URL: https://57651.gradio.app」就表示程序啟動成功,點(diǎn)擊「https://57651.gradio.app」打開 WebUI。(每次會得到不同的地址)

04.12. 在如圖位置輸入 prompt(描述文本),設(shè)置好圖片尺寸和生成圖片張數(shù),其他建議按默認(rèn)值,點(diǎn)擊「Generate」就開始生成了。

04.13. 回到 Stable Diffusion WebUi - Altryne 的頁面,你會在「3 - Launch WebUI for stable diffusion」的末尾看到實(shí)時進(jìn)度,以下圖為例,Iteration: 1/12 表示總數(shù) 12 張圖的第 1 張圖片,以此類推,前面的 100% 是完成進(jìn)度,50/50 是當(dāng)前完成步數(shù)/總步數(shù),00:42<00:00 是已使用時間<剩余時間,1.17it/s 是每秒完成 1.17 步,當(dāng)出現(xiàn) [MemMon] Stopped recording. 就表示當(dāng)前任務(wù)的所有圖片已經(jīng)生成完畢。(正常情況生成結(jié)束后 WebUI 頁面也會展示生成的圖片,但是如果有網(wǎng)絡(luò)不穩(wěn)定、延遲大等情況或者連續(xù)運(yùn)行超過 90 分鐘,生成完畢后 WebUI 頁面可能不會顯示圖片,甚至還在繼續(xù)計(jì)時,此時 WebUI 頁面已經(jīng)斷開連接,需要刷新頁面后恢復(fù)使用)

04.14. 現(xiàn)在你就可以在 Google Drive(https://drive.google.com/)直接查看保存的圖片了,打開 AI - StableDiffusion 文件夾,這個文件夾里保存的是每次生成任務(wù)的匯總圖,如果一次生成了多張圖片它會自動把這些圖片拼在一起。在「samples」文件夾內(nèi)會以每次生成任務(wù)的 prompt 為名稱分別建立子文件夾,生成的圖片會保存在里面,并且每張圖都會附帶一個 yaml 格式的配置文件,可以查看這張圖片的參數(shù)設(shè)置。

進(jìn)階教程
04.15. 打開 WebUI 第二個標(biāo)簽,這個是圖像轉(zhuǎn)圖像,就是添加一張參考圖,配合文本描述生成圖片,注意參考圖的尺寸要和輸出尺寸一致,否則會報(bào)錯,可以將圖片調(diào)整好尺寸以后再添加進(jìn)來,或者使用左圖下方的「Advanced Editor」編輯圖片后再操作,步數(shù)建議 50 步,圖中兩個有說明的值可以調(diào)整生成效果,建議在默認(rèn)值左右小范圍調(diào)整以觀察效果,極端值效果不佳。

04.16. WebUI 第三個標(biāo)簽是人臉修復(fù)工具,我試驗(yàn)了效果并不理想,使用方式就是添加圖片點(diǎn)生成就行了,這邊重點(diǎn)推薦一下第四個標(biāo)簽,RealESRGAN 是一個智能放大圖片的模型,效果十分驚人,我之前一直用的是 Topaz Gigapixel AI,RealESRGAN 的效果完爆 Topaz Gigapixel AI,操作也很簡單,添加圖片點(diǎn)擊生成即可,這里有兩個模型,有一個模型是動漫專用的。
05. pharmapsychotic Stable Diffusion(https://colab.research.google.com/github/pharmapsychotic/ai-notebooks/blob/main/pharmapsychotic_Stable_Diffusion.ipynb),這是由 @pharmapsychotic 制作的 Google Colab 版本,無生成次數(shù)限制,需要注冊 Hugging Face 賬號,需要谷歌賬號,需要科學(xué)上網(wǎng),這個版本的操作比較接近 Disco Diffusion,DD 玩家用起來可能比較順手,這邊也介紹一下。
準(zhǔn)備工作
05.01. 注冊谷歌賬號并登錄。(如果之前使用過 Stable Diffusion WebUI 1.4 或其他 Google Colab 版本的 Stable Diffusion 可跳過步驟 05.02.-05.06.)
05.02. 注冊 Hugging Face(https://huggingface.co/)賬號并登錄(注冊后去郵箱驗(yàn)證一下)。
05.03. 打開 CompVis/stable-diffusion(https://huggingface.co/CompVis/stable-diffusion)頁面,找到「stable-diffusion-v-1-4-original」并單擊打開鏈接。(目前最新的版本是 1.4,如果以后有更新也可以來這里下載更新的版本)

05.04. 找到下圖部分,勾選同意選項(xiàng),點(diǎn)擊「Access repository」,開通模型訪問權(quán)限。(這里列出了使用協(xié)議,可以自己看一下)

05.05. 在頁面上找到下圖位置,通過鏈接下載「sd-v1-4.ckpt」文件。

05.06. 打開 Google Drive 并登錄你的賬號,將下載的「sd-v1-4.ckpt」文件上傳至 AI 文件夾內(nèi)的 models 文件夾內(nèi),如果沒有這個文件夾請手動新建文件夾。
入門教程
05.1. 打開 pharmapsychotic Stable Diffusion(https://colab.research.google.com/github/pharmapsychotic/ai-notebooks/blob/main/pharmapsychotic_Stable_Diffusion.ipynb),若未自動登錄谷歌賬號請點(diǎn)擊頁面右上角「登錄」按鈕,登入你的谷歌賬號。
05.2. 點(diǎn)擊「復(fù)制到云端硬盤」或點(diǎn)擊「文件」選擇「在云端硬盤中保存一份副本」。

05.3. 副本創(chuàng)建完成會出現(xiàn)「筆記本的副本已完成」彈窗,點(diǎn)擊「在新標(biāo)簽頁中打開」。
05.4. 點(diǎn)擊「“pharmapsychotic_Stable_Diffusion.ipynb”的副本」修改筆記本名稱(以下所有代碼可視為源文件/源代碼,此處是源文件的名稱,可按創(chuàng)作主題或其他方式命名,方便后期修改和區(qū)分)。

05.5. 修改文件夾名稱、步數(shù)、生成圖片張數(shù)等參數(shù),輸入描述文本。

05.6. 點(diǎn)擊「代碼執(zhí)行程序」選擇「全部運(yùn)行」。
05.7. 彈出「筆記本需要高 RAM」的窗口,點(diǎn)擊「確定」。(接下來需要等待一段時間,第一次運(yùn)行等待時間會稍長一些)
05.8. 彈出「您還在設(shè)備面前嗎?」的窗口,點(diǎn)擊「進(jìn)行人機(jī)身份驗(yàn)證」,按指令進(jìn)行驗(yàn)證。(如果沒有彈出可忽略)
05.9. 彈出「允許此筆記本訪問您的 Google 云端硬盤文件嗎?」的窗口,點(diǎn)擊「連接到 Google 云端硬盤」。
05.10. 彈出「登錄 - Google 賬號」窗口,選擇你的谷歌賬號,點(diǎn)擊「允許」。(如果等待過程中 Google Colab 圖標(biāo)變紅,網(wǎng)絡(luò)中斷,可點(diǎn)擊頁面右上角的重新連接,重連后會繼續(xù)運(yùn)行)
05.11. 待 prompt 下方出現(xiàn)進(jìn)度條就表示正在生成圖片了,以下圖為例,46% 是當(dāng)前完成進(jìn)度,23/50 是指總步數(shù) 50 步目前已完成 23 步,00:20<00:25 是指已用時 20 秒,預(yù)計(jì)還需 25 秒,1.07it/s 是指每秒生成 1.07 步,4046755246 是種子值。

05.12. 任務(wù)完成后會在此處顯示,若一次生成了多張圖片會依次在此顯示,全部完成后會顯示最后一張圖片。

05.13. 你可以直接在這里右擊保存圖片,也可以在 Google Drive 相應(yīng)的文件夾內(nèi)查看和下載圖片,文件夾在 AI - StableDiffusion 這個目錄下。
進(jìn)階教程
05.14. 點(diǎn)擊左側(cè)的第四個「文件」圖標(biāo)展開文件窗口。

05.15. 點(diǎn)擊文件窗口上方第一個「上傳到會話存儲空間」圖標(biāo),選擇你要上傳的圖片并點(diǎn)擊「打開」,圖片就會開始上傳(你也可以把圖片直接拖進(jìn)文件窗口的空白處)。

05.16. 上傳完成后圖片會顯示在文件窗口的列表中,找到你要使用的圖片并點(diǎn)擊文件名后方的三個小圓點(diǎn),選擇「復(fù)制路徑」。

05.17. 將路徑粘貼在如圖位置,設(shè)置 init_strength 等參數(shù),點(diǎn)擊「代碼執(zhí)行程序」選擇「全部運(yùn)行」,如果之前已經(jīng)運(yùn)行過程序,直接點(diǎn)擊 Image creation 單元前面的圓形按鈕即可。

06. Deforum Stable Diffusion v0.3(https://colab.research.google.com/github/deforum/stable-diffusion/blob/main/Deforum_Stable_Diffusion.ipynb),這是由 deforum 制作的 Google Colab 版本,無生成次數(shù)限制,需要注冊 Hugging Face 賬號,需要谷歌賬號,需要科學(xué)上網(wǎng),這個版本支持制作動畫視頻,如果運(yùn)行過其他 Google Colab 版本的 Stable Diffusion 可以直接運(yùn)行這個版本,如果未運(yùn)行過其他版本的 Stable Diffusion 需要按「05.01. -05.06.」步驟進(jìn)行操作,下載并上傳「sd-v1-4.ckpt」文件至你的谷歌云盤,然后可以直接運(yùn)行。這個版本我就不講解了,如果有想做視頻的朋友可以去研究一下。
07. Stable Diffusion Interpolation V2.1(https://colab.research.google.com/drive/1EHZtFjQoRr-bns1It5mTcOVyZzZD9bBc?usp=sharing),這是由 @ygantigravity 和 @pharmapsychotic 制作的 Google Colab 版本,無生成次數(shù)限制,需要注冊 Hugging Face 賬號,需要谷歌賬號,需要科學(xué)上網(wǎng),這個版本有多文本多種子混合模式,似乎可以生成視頻,感興趣的朋友可以研究一下,同樣需要下載并上傳「sd-v1-4.ckpt」文件至谷歌云盤,然后再使用,若運(yùn)行過其他 Google Colab 版本的 Stable Diffusion 可以直接運(yùn)行。
08. 四行PaddleNLP代碼體驗(yàn)Stable Diffusion(https://aistudio.baidu.com/aistudio/projectdetail/4459390?channelType=0&channel=0),這是由涼心半淺良心人發(fā)布在飛槳平臺的版本,飛槳似乎有點(diǎn)類似國內(nèi)版的 Google Colab,也可以免費(fèi)使用(有時長限制),這個我自己沒有測試,看起來獲取免費(fèi)時長還是有點(diǎn)麻煩,供大家參考吧。
因?yàn)?Stable Diffusion 是一個開源模型,所以向公眾開放以后涌現(xiàn)出了很多的開發(fā)者對其進(jìn)行修改和加工,創(chuàng)造出了很多不同的版本,他們各有特色,大家可以選擇適合自己的版本進(jìn)行使用,也可以都試一試,選一個自己最順手的版本。
本地運(yùn)行
以上是在線使用的教程,其實(shí)你也可以把 Stable Diffusion 部署到本地運(yùn)行,但你需要一個至少有 10G 顯存的 NVIDIA 顯卡,已知官方 DreamStudio Beta 出一張 1024x512 的圖需要大概 15秒,Google Colab 免費(fèi)用戶使用 TESLA T4 GPU 16G 顯存出一張 1024x512 的圖需要大概 42 秒,不過重點(diǎn)不是時間快慢,而是如果顯存不夠可能根本跑不起來,或者只能跑很小尺寸的圖,所以大家依自己的情況而定,如果條件允許,也可以考慮部署到本地,但是會相對麻煩許多。這邊也分享兩個本地部署的教程給大家。
Stable Diffusion AI 繪畫 |2022.08.27|本地部署 新手教程
by @stillcreek
https://www.bilibili.com/video/BV12d4y1A7fR?spm_id_from=333.999.0.0&vd_source=c4ce73eabed370236ad7d8ab6079980c
【傻瓜教程】10分鐘本地部署最新AI生成繪畫(Stable Diffusion),有GPU就能玩!
by @詭道荒行
https://www.bilibili.com/video/BV1rV4y1H7K3?spm_id_from=333.999.0.0&vd_source=c4ce73eabed370236ad7d8ab6079980c
更新一個本地版本,NMKD Stable Diffusion GUI - AI Image Generator(https://nmkd.itch.io/t2i-gui),這個版本是打包好的程序,沒有繁瑣的部署過程,下載以后安裝即可使用,目前僅支持 Nvidia 6G 以上的顯卡,4G 可能參數(shù)設(shè)置的低一些也勉強(qiáng)能用,后續(xù)版本可能會增強(qiáng)對低顯存的支持,僅支持 Windows 系統(tǒng),這個版本的作者是?N00MKRAD,使用此版的朋友可以加入他們的 Discord,如果使用遇到問題可以去上面反饋。
注意事項(xiàng)
教程中所有準(zhǔn)備工作部分僅第一次使用需要操作,之后可以直接運(yùn)行,Google Colab 平臺的版本可能會由于網(wǎng)絡(luò)不穩(wěn)定而報(bào)錯,如果參考教程設(shè)置參數(shù)后仍有報(bào)錯情況,請先仔細(xì)查閱錯誤提示,如果看不懂建議直接點(diǎn)擊「代碼執(zhí)行程序」選擇「全部運(yùn)行」,重新運(yùn)行即可。Stable Diffusion WebUI 1.4 版本 WebUI 頁若操作沒反應(yīng),嘗試刷新頁面后再操作即可,如果還有問題,建議重新運(yùn)行。寬和高必須設(shè)置為 64 的整數(shù)倍,也就是 64、128、192、256、320、384、448、512、576、640、704、768、832、896、960、1024、1088、1152、1216、1280 等等,建議 1024x512 左右,大了會爆顯存,會崩,可以小一點(diǎn),RealESRGAN 的放大效果很好,可以出小圖再用 RealESRGAN 放大,可放大 4 倍,且保持畫質(zhì)清晰。
如果你是首次接觸 Google Colab,提醒一下,免費(fèi)賬號每天有使用時長限制,超過限額會有彈窗提醒,超額后從當(dāng)日首次連接服務(wù)器開始計(jì)算 24 小時后恢復(fù)使用,如果想繼續(xù)使用可以付費(fèi)升級賬號或者更換谷歌賬號登錄使用。
教程中所有準(zhǔn)備工作都是為了下載模型,首次使用正常運(yùn)行后模型就自動下載到你的云盤了,以后可以直接從云盤副本運(yùn)行程序,不需要再按準(zhǔn)備工作部分操作。
Stable Diffusion 的操作比較簡單,效率也比較高,趕快去試一試吧!感謝 CompVis、Stability AI 和 LAION,感謝開發(fā)者們。