中文(繁體)

目前位置: 首頁> ComfyUI 教學> ComfyUI 中使用OpenPose ControlNet SD1.5 模型指南

ComfyUI 中使用OpenPose ControlNet SD1.5 模型指南

作者: LoRA 時間: 2025年03月27日

OpenPose ControlNet,是一個專門用於控製圖像中人物姿態的ControlNet 模型。它通過分析輸入圖像中的人物姿態,幫助AI 在生成新圖像時保持正確的人物姿態。這個模型在人物圖像生成、動漫生成、遊戲角色生成等情況下都有比較好的效果,因為它能夠準確理解和保持人物的姿態。

SD1.5 OpenPose ControlNet Workflow Img

一、OpenPose ControlNet 使用

OpenPose ControlNet 的使用需要使用OpenPose 圖來來控制人物姿態的控制,然後使用OpenPose ControlNet 模型來控制生成圖像中的人物姿態,對應OpenPose 圖效果如下:

OpenPose 圖

和Depth 圖一樣,你可以使用ComfyUI ControlNet Auxiliary Preprocessors插件來生成OpenPose 圖,如果你不想安裝這個插件,也可以使用類似open-pose-editor這樣的在線工具來生成OpenPose 圖用於姿態控制。 這裡還是建議非常推薦安裝ComfyUI ControlNet Auxiliary Preprocessors 插件的,因為在後續日常的使用中,這個插件功能會被頻繁使用。

使用OpenPose ControlNet 的Step by Step 教程

1. 升級ComfyUI

由於本文使用的相關節點是新的Apply ControlNet 與老的節點有所不同,所以建議你先升級或安裝最新版本的ComfyUI 相關教程你可以參考:

ComfyUI 安裝教程

ComfyUI 更新教程

2. 安裝必要插件

由於ComfyUI Core 並不帶有對應的OpenPose 圖像預處理器,所以需要預先下載對應的預處理器插件本教程需要使用ComfyUI ControlNet Auxiliary Preprocessors 插件來生成OpenPose 圖。

這裡比較推薦使用ComfyUI Manager 來進行安裝插件安裝的教程可以參考ComfyUI 插件安裝教程這個部分說得比較詳細了

最新版本ComfyUI Desktop已經預裝ComfyUI Manager 插件了

3. 下載工作流所需模型

首先需要安裝以下模型:

模型類型模型文件下載地址
SD1.5 基礎模型 dreamshaper_8.safetensors Civitai
OpenPose ControlNet 模型 control_v11f1p_sd15_openpose.pth(必須) Hugging Face

4. 模型存放位置

請按照以下結構放置模型文件:

1743047268390705.png

由於SD 版本和controlnet 是有版本對應關係的,所以我在這裡命名增加了一層SD1.5 文件夾方便後續的模型管理

安裝完成後刷新或者重啟ComfyUI 讓程序讀取對應的模型文件

5. 工作流文件

這裡提供了兩個工作流文件

使用OpenPose 圖和ControlNet 模型來進行圖片生成

SD1.5 OpenPose ControlNet Img Workflow

下載上面的工作流,在運行ComfyUI 後將工作流拖入或者使用ComfyUI 的快捷鍵Ctrl+O 打開這個工作流文件

請下載下面的圖片,並在Load Image 節點中載入使用OpenPose ControlNet Img

OpenPose ControlNet Img

SD1.5 OpenPose ControlNet Workflow Img

1.在1 Load Image 節點中載入參考圖片

2.在2 Load Checkpoint 節點中選擇你安裝的模型

3.在3 Apply ControlNet 節點中選擇control_v11f1p_sd15_openpose.pth 模型。

4.使用Queue 或者快捷鍵Ctrl+Enter 運行工作流進行圖片生成

使用ComfyUI ControlNet Auxiliary Preprocessors 對參考圖片進行預處理

和上面一個工作流有所差異,在有些情況下我們並不一定有現成的OpenPose 圖,那麼就需要使用ComfyUI ControlNet Auxiliary Preprocessors插件來對參考圖片進行預處理,然後使用處理後的圖片作為輸入圖片與ControlNet 模型一起使用

SD1.5 OpenPose ControlNet Preprocessor Workflow

下載上面的工作流,在運行ComfyUI 後將工作流拖入或者使用ComfyUI 的快捷鍵Ctrl+O 打開這個工作流文件

請下載下面的圖片,並在Load Image 節點中載入使用OpenPose ControlNet input

OpenPose ControlNet input

SD1.5 OpenPose ControlNet Workflow Img

1.在1 Load Image 節點中載入輸入圖片

2.在2 Load Checkpoint 節點中選擇你安裝的模型

3.在3 Apply ControlNet 節點中選擇control_v11f1p_sd15_openpose.pth 模型。

4.使用Queue 或者快捷鍵Ctrl+Enter 運行工作流進行圖片生成

5.1 涉及的主要節點說明

ComfyUI Core 節點,核心節點文檔在當前網站文檔已有對應說明

1.應用ControlNet節點: Apply ControlNet

2.加載ControlNet 模型: ControlNet Loader

5.2 ComfyUI ControlNet Auxiliary Preprocessors 節點

關於Pose 檢測的節點,這裡提供了兩種不同的節點,分別是OpenPose Pose 節點和DWPose Estimator 節點他們的作用都是從圖像中提取手部、身體、面部姿態信息並生成骨架圖

DWPose Estimator 節點是基於DWPose 的姿態檢測算法,OpenPose Pose 節點是基於OpenPose 的姿態檢測算法,在我提供的工作流中我是用的是OpenPose Pose 節點,你可以在運行成功後試試DWPose Estimator 節點,看看差異

OpenPose Pose 節點

OpenPose Pose 節點

1743047877708257.png

輸入參數描述參數選項
images 輸入圖像 -
detect_hand 是否檢測手部 enable / disable
detect_face 是否檢測面部 enable / disable
detect_body 是否檢測身體 enable / disable
resolution 輸出圖像的分辨率 -
輸出參數描述參數選項
image 從圖像處理後輸出的圖像 -
POSE_KEYPOINT 骨架點 -

DWPose Estimator 節點

1743048040390814.png

輸入參數描述參數選項
images 輸入圖像 -
detect_hand 是否檢測手部 enable / disable
detect_face 是否檢測面部 enable / disable
detect_body 是否檢測身體 enable / disable
resolution 輸出圖像的分辨率 -
bbox-detector 是否檢測人體框在圖像中的文職 enable / disable
pose_estimator pose 檢測的不同方法 -
輸出參數描述參數選項
image 從圖像處理後輸出的圖像 -
POSE_KEYPOINT 骨架點 -