在使用ComfyUI的InstantID進行人臉替換時,一個常見問題是該工具傾向于保留原始參考圖的構圖,即使用戶的提示詞與之不符。
例如,即使用戶提供的是大頭照并請求生成全身照,結果仍是大頭照,沒有顯示出用戶所期望的構圖。
同樣,從半身照生成全身照的工作流也會遇到同樣的問題——生成的圖像仍然是半身照。
為了克服這一挑戰,我設計了一種新的工作流程,該流程可以將參考圖中的人臉替換到任意一張照片上,而不受原始構圖的限制。
這種方法不僅提高了創作的靈活性,還確保了生成的圖像能更好地符合用戶的實際需求。接下來的內容,我們將詳細介紹如何實現這一工作流程。
基礎工作流的搭建
首先,使用SDXL生成一張肖像照片。這張照片將作為換臉操作的基底圖像。用于換臉的基底圖像,你也可以用Midjourney生成,或者是你自己拍攝的照片。這樣就非常靈活了。
生成肖像照片
1?? 準備工作:確保在ComfyUI管理器中安裝了Efficiency Nodes
效率節點。
2?? 設置SDXL節點:
- 加載
SDXL的效率加載器
和SDXL的采樣器
。 - 連接這些節點,選擇checkpoint,并輸入提示詞。
- 運行基礎工作流,生成一張肖像照片。
換臉操作
3?? 加載所需節點:
- 確保在進行下一步之前,您的ComfyUI管理器中已安裝Impact Pack。
- 加載FaceDetailer,這是一個專門用于面部重繪的節點,可以自動識別和處理臉部區域,有效解決臉部形態問題(俗稱臉崩)。
- 添加檢測面部區域的節點和分割面部的節點,這些節點將幫助更精確地處理面部特征。
- 將這些節點相連接。
- 通過點擊“添加提示詞隊列”按鈕,檢查節點連接是否正確。
添加并配置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配置指南
- 報錯指南
- 環境配置
- 腳本更新
- 后記
- …
二、ComfyUI基礎入門
- 軟件安裝篇
- 插件安裝篇
- …
三、 ComfyUI工作流節點/底層邏輯詳解
- ComfyUI 基礎概念理解
- Stable diffusion 工作原理
- 工作流底層邏輯
- 必備插件補全
- …
四、ComfyUI節點技巧進階/多模型串聯
- 節點進階詳解
- 提詞技巧精通
- 多模型節點串聯
- …
五、ComfyUI遮罩修改重繪/Inpenting模塊詳解
- 圖像分辨率
- 姿勢
- …
六、ComfyUI超實用SDXL工作流手把手搭建
- Refined模型
- SDXL風格化提示詞
- SDXL工作流搭建
- …
這份完整版的資料我已經打包好,點擊下方添加即可免費領取!
?