Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文解説 ControlNet

koharite
March 30, 2023

論文解説 ControlNet

Stable DiffusionのようなPrompt(ユーザーが与えるテキスト)から高精細で多様な画像を生成する手法が公開されている。被写体のポーズや画像の構図などをテキストで指示して希望通りに生成することは難しい。元の高性能なDNNモデルを崩さずに、比較的少量の学習でinput conditionsを追加する手法を提案している。
ControlNetはStable Diffusion Web UIへの拡張機能としてもすぐにリリースされたので、実際に使って効果の高さを実感してもらいたい。

koharite

March 30, 2023
Tweet

More Decks by koharite

Other Decks in Research

Transcript

  1. 2 論⽂情報 タイトル:Adding Conditional Control to Text-to-Image Diffusion Models •

    論⽂: https://arxiv.org/abs/2302.05543 • コード: https://github.com/lllyasviel/ControlNet • 投稿学会: - • 著者: Lvmin Zhang and Maneesh Agrawala • 所属:Stanford University 選んだ理由: • ⽣成系のDNNの進歩が著しい。ユーザーの望む出⼒を出す⼿法として、 シンプルだが強⼒なように⾒えた。
  2. 4 Introduction Stable Diffusionなどのtext-image⽣成で⽤いられるデータセット LAION-5B データ量:5 billion ユーザーの所望するポーズなどのデータ object shape/normal,

    pose understanding, etc. データ量:たいていは100k以下 5x104くらいのデータ量の差があり、単純にfinetuningのようなことをすると overfittingし、画像⽣成の多様性などが失われる可能性がある。 また、⼤規模データ・⼤規模ネットワークを学習できる環境がない場合は多い。
  3. 5 Stable Diffusion 前々回紹介したLDMのアーキテクチャで、 LAION-5Bのデータベースをもとに学習し、 プロンプト(text)を与えることで⾼精細で多様な画像を⽣成することが可能なモデル。 Open Sourceのため、様々な派⽣モデルが⽣まれている。 ver1.x :860M

    UNet and CLIP ViT-L/14 text encoder Encoder block: 12個 Decoder: block: 12個 Middle block: 1個 8 blockはdown-sampling or up-sampling convolution layers 17 blockはmain blockで4つ のresnet layerと2つの Vision Transformersをもつ 512 x 512サイズ の画像から64 x 64サイズの latent imageに される。
  4. 6 ControlNet Network Architecture 元のnetworkのパラメータ は変更せずにlockする 1x1の初期値weigh=0, bias=0の学習可能な Convolution layer

    学習済みのNetworkのそれぞ れ対応するBlockからコピーし たパラメータから開始する。 ユーザーの所望する条件を表す画像
  5. 7 ControlNet module 𝑦! = 𝐹 𝑥; Θ + 𝒵

    𝐹 𝑥 + 𝒵 𝑥; Θ"# ; Θ! ; Θ"$ =0 ① ② = 𝐹 𝑥; Θ! = 𝐹 𝑥; Θ ③ = 𝒵 𝐹 𝑥; Θ! ; Θ"$ = 0 初期状態で は 𝑦! = 𝑦 ControlNetは何も働きかけていない(元のネットワークの性能を維持)
  6. 9 Input convert in ControlNet 512 x 512サイズの画像から64 x 64

    サイズのlatent imageにされる。 ユーザー⼊⼒からlatent spaceの 64 x 64サイズに合わせるため、 4 x 4 kernelと2 x 2 stridesの4つ のConvolution layer(channel: 16, 32, 64, 128)を導⼊する
  7. 10 Learning objective of the entire diffusion model diffusion network:

    εθ time step: t text prompts: ct task-specific conditions: cf noisy image: zt 学習時にランダムに50%の確率でtext prompts ct を空のstringにすることで、 task-specific conditionsのsemantic contentsを認識するようにfacilitateする。
  8. 11 Training for ControlNet 元のネットワーク(Stable Diffusion)のパラメータはlockされ、少数のuser conditioning dataから 学習していく。 23%

    more GPU memory, 34% more time in each training iteration (as tested on a single Nvidia A 100 PCIE40G) Small-Scale Training DefaultでControlNetを接続している”SD Middle Block”と”SD Decoder Block 1,2,3,4”の うち、 ”SD Decoder Block 1,2,3,4”の接続を外す。 RTX 2070TI laptop GPUで実⾏でき、 1.6倍速く学習可能 Large-Scale Training 8台以上のNvidia A100 80Gと100万以上の学習データが利⽤可能なら、Overfittingの リスクは低いので、 最初に5万ステップ以上でControlNetを学習しその後Stable Diffusionのすべての重み のlockを外し、全モデルを通してのjointly trainingを⾏う。 Improved Training
  9. 12 Experiment setting base modelはStable Diffusion 1.5 ⽣成のパラメータはCFG-scaleは9.0、samplerはDDIM、stepは20 Prompt 設定

    1. No prompt: empty string 2. Default prompt: “a professional, detailed, high-quality image” - Stable diffusionはpromptとともに学習しているのでno promptだとrandom texture mapを⽣ 成しがち 3. Automatic prompt: “default prompt”で得られた結果に対して、BLIPのようなautomatic image captioning methodを適⽤しpromptを得て、再度そのpromptを与え⽣成する。 4. User prompt: ユーザーがpromptを与える。
  10. 14 Implementation - Experiment Hough Line Place2からlearning-based deep Hough transformとBLIPで60万のedge-image-caption

    pairsを⽣成。 Canny modelのcheckpointを始点にしてNvidia A100 80Gで150 GPU-hoursで学習。
  11. 16 Implementation - Experiment User Sketching HED boundary detectionとa set

    of strong data augmentationsを使ってhuman scribbleを作成した。 Internetから取得したデータから50万のscribble-image caption pairsを⽣成。 Canny modelのcheckpointを始点にしてNvidia A100 80Gで150 GPU-hoursで学習。 (random thresholds, randomly masking out a random percentage of scribbles, random morphological transformations, and random non-maximum suppression)
  12. 17 Implementation - Experiment Human Pose (Openpose) learning-based pose estimation

    methodを使い、Internetから取得したデータから20万の pose-image-caption pairsを作成する。 Canny modelのcheckpointを始点にしてNvidia A100 80Gで300 GPU-hoursで学習。
  13. 25 Compare with Stable Diffusion add the channel Stable Diffusionでofficialの⼿法とされている

    input layerにチャンネルを加える⽅法(depth- to-image structureと同じ)と⽐較 ControlNetが⾼精細で不⾃然でない⽣成をしている。
  14. 26 Ablation study - sudden convergence zero convolutionsを⽤いているため、学習途中でも元のネットワークの性能によるhigh-quality image が⽣成できる。

    モデルは学習中に突然input conditionに適応するようになっていることが観察された。 これを”sudden converge phenomenon”と名付けた。
  15. 27 Ablation study – difference with training data size 学習データセットのサイズの違いによる⽣成結果を⽰す。

    学習データが少なくても意図に沿った⽣成が可能だが、多いほう がHigh-Qualityに⾒える。