<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      ComfyUI 基礎教程(三) —— 應用 Controlnet 精準控制圖像生成

      一、前言

      你是否有見過下面類似這樣的圖片:

      看起來平平無奇,當你站遠點看,或者把眼睛瞇成一條縫了看,你會發現,這個圖中藏有一些特別的元素。這就是利用了 Ai 繪畫中的 ControlNet,實現對圖片的相對更精準控制。
      上一篇文章講述了文生圖的基本工作流和最基礎的核心插件用法。通過提示器可以描述我們想要生成的圖片。但是通過文字是無法精準描述描述圖片的。就好你說 “一個女孩,穿著粉色的裙子”,一百個人聽到這句話,腦海中產生的信息有一百種,每個人想到的都不一樣,無論你再怎么加場景、細節、修飾符,都不可能統一所有人的理解。那今天要將的 ControlNet 卻能在一定程度上指導 Stable Diffusion 圖片的生成過程,實現一些特殊的效果。

      二、ControlNet 的相關概念

      2.1 什么是 ControlNet

      ControlNet 是一個控制預訓練圖像擴散模型(例如 Stable Diffusion)的神經網絡。它允許輸入調節圖像,然后使用調節圖像來控制圖像生成。這里的調節圖像類型有很多,比如涂鴉、邊緣圖、姿勢關鍵點、深度圖、法線圖、分割圖等。這些輸入條件都可以作為條件輸入來指導生成圖像的內容。

      這里需要明確一點,ControlNet 是一種算法,用來控制預訓練圖像擴散模型生成圖像的,可以搭配 Stable Diffusion 模型進行使用,但不是只能使用在 Stable Diffusion 中。

      2.2 ControlNet 的使用場景

      ControlNet 的使用場景非常之多。比如想要控制生成圖像人物的姿勢,可以給定一張參考圖,使用姿勢控制模型,提取出人物的姿勢,進行控制;比如生成室內裝修設計圖,可以根據給定定一個法線圖,進行控制;比如可以簡單畫個涂鴉草圖,讓 AI 根據這個草圖進行繪制等等。由于 AI 繪圖試一項創造性工作,所以無法列舉完所有的場景,這里大家有個初步印象,然后可以嘗試不同的 ControlNet 模型,發揮想象,用到合適的需求場景。

      2.3 ControlNet 官方地址

      ControlNet 的官方地址:https://github.com/lllyasviel/ControlNet

      關于 ControlNet 的原理,官網上有一些講解。本人水平有限,這里就班門弄斧,以免誤導大家。感興趣的朋友可以查看官網文檔,或者搜索其它資料文獻。

      三、如何使用 ControlNet

      對于使用 AI 繪畫的人來說,應用才是最重要的。接下來通過一個示例講解如何使用 ControlNet。

      3.1 安裝 ControlNet 插件

      ComfyUI-Advanced-ControlNet
      首先是 ControlNet 節點安裝,如果你使用的秋葉整合包 ComfyUI,是自帶了 ControlNet 節點的。如果沒有,可在自行安裝插件 ComfyUI-Advanced-ControlNet。相信能看到這里的朋友都掌握了插件安裝的方法,如果有不會的朋友,可以回頭去看我前面的文章,安裝插件的方法前面的文章有講。

      3.2 模型下載

      強調: ContrlNet 模型是分版本的,與基礎大模型要對應。 比如你基礎大模型使用的 SD1.5, 那么你的 ControlNet 模型也要選擇 SD1.5 版本,模型不匹配運行會報錯。

      官方提供了 Stable Diffusion 1.5 版本的 ControlNet 模型下載地址:
      https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main


      這里面的模型非常之多,通過模型的名字基本能知道模型的作用。

      下載模型,放到如下路徑:ComfyUI\models\controlnet

      如果需要下載 SDXL 或者其它版本的 ControlNet 模型,可自行在模型下載網站搜索下載。

      多合一模型

      controlnet-union-sdxl-1.0
      這個模型只適用于 SDXL 版本,優勢是該模型集成了 ControlNet 的 12 中類型的模型,不用挨個下載, 并且能更節約內存。
      官方地址:https://huggingface.co/xinsir/controlnet-union-sdxl-1.0

      3.3 ControlNet 使用

      接下來通過一個實際的例子,展示 ControlNet 如何使用。

      3.3.1 應用 ControlNet 節點

      首先,我們不必要完全從零開始搭建工作流,直接加載默認的文生圖工作流,在它的基礎上進行修改。

      然后我們添加一個 應用ControlNet 節點。
      新建 -> 條件 -> ControlNet 這里面可能有好幾個相關的節點。

      這里說說最常用的 ControlNet應用高級 這個節點。掌握這個節點,其它節點使用方式大同小異,大家可以自行嘗試。

      ControlNet應用高級ControlNet應用 相比,多了負面條件控制,以及開始時間和結束時間。我們可以把兩者都添加進來更直觀的看到。

      這里輸入和輸出中的正面條件和負面條件都很好理解,說一下開始時間和結束時間,它們指的是,在整個采樣器去除噪波,生成圖片過程中,ControlNet 介入控制的時機,最小是0,最大是1。如果開始時間設置為0,結束時間設置為1,則表示生成圖片過程中,ControlNet 從頭到尾都介入控制。

      再看剩余的參數和輸入條件:

      • 強度:是 ControlNet 的作用強度。值越大,生成的圖片 ControlNet 參考強度越大,也越貼近參考效果,但是實際使用中,往往也不是參考效果越明顯越好。比如前言中看到的光影文字效果,我們以文字的深度圖作為 ControlNet 參考圖,生成風景照,當 ControlNet 強度太大了,生成的圖像中,文字非常明顯, 反而風景照發揮的空間太小了,往往效果不近人如意。實際使用過程中,還需要根據實際生成圖片不斷調整。
      • ControlNet:該輸入項需要連接到 ControlNet 加載器。前面我們下載的模型,需要根據需要選擇一個使用。
      • 圖像:這里需要一個輸入一個經過 ControlNet 預處理器處理過的圖像。

      3.3.2 ControlNet 模型加載器

      ControlNet 模型加載器同樣有很多種,這里挑一個最常用的。

      只有一個參數,選擇我們需要的模型。前面強調過,這里的模型版本,要和你選擇的基礎大模型匹配。

      3.3.3 ControlNet 預處理器

      ControlNet 的預處理器種類非常多,選擇哪個需要和加載的 ControlNet 模型對應上。 比如前面選擇了模型加載了 openpose 類型,這里就要選擇面部與姿態下面的預處理器。

      這里我們選擇 DW姿態預處理器來說明。

      這里面的參數,檢測項需要就啟用,不需要就禁用。分辨率可以根據基礎大模型設置。一般 SD1.5 設置 512, SDXL 設置 1024。BBox檢測和姿態預估是用來檢測身體各個部位的,在其他場景中也會用到,不同模型之間的區別,大家可以自行了解。

      首次使用某個 ControlNet 預處理器時間會長一點,會自動從網絡下載所需要的模型,請保持網絡通暢,并且可以在 ComfyUI 啟動器的控制臺看到下載任務和進度。后續如果本地有了該模型,很快就可以加載進來。

      輸入圖像,需要出入一張參考圖像。

      Aux集成預處理器

      下面再介紹一個多合一的 ControlNet 預處理器 —— Aux 集成預處理器。

      它只有兩個參數,預處理器,需要自己選擇,比如選擇 DW姿態預處理,就和上面的效果基本一致了。同樣需要輸入一張參考圖。

      圖像加載節點

      輸入的參考圖,就是從本地或者網絡加載一張圖片,然后輸出到 ControlNet 預處理器。這里就需要使用到圖像加載節點。

      • 加載本地圖像
        加載圖像使用 LoadImage 節點就可以。新建->圖像->加載圖像

        點擊 choose file to upload , 選擇一張本地圖片,或者直接拖動圖片到上面就可以,實際使用中,拖拽一張網絡圖片也是可以的。

      • 加載網絡圖像
        有時候我們知道網絡圖片的地址,那就可以使用專門加載網絡圖片的節點。我們可以搜索一下本地節點,沒有的話,就需要自己安裝。我這里有很多插件提供了加載網絡圖片的節點。

      以上就是所有 ControlNet 需要的節點,都添加進來然后正確連接起來就可以了。

      3.4 實例展示

      3.4.1 人物姿態控制

      這里本地有一張圖片

      下面生成一張女孩的圖片,姿態和這張圖片保持一致。工作流如下:

      和上面講解的節點一樣,這里,注意就是 Clip 文本編碼器輸出的正面條件和負面條件連接到 ControlNet 應用節點的輸入,ControlNet 應用節點的輸出再分別連接到 K 采樣器的輸入。
      另外這里將 ControlNet 的預處理器輸出到一個預覽圖像節點,方便我們查看與預處理處理后的結果。

      大模型選擇的 xxmix9Realistic 寫實風格,正向提示詞就簡單填寫的 1 girl, 最終的結果生成了一個女孩,姿勢與我們的參考圖是一致的。當然這個圖并不完美,放大看比較模糊,細節也很欠缺。如果要生成一張質量較高的圖片,需要非常好的提示詞,好需要一些其他的節點。如增加 Lora 模型(后面文章講解如何使用),放大處理節點,對局部進細節進行處理(比如手部修復,面部修復)等等。

      3.4.2 局部重繪

      局部重繪的方法有很多,本示例將通過 ControlNet 完成一個局部重繪的簡單工作流。
      想要實現的效果是對下面這張圖片進行局部重繪,比如給這個女孩換上不同的褲子。

      先說一下基本的思路,就是加載上面的圖像,然后創建需要重繪部位的遮罩(在 PS 里面也稱為蒙版),然后對遮罩區域進行重新繪制,這里就要創建圖中女孩褲子部分的遮罩。此時,使用 ControlNet 的模型是 inpaint 類型。針對這個示例,接下來使用 SDXL 版本的模型進行,一步一步實現效果。
      先上圖:

      和前面使用 openpose 的工作流基本類似。這里 SDXL 的模型,我選擇的是 union 版本,這里在加載 ControlNet 模型的時候,ControlNet 加載器不能直接連接到 應用 ControlNet 節點上,因為我們使用 union 版本的模型,它集成了12種類型的模型功能,使用時就需要選擇具體使用哪種類型,這應該很好理解。
      所以這里連接到 設置 UnionControlNet 類型 這個節點,然后再將輸出端連接到 應用ControlNet 節點。

      在設置 UnionControlNet 類型中,基于重繪,我們選擇 repaint 類型。同時,與之對應的預處理器節點應該選擇 Inpaint 內部預處理器。該預處理需要輸入圖像和遮罩。剛剛也說過了,我們需要創建遮罩區域,對遮罩區域進行重繪。

      如何創建圖像遮罩呢?
      在圖片上鼠標右鍵,點擊"在遮罩編輯器中打開",

      然后會自動打開遮罩編輯器,操作非常簡單,左下角工具條依次是清除遮罩、設置畫筆寬度、設置遮罩透明度、設置遮罩顏色。如果涂錯了,點擊清除,或按住右鍵涂抹即可。最后記得點擊右下角保存。

      另外記得大模型也要選擇對應的 SDXL 版本,對于 SDXL 分辨率可以設置為 1024 左右。正向提示詞寫上“1 girl,short red_dress, ”。最后運行看看:

      不出意外的話,意外出現了。。。生成的圖像一片漆黑,預覽預處理器處理過后的圖像倒是能看清楚圖像和遮罩。
      不要慌,這里,有個小細節,就是 inpaint 內部預處理處理過后的圖像不能直接輸入到 ControlNet 應用節點,需要先轉換為 RGB。

      再次運行,可以看到,圖片中的人物已經換上了紅色的裙子。
      Ok,這次沒問題了。

      注意這個圖像轉RGB節點,是 WAS 插件下的圖像到RGB。 不要添加為其他自定義插件中的 Convert Image To RBG 了,親測過,不生效。

      我們還可以再進一步補充完善完善一下這個工作流。上述這個工作流,K采樣器的 Latent 我們傳入的試一個空 Latent,圖像的寬高是我們自己設置的,這樣有兩個特點:

      1. 有可能我們設置的值與原圖寬高不一致
      2. 空的 Latent 意味著對整個圖完全進行了重繪。關于這一點,后面在專門寫一篇文章,講述各種重繪方式的區別。

      由于是圖片局部重繪,我們實際上可以將原圖使用 VAE編碼器進行編碼轉換成 Latent 輸出到采樣器中。這里使用 VAE 內補編碼器。輸入端,需要傳入圖像,VAE 模型,遮罩,輸出 Latent 連接到采樣器。VAE內補編碼器還有一個參數,“遮罩延展”,這個類似與 PS 中的羽化,可以讓重繪部分和原圖融合得更好。這個值可以在使用過程中不斷修改嘗試,達到自己滿意的效果就可以了。

      最后完整的工作流如下:

      3.5 ControlNet 堆的使用

      有時候我們想用多張圖片的不同 ControlNet 類型進行控制,最原始的做法就是依次添加不同的 ControlNet 相關的節點,把它們依次串聯起來。這樣做節點數看起來會很多,不是很直觀。ComfyUI 中可以使用 ControlNet 堆進行統一處理。使用也非常簡單:

      如果你沒有這個自定義插件,就需要額外下載,看這個節點樣式,使用起來非常簡單。它支持最多三個 ControlNet 一起控制,整合了 ControlNet 模型加載器,并且分別提供了開關、強度、介入時間等參數。如果 3 個不夠用,還可以繼續串聯 ControlNet 堆節點。一般來說。

      四、結束語

      ControlNet 在 AI 繪畫中非常重要,大多數生產環境中,都不是天馬行空,完全隨機生成圖片的,有了 ControlNet, 能夠更精準地控制生圖,才能不斷修改完善,符合實際使用需求。本文只是講解了 ControlNet 的入門使用方法,更多的知識需要在大量的練習和探索中掌握。
      回到開頭圖片,文字融入圖片的效果又該如何應用 ControlNet 來生成呢?
      留給大家自己去學習探索。最后中秋節快到了,提前祝大家中秋節快樂!

      posted @ 2024-09-07 19:31  SharpCJ  閱讀(17823)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 韩国午夜理伦三级| 国产360激情盗摄全集| 探索| 日韩有码中文字幕国产| 欧美和黑人xxxx猛交视频| 色婷婷综合久久久久中文字幕| 精品无码人妻一区二区三区| 91精品国产蜜臀在线观看| 四虎国产精品永久在线下载| 亚洲日本va午夜在线影院| 日韩高清亚洲日韩精品一区二区| 乱人伦人妻中文字幕无码久久网| 成人午夜免费一区二区三区| 欧美国产精品啪啪| 国产精品99久久免费| 久久亚洲精品亚洲人av| 国产精一品亚洲二区在线播放| 天堂中文8资源在线8| 国产自产一区二区三区视频| 国产午夜影视大全免费观看| 国产蜜臀在线一区二区三区| 国内精品视频区在线2021| 亚洲av二区伊人久久| 色 亚洲 日韩 国产 综合| 中文字幕少妇人妻精品| 日本中文字幕不卡在线一区二区 | 东京热一精品无码av| 国产免费网站看v片元遮挡| 国产精品国产亚洲看不卡| 俺来也俺去啦最新在线| 香格里拉县| 麻豆天美国产一区在线播放| 欧美肥老太牲交大战| 日本一二三区视频在线| 无码乱人伦一区二区亚洲| 四虎国产精品永久在线看| 国产日韩另类综合11页| 一区二区三区精品不卡| 天堂资源国产老熟女在线| av无码精品一区二区乱子| 欧美日本一区二区视频在线观看|