【こんとろーるねっと】
ControlNet とは?
最終更新:
💡 輪郭やポーズなどの条件で、画像生成を導く
学習済みの画像生成用拡散モデルに、輪郭・深度・人のポーズなどの画像条件を加えるニューラルネットワーク構造。元モデルの重みを固定し、条件を学ぶ別のネットワークを接続する設計で、画像の空間的な構成を制御する。
📌 このページのポイント
- 輪郭・深度・人のポーズなどの画像条件を使う
- 元モデルの重みを固定し、条件を学ぶ部分を追加
- 初期値をゼロにした接続で、学習開始時の影響を抑える
- 使うモデルと条件の対応を確認し、生成結果を評価する
ControlNetって何ができるの?
画像生成用の拡散モデルに、構図の手掛かりになる画像条件を加える技術だよ。例えば人の骨格を表すポーズ画像を渡して、その姿勢を参考にした画像を生成できるんだ。
テキストで指定するのとは違うの?
文章だけで伝えにくい位置や形を、条件画像でも指定できるよ。テキストと併用する方法もある。条件は生成を導く手掛かりなので、入力画像の人物や見た目までそのまま複製する指定とは区別しよう。
ポーズ以外にも使える?
原論文ではStable Diffusionを使い、輪郭、深度、領域の区分、ポーズなどを試しているよ。使いたい条件に対応したモデルを選ぶ必要がある。どの制御モデルでも全種類の条件や全ての画像生成モデルへそのまま使える、という意味ではないんだ。
元のモデルを全部学習し直すの?
条件を加えれば、毎回思いどおりになる?
生成結果を確認することは必要だよ。原論文も、条件への一致と画像品質を分けて評価し、入力条件と文章の組み合わせを検討している。条件の種類や対応するモデル、文章などをそろえ、用途に合うか確かめるんだ。
まとめ:ざっくりこれだけ覚えればOK!
「ControlNet」って出てきたら「輪郭やポーズなどの条件で、画像生成を導く」と思えばだいたいOK!
📖 おまけ:英語の意味
「ControlNet」 = 制御ネットワーク
💬 controlは「制御」、netはnetworkの短い形だよ。画像条件を使って拡散モデルの生成を制御する構造の名前なんだ。