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: 制御情報優先