クリエイティブ分析
ControlNetは何に使う?pose・edge・depthの違いと選び方

目次
ControlNetを使うと、元画像の構造を手掛かりにして、新しく生成する画像の姿勢や輪郭、奥行きなどを制御できる。
選ぶときに重要なのは「どのControlNetが一番高画質か」ではない。元画像の何を残したいのかを先に決めることだ。
人物のポーズを残したい場合と、建物の輪郭を残したい場合では、必要な情報が違う。pose・edge・depthも、その違いに合わせて使い分ける。
図: 主な比較軸を1枚に整理。細かな条件は本文と表で確認する。
pose・edge・depthで残す情報は違う
まずは大まかに次のように考えると分かりやすい。
| 残したい情報 | 候補 | 主に見ること |
|---|---|---|
| 人物や関節の姿勢 | pose | 手足や体の向きをどこまで保ちたいか |
| 物体の輪郭や線 | edge | 外形や境界線をどこまで残したいか |
| 手前・奥の位置関係 | depth | 空間の配置や距離感をどこまで残したいか |
これは優劣の表ではない。
poseを使えば人物の顔や服まで元画像と同じになるわけではなく、edgeを使えば色や材質まで保存されるわけでもない。depthも細い輪郭をそのまま固定するためのものではない。
何を制御する情報なのかが違うと考える。
人物の姿勢を残したいならposeから試す
人物の立ち方、腕や脚の向き、関節の配置を残したいなら、pose系の制御が候補になる。
たとえば元画像と同じポーズのまま服装や背景を変えたい場合、姿勢の情報だけを手掛かりとして使える。
ただし、poseから得られるのは主に体の構造だ。顔、服、背景、細部の見た目は、プロンプトや生成モデルなど別の条件にも左右される。
最初は同じプロンプトとseedで、
ControlNetなし
poseあり
の2通りを作り、姿勢がどの程度保たれたかを見る。
輪郭や外形を残したいならedgeを試す
建物の形、製品のシルエット、線画の配置など、境界線を重視したい場合はedge系が候補になる。
edgeでは、元画像から抽出した輪郭を生成時の手掛かりとして使う。
そのため、形を保ちたい用途には向くが、元画像の色や質感をそのまま保存する仕組みではない。
「元画像全体の見た目を似せたい」という目的なら、edgeだけで決めず、img2imgなど別の方法との比較も必要になる。
奥行きや配置を残したいならdepthを試す
人物と背景の距離、床や壁の位置、手前と奥の関係など、空間の構成を残したい場合はdepth系が候補になる。
depthは、画像内の奥行き関係を手掛かりとして使う。
たとえば部屋の構成や人物の立つ位置を大きく変えずに見た目を変えたい場合に比較しやすい。
一方、細い線や正確な外形が重要なら、edgeとの違いを実際に見た方がよい。
同じ入力画像で2種類だけ比べる
最初からpose・edge・depthを全部組み合わせると、何が効いたのか分かりにくくなる。
まずは、残したい情報に近い2種類だけを選ぶ。
入力画像: 同じ
モデル: 同じ
プロンプト: 同じ
seed: 同じ
解像度: 同じ
制御方法: A / B
制御の強さ: 記録
生成結果を見るときは、「どちらがきれいか」だけでなく、残したかった情報がどちらで維持されたかを確認する。
人物の姿勢を残したいのにedgeの方が線はきれいだった、という場合でも、目的に対してposeの方が適していることはある。
制御の強さは固定の正解ではない
ControlNetの効きを強くすれば、常に良い結果になるわけではない。
強く制御すると元画像の構造を保ちやすくなる一方、プロンプト側で変更したい部分まで動きにくくなる場合がある。
また、使用する生成モデルや前処理方法によって相性や挙動も変わるため、特定の強さをすべての構成に共通するおすすめ値として扱わない。
まずは一つの入力画像で小さく比較し、必要な情報が残る最小限の条件を探す。
ControlNetは「画像を高品質にする追加機能」というより、生成結果にどの構造を残したいかを指定するための手段と考えると使い分けやすい。
まだComfyUIで通常の画像生成ができていない場合は、先にComfyUIで最初の画像を生成するまでを確認する。
画像の一部分だけを書き換えたい場合は、ComfyUIのインペイントで画像の一部だけを直す方法の方が目的に合う場合がある。
まとめ
- ControlNetは元画像から構造の情報を取り出し、生成結果を制御したいときに使う
- poseは姿勢、edgeは輪郭、depthは奥行き関係を残したい場合の候補になる
- 方式を画質順に並べるのではなく、同じ入力画像と条件で「残したい情報が残るか」を比較する
- 制御の強さや対応モデルは一律ではないため、自分の構成で小さく試して確認する