🎭

【2025年12月】ControlNet完全ガイド - AIにポーズを指定して画像生成

に公開

この記事でできること

  • ✅ ControlNetをComfyUIに導入
  • ✅ 参考画像からポーズを抽出
  • ✅ 指定したポーズで画像を生成
  • ✅ OpenPose/Cannyなど各種プリプロセッサの使い方

所要時間:約30分


ControlNetとは

ControlNetは、画像生成時に構図やポーズを制御する技術です。

何ができる?

機能 説明
ポーズ指定 参考画像と同じポーズで生成
構図制御 レイアウトを固定
線画着色 ラフスケッチから完成画
深度情報 奥行きを維持
セグメンテーション 部位ごとの色分け

使用例

  • 「この写真と同じポーズでアニメキャラを生成」
  • 「このラフ絵を綺麗に仕上げて」
  • 「この構図で別のキャラを描いて」

前提条件

項目 必須
ComfyUI インストール済み
JANKU v6.0 導入済み
VRAM 8GB以上推奨

STEP 1: ComfyUI Managerの導入

ControlNet関連ノードを簡単にインストールするため、まずManagerを導入します。

1-1. ダウンロード

PowerShellで以下を実行:

cd C:\AI-Stack\ComfyUI\ComfyUI\custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git

1-2. ComfyUIを再起動

再起動後、UI右側に「Manager」ボタンが表示されます。


STEP 2: ControlNetモデルのダウンロード

2-1. SDXL用ControlNetモデル

JANKU v6.0はSDXLベースなので、SDXL用のControlNetが必要です。

2-2. 推奨モデル

モデル 用途 サイズ
controlnet-openpose-sdxl ポーズ制御 約2.5GB
controlnet-canny-sdxl 線画/エッジ 約2.5GB
controlnet-depth-sdxl 深度情報 約2.5GB
controlnet-scribble-sdxl ラフスケッチ 約2.5GB

2-3. ダウンロード元

HuggingFaceで検索:

https://huggingface.co/lllyasviel/sd_control_collection

または

https://huggingface.co/diffusers/controlnet-canny-sdxl-1.0

2-4. 配置場所

C:\AI-Stack\ComfyUI\ComfyUI\models\controlnet\

例:

C:\AI-Stack\ComfyUI\ComfyUI\models\controlnet\controlnet-openpose-sdxl.safetensors

STEP 3: プリプロセッサノードの導入

3-1. ComfyUI Managerから導入

  1. ComfyUIでManagerボタンをクリック

  2. 「Install Custom Nodes」を選択

  3. 検索欄に controlnet と入力

  4. 以下をインストール:

    • ComfyUI's ControlNet Auxiliary Preprocessors
    • ComfyUI-Advanced-ControlNet
  5. ComfyUIを再起動


STEP 4: 基本ワークフローの構築

4-1. 必要なノード

ControlNetワークフローに必要なノード:

ノード 役割
Load Image 参考画像を読み込み
OpenPose Preprocessor ポーズを抽出
Load ControlNet Model ControlNetモデル読み込み
Apply ControlNet ControlNetを適用

4-2. ワークフロー構成

[Load Image]
      ↓
[OpenPose Preprocessor] → ポーズ画像を生成
      ↓
[Load ControlNet Model] + [Apply ControlNet]
      ↓
[KSampler] → 通常の生成パイプラインに接続
      ↓
[Save Image]

4-3. 詳細な接続

  1. Load Image ノードを追加

    • 参考画像をアップロード
  2. DWPose Estimator または OpenPose Preprocessor を追加

    • Load Imageの出力を接続
    • ポーズ情報が抽出される
  3. Load ControlNet Model を追加

    • モデル: controlnet-openpose-sdxl.safetensors を選択
  4. Apply ControlNet を追加

    • positive: CLIPテキストエンコードから
    • negative: ネガティブプロンプトから
    • control_net: Load ControlNet Modelから
    • image: プリプロセッサの出力から
    • strength: 0.8〜1.0
  5. KSampler に接続

    • positive/negativeをApply ControlNetの出力に変更

STEP 5: 各プリプロセッサの使い方

OpenPose(ポーズ制御)

用途: 人物のポーズを抽出して再現

設定:

パラメータ 推奨値
detect_hand true
detect_body true
detect_face true

適した場面:

  • キャラクターのポーズを指定したい
  • ダンスシーンを作りたい
  • 複数人の配置を制御したい

Canny(エッジ検出)

用途: 線画/輪郭を抽出して構図を維持

設定:

パラメータ 推奨値
low_threshold 100
high_threshold 200

適した場面:

  • 線画から着色
  • 写真の構図を維持してアニメ化
  • ロゴやデザインの再現

Depth(深度)

用途: 奥行き情報を抽出

設定:

パラメータ 推奨値
model MiDaS または Zoe

適した場面:

  • 背景の奥行きを維持
  • 建物や風景の構図再現
  • 3D的な配置を制御

Scribble(スクリブル)

用途: ラフスケッチを解釈

適した場面:

  • 手描きのラフから生成
  • 簡単な線画から詳細画像を生成

STEP 6: 強度の調整

ControlNetの強度(strength)は生成結果に大きく影響します。

強度と結果の関係

strength 結果
0.3〜0.5 軽いヒント程度
0.6〜0.8 バランス良い
0.9〜1.0 強く制御
1.0以上 過度に制約(崩れやすい)

推奨設定

用途 strength
ポーズの再現 0.8〜1.0
構図のヒント 0.5〜0.7
線画着色 0.9〜1.0
スタイル変換 0.6〜0.8

STEP 7: 複数ControlNetの組み合わせ

複数のControlNetを同時に使うことで、より精密な制御が可能です。

例: OpenPose + Depth

  1. 参考画像を読み込み
  2. OpenPoseでポーズを抽出
  3. Depthで奥行きを抽出
  4. 両方をApply ControlNetで適用(別々のノード)
  5. 強度はそれぞれ調整

組み合わせの例

組み合わせ 効果
OpenPose + Canny ポーズ + 輪郭を維持
Depth + Scribble 奥行き + ラフの解釈
OpenPose + Depth ポーズ + 空間配置

トラブルシューティング

ControlNetが効かない

症状: 参考画像を無視して生成される

対策:

  1. strengthを上げる(0.8以上)
  2. プリプロセッサの出力を確認(ポーズ抽出されているか)
  3. モデルがSDXL用か確認
  4. Apply ControlNetの接続を確認

ポーズが崩れる

症状: 手足がおかしい

対策:

  1. detect_handをtrueに
  2. より鮮明な参考画像を使う
  3. DWPose Estimatorを使う(OpenPoseより高精度)

生成が遅い

症状: ControlNet使用時に大幅に遅くなる

対策:

  1. プリプロセッサの解像度を下げる
  2. 1つのControlNetのみ使用
  3. 画像サイズを小さくする

メモリエラー

症状: CUDA out of memory

対策:

  1. 画像サイズを小さくする(1024→768)
  2. 複数ControlNetを減らす
  3. --lowvramオプションで起動

実践例: ポーズ指定でキャラ生成

入力

  • 参考画像: 立ちポーズの写真
  • プロンプト: 1girl, long black hair, school uniform, classroom
  • ControlNet: OpenPose, strength 0.9

結果

参考画像と同じ立ちポーズで、アニメ調の女子高生が生成される

ポイント

  1. 参考画像は全身が写っているものが望ましい
  2. 背景がシンプルだとポーズ抽出しやすい
  3. 複数人の場合は人数を一致させる

まとめ

ステップ 内容 所要時間
1 Manager導入 5分
2 ControlNetモデルDL 10分
3 プリプロセッサ導入 5分
4 ワークフロー構築 10分
5 プリプロセッサ理解 -
6 強度調整 試行錯誤

合計: 約30分でControlNet環境構築完了!


次のステップ

ControlNetでポーズ制御ができるようになったら、次は:

👉 IP-Adapter導入ガイド - キャラクターの顔を固定して生成

ControlNet(ポーズ)+ IP-Adapter(顔)を組み合わせることで、
同じキャラクターを同じポーズで生成することが可能になります。


参考リンク


この記事が役に立ったら いいね お願いします!
質問はコメントでどうぞ。

Discussion