AI繪圖-Stable Diffusion 008- ControlNet 前言

更新於 2024/08/29閱讀時間約 7 分鐘
raw-image

雖然有了圖生圖讓我們除了文字描述外,能利用圖片參照的方式對Stable Diffusion生成結果進行引導,但它仍然還有許多不足的地方。有些時後我並不想整張圖都完全參照,只是想提取出參考圖中單一/部分的特定元素(構圖、人物/物體間空間關係、配色、肢體動作、外觀輪廓……等)來對生成的圖像結果進行約束/影響。而ControlNet的出現就很好地滿足了這項需求,我們可以更明確地”畫出重點”告訴SD,只要針對圖片中我所指定的元素做為生成圖片時的參考就行。


ControlNet 安裝、模型下載、基礎認識

安裝

關於ControlNet外掛程式的安裝,可參考之前文章 :
→ AI繪圖-Stable Diffusion 007- 外掛擴充 Extensions 的安裝、更新、移除與備份

模型下載

模型下載網址 :
→ https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

這裡只需要下載所有的".pth"檔,每個模型同名對應搭配的".yaml"檔在安裝外掛時就會自動下載好,這邊不用再重複下載。pth模型檔下載完後,放到 ..\extensions\sd-webui-controlnet\models 資料夾裡就可以。

raw-image

基本認識

目前ControlNet官方/原作者所提供使用的模型共有14個,其中11個為已完成模型,3個還在實驗性階段。關於官方模型的命名規則如下圖所示,可以從檔名中了解到所下載模型的相關資訊。

raw-image

(圖片來源 : https://github.com/lllyasviel/ControlNet-v1-1-nightly)

  • control : 所有ControlNet所提供的官方模型,統一都會顯示出control字樣。
  • v11 : 代表版本(圖示案例即為ControlNet 1.1版)
  • p : 代表已完成模型。e=測試階段,u=未完成。
  • sd15 : 代表這是基於Stable Diffusion 1.5版本開發出的外掛程式。
  • canny : 綠色字體部分則為模型功能名稱(約束的類型)
  • .pth : 為模型的副檔名,yaml則是模型的設定檔。在放置ControlNet模型的資料夾裡,每個pth模型都必需要搭配一個同檔名的yaml檔才行。

 


 

完成安裝及下載好ControlNet各種約束類型所需的對應模型後,我們可以先到 Settings/ControNet 找到同時能開啟幾個ControlNet模型數量的設定。

raw-image

使用ControlNet時,我們是可以同時提取數張不同參照圖裡的元素進行生圖。一般照自己常用需求去設定數量即可。

raw-image



 

ControlNet 介面參數

ControlNet的功用就是能把參考圖片中的各種特定元素/特徵分別提取出來。之後讓SD把這個單一,或是多個(同時啟用多個ControlNet Unit)元素/特徵做為出圖結果的參照/約束引導。最終達成讓我們能對AI繪圖成像結果有更強的控制能力。

ControlNet的參數介面功能,這邊我們先以OpenPose(提取人物姿勢動作)為例來說明。

raw-image

1. 將參考圖片置入

2.
Enable : 開啟ControlNet,這邊要有勾選ControlNet才會對生圖產生作用影響。
Low VRAM : 如果你的顯卡顯存較低的話(8G以下),這邊可以勾選使用,雖然出圖速度會變慢,但至少在低顯存配備下也能跑得動正常使用不會爆顯存。
Pixel Perfect : 這邊如果沒有勾選時,介面中會出現Preprocessor Resolution的選項。數值愈低愈不佔顯存,但所產生出來的預處理圖效果愈差,反之對畫面特徵提取可以有較精準的控制,一般設定在512~1024間,或是直接就都勾選Pixel Perfect就好。下圖我們拿Canny預處理效果來看比較清楚好理解差別。

raw-image
raw-image

Allow Preview : 開啟Preprocessor Preview/預處理圖的預覽視窗

3.
Control Type : 選擇約束類型,這邊要針對人物的動作姿勢做提取,選擇OpenPose。
Preprocessor : 選擇好約束類型後,針對不同約束類型,會有1~多個預處理器可供選擇使用(IP2P除外,IP2P不需要預處理器)。不同的預處理器,對特徵的提取分別會有各自不同的程度/效果。每個預處理器在第一次使用時,後台一樣會需要先下載預處理器的模型檔案,所以會要等較久的時間,如果下載途中意外中斷或是失敗時,則可直接上網下載後,將檔案放到執行視窗裡所提示的資料夾位置裡。

raw-image

爆炸icon : 選定預處理器後,點擊中間這個爆炸icon,開始對參考圖進行預處理(提取圖片特徵)
Model : 經過預處理後的特徵圖SD是看不懂的,所以這裡還要選擇一個與約束類型/預處理器能夠相對應配合的模型來解讀/處理這張特徵圖,讓SD能理解代表的意義為何。一般如果模型的資料夾裡有對應可用的模型時,在選擇好預處理器時就會自動幫你代入對應的模型。

4.
Control Weight : ControlNet的權重,數值愈低,ControlNet對最後生成圖片的約束/影響效果就愈低。
Starting & Ending Control Step : 控制ControlNet在圖片生成的採樣/迭代步數中,效果影響/引導介入開始與結束的時機點。0.1代表總採樣步數的10%。(PS. 在採樣步數中,愈前面的步數對圖片大抵整體成形狀態影響愈大,愈靠後面的步數則偏向細節上的變化。所以如果想要ControlNet的效果愈明顯/有效,盡量設定成愈靠前的步數進行介入)

5.
Control Mode : 出圖結果是要偏重提示詞內容、ControlNet,或是兩者取平衡。


上面範例中,我們利用ControlNet的OpenPose來提取參考圖片中人物角色的肢體動作,之後就可利用這張提取出來的人物骨架圖來對新生成圖片中人物的動作進行定型控制。像這類動作的控制,平時光是用提示詞的描述是很難/不太可能完全實現到如此高度的相似。

這張圖的提示詞為 : a man in business suit with office background,完全不需要對人物的動作姿勢做描述。

raw-image

a man in swimming suit, beach background

raw-image


ControlNet 約束型態分類

raw-image

目前ControlNet官方提供的主要約束型態依功能我把它主要分成5大類 :

  • 紅色框的線修約束 : Canny、Lineart、SoftEdge、Scribble、MLSD
  • 藍色框的深度約束(空間遠近/物體立體感) : Depth、Normal
  • 綠色框的人動作姿勢約束 : OpenPose
  • 紫色框的人/物品類型約束(語義分割) : Seg
  • 黃色框的其它特殊效果 : Shuffle、Tile、Inpaint、IP2P、Reference

至於最後一個T2IA開頭的則為第三方的預處理器與模型,先把官方原有的這些搞清楚如何操作使用後,感興趣的人也可以再另外下載來測試看看,其本邏輯原理都一樣,從它模型的名稱裡大約也就能看出是屬於哪一類型的約束功能與該如何使用。

→ T2IA模型的下載連結


關於ControlNet的基本認識介紹就先到這裡,後續接著會再一一來實作討論每一個ControlNet模型的約束功能/效果程度,以及每個預處理器間的差異。

記錄店小二建立網賺被動收入歷程、自我學習成長以及各類財富自由資訊的分享專區。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
外掛擴充 Extensions對Stable Diffusion來說非重要,如果少了它,SD就不會如此豐富多元,比起其它繪圖AI更具可玩性。在開始介紹一些好用實用的外掛前,我們先來了解一下WebUi上所有外掛程式安裝、更新、移除與備份的方法。
雖然有了文生圖、圖生圖可以負責幫我們畫圖/算圖,但使用文生圖或圖生圖在算圖時,目前依電腦顯卡設備的不同,都有一定的極限值在,想要直接畫出4k、8k或者是16k以上的高清圖又不爆顯存實在有困難。因此我們就需要有能夠把小圖高清放大的功能(Extras頁籤底下的智慧放大-Upscale)。 Extr
在掌握Stable Diffusion文生圖的使用技巧幫助我們利用文字描述的組合/變化去生成所需的圖片內容後,再更進一步,我們也許會想要針對一張已經百分之七、八十符合我們需求的圖去進行部分內容的修改或是整體畫風的轉換。這時就需要有個”圖生圖 img2img”的操作介面讓我們能和SD溝通。
在SD WebUi 文生圖的介面下,我們可以通過文字描述(提示詞-prompt)搭配不同採樣演算法,迭代步數,CFG值…等參數的設定,去控制圖像模型生成我們所想要的圖片內容。
前面完成了運行Stable Diffusion圖像模型的繪圖/溝通介面(WebUi)的安裝,在正式進入實際操作前,這邊我們先來分類釐清一下常見的模型有哪些種類以及它的主要功能作用。
開源軟體時常更新版本,有時新出的外掛擴充或是Stability.Ai所更新發佈的新模型會需要更新版本的WebUi操作介面才能運行。所以每隔一段時間都要記得去注意一下是否有修正/新增功能的版本可以更新。 確認目前使用的WebUi版本~ 這個Stable Diffusion WebUi是由AUT
外掛擴充 Extensions對Stable Diffusion來說非重要,如果少了它,SD就不會如此豐富多元,比起其它繪圖AI更具可玩性。在開始介紹一些好用實用的外掛前,我們先來了解一下WebUi上所有外掛程式安裝、更新、移除與備份的方法。
雖然有了文生圖、圖生圖可以負責幫我們畫圖/算圖,但使用文生圖或圖生圖在算圖時,目前依電腦顯卡設備的不同,都有一定的極限值在,想要直接畫出4k、8k或者是16k以上的高清圖又不爆顯存實在有困難。因此我們就需要有能夠把小圖高清放大的功能(Extras頁籤底下的智慧放大-Upscale)。 Extr
在掌握Stable Diffusion文生圖的使用技巧幫助我們利用文字描述的組合/變化去生成所需的圖片內容後,再更進一步,我們也許會想要針對一張已經百分之七、八十符合我們需求的圖去進行部分內容的修改或是整體畫風的轉換。這時就需要有個”圖生圖 img2img”的操作介面讓我們能和SD溝通。
在SD WebUi 文生圖的介面下,我們可以通過文字描述(提示詞-prompt)搭配不同採樣演算法,迭代步數,CFG值…等參數的設定,去控制圖像模型生成我們所想要的圖片內容。
前面完成了運行Stable Diffusion圖像模型的繪圖/溝通介面(WebUi)的安裝,在正式進入實際操作前,這邊我們先來分類釐清一下常見的模型有哪些種類以及它的主要功能作用。
開源軟體時常更新版本,有時新出的外掛擴充或是Stability.Ai所更新發佈的新模型會需要更新版本的WebUi操作介面才能運行。所以每隔一段時間都要記得去注意一下是否有修正/新增功能的版本可以更新。 確認目前使用的WebUi版本~ 這個Stable Diffusion WebUi是由AUT
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧一下目前手上有的素材: 訓練的必要模組安裝:AI說書 - 從0開始 - 135 載入資料集:AI說書 - 從0開始 - 136 資料集窺探:AI說書 - 從0
Thumbnail
高保真圖像放大??超高清無損?滿滿的細節? – StableSR…….
Thumbnail
由於現有顯卡性能限制,想要在圖生圖裡重繪放大一張圖到4k以上的尺寸就得要借用各種分格繪圖再重拼接成大圖的方式,無法一次生成。之前試過大家很推崇的Ultimate SD upscale,但對於我要重繪放大的”真人寫實照片”類型的圖來說,一直出現各種問題........
Thumbnail
關於Tile模型,在網路上普遍的教學說法就是它可以”增加畫面細節”、”高清修復放大”,有多神多好用,用了它會讓原圖畫面變更細緻/精緻….等等。但一開始看了很多Youtube上對於tile的教學,我整個印象就是沒能有一個貫通的邏輯性有很明確的指出Tile到底對SD起到的約束/影響是什麼.....
Thumbnail
ControlNet的Inpaint主要功能和我們過去圖生圖裡的Inpaint局部重繪大致是一樣的作用,而其中一個預處理器(inpaint_only_lama)還可以產出不錯的背景填充延伸圖(Outpainting)。
Thumbnail
tensor.art是一個很新的AI繪圖網站,目前還沒看到有什麼廣告或是業配,目前僅在Stable Diffusion 台灣社群v2社團看到一兩篇廣告跟介紹而已。 目前還沒有具體的營利模式,每天有100個繪圖點可以畫100張圖,但也因為還沒有營利模式,所以就算你想花錢買點數也沒得買。
Thumbnail
這篇文章講解在stable diffusion webui上安裝SDXL。 在stable diffusion webui上使用SDXL的步驟不難,比較要注意的是SDXL的幾個重點差異,你要先依這個差異來評估自己是否要升級,以免白忙一場。
Thumbnail
在我們上一篇文章中,提到了生成AI Art QR Code的方法。今天這一篇中我們要實戰另一種生成AI QR Code的方法。上一篇的方法需要由經由 X/Y/Z測試去獲得最佳的參數,且套用不同的Model/Lora都需要去找最佳的甜蜜點,這樣難免比較累一點,今天我會介紹一個方式,是相對比較穩定的做法
Thumbnail
  已經玩SD好一陣子的人應該已經發現,很多名字帶有「Mix」且比較有名的checkpoint模型基本上就是在互相「抄來抄去」,而且在女角方面很多只使用了極少的人物重點訓練,導致算出來的臉常常「都長一個樣」。   那麼,該怎麼辦呢?
Thumbnail
今天這一篇,我們要從實測的角度開始來學習怎麼掌握Stable Diffusion的咒語(Prompt),我們會一步一步從最基本的Prompt開始,慢慢的把細節加上去,拆解Prompt裡面的元素,並且實測每個步驟的圖片給大家看,這樣大家在調製自己的風格的時候也能更清楚Prompt裡面的元素,才不會總是
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧一下目前手上有的素材: 訓練的必要模組安裝:AI說書 - 從0開始 - 135 載入資料集:AI說書 - 從0開始 - 136 資料集窺探:AI說書 - 從0
Thumbnail
高保真圖像放大??超高清無損?滿滿的細節? – StableSR…….
Thumbnail
由於現有顯卡性能限制,想要在圖生圖裡重繪放大一張圖到4k以上的尺寸就得要借用各種分格繪圖再重拼接成大圖的方式,無法一次生成。之前試過大家很推崇的Ultimate SD upscale,但對於我要重繪放大的”真人寫實照片”類型的圖來說,一直出現各種問題........
Thumbnail
關於Tile模型,在網路上普遍的教學說法就是它可以”增加畫面細節”、”高清修復放大”,有多神多好用,用了它會讓原圖畫面變更細緻/精緻….等等。但一開始看了很多Youtube上對於tile的教學,我整個印象就是沒能有一個貫通的邏輯性有很明確的指出Tile到底對SD起到的約束/影響是什麼.....
Thumbnail
ControlNet的Inpaint主要功能和我們過去圖生圖裡的Inpaint局部重繪大致是一樣的作用,而其中一個預處理器(inpaint_only_lama)還可以產出不錯的背景填充延伸圖(Outpainting)。
Thumbnail
tensor.art是一個很新的AI繪圖網站,目前還沒看到有什麼廣告或是業配,目前僅在Stable Diffusion 台灣社群v2社團看到一兩篇廣告跟介紹而已。 目前還沒有具體的營利模式,每天有100個繪圖點可以畫100張圖,但也因為還沒有營利模式,所以就算你想花錢買點數也沒得買。
Thumbnail
這篇文章講解在stable diffusion webui上安裝SDXL。 在stable diffusion webui上使用SDXL的步驟不難,比較要注意的是SDXL的幾個重點差異,你要先依這個差異來評估自己是否要升級,以免白忙一場。
Thumbnail
在我們上一篇文章中,提到了生成AI Art QR Code的方法。今天這一篇中我們要實戰另一種生成AI QR Code的方法。上一篇的方法需要由經由 X/Y/Z測試去獲得最佳的參數,且套用不同的Model/Lora都需要去找最佳的甜蜜點,這樣難免比較累一點,今天我會介紹一個方式,是相對比較穩定的做法
Thumbnail
  已經玩SD好一陣子的人應該已經發現,很多名字帶有「Mix」且比較有名的checkpoint模型基本上就是在互相「抄來抄去」,而且在女角方面很多只使用了極少的人物重點訓練,導致算出來的臉常常「都長一個樣」。   那麼,該怎麼辦呢?
Thumbnail
今天這一篇,我們要從實測的角度開始來學習怎麼掌握Stable Diffusion的咒語(Prompt),我們會一步一步從最基本的Prompt開始,慢慢的把細節加上去,拆解Prompt裡面的元素,並且實測每個步驟的圖片給大家看,這樣大家在調製自己的風格的時候也能更清楚Prompt裡面的元素,才不會總是