6.1K Views
May 21, 24
スライド概要
DL輪読会資料
DEEP LEARNING JP [DL Papers] Diffusion Modelによる画像編集 Miyake Daiki, Matsuo Lab http://deeplearning.jp/ 1
概要 • 実画像が与えられた時に,サンプリングを工夫することで画像編集を行う手法に ついていくつか論文を紹介します 2
紹介する論文 • Null-text Inversion for Editing Real Images using Guided Diffusion Models (CVPR2023) • Negative-prompt Inversion: Fast Image Inversion for Editing with Text-guided Diffusion Models • ProxEdit: Improving Tuning-Free Real Image Editing With Proximal Guidance (WACV2024) 3
背景知識 • DDIM sampling • DDIM inversion • Classifier-free guidance 4
背景知識① DDIM sampling • 逆拡散過程をシミュレートする手法の1つ 𝑥𝑡−1 = 𝛼ത𝑡−1 𝑥𝑡 − 1 − 𝛼ത𝑡 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡 𝛼ത𝑡 + 1 − 𝛼ത𝑡−1 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡 • 決定論的なサンプリング – 同じ 𝑥𝑇 からスタートすると同じ 𝑥0 が得られる) 𝝐ො 𝜽 𝒙𝒕 , 𝒕 𝒙𝑻 𝝐ො 𝜽 𝒙𝒕 , 𝒕 𝒙𝒕 𝒙𝟎 5
背景知識② DDIM inversion • DDIM samplingを時間方向に逆転させる – 拡散過程をシミュレートすることに対応 – 拡散過程が決定論的に決まる 𝑥𝑡+1 = 𝛼ത𝑡+1 𝑥𝑡 − 1 − 𝛼ത𝑡 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡 𝛼ത𝑡 𝝐ො 𝜽 𝒙𝒕 , 𝒕 𝒙𝑻 + 1 − 𝛼ത𝑡+1 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡 𝝐ො 𝜽 𝒙𝒕 , 𝒕 𝒙𝒕 𝒙𝟎 6
背景知識② DDIM inversion • 𝜖𝜃Ƹ 𝑥𝑡−1 , 𝑡 − 1 ≈ 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡 の近似のもとでは,DDIM inversionはDDIM sampling の逆関数となる – モデルが本質的に推定しているのはスコア(対数尤度の勾配)であったことを考えれば, 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡 は連続と考えられる 𝝐ො 𝜽 𝒙𝒕−𝟏 , 𝒕 − 𝟏 𝝐ො 𝜽 𝒙𝒕 , 𝒕 7
背景知識③ Classifier-free guidance • 条件付き生成のための手法 – 例えば,テキスト埋め込み 𝐶 を条件として, 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶 として推定 • モデルに単純に 𝐶 を入れるだけでは不十分な場合があり,それを改善するための 手法の1つが Classifier-free guidance (CFG) – 𝜙 は「条件無し」に対応する条件,例えばゼロベクトル – 𝑤 は条件の強さをコントロールするハイパラ 𝜖𝜃ǁ 𝑥𝑡 , 𝑡, 𝐶, 𝜙 = 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝜙 + 𝑤 ⋅ 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶 − 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝜙 𝝐 𝜽 𝒙𝒕 , 𝒕, 𝑪, 𝝓 𝝐ො 𝜽 𝒙𝒕 , 𝒕, 𝑪 𝝐ො 𝜽 𝒙𝒕 , 𝒕, 𝝓 8
画像編集の定義 • 実画像 𝑥0 と対応するテキスト 𝐶𝑠𝑟𝑐 が与えられたときに,𝑥0 を再構成できるよう にする • 新たにテキスト 𝐶𝑡𝑔𝑡 が与えられたときに,𝑥0 の対応部分が変化したような画像を 生成したい – 他の部分は変わらないでほしい 𝑪𝒔𝒓𝒄 : yellow bird 𝑪𝒕𝒈𝒕 : blue bird 9
課題 • 与えられた実画像 𝑥0 をDDIM inversionすると,𝑥0 に対応するノイズ 𝑥𝑇 が得られ る – 𝐶𝑠𝑟𝑐 で条件づけて予測した 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 を使う • しかし,sampling時にはCFGが適用されるため,DDIM inversionとDDIM samplingが逆関数の関係にならない – 明らかに,𝜖𝜃Ƹ 𝑥𝑡−1 , 𝑡 − 1, 𝐶𝑠𝑟𝑐 ≠ 𝜖𝜃ǁ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 , 𝜙 (左辺: inversion時の予測,右辺: sampling時 のCFGを使った予測) • 結果,DDIM inversionの後にCFGを使ってDDIM samplingを行うと,画像全体が 変化してしまう 10
論文① Null-text inversion (NTI) • DDIM inversionによって計算される拡散過程のパス 𝑥0 , 𝑥1∗ , … , 𝑥𝑇∗ と,𝑥𝑇∗ からス タートしてCFGとDDIM samplingによって計算される逆拡散過程のパス 𝑥𝑇∗ , 𝑥ҧ 𝑇−1 , … , 𝑥ҧ0 を一致させたい • CFGにおける定数 𝜙 を時間依存の変数 𝜙𝑡 として, 𝑥𝑡∗ − 𝑥ҧ𝑡 𝜙𝑡 よう 𝜙𝑡 を最適化する 2 2 を最小化する – 𝑡 = 𝑇 − 1 で数step最適化した後,𝑡 = 𝑇 − 2 で数step最適化して…と繰り返していく 11
論文① Null-text inversion (NTI) • 画像編集時には,元のプロンプト 𝐶𝑠𝑟𝑐 の一部を変更したプロンプト 𝐶𝑡𝑔𝑡 を与えて, 𝐶𝑠𝑟𝑐 に対して最適化された 𝜙𝑡 を使ってサンプリングする – 編集品質向上のために,Prompt-to-Prompt等の手法を合わせて使う 12
論文① Null-text inversion (NTI) • 最適化の計算が必要なため,1枚の画像を編集するのに2分程度かかっ てしまう 13
論文② Negative-prompt inversion (NPI) • NTIで最適化が必要な理由は, 𝜖𝜃Ƹ 𝑥𝑡−1 , 𝑡 − 1, 𝐶𝑠𝑟𝑐 ≠ 𝜖𝜃ǁ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 , 𝜙 だから – もし 𝜖𝜃Ƹ 𝑥𝑡−1 , 𝑡 − 1, 𝐶𝑠𝑟𝑐 ≈ 𝜖𝜃ǁ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 , 𝜙𝑡 の近似が成り立つのであれば,DDIM inversionと DDIM samplingの関係から, 𝑥𝑡∗ ≈ 𝑥ҧ𝑡 𝜙𝑡 が成り立つ • 数式的には 𝜙 = 𝐶𝑠𝑟𝑐 を代入すれば,↑の近似が成り立つ – 𝜖𝜃ǁ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 , 𝐶𝑠𝑟𝑐 = 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 + 𝑤 ⋅ 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 − 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 – 連続性から 𝜖𝜃Ƹ 𝑥𝑡−1 , 𝑡 − 1, 𝐶𝑠𝑟𝑐 ≈ 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 – すなわち, 𝑥𝑡∗ ≈ 𝑥ҧ𝑡 𝐶𝑠𝑟𝑐 = 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 • 実際,この置き換えはある程度うまくいく 14
論文② Negative-prompt inversion (NPI) • NPIの直感的な理解 – 編集時のCFGは, 𝜖𝜃ǁ 𝑥𝑡 , 𝑡, 𝐶𝑡𝑔𝑡 , 𝐶𝑠𝑟𝑐 = 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 + 𝑤 ⋅ 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑡𝑔𝑡 − 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 – 元のプロンプト 𝐶𝑠𝑟𝑐 を起点として,𝐶𝑠𝑟𝑐 と 𝐶𝑡𝑔𝑡 で異なる部分だけが強調される 𝝐ො 𝜽 𝒙𝒕 , 𝒕, 𝑪𝒕𝒈𝒕 𝝐 𝜽 𝒙𝒕 , 𝒕, 𝑪, 𝝓 𝑪𝒔𝒓𝒄 : yellow bird 𝑪𝒕𝒈𝒕 : blue bird 𝝐ො 𝜽 𝒙𝒕 , 𝒕, 𝑪𝒔𝒓𝒄 • 最適化をしないので,NTIよりは遥かに高速 – 1枚あたり5秒くらい – ただしNTIより劣化するので,品質と速度のトレードオフ 15
論文③ ProxNPI • NPIでは近似誤差を無視してた – これが無視できないくらい大きいせいで品質が良くない • proximalな関数を導入する – ある程度小さい値を潰して0にする prox𝜆,𝐿0 𝑥 = ቊ 𝑥 0 if 𝑥 > 2𝜆 otherwise • これを編集時のCFGに適用する 𝜖𝜃ǁ 𝑥𝑡 , 𝑡, 𝐶𝑡𝑔𝑡 , 𝐶𝑠𝑟𝑐 = 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 + 𝑤 ⋅ prox 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑡𝑔𝑡 − 𝜖𝜃Ƹ 𝑥𝑡 , 𝑡, 𝐶𝑠𝑟𝑐 16
論文③ ProxNPI • つまり,近似誤差が小さいところを0につぶしている 𝝐ො 𝜽 𝒙𝒕 , 𝒕, 𝑪𝒕𝒈𝒕 差分 差分 小 大 0 大 𝝐ො 𝜽 𝒙𝒕 , 𝒕, 𝑪𝒔𝒓𝒄 • NPIよりは品質が改善する 17