Post

[๋…ผ๋ฌธ๋ฆฌ๋ทฐ] Null-text Inversion for Editing Real Images using Guided Diffusion Models

๐Ÿ“ CVPR 2023

[๋…ผ๋ฌธ๋ฆฌ๋ทฐ] Null-text Inversion for Editing Real Images using Guided Diffusion Models

[Paper] [GitHub]

๐Ÿ“ Summary


์‹ค์ œ ์ด๋ฏธ์ง€์™€ ๋Œ€์‘๋˜๋Š” caption์„ latent space๋กœ ํšจ๊ณผ์ ์œผ๋กœ invertํ•˜๋ฉด์„œ ๋ชจ๋ธ์˜ editing ๋Šฅ๋ ฅ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด 2๋‹จ๊ณ„ ์ ‘๊ทผ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • DDIM inversion์„ ์‚ฌ์šฉํ•ด์„œ noisy latent code ์‹œํ€€์Šค๋ฅผ ๊ณ„์‚ฐํ•จ์œผ๋กœ์จ, ์ฃผ์–ด์ง„ ์บก์…˜์„ ๊ธฐ์ค€์œผ๋กœ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ ๊ทผ์‚ฌํ•œ๋‹ค.

    ์ดํ›„, ํ•ด๋‹น ์‹œํ€€์Šค๋ฅผ ๊ณ ์ •๋œ pivot(๊ธฐ์ค€)์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ pivot ๊ทผ์ฒ˜์—์„œ ์ž…๋ ฅ null-text ์ž„๋ฒ ๋”ฉ์„ ์ตœ์ ํ™”ํ•œ๋‹ค.

  • Null-text optimization์—์„œ๋Š” conditional ์บก์…˜์€ ๊ณ ์ •ํ•œ ์ฑ„, unconditional ์ž„๋ฒ ๋”ฉ(null-text embedding)๋งŒ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ์žฌ๊ตฌ์„ฑ ์˜ค๋ฅ˜๋ฅผ ๋ณด์ •ํ•œ๋‹ค.


fig0

Introduction

๊ธฐ์กด ์—ฐ๊ตฌ์˜ ํ•œ๊ณ„์ 

  • ๊ธฐ์กด ์—ฐ๊ตฌ๋“ค์€ ํ•ฉ์„ฑ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ํŽธ์ง‘์€ ๊ฐ€๋Šฅํ–ˆ์ง€๋งŒ ์‹ค์ œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํŽธ์ง‘์˜ ์„ฑ๋Šฅ์ด ๋ถ€์กฑํ–ˆ๋‹ค.
  • ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ญ์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ณผ์ •(inversion)์ด ์–ด๋ ค์› ๋‹ค.

    ์ฆ‰, ์–ด๋–ค ์ดˆ๊ธฐ ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๊ฐ€ ์ฃผ์–ด์ง„ ํ”„๋กฌํ”„ํŠธ์™€ ๊ฒฐํ•ฉํ–ˆ์„ ๋•Œ ์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด๋‚ด๋Š”์ง€ ์ฐพ์•„์•ผ ํ•˜๋ฉฐ, ๋™์‹œ์— ๋ชจ๋ธ์˜ ํŽธ์ง‘ ๋Šฅ๋ ฅ๋„ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค.

  • Classifier-free guidance์—์„œ ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ์กด ์—ฐ๊ตฌ๋Š” conditional prediction์— ์ง‘์ค‘ํ–ˆ๋‹ค.
  • Classifier-free guidance๋ฅผ ์ ์šฉํ–ˆ์„ ๋•Œ, DDIM inversion์€ ์˜ค์ฐจ๊ฐ€ ์ฆํญ๋˜์–ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค.

์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•

์›๋ณธ ๋ชจ๋ธ์˜ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํŽธ์ง‘ ๋Šฅ๋ ฅ์„ ์œ ์ง€ํ•˜๋ฉด์„œ, ๊ฑฐ์˜ ์™„๋ฒฝ์— ๊ฐ€๊นŒ์šด ์žฌ๊ตฌ์„ฑ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ์ ์ธ inversion ๊ธฐ๋ฒ•์„ ์ œ์•ˆํ•œ๋‹ค.

  • Diffusion Pivotal Inversion: ์ดˆ๊ธฐ DDIM inversion์œผ๋กœ ์–ป์€ ๋…ธ์ด์ฆˆํ™”๋œ latent code๋“ค์„ pivot์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ, pivot ๊ทผ์ฒ˜์—์„œ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • Null-text optimization: ์ €์ž๋“ค์€ CFG์—์„œ unconditionalํ•œ ๋ถ€๋ถ„๋„ ๊ฒฐ๊ณผ์— ์ƒ๋‹นํ•œ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ–ˆ์œผ๋ฉฐ, ์ž…๋ ฅ ์ด๋ฏธ์ง€์™€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•ด unconditionalํ•œ ๋ถ€๋ถ„์˜ ์ž„๋ฒ ๋”ฉ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์€ ์‹ค์ œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ P2P ๊ธฐ๋ฒ•์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ ‘๊ทผ์ด๋ฉฐ, editing๋งˆ๋‹ค ํŒŒ์ธํŠœ๋‹์„ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

Background

Classifier-free guidance

[Classifier-Free Guidance] (CFG)์—์„œ๋Š” ์กฐ๊ฑด์ด ์—†๋Š” ์ƒํƒœ์—๋„ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ด๋ฅผ ์กฐ๊ฑด์ด ์žˆ๋Š” ์˜ˆ์ธก๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์ตœ์ข… ์˜ˆ์ธก๊ฐ’์„ ์ƒ์„ฑํ•œ๋‹ค.

$\varnothing=\psi(``~โ€)$๋ฅผ null text์˜ ์ž„๋ฒ ๋”ฉ, $\omega$๋ฅผ guidance scale ํŒŒ๋ผ๋ฏธํ„ฐ๋ผ๊ณ  ํ•  ๋•Œ, CFG ์˜ˆ์ธก์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.

\[\tilde{\epsilon}_\theta(z_t, t, \mathcal{C}, \varnothing) = w \cdot \epsilon_\theta(z_t, t, \mathcal{C}) + (1 - w) \cdot \epsilon_\theta(z_t, t, \varnothing)\]

DDIM inversion

\[z_{t-1} = \sqrt{\frac{\alpha_{t-1}}{\alpha_t}} z_t + \left( \sqrt{\frac{1}{\alpha_{t-1}} - 1} - \sqrt{\frac{1}{\alpha_t} - 1} \right) \cdot \epsilon_\theta(z_t, t, \mathcal{C})\]

Step ๊ฐ„๊ฒฉ์ด ๋งค์šฐ ์ž‘๋‹ค๋ฉด ODE process๊ฐ€ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐ€์ • ํ•˜์—, DDIM ์ƒ˜ํ”Œ๋ง์„ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ inversion ๊ธฐ๋ฒ•์ด ์ œ์•ˆ๋˜์—ˆ๋‹ค.

DDIM inversion์€ ์œ„ ๊ณผ์ •์„ ์—ญ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ํ™•์‚ฐ ๊ณผ์ •์ด ์—ญ๋ฐฉํ–ฅ $z_0\to z_T$์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.

\[z_{t+1} = \sqrt{\frac{\alpha_{t+1}}{\alpha_t}} z_t + \left( \sqrt{\frac{1}{\alpha_{t+1}} - 1} - \sqrt{\frac{1}{\alpha_t} - 1} \right) \cdot \epsilon_\theta(z_t, t, \mathcal{C})\]

์ฆ‰, ์ž…๋ ฅ ์ด๋ฏธ์ง€์— ๋Œ€์‘๋˜๋Š” latent ๋…ธ์ด์ฆˆ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ด์šฉํ•ด ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ editing ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ๊ธฐ์กด ์ด๋ฏธ์ง€ $x_0$๋ฅผ latent $z_0$์œผ๋กœ ์ธ์ฝ”๋”ฉํ•œ๋‹ค.
  2. DDIM inversion์„ ์‚ฌ์šฉํ•ด์„œ $z_0$์„ $z_T$๋กœ ๋˜๋Œ๋ฆฐ๋‹ค.
  3. ์ƒˆ๋กœ์šด ํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ์™€ ํ•จ๊ป˜ $z_T$์—์„œ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ™•์‚ฐ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ˆ˜์ •๋œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

Methods

fig1

1. Pivotal Inversion

์ตœ๊ทผ inversion ์—ฐ๊ตฌ๋“ค์€ ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๊ฐ€ ๋‹จ ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€์—๋งŒ ๋งคํ•‘๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ์ฆ‰, ์–ด๋–ค ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๊ฐ€ ์ด ์ด๋ฏธ์ง€๋ฅผ ์ž˜ ์žฌ๊ตฌ์„ฑํ•˜๋Š”์ง€๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.

์ถ”๋ก  ๋‹จ๊ณ„์—์„œ๋Š” ์˜ค์ง ํ•˜๋‚˜์˜ ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๋งŒ ์‚ฌ์šฉํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ตญ ํ•„์š”ํ•œ ๊ฒƒ์€ ํ•˜๋‚˜์˜ ์ข‹์€ ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ์ด๋‹ค.

์ด ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด๋ฉฐ, ํ•˜๋‚˜์˜ pivotal noise vector (์ตœ์ ๊ฐ’๊ณผ ๊ฐ€๊นŒ์šด ๋ฒกํ„ฐ)๋ฅผ ์ค‘์‹ฌ์œผ๋กœ localํ•œ ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ด๋‹ค.

DDIM inversion์€ ๋งค step๋งˆ๋‹ค ์˜ค์ฐจ๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋ˆ„์ ๋˜์ง€๋งŒ, ์กฐ๊ฑด์ด ์—†๋Š” ๋””ํ“จ์ „ ๋ชจ๋ธ์—์„œ๋Š” ๋ˆ„์  ์˜ค์ฐจ๊ฐ€ ๋ฏธ๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— DDIM inversion์ด ์ž˜ ์ž‘๋™ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ Stable Diffusion์„ ์ด์šฉํ•ด editing์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฐ guidance scale $\omega>1$ ์„ ์‚ฌ์šฉํ•œ CFG๋ฅผ ์ ์šฉํ•ด์•ผํ•˜๋ฉฐ, ์ด๋•Œ์˜ ํฐ guidance scale์ด ์˜ค์ฐจ๋ฅผ ์ฆํญ์‹œํ‚จ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜์˜€๋‹ค.

guidance๊ฐ€ ํฌํ•จ๋œ ์ƒํƒœ์—์„œ DDIM inversion์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์‹œ๊ฐ์  ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ ์ƒ๊ธธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์–ป์–ด์ง„ ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๊ฐ€ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋ฅผ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.

์ €์ž๋“ค์€ $\omega=1$์ผ ๋•Œ DDIM inversion์ด ์›๋ž˜ ์ด๋ฏธ์ง€์˜ rough approximation์„ ์ œ๊ณตํ•˜๋ฉฐ, highly editable(ํ…์ŠคํŠธ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋ฏธ์ง€ ๋ณ€ํ™”๊ฐ€ ์ž˜ ๋˜๋Š” ์ƒํƒœ)ํ•˜์ง€๋งŒ ์ •๋ฐ€ํ•˜์ง€๋Š” ์•Š๋‹ค๊ณ  ํ•œ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, reverse DDIM์€ $z_0$์™€ $z_T^*$ ์‚ฌ์ด์˜ $T$ step ๊ถค์ ์„ ๊ทธ๋ฆฐ๋‹ค.

์ฆ‰, high editability๋ฅผ ์œ„ํ•ด์„œ๋Š” ํฐ guidance scale์ด ํ•„์ˆ˜์ ์ด์ง€๋งŒ, ๋„ˆ๋ฌด ํฐ $\omega$๋Š” ์›๋ณธ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์žฌ๊ตฌ์„ฑ ์ •ํ™•๋„๋Š” ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ $\omega=1$์ผ ๋•Œ์˜ ์ดˆ๊ธฐ DDIM inversion์„ pivot trajectory๋กœ ์ •์˜ํ•˜๊ณ , $\omega>1$์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด pivot ๊ฒฝ๋กœ ์ฃผ๋ณ€์—์„œ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ฆ‰, ์ตœ์ ํ™”๋Š” ์›๋ž˜ ์ด๋ฏธ์ง€์™€์˜ ์œ ์‚ฌ์„ฑ์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ๋™์‹œ์— ์˜๋ฏธ ์žˆ๋Š” ํŽธ์ง‘ ๋Šฅ๋ ฅ๋„ ์œ ์ง€ํ•˜๋ ค๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง„๋‹ค.

์‹ค์ œ๋กœ๋Š” $t=T\to t=1$๊นŒ์ง€ ๊ฐ step $t$์— ๋Œ€ํ•ด ๊ฐœ๋ณ„์ ์ธ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์ดˆ๊ธฐ pivot ๊ฒฝ๋กœ $z_T^,\dots,z_0^$์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊น๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.

\[\min\lVert z_{t-1}^*-z_{t-1} \rVert_2^2\]

์œ„์˜ ์ˆ˜์‹์—์„œ $z_{t-1}$์€ ํ•ด๋‹น step์—์„œ์˜ ์ตœ์ ํ™” ๊ฒฐ๊ณผ์ด๋‹ค.

๋ชจ๋“  $t<T$์— ๋Œ€ํ•ด ์ตœ์ ํ™”๋Š” ๋ฐ˜๋“œ์‹œ ์ด์ „ step $t+1$์˜ ์ตœ์ ํ™” ๊ฒฐ๊ณผ๋ฅผ ์‹œ์ž‘์ ์œผ๋กœ ์‚ผ์•„์•ผ ํ•˜๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ตœ์ข…์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ์ถ”๋ก  ๋•Œ ์ผ๊ด€์ ์ด์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ƒˆ๋กœ์šด ๊ฒฝ๋กœ๊ฐ€ $z_0$ ๊ทผ์ฒ˜์—์„œ ๋๋‚˜๋„๋ก ์œ ๋„ํ•œ๋‹ค.

2. Null-text Optimization

์‹ค์ œ ์ด๋ฏธ์ง€๋ฅผ ๋ชจ๋ธ์˜ ๋„๋ฉ”์ธ์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ๊ทผ ์—ฐ๊ตฌ๋“ค์€ ํ…์ŠคํŠธ ์ธ์ฝ”๋”ฉ์„ ์ตœ์ ํ™”ํ•˜๊ฑฐ๋‚˜, ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ํŒŒ์ธํŠœ๋‹ํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ์ด ๋‘˜์„ ํ•จ๊ป˜ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

  • ์ด๋ฏธ์ง€๋งˆ๋‹ค ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ํŒŒ์ธํŠœ๋‹ํ•˜๋Š” ๋ฐฉ์‹์€ ์ „์ฒด ๋ชจ๋ธ์„ ๋ณต์ œํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ธก๋ฉด์—์„œ ๋น„ํšจ์œจ์ ์ด๋ฉฐ, ๋ชจ๋“  editing์— ๋Œ€ํ•ด์„œ ํŒŒ์ธํŠœ๋‹์„ ํ•˜์ง€ ์•Š์œผ๋ฉด ํŠน์ • ํŽธ์ง‘์—๋งŒ ์˜ค๋ฒ„ํ”ผํŒ…์ด ๋˜์–ด์„œ ๋ชจ๋ธ์˜ prior์™€ ํŽธ์ง‘์˜ ์˜๋ฏธ๊ฐ€ ํ›ผ์†๋œ๋‹ค.
  • ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ์„ ์ง์ ‘ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์€ ๋ชจ๋ธ์ด ์ฃผ์–ด์ง„ ์ด๋ฏธ์ง€์—๋งŒ ์ž˜ ๋งž๊ฒŒ ํ† ํฐ์„ ์ตœ์ ํ™”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ๋œ ์ž„๋ฒ ๋”ฉ์ด ๊ธฐ์กด์˜ ๋‹จ์–ด๋“ค๊ณผ ์˜๋ฏธ์ ์œผ๋กœ ์—ฐ๊ฒฐ์„ฑ์ด ์—†์„ ์ˆ˜ ์žˆ๋‹ค.

    ๋”ฐ๋ผ์„œ ํ•ด์„์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ํ‘œํ˜„์ด ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ์ง๊ด€์ ์ธ Prompt-to-Prompt ํŽธ์ง‘์ด ์–ด๋ ค์›Œ์ง„๋‹ค.

๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๊ฒฐ๊ณผ๊ฐ€ unconditional ์˜ˆ์ธก์— ์˜ํ–ฅ์„ ๋งŽ์ด ๋ฐ›๋Š”๋‹ค๋Š” CFG์˜ ํ•ต์‹ฌ ํŠน์ง•์„ ํ™œ์šฉํ•˜์—ฌ, ๊ธฐ๋ณธ null-text ์ž„๋ฒ ๋”ฉ์„ null-text optimization์ด๋ผ๊ณ  ํ•˜๋Š” ์ตœ์ ํ™”๋œ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ๊ต์ฒดํ•œ๋‹ค.

์ฆ‰, ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜์™€ conditional ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ์€ ๊ณ ์ •ํ•œ ์ƒํƒœ๋กœ ๊ฐ ์ž…๋ ฅ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด null-text ์ž„๋ฒ ๋”ฉ์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ์žˆ๋Š” unconditional ์ž„๋ฒ ๋”ฉ $\varnothing$๋งŒ ์ตœ์ ํ™”ํ•œ๋‹ค.

์ €์ž๋“ค์€ ํ•˜๋‚˜์˜ unconditional ์ž„๋ฒ ๋”ฉ $\varnothing$์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์„ global null-text optimization์ด๋ผ๊ณ  ๋ช…๋ช…ํ–ˆ์œผ๋ฉฐ, ์‹คํ—˜์„ ํ†ตํ•ด ๊ฐ step $t$๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ null-text ์ž„๋ฒ ๋”ฉ $\varnothing_t$๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด ์žฌ๊ตฌ์„ฑ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.

๋”ฐ๋ผ์„œ $\lbrace\varnothing_t\rbrace_{t=1}^T$๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ฐ step์˜ $\varnothing_t$๋Š” ์ด์ „ step์˜ $\varnothing_{t-1}$๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค.

์ „์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

fig2

  1. DDIM inversion ($\omega=1$)์„ ์ˆ˜ํ–‰ํ•˜์—ฌ noisy latent code ์‹œํ€€์Šค์ธ $z_T^,\dots,z_0^$์„ ์–ป๋Š”๋‹ค. ($z_0^*=z_0$)
  2. $\bar{z}_T=z_t$๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
  3. $\omega=7.5$๋กœ ๊ณ ์ •ํ•˜๊ณ  ๊ฐ step์— ๋Œ€ํ•ด ์•„๋ž˜์˜ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

    \[\underset{\varnothing_t}{\min}~ \lVert z_{t-1}^*-z_{t-1}(\bar{z}_t,\varnothing_t,\mathcal{C})\rVert_2^2\]
  4. ๊ฐ step์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค ๊ฒฐ๊ณผ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

    \[\bar{z}_{t-1}=z_{t-1}(\bar{z}_t,\varnothing_t,\mathcal{C})\]

Experiments

Ablation Study

fig3

Qualitative Comparison

fig4

Quantitative Comparison

fig5

This post is licensed under CC BY 4.0 by the author.