?? ? 前面的篇章已經詳細講解了線條約束、三維關系與空間深度、人體姿態等幾類controlnet的功能與應用,本節內容將對通過controlnet對圖像的結構理解及控圖效果。
序號 | 分類 | Controlnet名稱 | 備注 |
1 | 線條約束 | Canny(硬邊緣) | 約束性強,可以識別詳細線條 |
SoftEdge(軟邊緣) | 柔和的線條 | ||
MLSD 直線、最小線段檢測 | 主要用于建筑空間 | ||
Lineart 線稿提取 | 粗細不同的線條 | ||
Scribble 涂鴉 | 粗略線條、發揮空間大 | ||
2 | 三維關系、 空間深度 | Depth 深度 | 空間層次關系 |
Normal 法線貼圖 | 紋理效果常用 | ||
3 | 人體姿態、手勢與表情 | Openpose 姿態控制 | 姿勢、表情、手勢控制 |
4 | 圖像風格轉換 | Shuffle 隨機 | 打亂圖片元素重新組合 |
IP-Adapter (圖像)風格遷移 | 參考圖像畫風、換臉等 | ||
T2l-Adapter (文字轉圖)風格遷移 | 參考原圖畫風 | ||
Reference 參考圖引導 | 模仿原圖繪畫 | ||
Instant-ID 換臉 | 人物換臉 | ||
5 | 圖片修復與編輯 | Recolor 重上色 | 老照片修復 |
Inpaint重繪 | 類似于局部重繪,但融合效果更好 | ||
Tile 分塊 | 分塊重采樣,細節方法 | ||
6 | 結構理解 | Seg 語義分割 | 根據色塊代表不同含義 |
7 | 其它 | InstructP2P 指令式編輯 | 變換場景、特效 |
Revision 圖像修訂 |
1 seg(Semantic Segmentation 語義分割)
1.1 seg語義分割概述
seg語義分割對圖像預處理的結果不是線條,而是在將畫面劃分為不同顏色的色塊,且不同顏色的色塊分別被賦予不同的物體含義,由此可以將圖像中物體的內容固定住,在生圖期間可以根據色塊內容性質畫出同類型的物體,不會出現內容結構的偏差。
案例圖不同區塊的物體賦予了不同的顏色,在生成圖像時對應色塊就會生成特定的對象,從而實現更加準確的內容還原。
1.2 seg的預處理器
seg有4種預處理器:of_ade20k、uf_ade20k和of_coco、以及用于動漫面部識別的anime_face。(mobile_sam用于移動設備)
of代表oneformer算法,uf代表uniformer算法;
ade20k和coco是兩種色值數據集;
of_ade20k、uf_ade20k和of_coco是兩種算法和兩種協議的組合,三款預處理器的識別效果有一定差距,預處理器測試效果對比如下,可以看出oneformer算法優于uniformer算法(uniformer算法中存在色塊未識別元素):
原圖 of_ade20k of_coco uf_ade20k
anime_face主要用于動漫人物面部的識別,預處理器見本節課課件,下載后安裝地址:
根目錄\extensions\sd-webui-controlnet\annotator\downloads\anime_face_segment\UNet.pth
下面案例對動漫人物進行識別,采用of_ade20k、uf_ade20k和of_coco三類預處理器僅可以將人物整體識別成一個整體色塊,而anime_face則可以更細致地識別動漫人物具體形象。
ade20k和coco是兩種色值數據集,不同的色值代表不同的物體,兩種數據集所分析的圖像和代表的色值數不同,兩種色值數據集對應的顏色對照表文件見附件。
1.3 seg應用示例
Seg語義分割在controlnet中常用作以下兩種功能:
1.3.1固定色塊不改變區域內容,生成不同風格圖像
選擇一款目標風格的大模型,通過WD1.4反推原圖獲得提示詞,并發送到文生圖:
設置出圖參數,圖片尺寸由controlnet中同步獲取。
設置controlnet
色塊在線編輯,點擊預處理效果圖的右下角處的編輯按鈕,進入類似在線PS功能界面對效果圖進行在線編輯,可以修改色塊的范圍邊界,進而調整原圖的元素結構。
將修改后的色塊圖直接發送到預處理結果預覽處,其余參數均無需調整,直接生圖即可;也可以下載修改后的色塊圖,將色塊圖上傳至controlnet,預處理器選擇none,點擊爆炸按鈕預覽,再進行生圖;
1.3.2通過添加色塊,在原圖中增加新元素;
可以通過貼圖形式將目標物體“貼”到原圖中,再進行seg預處理獲得色塊圖;也可以將預處理后的色塊圖下載下來,通過PS等工具將該區域修改為目標物體的色值,再次生成圖像時,該色塊即可生成指定的物體;
案例:在臥室中增加人物
先通過貼圖方式,將人物圖放置到臥室環境圖中,獲取新的底圖。
選擇大模型及VAE;通過WD1.4反推修改后的圖像獲得提示詞,發送到文生圖,后續操作和上文相同。
也可以根據色塊對照表采用PS畫出色塊圖,再使用文生圖+controlnet的seg功能對應生圖,即可提前框定圖像不同區域內容,使圖像更有可控性。
2 InstructP2P 指令式編輯
2.1 InstructP2P概述
InstructP2P 的全稱為 Instruct Pix2Pix 指令式編輯生圖,它的原理基本與圖生圖相同,是直接參考底圖內容進行生圖,所以使用時無需進行預處理,預處理器選擇無即可。
InstructP2P是一種將文字指令轉化為圖像編輯的功能,它可以識別出底圖的內容并根據文字指令對圖像進行修改。
control_v11e_sd15_ip2p模型下載后放入:根目錄\models\ControlNet文件夾中
huggingface.co/lllyasviel/…
2.2 應用實例
InstructP2P經常被用來給圖像增加一些特效、改變環境等,日常使用時用到的頻率并不高。提示詞中無需描述其它內容,只需要遵守簡單的指令格式:
提示詞書寫格式為:make it XXX
例:讓圖片中的環境:下雪//變成春天/著火
提示詞欄填寫:make it XXX
make it snow make it burning
3 Revision 圖像修訂
3.1 revision概述
Revision是1.1.400及更新版本ControlNet新增的功能,僅適用于SDXL版本的大模型。
Revision主要通過對圖像內容進行理解并使用獲取到的圖片信息進行生圖,可以將它看做是一種跳過反推提示詞再使用提示詞生圖步驟,直接使用圖片信息進行生圖的工具。信息的轉譯會導致信息流失,比如WD1.4標簽器并不能完整概括圖片中所有元素,而Revision由圖片直接轉成embedding,跳過中間文字的轉譯,可以攜帶更多的原圖信息。
Revision算法可以單獨用于圖像生成,也可以與提示詞Prompt組合使用,對應的也共兩款預處理器,revision_clipvision(作為補充)及revision_ignore_prompt(忽略原有提示詞)。
3.2應用示例
3.2.1 不填寫提示詞,僅使用revision:
選擇XL版本大模型,正向提示詞、反向提示詞均不填寫,打開controlnet,上傳底圖,選擇revision。
通過出圖結果可以看出在不填寫提示詞的情況下,兩款預處理器出圖效果幾乎沒有區別,都可以參考原圖中元素進行生圖。
3.2.2 有提示詞情況下兩款預處理器效果對比
我們在正向提示詞中填寫與原圖特征不一致的描述,改變或增加一部分人物關鍵特征
正向提示詞:1 girl,long red hair,blunt bangs,necklace,earrings,
反向提示詞:DeepNegative_xl_v1,
clipvision預處理器作為提示詞的補充,和提示詞一起參與圖像生成;
ignore_prompt預處理器則完全忽略提示詞的作用,僅使用圖片信息進行圖片生成;
3.3注意要點
(1)提示詞的修改應該基于原參考圖基礎,變化過大則生成的圖像有可能與參考圖無關聯。
(2)Revision是一種算法,沒有額外的訓練模型,直接選擇預處理器即可使用。
(3)Noise Augmentation噪聲增強可以理解為提示詞對出圖的影響程度,該值越低則controlnet的參考圖對出圖的影響越大,該值越高則提示詞對出圖的影響越大,controlnet的參考圖影響越小。
4 多個controlnet同時應用
由于圖像畫面結構和內容復雜,使用單一的controlnet可能無法達到我們預期的效果,此時我們可以同時使用兩個或者多個controlnet同時對出圖進行控制。
如果你的webUI界面中controlnet功能選項卡中只有1個controlnet,需要先點擊“設置”,找到左側的controlnet,將controlnet單元數量設置為你需要的數量(一般3~4即可),重載webUI即可看到多個controlnet選項。
可以通過調整每個controlnet的控制權重及引導介入/終止時機
案例:生成一張圖像,參考圖1中的人物姿勢,參考圖2中的繪圖色彩
第一步,選擇一款大模型,填入簡單提示詞,調整出圖參數
正向提示詞:1 girl,
反向提示詞:(無)
第二步:在controlnet 0中上傳人物姿勢參考圖,選擇openpose,通過預處理器獲取人物姿態,調整權重等參數。
第三步:在controlnet 2中上傳參考的風格圖,選擇IP-Adapter,預處理,調整權重等參數;
生成圖像如下,可以看到在沒有額外提示詞的情況下,很好地遵循了圖像1人物的姿勢,圖像2的畫面色彩元素。
???? ? ?這里分享webUI的本地整合包資源,個人自用的整合包(超全插件及模型,本節課程所有涉及的模型均可在對應文件夾中找到下載)。
? ? ?整合包形式,無需安裝,Windows系統下載打開即用。
「webui全能包(內置超全插件、模型)--100G左右」https://pan.quark.cn/s/3647679a1966
????歡迎正在學習comfyui等ai技術的伙伴V加 huaqs123 進入學習小組。在這里大家共同學習comfyui的基礎知識、最新模型與工作流、行業前沿信息等,也可以討論comfyui商業落地的思路與方向。 歡迎感興趣的小伙伴,群共享資料會分享博主自用的comfyui整合包(已安裝超全節點與必備模型)、基礎學習資料、高級工作流等資源……
????致敬每一位在路上的學習者,你我共勉!Ai技術發展迅速,學習comfyUI是緊跟時代的第一步,促進商業落地并創造價值才是學習的實際目標。
——畫青山Ai學習專欄———————————————————————————————
零基礎學Webui:
https://blog.csdn.net/vip_zgx888/category_13020854.html
Comfyui基礎學習與實操:
https://blog.csdn.net/vip_zgx888/category_13006170.html
comfyui功能精進與探索:
https://blog.csdn.net/vip_zgx888/category_13005478.html
系列專欄持續更新中,歡迎訂閱關注,共同學習,共同進步!
—————————————————————————————————————