Slide 1

Slide 1 text

論⽂解説 Adding Conditional Control to Text-to-Image Diffusion Models Takehiro Matsuda

Slide 2

Slide 2 text

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の進歩が著しい。ユーザーの望む出⼒を出す⼿法として、 シンプルだが強⼒なように⾒えた。

Slide 3

Slide 3 text

3 Purpose of ControlNet Stable Diffusionのような⼤規模データで学習したユーザーからの Prompt(テキスト)指⽰により⾼精細な画像⽣成をできるDNNモデルが 公開されている。 しかし、被写体のポーズ、画像の構図などをテキストで指⽰して希望通り に⽣成することは難しい。 元の⾼性能なDNNモデルを崩さずに、⽐較的少量の学習でinput conditions を追加する⼿法を提案する。 (Image-to-Imageの変換は⾊など全体の傾向に影響を受けやすい)

Slide 4

Slide 4 text

4 Introduction Stable Diffusionなどのtext-image⽣成で⽤いられるデータセット LAION-5B データ量:5 billion ユーザーの所望するポーズなどのデータ object shape/normal, pose understanding, etc. データ量:たいていは100k以下 5x104くらいのデータ量の差があり、単純にfinetuningのようなことをすると overfittingし、画像⽣成の多様性などが失われる可能性がある。 また、⼤規模データ・⼤規模ネットワークを学習できる環境がない場合は多い。

Slide 5

Slide 5 text

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に される。

Slide 6

Slide 6 text

6 ControlNet Network Architecture 元のnetworkのパラメータ は変更せずにlockする 1x1の初期値weigh=0, bias=0の学習可能な Convolution layer 学習済みのNetworkのそれぞ れ対応するBlockからコピーし たパラメータから開始する。 ユーザーの所望する条件を表す画像

Slide 7

Slide 7 text

7 ControlNet module 𝑦! = 𝐹 𝑥; Θ + 𝒵 𝐹 𝑥 + 𝒵 𝑥; Θ"# ; Θ! ; Θ"$ =0 ① ② = 𝐹 𝑥; Θ! = 𝐹 𝑥; Θ ③ = 𝒵 𝐹 𝑥; Θ! ; Θ"$ = 0 初期状態で は 𝑦! = 𝑦 ControlNetは何も働きかけていない(元のネットワークの性能を維持)

Slide 8

Slide 8 text

8 Training with Zero convolution DNNで0初期化するとうまく学習が進まなかったりするが、今回のケースでは以下のように重みWが アップデートできる。

Slide 9

Slide 9 text

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)を導⼊する

Slide 10

Slide 10 text

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する。

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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を与える。

Slide 13

Slide 13 text

13 Implementation - Experiment Canny Edge internetから取得した300万データから edge-image-caption pairsを⽣成。 Nvidia A100 80Gで600 GPU-hoursで学習。

Slide 14

Slide 14 text

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で学習。

Slide 15

Slide 15 text

15 Implementation - Experiment HED Boundary internetから取得した300万データから edge-image-caption pairsを⽣成。 Nvidia A100 80Gで300 GPU-hoursで学習。

Slide 16

Slide 16 text

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)

Slide 17

Slide 17 text

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で学習。

Slide 18

Slide 18 text

18 Implementation - Experiment Semantic Segmentation(ADE20K) ADE20K datasetにBLIPを使いcaptionをつけ、16万4千のsegmentation-image-caption pairs を作る。 Nvidia A100 80Gで200 GPU-hoursで学習。 using default prompt

Slide 19

Slide 19 text

19 Implementation - Experiment Depth(large-scale) Midasを使いInternetから300万のdepth-image-caption pairsを作る。 Nvidia A100 80Gで500 GPU-hoursで学習。

Slide 20

Slide 20 text

20 Masked Diffusion Maskした領域にガイドを描画することで、canny-edge modelを使い、意図に沿った画像 ⽣成を⾏う。

Slide 21

Slide 21 text

21 Compare with PITI PITI(Pretraining-Image-to-Image)と⽐較 このタスクで扱うのが難しかった“wall”, “paper”, “cup”のsemantic consistencyが良い。

Slide 22

Slide 22 text

22 Compare with Stable Diffusion v2 Depth-to-Image ControlNetは少ない学習リソースで正確な構造の ⽣成を⾏うことができている。

Slide 23

Slide 23 text

23 Compare with Sketch-guided diffusion Sketch-guided diffusionでthe most challenging casesとされていたuser inputに対する⽣成結果

Slide 24

Slide 24 text

24 Compare with Taming Transformers Taming Transformersでthe most challenging casesとされていたinputに対する⽣成結果

Slide 25

Slide 25 text

25 Compare with Stable Diffusion add the channel Stable Diffusionでofficialの⼿法とされている input layerにチャンネルを加える⽅法(depth- to-image structureと同じ)と⽐較 ControlNetが⾼精細で不⾃然でない⽣成をしている。

Slide 26

Slide 26 text

26 Ablation study - sudden convergence zero convolutionsを⽤いているため、学習途中でも元のネットワークの性能によるhigh-quality image が⽣成できる。 モデルは学習中に突然input conditionに適応するようになっていることが観察された。 これを”sudden converge phenomenon”と名付けた。

Slide 27

Slide 27 text

27 Ablation study – difference with training data size 学習データセットのサイズの違いによる⽣成結果を⽰す。 学習データが少なくても意図に沿った⽣成が可能だが、多いほう がHigh-Qualityに⾒える。