1. 概要
Stable DiffusionなどのText-to-Imageタスクを行うための大規模な事前学習済みの拡散モデル(Diffusion models)に対して、空間的な制約条件を追加する”ControlNet”を提案している。Text-to-Imageでは、入力のプロンプトに対して画像が生成されるが、所望の画像をテキストだけから得ることは難しく、例えばエッジ情報・深度マップ・セグメンテーション・人体のポーズ情報などを制約条件として簡単に生成画像をコントロールできる点が評価されている。
*BEST PAPER AWARD
2. 新規性
事前学習済みのパラメータを破壊しないように、外部から空間的な制約条件を教師する方法としてZero Convolutionを提案している。Zero Convolution層は、重みとバイアスが0で初期化された1x1の畳み込み層からなる。ここで元のbackboneネットワークは一切再学習せずに、同じネットワークをコピーして前後にZero Convolutionを挿入し元のネットワークとelement-wiseで足し算をして接続する。この演算により、元の特徴マップxを受け取り、空間的な制約cを付与した特徴マップy_cを得る。
3. 実現方法
Stable Diffusionをbackboneにした場合、事前学習済みの拡散モデルは汎用性を持たせるために数十億枚の画像で学習されており、空間的な制約条件を使ってbackboneネットワーク全体をFine-tuningすることは現実的ではない。そこで、この論文ではbackboneネットワークを凍結(freezing)し、"Zero Convolutions"(ゼロで初期化された畳み込み層)で各Unetのレイヤーを接続し、パラメータをゼロから段階的に増やすことで、出力結果に対して制約条件がノイズとならないようにコントロールする手法を提案している。
4. 結果
深度マップやポーズ情報など複数の制約条件を同時に入力してテキストから画像生成することが可能。
あいまいなテキスト入力に対しても、与えられた制約条件を解釈して画像を生成できていることが分かる。
Stable Diffusionの入力テキストを空にして、制約条件だけを入れて複数画像生成をしてみた結果を見ても、入力の制約条件に従って多様なシーンが再構成されているのが分かる。
Zero Convolutionと通常のConvolutionを比較した結果、提案手法では生成結果が安定するのに対し、通常のConvolutionを用いると制約条件がノイズとなって生成結果が安定しないことが分かる。これは、学習可能なパラメータの初期値を0から開始し悪影響を及ぼさない範囲で学習を進めることによる効果だと考えられる。
last updates: Oct 8 2023