ControlNetとは、Stable Diffusionなどの画像生成AIに追加の制御情報を与えて、より精密で意図した画像を生成するための拡張技術である。

ControlNetの基本概念

定義と目的

ControlNetは条件付き画像生成を実現する技術で、テキストプロンプトだけでは困難な構図、ポーズ、形状、エッジなどの具体的な制御を可能にする。

仕組み

既存のStable Diffusionモデルに追加のネットワークとして接続し、参照画像から抽出した制御情報(エッジ、深度、ポーズなど)を基に画像生成を誘導する。

主要なControlNetモデル

1. Canny

特徴: エッジ検出による輪郭制御

  • 用途: 線画やスケッチからの画像生成
  • 制御内容: オブジェクトの輪郭や境界線
  • 適用例: 建築物の線画から写実的な建物を生成

2. OpenPose

特徴: 人体のポーズ制御

  • 用途: 特定のポーズを持つ人物画像生成
  • 制御内容: 関節位置、手足の角度、体の向き
  • 適用例: スポーツ選手の動作を別のキャラクターで再現

3. Depth

特徴: 深度情報による立体構造制御

  • 用途: 3D空間の奥行き感を保持した画像生成
  • 制御内容: オブジェクトの前後関係、距離感
  • 適用例: 部屋の奥行きを保ったまま内装を変更

4. Normal Map

特徴: 表面の法線情報による質感制御

  • 用途: 物体の表面の凹凸や質感制御
  • 制御内容: 表面の向き、光の反射方向
  • 適用例: 彫刻の質感を保ったまま素材を変更

5. Scribble

特徴: 手描きスケッチからの制御

  • 用途: ラフな手描き線画からの画像生成
  • 制御内容: 大まかな形状や配置
  • 適用例: 簡単な落書きから完成されたイラスト生成

6. Lineart

特徴: 線画による詳細制御

  • 用途: アニメ線画やイラスト線画からの着色
  • 制御内容: 正確な線画情報
  • 適用例: モノクロ線画のカラーリング

7. Segmentation

特徴: 領域分割による部分制御

  • 用途: 画像の各部分(空、建物、人物など)の個別制御
  • 制御内容: セマンティックな領域情報
  • 適用例: 風景写真の空だけを変更

8. IP-Adapter (Image Prompt)

特徴: 参照画像のスタイル適用

  • 用途: 特定の画像のスタイルや雰囲気を他の画像に適用
  • 制御内容: 色調、画風、雰囲気
  • 適用例: 有名絵画のスタイルで新しい画像を生成

ControlNetの使用方法

WebUIでの基本設定

1. ControlNet拡張機能をインストール
2. 制御用参照画像をアップロード
3. 使用するControlNetモデルを選択
4. Weight(影響度)を調整(通常0.5-1.5)
5. 通常のプロンプトと組み合わせて生成

ComfyUIでの使用

Load ControlNet Model → Apply ControlNet → KSampler
           ↑
    Preprocess Image

設定パラメータ

Weight(重み)

  • 0.5-0.8: 軽い制御、自然な変化を許可
  • 0.8-1.2: 標準的な制御
  • 1.2-1.5: 強い制御、厳密に従う

Guidance Start/End

  • Start: 制御開始タイミング(通常0.0)
  • End: 制御終了タイミング(通常1.0)

Control Mode

  • Balanced: バランス型制御
  • My prompt is more important: プロンプト優先
  • ControlNet is more important: 制御情報優先