20 webUI應用中Controlnet精講(06)-結構理解與其它

?? ? 前面的篇章已經詳細講解了線條約束、三維關系與空間深度、人體姿態等幾類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

系列專欄持續更新中,歡迎訂閱關注,共同學習,共同進步!

—————————————————————————————————————

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96181.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96181.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96181.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【MFC】對話框屬性:Center(居中)

前言 本文介紹對話框屬性中的Center(居中),同時給出相關示例便于理解。 目錄1 位置2 詳解3 示例1 位置 首先介紹一下這個屬性在哪里。 在資源視圖中雙擊對話框節點,打開該對話框; 鼠標右鍵工作區空白處,單擊屬性; 此時…

SciKit-Learn 全面分析分類任務 breast_cancer 數據集

背景 乳腺癌數據集,569個樣本,30個特征,2個類別(良性/惡性) 步驟 加載數據集拆分訓練集、測試集數據預處理(標準化)選擇模型模型訓練(擬合)測試模型效果評估模型 分析方法…

【開題答辯全過程】以 _基于SpringBoot技術的“樹洞”心理咨詢服務平臺的設計與實現為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人,語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

R 語法高亮為什么沒有,是需要安裝專用的編輯軟件,R語言自帶的R-gui 功能還是比較簡單

R 語法高亮為什么沒有,是需要安裝專用的編輯軟件,R語言自帶的R-gui 功能還是比較簡單 以下是一些主流的 R 編輯軟件(IDE / 編輯器),適用于不同需求的用戶: ? 最推薦:RStudio(免費/…

使用UniApp實現下拉框和表格組件頁面

使用UniApp實現下拉框和表格組件頁面UniApp提供了一套完整的跨平臺開發框架&#xff0c;支持在多個平臺上運行。下拉框和表格是常見的UI組件&#xff0c;可以通過UniApp內置組件或第三方插件實現。下拉框組件的實現UniApp內置的<picker>組件可以實現下拉選擇功能。以下是…

JavaScript 對象說明

JavaScript 對象說明 1. 對象的基本概念 在 JavaScript 中&#xff0c;對象是一種復合數據類型&#xff0c;用于存儲相關聯的屬性和方法。對象可以看作是屬性的集合&#xff0c;其中每個屬性都由一個鍵&#xff08;key&#xff09;和一個值&#xff08;value&#xff09;組成。…

【競賽系列】機器學習實操項目04——客戶信用評估模型開發全流程(baseline)

上一章&#xff1a;機器學習實操項目03——Scikit-learn介紹及簡單分類案例 下一章&#xff1a; 機器學習核心知識點目錄&#xff1a;機器學習核心知識點目錄 機器學習實戰項目目錄&#xff1a;【從 0 到 1 落地】機器學習實操項目目錄&#xff1a;覆蓋入門到進階&#xff0c;大…

C++中的單例模式的實現

1 什么是單例模式單例模式 是一種創建型設計模式&#xff0c;確保一個類在整個程序生命周期中只有一個實例&#xff0c;并提供一個全局訪問點。核心要求&#xff1a;類不能被外部隨意創建&#xff08;禁止 public 構造函數或限制實例數量&#xff09;。不能被復制或移動。提供一…

匯編基礎1

1.格式偽操作&#xff1a;它們不是ARM處理器實際的指令&#xff08;如MOV&#xff0c; ADD等&#xff09;&#xff0c;而是寫給匯編器看的命令&#xff0c;用于指導匯編器如何工作area reset, code, readonlycode32entry內容 endarea: 這是最重要的一個偽操作&#xff0c;用…

設計模式(C++)詳解—單例模式(2)

<摘要> 單例模式是創建型設計模式中最簡單但應用最廣泛的模式之一&#xff0c;它確保一個類只有一個實例并提供全局訪問點。本文從歷史背景和核心概念出發&#xff0c;系統闡述了單例模式的產生緣由和演進脈絡&#xff0c;深入剖析了其在資源管理、狀態一致性和訪問控制方…

kafka如何保證消息的順序性

kafka如何保證消息的順序性 Kafka只能在分區&#xff08;Partition&#xff09;級別保證消息的順序性&#xff0c;而不能在主題&#xff08;Topic&#xff09;級別保證全局順序。 核心原理&#xff1a;分區和偏移量分區&#xff08;Partition&#xff09;是順序性的基礎&#x…

傳輸層:UDP/TCP協議

網絡協議圖 一.UDP 特點: 無連接&#xff0c;不可靠&#xff0c;面向數據報&#xff0c;全雙工&#xff08;前面網絡編程中介紹過&#xff09; 格式: 服務器的端口號一般都是程序員指定的(這樣你才能訪問到),客戶端的端口號是系統自動分配的(如果提前指定好, 可能會與其他程…

A/B測試全解析:原理、流程與實戰案例

A/B測試&#xff08;AB Testing&#xff09;原理與實踐全解析 在數據驅動的時代&#xff0c;A/B測試幾乎是每一個互聯網公司都會使用的實驗方法。無論是電商平臺優化轉化率&#xff0c;還是內容平臺提升點擊率&#xff0c;抑或是游戲公司提升留存&#xff0c;A/B測試都是最常見…

循環神經網絡(三):小練習

RNN小練習 要求&#xff1a; 假設有 4 個字 吃 了 沒 &#xff1f;&#xff0c;請使用 torch.nn.RNN 完成以下任務 將每個進行 one-hot 編碼請使用 吃 了 沒 作為輸入序列&#xff0c;了 沒 &#xff1f; 作為輸出序列RNN 的 hidden_size 64請將 RNN 的輸出使用全連接轉換成 4…

ESPIDF官方文檔,啟用dhcp會禁用對應的STA或AP的靜態IP,我測試STA確實是,但是AP不是,為什么

1. STA 模式下的 DHCP&#xff08;客戶端角色&#xff09;ESP32 當 Station&#xff08;STA&#xff09; 時&#xff0c;它的行為就跟你的手機/筆記本連 Wi-Fi 一樣&#xff1a;DHCP 客戶端 → 去路由器&#xff08;DHCP 服務器&#xff09;要一個 IP。特點啟用 DHCP&#xff0…

cocos2d. 3.17.2 c++如何實現下載斷點續傳zip壓縮包帶進度條

新建類CurlDown #include “curl/curl.h” #include using namespace std; USING_NS_CC; /** 資源下載curl */ class CurlDown { public: CurlDown(); ~CurlDown(); void StartDownResZip(string downLoadUrl, int64_t totalSize); //下載控制 void downloadControler(); //下…

MySQL 整型數據類型:選對數字類型,讓存儲效率翻倍

MySQL 整型數據類型&#xff1a;選對數字類型&#xff0c;讓存儲效率翻倍 在 MySQL 中&#xff0c;整型&#xff08;整數類型&#xff09;是最常用的數據類型之一&#xff0c;從用戶 ID 到商品數量&#xff0c;幾乎所有涉及數字的場景都離不開它。但你知道嗎&#xff1f;選對整…

公司電腦監控軟件有哪些?公司電腦監控軟件應該怎么選擇

大家好呀&#xff0c;電競直播運營團隊常常面臨 “直播腳本被抄襲、用戶付費數據篡改、主播話術外泄” 的問題&#xff01;尤其是獨家直播流程腳本、用戶充值記錄、主播互動話術庫、賽事解說手稿&#xff0c;一旦泄露可能導致競品跟風、用戶信任下降、直播競爭力減弱&#xff5…

ARM裸機開發:鏈接腳本、進階Makefile(bsp)、編譯過程、beep實驗

一、鏈接腳本的作用&#xff1f;各個段存放什么數據類型&#xff08;一&#xff09;鏈接腳本內容SECTIONS {. 0x87800000;.text : {obj/start.o*(.text)}.rodata ALIGN(4) : {*(.rodata*)}.data ALIGN(4) : {*(.data)}__bss_start .;.bss ALIGN(4) : {*(.bss) *(COMMON)}__bs…

Linux驅動開發(1)概念、環境與代碼框架

一、驅動概念驅動與底層硬件直接打交道&#xff0c;充當了硬件與應用軟件中間的橋梁。1、具體任務&#xff08;1&#xff09;讀寫設備寄存器&#xff08;實現控制的方式&#xff09;&#xff08;2&#xff09;完成設備的輪詢、中斷處理、DMA通信&#xff08;CPU與外設通信的方式…