メインコンテンツへスキップ

OpenPose について

OpenPose は、カーネギーメロン大学(CMU)が開発したオープンソースのリアルタイム多人物ポーズ推定システムであり、コンピュータビジョン分野における重要な技術的ブレイクスルーです。このシステムは、1枚の画像内に複数の人物を同時に検出し、以下の情報を抽出できます:
  • 人体の骨格構造:頭部、肩、肘、手首、股関節、膝、足首など、合計18個のキーポイント
  • 顔の表情:微細な表情や顔の輪郭を捉えるための70個の顔面キーポイント
  • 手の詳細:指の位置やジェスチャーを正確に表現するための21個の手のキーポイント
  • 足の姿勢:立位の姿勢や動作の詳細を記録する6個の足のキーポイント
OpenPose の例 AI による画像生成において、OpenPose で生成された骨格構造マップは ControlNet の条件入力として利用され、生成される人物のポーズ、動作、表情を精密に制御することが可能になります。これにより、意図したポーズや動作を持つリアルな人物画像を生成でき、AI 生成コンテンツの制御性および実用価値を大幅に向上させます。
特に Stable Diffusion 1.5 シリーズの初期モデルでは、OpenPose によって生成された骨格マップを用いることで、人物の動作・四肢・表情の歪みといった問題を効果的に回避できます。

ComfyUI における2パス Pose ControlNet 使用例

1. Pose ControlNet ワークフローの素材

以下のワークフローアイコン画像をダウンロードし、ComfyUI へドラッグ&ドロップすることで、ワークフローを読み込むことができます: ComfyUI ワークフロー - Pose ControlNet
メタデータにワークフローの JSON を含む画像は、ComfyUI へ直接ドラッグ&ドロップするか、メニューの WorkflowsOpen (ctrl+o) を使って読み込むことができます。
この画像には対応するモデルのダウンロードリンクが既に埋め込まれており、ComfyUI へドラッグすると自動的にダウンロードが促されます。
以下の画像をダウンロードしてください。この画像を後続の入力として使用します: ComfyUI Pose 入力画像

2. 手動によるモデルのインストール

ネットワーク環境によっては、対応するモデルの自動ダウンロードが失敗する場合があります。その場合は、以下のモデルを手動でダウンロードし、指定されたディレクトリに配置してください:
ComfyUI/
├── models/
│   ├── checkpoints/
│   │   └── majicmixRealistic_v7.safetensors
│   │   └── japaneseStyleRealistic_v20.safetensors
│   ├── vae/
│   │   └── vae-ft-mse-840000-ema-pruned.safetensors
│   └── controlnet/
│       └── control_v11p_sd15_openpose_fp16.safetensors

3. ワークフロー実行のステップ・バイ・ステップ手順

ComfyUI ワークフロー - Pose ControlNet フローダイアグラム 上記の画像中の数字付きマーカーに従って、以下の手順を実行してください:
  1. Load Checkpoint ノードが majicmixRealistic_v7.safetensors を正常に読み込めることを確認します
  2. Load VAE ノードが vae-ft-mse-840000-ema-pruned.safetensors を正常に読み込めることを確認します
  3. Load ControlNet Model ノードが control_v11p_sd15_openpose_fp16.safetensors を正常に読み込めることを確認します
  4. Load Image ノード内の「選択」ボタンをクリックし、前述のポーズ入力画像をアップロードするか、独自の OpenPose 骨格マップを使用します
  5. Load Checkpoint ノードが japaneseStyleRealistic_v20.safetensors を正常に読み込めることを確認します
  6. Queue ボタンをクリックするか、ショートカットキー Ctrl (cmd) + Enter を押して画像生成を実行します

Pose ControlNet 2パスワークフローの解説

本ワークフローでは、画像生成プロセスを2つのフェーズに分割する「2パス生成(2-pass generation)」方式を採用しています。

第1フェーズ:基本ポーズ画像の生成

第1フェーズでは、majicmixRealistic_v7 モデルと Pose ControlNet を組み合わせて、人物の基本的なポーズ画像を生成します:
  1. Load Checkpoint ノードを用いて、まず majicmixRealistic_v7 モデルを読み込みます
  2. Load ControlNet Model ノードを用いて、ポーズ制御用のモデルを読み込みます
  3. 入力されたポーズ画像を Apply ControlNet ノードに入力し、正のプロンプト条件および負のプロンプト条件と統合します
  4. 最初の KSampler ノード(通常は20〜30ステップ)で、基本的な人物ポーズ画像を生成します
  5. VAE Decode を通じて、第1フェーズのピクセル空間画像を取得します
このフェーズでは、主に人物の正しいポーズ・姿勢・基本構造に焦点を当て、生成される人物が入力された骨格ポーズに忠実であることを保証します。

第2フェーズ:スタイル最適化とディテール強化

第2フェーズでは、第1フェーズの出力画像を参照として、japaneseStyleRealistic_v20 モデルを用いてスタイル化およびディテールの強化を行います:
  1. 第1フェーズで生成された画像を Upscale latent ノードで処理し、より高解像度の潜在空間(latent space)を作成します
  2. 2つ目の Load Checkpoint ノードで、ディテールとスタイルに特化した japaneseStyleRealistic_v20 モデルを読み込みます
  3. 2つ目の KSampler ノードでは、低めの denoise 強度(通常は0.4〜0.6)を用いて精緻化処理を行い、第1フェーズで得られた基本構造を維持します
  4. 最後に、2つ目の VAE Decode および Save Image ノードを通じて、高品質かつ高解像度の画像を出力します
このフェーズでは、主にスタイルの一貫性、ディテールの豊かさ、および全体的な画質向上に焦点を当てます。

2パス画像生成のメリット

単一パス(シングルパス)生成と比較して、2パス画像生成方式には以下のようなメリットがあります:
  1. 高解像度対応:2パス処理により、単一パス生成では実現困難な高解像度画像の生成が可能になります
  2. スタイルの融合:異なるモデルの長所を組み合わせることが可能で、たとえば第1フェーズでリアリスティックなモデルを、第2フェーズでスタイライズされたモデルを活用できます
  3. 優れたディテール表現:第2フェーズでは、全体構造を気にすることなく、ディテールの最適化に集中できます
  4. 精密な制御:ポーズ制御は第1フェーズで完了するため、第2フェーズではスタイルやディテールの洗練に専念できます
  5. GPU負荷の軽減:2回に分けて生成することで、限られたGPUリソースでも高品質な大サイズ画像を生成できます
複数の ControlNet を組み合わせるテクニックについて詳しく知りたい場合は、ControlNet モデルの混合 のチュートリアルをご参照ください。