ControlNetは、テキストpromptに加えて、参照画像から得たポーズ、輪郭、奥行きなどの条件を画像生成へ加える仕組みです。ComfyUIでは、参照画像、前処理結果、対応ControlNet modelをconditioningへ接続し、strengthと適用開始・終了範囲を調整します。
この記事では、OpenPose・Canny・Depthの使い分け、必要modelとnode、workflow接続、同条件比較、崩れた場合の見直し方を解説します。
情報確認日:2026年7月18日(日本時間)
結論:前処理画像をpreviewし、1種類ずつ弱めから適用する
- 固定したい要素からOpenPose・Canny・Depthを選ぶ
- baseに対応するControlNet modelを用意する
- 参照画像を前処理し、検出結果をpreviewする
- conditioningへ適用し、strengthを弱めから上げる
- 同じseedでpromptのみの画像と比較する
ControlNetで固定できる要素
| 方式 | 主に使う情報 | 向く用途 | 失いやすい情報 |
|---|---|---|---|
| OpenPose | 関節・骨格 | 人物の姿勢 | 服・背景・細部 |
| Canny | edge・輪郭 | 構図、物体の形 | 色・材質・奥行き |
| Depth | 奥行き推定 | 空間配置、立体感 | 細い輪郭・正確なpose |
どれが最良かではなく、固定したい情報で選びます。人物の腕の位置ならOpenPose、建物の外形ならCanny、前景と背景の距離ならDepthが比較候補です。
必要なmodelとnodeを準備する
base modelとの互換性を確認する
ControlNet modelには対応するbase model系統があります。file名だけで判断せず、Model Cardでbase、用途、license、推奨preprocessorを確認します。
control_type:
source_url:
author:
base_model:
controlnet_file:
sha256:
license:
preprocessor:
comfyui_version:
checked_at:
preprocessorとControlNet modelを分ける
preprocessorは参照画像からpose、edge、depth mapなどを作る処理です。ControlNet modelはその条件を生成へ反映します。前処理nodeは利用環境によりcustom nodeが必要な場合があるため、公式tutorialとrepositoryを確認してください。
安全確認:custom nodeはcodeを実行します。自動で一括installせず、repository、maintainer、依存、権限、versionを確認します。
参照画像をworkflowへ接続する
Load Image
↓
Preprocessor(OpenPose / Canny / Depth)
├─ Preview Image
└─ Apply ControlNet ← Load ControlNet Model
↑
Positive Conditioning
↓
KSampler
まず前処理結果をPreview Imageで見ます。元画像が正しくても、骨格の未検出、不要なedge、奥行きの逆転があれば、生成結果も不安定になります。
positive conditioningへ適用する
公式workflowと利用nodeのport名を確認し、Text Encodeのconditioning、ControlNet model、前処理画像をApply ControlNet系nodeへ接続します。negative側の扱いはnodeとworkflowの公式例に従います。
strengthと適用範囲を調整する
最初は同じseed・promptで、ControlNetなし、弱、中、強を比較します。
| 設定 | 目的 | 確認点 |
|---|---|---|
| なし | promptだけの基準 | 元の構図と自由度 |
| 弱 | 自然さを残す | 条件が見えるか |
| 中 | 構図と自然さのbalance | 主要部分の一致 |
| 強 | 固定力の上限確認 | 歪み・硬さ・artifact |
start・end percentの意味
対応nodeにstart・end percentがある場合、denoisingのどの範囲で条件を効かせるかを指定します。早い段階は全体構図へ、遅い段階までの適用は細部へ影響しやすい傾向がありますが、model・sampler・nodeで結果が異なるため実画像で比較します。
case,type,strength,start,end,pose_or_shape,naturalness,artifact,decision
A,none,0,0,0,1,5,5,base
B,OpenPose,0.5,0,0.8,4,5,5,candidate
C,OpenPose,0.8,0,1.0,5,3,3,too_strong
OpenPose・Canny・Depthを同条件で比較する
- 同じ参照画像を使う
- checkpoint、prompt、seed、size、stepsを固定する
- preprocessorのresolutionを記録する
- 各control typeは1つずつ適用する
- 構図一致、自然さ、artifactを5段階で採点する
前処理map自体も保存すると、生成の失敗が検出ミスかControlNet設定かを切り分けられます。
ポーズや輪郭が崩れるときの確認順
- 参照画像が暗すぎる・小さすぎる・遮蔽されていないか
- 前処理previewで必要な情報を検出できているか
- ControlNet modelとbase modelが対応しているか
- strengthが強すぎないか
- start・endの範囲が長すぎないか
- promptが参照条件と矛盾していないか
- LoRAや他ControlNetを外しても再現するか
複数ControlNetやLoRAを追加する前に、1つのcontrolだけで成功させます。ComfyUIのnode接続が初めてならComfyUIの使い方を参照してください。
参照画像を使う際の注意
- 自分が利用できる画像か確認する
- 実在人物では本人の同意と用途を確認する
- なりすまし、誤認、嫌がらせへ使わない
- 参照画像、model、生成結果の保存先を管理する
- 公開前に人物・logo・character・類似性を確認する
よくある質問
OpenPose・Canny・Depthを同時に使えますか?
対応workflowはありますが、まず個別に効果を確認します。同時適用では条件の矛盾と強度配分が増え、原因を切り分けにくくなります。
参照画像と完全に同じ構図になりますか?
保証されません。preprocessorの検出、ControlNet model、strength、prompt、seedなどが影響します。必要な要素を採点して許容範囲を決めます。
人物写真を使ってもよいですか?
権利、プライバシー、本人同意、利用目的を確認します。技術的に可能でも利用可能とは限りません。安全な利用はAIを安全に使う方法を参照してください。
まとめ
ComfyUIでControlNetを使うときは、固定したい情報からOpenPose、Canny、Depthを選び、対応modelとpreprocessorを用意します。生成前に前処理mapをpreviewしてください。
同じseedでControlNetなし・弱・中・強を比較し、構図一致だけでなく自然さとartifactも採点します。手軽な画像生成手段との比較は画像生成AIツール比較も参考になります。