ComfyUIでOpenPose ControlNet SD1.5モデルを使用する方法
SD1.5 OpenPose ControlNetの概要
OpenPose ControlNetは、画像内の人物のポーズを制御するために特別に設計されたControlNetモデルです。入力画像内の人物のポーズを分析し、AIが新しい画像を生成する際に正しいポーズを維持するのを支援します。このモデルは、人物画像の生成、アニメーションの生成、ゲームキャラクターの生成などで特に効果的です。人物のポーズを正確に理解し維持できるためです。
このチュートリアルは、SD1.5モデルのOpenPose ControlNetモデルの使用方法とテクニックに焦点を当てています。他のバージョンや種類のControlNetモデルのチュートリアルは後日追加予定です。
OpenPose ControlNetの使用方法
OpenPose ControlNetを使用するには、OpenPose画像を使用して人物のポーズを制御し、OpenPose ControlNetモデルを使用して生成された画像内の人物のポーズを制御する必要があります。OpenPose画像の例は以下の通りです:
Depth画像と同様に、ComfyUI ControlNet Auxiliary Preprocessorsプラグインを使用してOpenPose画像を生成できます。このプラグインをインストールしたくない場合は、open-pose-editorなどのオンラインツールを使用してポーズ制御用のOpenPose画像を生成することもできます。 ただし、ComfyUI ControlNet Auxiliary Preprocessorsプラグインのインストールを強く推奨します。日常的な使用でこのプラグインが頻繁に使用されるためです。
OpenPose ControlNetのステップバイステップチュートリアル
1. ComfyUIのアップグレード
この記事で使用される新しいApply ControlNetノードは古いノードとは異なるため、ComfyUIの最新バージョンにアップグレードまたはインストールすることをお勧めします 以下のチュートリアルを参照してください:
2. 必要なプラグインのインストール
ComfyUI Coreには対応するOpenPose画像プリプロセッサが含まれていないため、プリプロセッサプラグインを事前にダウンロードする必要があります このチュートリアルでは、OpenPose画像を生成するためにComfyUI ControlNet Auxiliary Preprocessorsプラグインが必要です。
ComfyUI Managerを使用してインストールすることをお勧めします プラグインのインストール方法については、ComfyUIプラグインインストールガイドを参照してください
最新バージョンのComfyUI DesktopにはComfyUI Managerプラグインが既にインストールされています
3. 必要なモデルのダウンロード
まず、以下のモデルをインストールする必要があります:
モデルタイプ | モデルファイル | ダウンロードリンク |
---|---|---|
SD1.5 基本モデル | dreamshaper_8.safetensors | Civitai |
OpenPose ControlNet モデル | control_v11f1p_sd15_openpose.pth(必須) | Hugging Face |
4. モデルの保存場所
以下の構造に従ってモデルファイルを配置してください:
📁ComfyUI
├── 📁models
│ ├── 📁checkpoints
│ │ └── 📁SD1.5
│ │ └── dreamshaper_8.safetensors
│ ├── 📁controlnet
│ │ └── 📁SD1.5
│ │ └── control_v11f1p_sd15_openpose.pth
SDバージョンとcontrolnetにはバージョンの依存関係があるため、将来のモデル管理を容易にするためにSD1.5
フォルダ層を追加しました
インストール後、ComfyUIを更新または再起動して、プログラムがモデルファイルを読み込むようにしてください
5. ワークフローファイル
ここでは2つのワークフローファイルを提供しています
OpenPose画像とControlNetモデルを使用した画像生成
上記のワークフローをダウンロードし、ComfyUIにドラッグするか、ショートカットCtrl+O
を使用してこのワークフローファイルを開きます
以下の画像をダウンロードし、Load Imageノードにロードしてください
1
Load Imageノードに参照画像をロードします2
Load Checkpointノードでインストールしたモデルを選択します3
Apply ControlNetノードでcontrol_v11f1p_sd15_openpose.pth
モデルを選択します- Queueを使用するか、ショートカット
Ctrl+Enter
を使用してワークフローを実行し、画像を生成します
ComfyUI ControlNet Auxiliary Preprocessorsを使用した参照画像の前処理
上記のワークフローとは異なり、準備されたOpenPose画像がない場合があります。このような場合、ComfyUI ControlNet Auxiliary Preprocessorsプラグインを使用して参照画像を前処理し、処理された画像をControlNetモデルと共に入力として使用する必要があります
上記のワークフローをダウンロードし、ComfyUIにドラッグするか、ショートカットCtrl+O
を使用してこのワークフローファイルを開きます
以下の画像をダウンロードし、Load Imageノードにロードしてください
1
Load Imageノードに入力画像をロードします2
Load Checkpointノードでインストールしたモデルを選択します3
Apply ControlNetノードでcontrol_v11f1p_sd15_openpose.pth
モデルを選択します- Queueを使用するか、ショートカット
Ctrl+Enter
を使用してワークフローを実行し、画像を生成します
5.1 主要なノードの説明
ComfyUI Coreノード、コアノードのドキュメントは現在のウェブサイトのドキュメントで確認できます
- Apply ControlNetノード: Apply ControlNet
- ControlNetモデルのロード: ControlNet Loader
5.2 ComfyUI ControlNet Auxiliary Preprocessorsノード
ポーズ検出ノードについて、2つの異なるノードが提供されています:OpenPose Poseノードと DWPose Estimatorノードです。両方とも画像から手、体、顔のポーズ情報を抽出し、スケルトン図を生成するために使用されます
DWPose Estimatorノードは DWPoseポーズ検出アルゴリズムに基づいており、OpenPose Poseノードは OpenPoseアルゴリズムに基づいています。提供されたワークフローではOpenPose Pose
ノードを使用していますが、実行が成功した後にDWPose Estimator
ノードを試して、違いを確認することができます
OpenPose Poseノード
入力パラメータ | 説明 | パラメータオプション |
---|---|---|
images | 入力画像 | - |
detect_hand | 手の検出の有無 | enable / disable |
detect_face | 顔の検出の有無 | enable / disable |
detect_body | 体の検出の有無 | enable / disable |
resolution | 出力画像の解像度 | - |
出力パラメータ | 説明 | パラメータオプション |
---|---|---|
image | 処理された出力画像 | - |
POSE_KEYPOINT | スケルトンポイント | - |
DWPose Estimatorノード
入力パラメータ | 説明 | パラメータオプション |
---|---|---|
images | 入力画像 | - |
detect_hand | 手の検出の有無 | enable / disable |
detect_face | 顔の検出の有無 | enable / disable |
detect_body | 体の検出の有無 | enable / disable |
resolution | 出力画像の解像度 | - |
bbox-detector | 画像内の体の位置検出の有無 | enable / disable |
pose_estimator | 異なるポーズ検出方法 | - |
出力パラメータ | 説明 | パラメータオプション |
---|---|---|
image | 処理された出力画像 | - |
POSE_KEYPOINT | スケルトンポイント | - |