中級 13 分画像

ControlNet:自らの images

端的な回答

ControlNet は拡散モデルに視覚的な条件(輪郭、奥行き、ポーズ)を追加し、プロンプトがスタイルを制御する一方で、その条件が構図を固定します。この手法は ICCV 2023 で最優秀論文賞を受賞しました。ComfyUI、Forge、AUTOMATIC1111 で利用でき、SD 1.5、SDXL、SD 3.5 Large、Flux.1、Z-Image Turbo 向けのものがあります。注意:各制御モデルは、学習対象となったモデルファミリーでしか動作しません。

プロンプトは内容を説明しますが、位置を指定するものではありません。ControlNetは、参照となる構造、ポーズ、輪郭、深度マップを条件として画像を生成し、指定した構図に結果を従わせます。このガイドは2026年9月28日現在の情報に基づき、どの制御を選ぶか、強度と適用区間をどう設定するか、モデルファミリーごとのファイルサイズ、そしてSD 1.5以降に大きく変化した公式の提供状況について説明します。

著者 Mohamed Meguedmi·更新 2026-09-29·Windows・macOS・Linuxでテスト済み

#解決する問題

幾何学的な形や配置を表すのに、テキストは向いていません。プロンプトで被写体、スタイル、雰囲気は説明できますが、手の位置、建物の角度、商品の正確な輪郭を言葉だけで固定することはできません。別のシードで生成し直すと、構図がまったく変わってしまいます。ControlNetが変えるのは、プロンプトではなく入力です。意図した構造を表す画像を渡すと、ノイズ除去の各段階で、その画像がモデルの条件付けに使われます。それ以外はすべてプロンプトが制御します。

この手法は、Lvmin Zhang、Anyi Rao、Maneesh Agrawala による研究論文「Adding Conditional Control to Text-to-Image Diffusion Models」に由来します。本論文は ICCV 2023 の会議録に掲載され、同会議の最優秀論文賞である Marr 賞を受賞しました。その要旨は、ControlNet の原理を次のように説明しています。ControlNet は拡散モデルを固定し、事前学習済みエンコーダ層を基盤として再利用し、学習可能なコピーを「zero convolutions」によって接続します。zero convolutions とは、初期値がゼロに設定された畳み込み層であり、パラメータを段階的に増加させ、有害なノイズが学習を妨げることを防ぎます。著者らはまた、50,000 枚未満の小さなデータセットでも、100 万枚を超える大きなデータセットでも、学習が堅牢であることを示しています。

使う側にとっての利点は、既存のモデルを再学習させずに制御機能を追加でき、制御の種類ごとにファイルが分かれていることです。そのため、モデルの系統に合った適切なファイルを使う必要があります。

#制御タイプを選択

AI イメージキット

ローカルでの AI 画像・動画生成、制限なし:ComfyUI、Flux、Z-Image、Wan 2.2 を GPU や Mac で — ワークフローはそのまま読み込め、法的枠組みも解説。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 30日間返金対応
ControlNet 1.1 の SD 1.5 用モデルで、各コントロールが捉える情報
制御キャプチャする内容用途SD 1.5用のControlNet 1.1モデル
輪郭(Canny、softedge、lineart)線と輪郭正確な形を保つ:製品、ロゴ、塗り絵control_v11p_sd15_canny, _softedge, _lineart, _lineart_anime
深度カメラからの距離素材や細部を変えながら、立体感と遠近感を保つcontrol_v11f1p_sd15_depth
ポーズ関節を結んだ骨格キャラクター:姿勢は固定され、それ以外は自由です。control_v11p_sd15_openpose
セグメンテーションカテゴリ別の画像領域シーンの配置:ここは空、そこは建物control_v11p_sd15_seg
スケッチ(scribble)粗いスケッチ手描きの絵をレンダリングされた画像に変換するcontrol_v11p_sd15_scribble
ノーマルマップ表面の向き凹凸と、照明の影響を受けやすい細部control_v11p_sd15_normalbae
タイル(tile)画像の領域内のコンテンツ拡大しながら細部を描き足すcontrol_v11f1e_sd15_tile

ControlNet 1.1の公式リポジトリでは14個のモデルが公開されており、そのうち11個は本番運用に対応したモデル、3個は実験的なモデルです。すべて統一された命名規則に従っています。深度用には、対応するプリプロセッサとしてDepth_Midas、Depth_Leres、Depth_Zoeの3つが挙げられています。プリプロセッサとは、参照画像を制御マップに変換するツールです。例えば、写真を深度マップに変換します。

実践的な目安として、重視する要素を捉えられる範囲で、最も制約の緩い制御を選んでください。写真の輪郭を使った条件付けは、その写真を再現します。それが望む結果なら、生成する必要はなかったことになります。深度やポーズを使うと、一般に指示への忠実さと創造性のバランスがより良くなります。

#重要な設定

ツールによって名称は異なりますが、3つの設定はどこでも共通しています。以下の表は、それぞれのドキュメントに基づき、最も一般的な3つの環境における名称を示しています。

ツール別のControlNet設定
設定ComfyUI(Apply ControlNetノード)diffusersライブラリAUTOMATIC1111の拡張機能
制御の強さstrength:値が高いほど、制御が画像に与える影響が強くなりますcontrolnet_conditioning_scale:制御の重みControl Weight:制御が及ぼす影響の重み。プロンプト内の単語をどの程度強調するかに相当
適用のタイミングstart_percentとend_percent:0.2はノイズ除去の進行が20%に達した時点で制御を開始することを、0.8は80%に達した時点で制御を終了することを意味します。control_guidance_startとcontrol_guidance_end。全ステップに対する割合(0〜1)で指定StartとEnd:生成過程のどの割合の時点で制御を開始・終了するかを指定
マップの精度プリプロセッサの解像度は、プリプロセッサノードで設定しますコントロール画像のサイズPixel-Perfectモードは、プリプロセッサに最適な解像度を自動で計算します

強度は最も効果的な調整項目です。最大値に近づけると仕上がりが硬くなり、強度を下げることで、画像の硬さはたいてい改善できます。ノイズ除去が終わる前に制御を停止すると、構図を固定しつつ、質感や光の表現はモデルに自由に任せられます。AUTOMATIC1111の拡張機能には、プロンプトと制御のどちらを優先するか調整できるControl Modeが追加され、Balanced、My prompt is more important、ControlNet is more importantの三つから選べます。

#モデルの作者が公開した初期値

数値をでっち上げるのではなく、開発元が示している数値を出発点にしてください。数値はモデルのファミリーによって大きく異なります。これは、SD 1.5で有効な設定をそのまま他に適用することはできないということです。

モデルの仕様書およびdiffusersのドキュメントに基づく推奨値
モデル推奨設定出典
Flux.1 dev、Union Pro 2.0(Shakker Labs)、cannyまたはsoft edge強度0.7、終了位置0.8モデルカード
Flux.1 dev, Union Pro 2.0, 深度強度 0.8;終了値 0.8モデルカード
Flux.1 dev、Union Pro 2.0、ポーズ強度0.9、終了位置0.65モデルカード
Flux.1 dev、Union Pro 2.0、グレースケール強度0.9、終了0.8モデルカード
Z-Image Turbo、Fun ControlNet Unioncontrol_context_scaleは0.65から0.80の間モデルカード
Flux.1 dev、ControlNet canny(InstantX)公式の例では強度0.5diffusersのドキュメント
SDXL、2 つの制御の組み合わせ(canny と深度)公式の例では、それぞれ0.5diffusersのドキュメント
!
コントロールモデルはベースモデルに対応している必要があります
ControlNetは、特定のアーキテクチャ向けに学習されています。SD 1.5用のファイルは、SDXLでもFluxでも動作しません。よくある症状は、出力が制御を完全に無視する、またはノイズだらけになることです。ダウンロードする前に、ファイルの紹介ページに記載されているモデル系統を必ず確認してください。

#どのControlNetがどのファミリーに適していますか?

SD 1.5以降、利用できるものは大きく変わり、多くのガイドは情報が古くなっています。この表では、モデルの開発元が公開しているものとコミュニティが公開しているものを区別しています。どちらが公開したものかによって、メンテナンスとライセンスが左右されるためです。

モデルファミリーごとの提供状況(作成日時点)
ファミリーモデルの提供元が公開している制御機能コミュニティやサードパーティ製の制御モデル
SD 1.5lllyasvielによるControlNet 1.1:14のモデル(canny、深度、ポーズ、セグメンテーション、スケッチ、タイルなど)多数の派生モデルが存在します
SDXLStability AIのControl-LoRA:canny、深度、recolor、sketchdiffusers チームによる ControlNet canny と depth; xinsir による ControlNet Union(1 つのファイルで複数のモードに対応)
SD 3.5 LargeStability AIが2024年11月26日に公開した3つのControlNet:Blur、Canny、Depth比較できる参考情報が少ない
Flux.1 devFLUX.1 Canny および Depth(Black Forest Labs製)は、2024年11月に完全モデルおよびLoRAモデルとして公開されましたInstantXのControlNet Union(ベータ版)とShakker LabsのUnion Pro 2.0
Z-Image Turbo確認時点では、開発元(Tongyi-MAI)のHugging Faceページに該当するモデルはありませんAlibaba PAIのFun ControlNet Union:canny、HED、深度、ポーズ、MLSD

二つの点を明記しておく必要があります。まず、Black Forest Labsは、自社APIでFLUX.1 DepthとFLUX.1 Cannyを非推奨としました。LoRA版も対象です。公開された重みはHugging Faceで引き続き入手できますが、開発元はもうメンテナンスしていません。次に、「Union」モデルは複数のモードを一つのファイルにまとめるため、ディスク容量を節約できますが、成熟度にはばらつきがあります。InstantXのFlux向けControlNet Unionのモデルカードでは、まだ完全には学習されていない可能性のある初期ベータ版として紹介されています。

ベースモデルのライセンスがそのまま適用されるとは限りません。各コントロールファイルには独自のライセンスがあり、ファイルごとに異なります。

各制御モデルのライセンス(Hugging Faceリポジトリのメタデータおよび引用したライセンスに基づく)
制御ライセンス要点
SD 1.5 用 ControlNet 1.1OpenRAILRAIL型ライセンスで使用制限が設けられています
diffusersチームによるControlNet canny SDXLOpenRAIL++SDXLと同様に、使用制限が付録に記載されています
xinsirのControlNet Union SDXLApache 2.0パーミッシブ
Stability AIのControl-LoRAStability AI Control-LoRA Community License月間アクティブユーザー数が100万人を超える場合、商用利用にはStability AIのライセンスが必要です。
ControlNets SD 3.5 LargeStability AI Community License年間売上高100万ドル未満の商用利用は無料
FLUX.1 Canny および Depth [dev]FluxDevライセンス(非商用)モデルカードには、生成された画像をライセンスに従って個人的・科学的・商業的な目的で利用できると明記されています
InstantXのUnionとShakker LabsのUnion Pro 2.0(Flux向け)FluxDevライセンス(非商用)商業利用前に必ずご確認ください
Z-Image Turbo用のFun ControlNet UnionApache 2.0パーミッシブ

#必要なファイル容量とメモリ量

ControlNetは、ベースモデルと並行して動作する追加のネットワークです。その分、VRAM使用量と画像1枚あたりの処理時間が増えます。Hugging Faceで公開されているファイルサイズが、おおよその規模を知る最初の目安になります。これらは、ベースモデルとそのテキストエンコーダーの重みのサイズに加わります。

コントロールファイルのサイズ。Hugging FaceおよびStability AIのデータに基づく
制御ファイルサイズ
SD 1.5用ControlNet 1.1、オリジナルバージョン(.pth)それぞれ1.45 GB
SDXL用、diffusersチームのControlNet cannyフル精度で5 GB、半精度で2.5 GB
SDXL、xinsirのControlNet Union2.51 GB
Stability AIのSDXL、Control-LoRA約738 MB(オリジナルのControlNetは4.7 GB)
SD 3.5 Large, ControlNet canny8.61 GB
Flux.1 dev、InstantXのControlNet Union6.6 GB
Flux.1 dev, Shakker Labs の Union Pro 2.04.28 GB
Flux.1 dev、LoRA形式のFLUX.1 Depth(Black Forest Labs)1.24 GB(Canny の完全版モデルは 23.8 GB)
Z-Image Turbo、Fun ControlNet Union3.1GB

2つの教訓があります。第一に、完全なモデルに対するLoRA形式の制御はその一部のサイズで済みます。Stability AIはControl-LoRAを、より幅広い一般向けGPUで制御を利用できる方法として紹介しています。第二に、形式には注意が必要です。ControlNet 1.1の.pthファイルはPython pickleであり、Hugging Faceもpickleのインポート警告を示しています。コードを実行できない.safetensors版を優先してください。

追加でどのくらいのVRAMが必要ですか?提供元は一律の数値を公表しておらず、測定値はモデルと解像度によって異なります。メモリがいっぱいになった場合は、まず解像度を下げ、次に同時に使用するコントロールの数を減らし、それでも足りなければControl-LoRAや半精度版など、より軽量なコントロールに切り替えます。基本となるメモリ使用量については、VRAMのガイドをご覧ください。

#どこで使用するか

ControlNet は独立したアプリケーションではありません:画像生成インターフェース内で動作します。ComfyUI では、2つのノードがその役割を果たします:models/controlnet フォルダーのファイルを読み込む Load ControlNet、および制御画像と上記のテーブルの設定を受け取る Apply ControlNet。ComfyUI のドキュメントには、ソフトウェアのコアにはすべてのプリプロセッサーが含まれていないと明記されており、ComfyUI ControlNet aux のような拡張機能が必要なことがよくあります。拡張機能はあなたの権限で実行されるコードであることを忘れないでください:既知の拡張機能のみをインストールしてください。Z-Image Turbo の場合、制御ファイルは別のフォルダー、models/model_patches に配置されます。

従来のWebインターフェースでは、AUTOMATIC1111のsd-webui-controlnet拡張機能がプロンプトの下にパネルを追加します。最新のお知らせはバージョン1.1.454についてのもので、最後のコミットと同じく2024年7月の日付です。この拡張機能は今もSD 1.5とSDXLで動作しますが、新しいモデルへの対応は今後行われません。Forgeは、READMEによると、この拡張機能を使わずにControlNetを直接統合しています。

#複数のコントロールを同時に組み合わせる

2つの制御を重ねることもできます。たとえば、キャラクターの姿勢にはポーズ、背景には深度を使います。diffusersのドキュメントでは、良い結果を得るために、条件付けが重ならないようにマスクを適用し、異なる強度を試して各制御の重みを調整するよう説明されています。SDXLの例では、cannyと深度をそれぞれ0.5の強度で組み合わせています。ComfyUIでは、Apply ControlNetノードを順につなぎます。どちらにも同じ原則が当てはまります。画像の異なる側面を対象とする制御だけを重ね、効果が加算されるため、それぞれの強度を下げます。

#制御が無視された場合について

ControlNetモデルが一覧に表示されない
ファイルが間違ったフォルダにあるか、対応する設定ファイルの名前がそのファイルの名前と一致していません。ComfyUIでは、配置先のフォルダは models/controlnet です。
出力は参照を無視します
ベースモデルと制御モデルの系統に互換性がない、プリプロセッサが空のマップを生成した、または制御の強度が低すぎることが原因です。ほかの原因を疑う前に、制御マップそのものを表示してください。
画像が硬直していて生気がない
制御の強度が高すぎるか、ノイズ除去の全工程にわたって制御が適用されています。強度を下げ、ノイズ除去が終わる前に制御を停止してください。
Unionモデルで期待した結果が得られない
InstantXのUnionの開発者は、十分に学習させたUnionモデルでも、ポーズ用モデルなどの特化モデルより性能が劣る場合があると記しています。専用のControlNetを試し、Shakker Labsのモデル紹介ページで推奨されているように、詳細なプロンプトを書いてください。
メモリがいっぱいになる
解像度を下げるか、コントロールを1つ外すか、より軽量なバージョンのコントロールを使ってください。

#FAQ

FAQ
ControlNet は何に使うものですか?+
輪郭、深度、ポーズの骨格といった構造的な参照情報を条件として画像を生成するために使います。これにより、プロンプトで被写体とスタイルを指定しながら、画像をその構造に沿わせることができます。ICCV 2023の論文集で発表されたこの手法では、拡散モデルの重みを固定し、ゼロで初期化された畳み込みで接続したコピーを学習させます。元のモデルは再学習されません。
ControlNetには高性能なグラフィックスカードが必要ですか?+
ベースモデルに二つ目のネットワークを追加するため、メモリと処理時間が余分に必要になります。開発元は、VRAMの追加使用量について一般化できる数値を公表していません。SD 1.5では、元のバージョンの制御モデル一つのサイズは1.45GBです。SDXLでは、Stability AIのControl-LoRAは約738MBで、比較対象は4.7GBです。まずは軽量な制御モデル一つから始め、徐々に増やしてください。
なぜ出力がコントロール画像を無視しているのですか?+
よくある原因は、制御モデルがベースモデルの系統(SD 1.5、SDXL、Flux)に合っていないこと、プリプロセッサが空の制御マップを生成したこと、または制御の強度が低すぎることです。まず、制御マップそのものを表示してください。最近のモデルでは、制御を適用する区間も重要です。制御を早く打ち切りすぎると、それ以降は効果がなくなります。
キャラクターのポーズにはどの制御方法を使えばよいですか?+
ポーズによる条件付けです。関節の骨格を固定し、服装、外見、背景は自由に変えられます。FluxでShakker LabsのUnion Pro 2.0モデルを使う場合、モデルの説明ページでは、ポーズの制御強度を0.9にし、ノイズ除去の進行度が0.65に達した時点で制御を終了することを推奨しています。輪郭による制御ではシルエット全体が固定されてしまいますが、キャラクターではそこまで固定したいことはあまりありません。
ControlNetはSDXL、Flux、Z-Imageにも存在しますか?+
はい、ただし出所は異なります。SDXL:Stability AIのControl-LoRAとサードパーティのモデル。SD 3.5 Large:Stability AIの3つのControlNet。Flux.1:Black Forest LabsのFLUX.1 CannyとDepth(APIでは非推奨)、およびコミュニティのUnionモデル。Z-Image Turbo:Alibaba PAIのFun ControlNet Union、推奨値は0.65から0.80です。
複数の ControlNet を同時に使用できますか?+
はい。diffusers のドキュメントでは、条件付けが重ならないようにマスクを適用し、それぞれの強度を調整することを推奨しています。SDXL の例では、canny に 0.5、深度に 0.5 を使用しています。ComfyUI では、Apply ControlNet ノードを順につなぎます。ポーズと背景のように、互いを補完する制御だけを組み合わせてください。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。