升級版ComfyUI InstantID 換臉:FaceDetailer + InstantID + IP-Adapter

在使用ComfyUI的InstantID進行人臉替換時,一個常見問題是該工具傾向于保留原始參考圖的構圖,即使用戶的提示詞與之不符。

例如,即使用戶提供的是大頭照并請求生成全身照,結果仍是大頭照,沒有顯示出用戶所期望的構圖。

同樣,從半身照生成全身照的工作流也會遇到同樣的問題——生成的圖像仍然是半身照。

為了克服這一挑戰,我設計了一種新的工作流程,該流程可以將參考圖中的人臉替換到任意一張照片上,而不受原始構圖的限制。

這種方法不僅提高了創作的靈活性,還確保了生成的圖像能更好地符合用戶的實際需求。接下來的內容,我們將詳細介紹如何實現這一工作流程。

基礎工作流的搭建

首先,使用SDXL生成一張肖像照片。這張照片將作為換臉操作的基底圖像。用于換臉的基底圖像,你也可以用Midjourney生成,或者是你自己拍攝的照片。這樣就非常靈活了。

生成肖像照片

1?? 準備工作:確保在ComfyUI管理器中安裝了Efficiency Nodes效率節點。

efficiency nodes in comfyui manager

2?? 設置SDXL節點

  • 加載SDXL的效率加載器SDXL的采樣器
  • 連接這些節點,選擇checkpoint,并輸入提示詞。
  • 運行基礎工作流,生成一張肖像照片。

換臉操作

3?? 加載所需節點

  • 確保在進行下一步之前,您的ComfyUI管理器中已安裝Impact Pack。

  • 加載FaceDetailer,這是一個專門用于面部重繪的節點,可以自動識別和處理臉部區域,有效解決臉部形態問題(俗稱臉崩)。
  • 添加檢測面部區域的節點和分割面部的節點,這些節點將幫助更精確地處理面部特征。
  • 將這些節點相連接。

facedetailer in comfyui

  • 通過點擊“添加提示詞隊列”按鈕,檢查節點連接是否正確。

添加并配置InstantID以進行換臉操作

步驟 1: 安裝和配置InstantID

1?? 安裝InstantID:在添加InstantID之前,您需要確保已經在ComfyUI管理器里安裝了由cubiq開發的InstantID節點。這個節點是實現高質量面部替換的核心。

2?? 配置節點

  • 選擇Apply InstantID節點并將其添加到您的工作流中。
  • 連接InstantID的模型輸入端口,從instantid節點拖出所需模型。
  • 添加insightface模型,用于識別和處理面部特征。
  • 添加ControlNet模型節點以輔助InstantID的功能。

步驟 2: 準備參考圖像

3?? 上傳參考圖

  • 選擇一張臉部的參考圖像,如Instagram上的一個AI網紅的圖像,這將用于替換生成的肖像中的臉部。
  • 連接圖像輸入端口至已加載圖片的節點,以確保參考圖被正確加載。

步驟 3: 調整參數并連接

4?? 連接節點

  • 將SDXL Tuple節點的模型和提示詞連接到InstantID。

5?? 連接輸出端口

  • 確保InstantID的輸出端口正確連接到FaceDetailer的輸入端口,以便進行最終的面部細節處理。

開始換臉操作

6?? 執行換臉

  • 檢查所有連接是否正確無誤后,執行換臉操作。

  • 觀察輸出結果,感覺有些過擬合。調低一下cfg,再調高一下步數。接著再來跑一張圖。

我們來對比下臉部參考圖和換臉以后的圖像。感覺有些不太像。 很多情況下,再加入IP-Adapter可以提高一些換臉的相似度。我們來接著添加IP-Adapter。

添加IP-Adapter以提高相似度

步驟 1: 安裝和配置IP-Adapter

1?? 選擇IP-Adapter節點

  • 在ComfyUI中搜索并選擇包含“FaceID”的IP-Adapter。
  • 如果找不到此節點,請確保安裝了ComfyUI IP-Adapter Plus相關節點,并將ComfyUI更新到最新版本。

2?? 配置IP-Adapter FaceID模型

  • 選擇“FaceID PLUS V2”預設,該模型會自動根據選定的模型(SD1.5或SDXL)進行配置。

3?? 連接IP-Adapter

  • 將IP-Adapter的主節點與“Unified Loader”連接。
  • 將“Unified Loader”的模型輸入端連接至SDXL Tuple的模型輸出端。
  • 將IP-Adapter的模型輸出端連接至InstantID的模型輸入端。
  • 圖像輸入端口可以連至InstantID的參考圖或另外連接一個加載圖像的節點。

步驟 2: 運行和調整

4?? 運行換臉操作

  • 設置好后,再次運行整個流程。
  • 對比參考頭像和生成的頭像,檢查相似度。

5?? 調整參數以減少過擬合

  • 如果出現過擬合,可在IP-Adapter節點中調低權重和結束步數。
  • 若調整后相似度降低,可適當增加權重。

6?? 進一步優化

  • 如果依然不滿意相似度,可調整InstantID和IP-Adapter的權重設置。
  • 對于細節問題,如耳朵和額頭的小問題,可以通過局部重繪或在FaceDetailer中調整面部區域的參數來解決。


為了幫助大家更好地掌握 ComfyUI,我在去年花了幾個月的時間,撰寫并錄制了一套ComfyUI的基礎教程,共六篇。這套教程詳細介紹了選擇ComfyUI的理由、其優缺點、下載安裝方法、模型與插件的安裝、工作流節點和底層邏輯詳解、遮罩修改重繪/Inpenting模塊以及SDXL工作流手把手搭建。

這份完整版的資料我已經打包好,點擊下方添加即可免費領取!

?

一、ComfyUI配置指南

  • 報錯指南
  • 環境配置
  • 腳本更新
  • 后記

img

二、ComfyUI基礎入門

  • 軟件安裝篇
  • 插件安裝篇

img

三、 ComfyUI工作流節點/底層邏輯詳解

  • ComfyUI 基礎概念理解
  • Stable diffusion 工作原理
  • 工作流底層邏輯
  • 必備插件補全

img

四、ComfyUI節點技巧進階/多模型串聯

  • 節點進階詳解
  • 提詞技巧精通
  • 多模型節點串聯

img

五、ComfyUI遮罩修改重繪/Inpenting模塊詳解

  • 圖像分辨率
  • 姿勢

img

六、ComfyUI超實用SDXL工作流手把手搭建

  • Refined模型
  • SDXL風格化提示詞
  • SDXL工作流搭建

img

img

這份完整版的資料我已經打包好,點擊下方添加即可免費領取!

?

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

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

相關文章

MySQL_DDL語句

1.Data類臨時數據的弊端 我們之前在將ServletJSP配合處理請求的過程中 數據庫起到一個存取數據的作用 但是我們之前的案例中 數據是在Data類中臨時定義的 并不是從數據庫中獲取的 這樣做是不好的 因為每一次服務器關閉之后 那么部署在其上的類也會隨著卸載 緊接著和類相掛鉤的靜…

基于C#開發web網頁管理系統模板流程-登錄界面

前言,首先介紹一下本項目將要實現的功能 (一)登錄界面 實現一個不算特別美觀的登錄窗口,當然這一步跟開發者本身的設計美學相關,像蒟蒻博主就沒啥藝術細胞,勉強能用能看就行…… (二&#xff09…

使用Tkinter開發Python棋盤游戲

使用 Tkinter 開發一個簡單的棋盤游戲是很有趣的!下面是一個示例,演示如何使用 Tkinter 創建一個簡單的五子棋游戲:這個是我通過幾個夜晚整理出來的解決方案和實際操作教程。 1、問題背景 目標是開發一個 Python 棋盤游戲,玩家可…

web測試中,各類web控件測試點總結

一、界面檢查 進入一個頁面測試,首先是檢查title,頁面排版,字段等,而不是馬上進入文本框校驗 1、頁面名稱title是否正確 2、當前位置是否可見 您的位置:xxx>xxxx 3、文字格式統一性 4、排版是否整齊 5、列表項…

【--ckpt_save_interval 1 -- sync_bn】

在深度學習和機器學習的上下文中,–ckpt_save_interval 1 和 --sync_bn 是命令行參數,它們通常用于配置訓練過程。 不過,這兩個參數并不是所有框架或工具都通用的,但我可以根據常見的用法來解釋它們。 --ckpt_save_interval 1這…

人力資源管理:員工體驗平臺設計

員工體驗是員工的感受,是員工作為企業一份子觀察到、感受到和與之互動的一切,包含企業為員工提供的物質條件、人文環境等各方面的內容。 是在工作過程中接觸到的所有接觸點所產生的對自己與用人單位關系的整體感知,員工體驗從員工入職開始貫…

使用Go和JavaScript爬取股吧動態信息的完整指南

引言 在現代金融生態系統中,信息流動的速度和效率對于市場的健康和投資者的成功至關重要。股市信息,特別是來自活躍交流平臺如股吧的實時數據,為投資者提供了一個獨特的視角,幫助他們洞察市場趨勢和投資者情緒。這些信息不僅能夠…

【MySQL】分組排序取每組第一條數據

需求:MySQL根據某一個字段分組,然后組內排序,最后每組取排序后的第一條數據。 準備表: CREATE TABLE t_student_score (id int(11) NOT NULL AUTO_INCREMENT COMMENT ID,stu_name varchar(32) NOT NULL COMMENT 學生姓名,course…

NumPy常用操作

目錄 一:簡介 二:NumPy 常用操作 三:總結 一:簡介 是一個開源的Python庫,它為Python提供了強大的多維數組對象和用于處理這些數組的函數。NumPy的核心是ndarray,它是一個高效的多維數組容器,用…

力扣【旋轉函數】python

如果直接用暴力的話,只能過4個樣例好像,超時 因此得用遞推公式 F1F0前n-1個數-(n-1)*第n個數 F0sum(nums)-n*第n個數 nlen(nums) ans[]#定義一個存最大值值的列表 ss sum(nums) dm 0 for j in range(n):dm j * nums[j] ans.append(dm) print(dm) n…

springmvc返回json

springmvc返回json 現在很多項目已經前后端分離了,不再使用jsp或者使用jsp但是數據使用ajax來獲取,實現局部刷新的效果,那么springmvc中如何不返回頁面而返回頁面所需要的數據呢。 前后端數據交互現在大多使用json來表示(當然有一部分還是使用…

面試中的算法(查找缺失的整數)

在一個無序數組里有99個不重復的正整數,范圍是1~100,唯獨缺少1個1~100中的整數。如何找出這個缺失的整數? 一個很簡單也很高效的方法,先算出1~100之和,然后依次減去數組里的元素,最后得到的差值,就是那個缺…

目標檢測YOLO實戰應用案例100講-基于深度學習的無人機航拍圖像目標檢測算法研究與應用(中)

目錄 4.2旋轉角度 4.3數據集預處理 4.4旋轉框網絡結構設計 4.5實驗結果與分析

集合系列(二十五) -二叉樹、平衡二叉樹、紅黑樹性能總結

一、摘要 二叉樹,作為一種數據結構,在實際開發中,有著非常廣泛的應用,尤其是以平衡二叉樹、紅黑樹為代表,在前幾篇文章中,我們詳細的介紹了BST、AVL、RBT的算法以及代碼實踐,下面簡要概括描述一…

deveco studio 打開官方案例,不顯示運行按鈕。

就拿官方的search舉例好了 git 地址 https://gitee.com/harmonyos/samples/tree/master/ETSUI/Search 使用deveco studio打開Search項目,打開Tools->Device-Manager中的Local Emulator本地模擬器, 此時會發現,運行按鈕是灰色的&#xff0…

水利行業工程設計資質如何去申請

申請水利行業工程設計資質通常需要按照以下步驟進行: 事前準備: 制定材料清單,羅列出所需準備的文件。下載相關的申請表和模板。準備企業資料和人員資料等附件材料。人員要求: 確保企業擁有符合水利行業工程設計資質標準要求的注…

源碼 axios 的創建過程模擬實現

1、在實例對象上添加兩個屬性:default(默認配置) 與 interscptors // //構造函數function Axios(config) {//初始化this.defaults config;//為了創建 default 默認屬性this.interceptors {request: {},response: {}}} 2、在原型對象上添加方法 //原型添加相關的…

從零學算法994

994. 腐爛的橘子 在給定的 m x n 網格 grid 中,每個單元格可以有以下三個值之一: 值 0 代表空單元格; 值 1 代表新鮮橘子; 值 2 代表腐爛的橘子。 每分鐘,腐爛的橘子 周圍 4 個方向上相鄰 的新鮮橘子都會腐爛。 返回 直…

微信小程序中的數據可視化組件封裝藝術【附代碼】

微信小程序中的數據可視化組件封裝藝術 一、數據可視化的魅力與重要性數據可視化簡述為什么要在小程序中封裝數據可視化組件 二、微信小程序數據可視化基礎小程序中的繪圖工具:Canvas 三、實戰:封裝一個簡易折線圖組件設計思路組件結構(line-…

java mybatis配置

MyBatis是一種支持自定義SQL、存儲過程和高級映射的持久層框架。下面是一個簡單的Java MyBatis配置示例&#xff1a; 首先&#xff0c;需要添加MyBatis的依賴到項目的pom.xml文件中&#xff1a; <dependency><groupId>org.mybatis</groupId><artifactId…