Post

[๋…ผ๋ฌธ๋ฆฌ๋ทฐ] Prompt-to-Prompt Image Editing with Cross Attention Control

๐Ÿ“ ICLR 2023

[๋…ผ๋ฌธ๋ฆฌ๋ทฐ] Prompt-to-Prompt Image Editing with Cross Attention Control

[Paper] [GitHub]

๐Ÿ“ Summary


Image Editing์„ ๋”์ด์ƒ ๋งˆ์Šคํ‚น ๊ฐ™์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ…์ŠคํŠธ๋ฅผ ์ด์šฉํ•ด ์˜๋ฏธ์ ์œผ๋กœ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค.

  • ํ™•์‚ฐ ๊ณผ์ • ์ค‘ cross-attention map์„ ์ฃผ์ž…ํ•˜์—ฌ, ์–ด๋–ค ํ”ฝ์…€์ด ์–ด๋–ค ํ”„๋กฌํ”„ํŠธ ํ† ํฐ์— ์ฃผ๋ชฉํ• ์ง€๋ฅผ ์ œ์–ดํ•จ์œผ๋กœ์จ ์ด๋ฏธ์ง€๋ฅผ ํŽธ์ง‘


fig0

Introduction

LLI (Large-scale Language Image) ๊ธฐ๋ฐ˜์˜ ๊ธฐ์กด ๋ฐฉ๋ฒ•๋“ค์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋งˆ์Šคํ‚นํ•˜๊ณ , ๋งˆ์Šคํ‚น๋œ ์˜์—ญ์—์„œ๋งŒ ์ด๋ฏธ์ง€๊ฐ€ ํŽธ์ง‘๋˜๋„๋ก ์œ ๋„ํ•œ๋‹ค.

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

  • ๋งˆ์Šคํ‚น ๊ณผ์ •์ด ๋ฒˆ๊ฑฐ๋กญ๊ธฐ ๋•Œ๋ฌธ์— ์ง๊ด€์ ์ด๊ณ  ๋น ๋ฅธ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํŽธ์ง‘์—๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค.
  • ๋งˆ์Šคํ‚น์€ ํŽธ์ง‘ํ•˜๊ณ  ์‹ถ์€ ์˜์—ญ๋งŒ ๋‚จ๊ธฐ๋Š” ๊ธฐ๋ฒ•์œผ๋กœ, ๊ฐ€๋ ค์ง„ ๋ถ€๋ถ„์—์„œ์˜ ์งˆ๊ฐ, ํ˜•ํƒœ ๋“ฑ์˜ ํ•ต์‹ฌ ์ •๋ณด๊ฐ€ ๋ชจ๋‘ ์ œ๊ฑฐ๋œ๋‹ค. ๋”ฐ๋ผ์„œ, ๋งˆ์Šคํ‚น๋œ ์˜์—ญ์˜ ์ฃผ๋ณ€ ํ”ฝ์…€๋งŒ ๋ณด๊ณ  ์ถ”์ธกํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›๋ž˜ ๊ฐ์ฒด์˜ ์„ธ๋ฐ€ํ•œ ์งˆ๊ฐ์ด๋‚˜ ํ˜•ํƒœ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ด๋ฆฌ๊ธฐ ์–ด๋ ต๋‹ค.

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

  • ์˜๋ฏธ์ ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํŽธ์ง‘ ๊ธฐ๋ฒ•์ธ Prompt-to-Prompt๋ฅผ ์ œ์•ˆํ•œ๋‹ค.
  • ํ™•์‚ฐ ๊ณผ์ • ์ค‘ cross-attention map์„ ์ฃผ์ž…ํ•˜์—ฌ, ์–ด๋–ค ํ”ฝ์…€์ด ์–ด๋–ค ํ”„๋กฌํ”„ํŠธ ํ† ํฐ์— ์ฃผ๋ชฉํ• ์ง€๋ฅผ ์ œ์–ดํ•จ์œผ๋กœ์จ ์ด๋ฏธ์ง€๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

Methods

ํ…์ŠคํŠธ ํ”„๋กฌํ”„ํŠธ $\mathcal{P}$์™€ ๋žœ๋ค ์‹œ๋“œ $s$๋ฅผ ์‚ฌ์šฉํ•ด ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋ฅผ $\mathcal{I}$๋ผ๊ณ  ํ•œ๋‹ค.

์ž…๋ ฅ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ $\mathcal{P}^$๋งŒ์„ ์‚ฌ์šฉํ•ด ํŽธ์ง‘๋œ ์ด๋ฏธ์ง€ $\mathcal{I}^$๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

1. Cross-attention in text-conditioned Diffusion Models

fig1
Imagen ๋ชจ๋ธ์„ ๋ฐฑ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋ฏธ์ง€์˜ ๊ตฌ์„ฑ๊ณผ ๊ธฐํ•˜ํ•™์  ๊ตฌ์กฐ๋Š” ์ฃผ๋กœ 64x64 ํ•ด์ƒ๋„์—์„œ ๊ฒฐ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— T2I ๋ชจ๋ธ๋งŒ ์ˆ˜์ •ํ•˜๊ณ  SR ๊ณผ์ •์€ ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.

์ด๋ฏธ์ง€ ์ž„๋ฒ ๋”ฉ๊ณผ ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ์€ cross-attention layer์—์„œ ๊ฒฐํ•ฉ๋˜๋ฉฐ, ๊ฐ ํ…์ŠคํŠธ ํ† ํฐ์— ๋Œ€ํ•œ spatial attention map์„ ์ƒ์„ฑํ•œ๋‹ค.

\[M=\text{Softmax}\bigg(\frac{QK^\top}{\sqrt{d}}\bigg) \\ Q=l_Q(\phi(z_t))~,~K=l_K(\psi(\mathcal{P}))~,~V=l_V(\psi(\mathcal{P}))\]

Attention map์€ ์œ„์™€ ๊ฐ™์ด ์ •์˜๋˜๋ฉฐ, $M_{ij}$๋Š” ํ”ฝ์…€ $i$์— ๋Œ€ํ•œ $j$๋ฒˆ์งธ ํ† ํฐ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

\[\hat{\phi}(z_t)=MV\]

cross-attention ์ถœ๋ ฅ์€ ์œ„์™€ ๊ฐ™์ด ์ •์˜๋˜๋ฉฐ, ์›๋ž˜์˜ spatial feature $\phi(z_t)$๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

2. Controlling the Cross-attention

fig2
์œ„์˜ ๊ทธ๋ฆผ์€ ํ”ฝ์…€๊ณผ ํ…์ŠคํŠธ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ attention map์œผ๋กœ ์‹œ๊ฐํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

์ด๋ฏธ์ง€์˜ ๊ตฌ์กฐ๋Š” ํ™•์‚ฐ ๊ณผ์ •์˜ ์ดˆ๋ฐ˜ ๋‹จ๊ณ„์—์„œ ์ด๋ฏธ ๊ฒฐ์ •๋˜์–ด ์žˆ๋‹ค.

์–ดํ…์…˜์ด ์ „๋ฐ˜์ ์ธ ๊ตฌ์„ฑ์„ ๋ฐ˜์˜ํ•˜๋ฏ€๋กœ, ์›๋ž˜ ํ”„๋กฌํ”„ํŠธ $\mathcal{P}$๋กœ ์ƒ์„ฑํ•  ๋•Œ ์–ป์€ ์–ดํ…์…˜ ๋งต $M$์„ ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ $\mathcal{P}^*$์˜ ๋‘ ๋ฒˆ์งธ ์ƒ์„ฑ ๊ณผ์ •์— ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŽธ์ง‘๋œ ์ด๋ฏธ์ง€ $\mathcal{I}^*$๋Š” ๋‹จ์ˆœํžˆ ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ์— ๋งž์ถฐ ์กฐ์ž‘๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์›๋ณธ ์ด๋ฏธ์ง€ $\mathcal{I}$์˜ ๊ตฌ์กฐ๋„ ์œ ์ง€๋œ๋‹ค.

fig3
์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‘ ๊ฐœ์˜ ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•ด ๋™์‹œ์— ํ™•์‚ฐ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์›ํ•˜๋Š” ํŽธ์ง‘ task์— ๋”ฐ๋ผ ๊ฐ ๋‹จ๊ณ„์—์„œ attention ๊ธฐ๋ฐ˜ ์กฐ์ž‘์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

  1. ์›๋ž˜ ํ…์ŠคํŠธ $\mathcal{P}$๋ฅผ ์‚ฌ์šฉํ•ด ๋””๋…ธ์ด์ง•ํ•˜์—ฌ $z_{t-1}$๊ณผ attemtion map $M_t$๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  2. ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ $\mathcal{P}^*$๋ฅผ ์‚ฌ์šฉํ•ด attention map $M_t^*$๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  3. ์›๋ž˜ attention map๊ณผ ์ˆ˜์ •๋œ attention map์„ ์ด์šฉํ•ด ์ƒˆ๋กœ์šด attention map $\hat{M_t}$๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  4. $V$๋Š” ์œ ์ง€ํ•œ ์ฑ„, ์›๋ž˜ attention map์„ $\hat{M_t}$์œผ๋กœ ๋ฎ์€ ํ›„ ๋””๋…ธ์ด์ง•์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

fig4

Word Swap

์‚ฌ์šฉ์ž๊ฐ€ ์›๋ณธ ํ”„๋กฌํ”„ํŠธ์˜ ํ† ํฐ์„ ๋‹ค๋ฅธ ํ† ํฐ์œผ๋กœ ๊ต์ฒดํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

\[\mathcal{P}=``\text{a big red bicycle}"\to \mathcal{P^*}=``\text{a big red car}"\]

์ƒˆ๋กœ์šด ํ”„๋กฌํ”„ํŠธ์˜ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜๋ฉด์„œ๋„ ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๊ตฌ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ฃผ์š” ๋ชฉํ‘œ์ด๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ๋กœ ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ์›๋ณธ ์ด๋ฏธ์ง€์˜ attention map์„ ์ฃผ์ž…ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ โ€œbicycleโ€์—์„œ โ€œcarโ€์ฒ˜๋Ÿผ ํฐ ๊ตฌ์กฐ์  ๋ณ€๊ฒฝ์ด ์žˆ์„ ๊ฒฝ์šฐ, attention map์˜ ์ฃผ์ž…์ด ๊ณผ๋„ํ•˜๊ฒŒ ํ˜•์ƒ์„ ์ œ์•ฝํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์™„ํ™”๋œ ์ œ์•ฝ์„ ๋‘”๋‹ค.

\[\text{Edit}(M_t, M_t^*, t) :=ย \begin{cases}M_t^* & \text{if } t < \tau \\M_t & \text{otherwise}\end{cases}\]

$\tau$๋Š” ์–ด๋А ์‹œ์ ์—์„œ ์–ด๋–ค attention map์„ ์ฃผ์ž…ํ•  ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค.

  • ํ™•์‚ฐ ๊ณผ์ •์˜ ์ดˆ๋ฐ˜ ๋‹จ๊ณ„์—์„œ๋Š” ์ด๋ฏธ์ง€ ๊ตฌ์„ฑ์ด ๊ฒฐ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ์›๋ณธ attention map์„ ์ฃผ์ž…ํ•˜์—ฌ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€์‹œํ‚จ๋‹ค.
  • ํ™•์‚ฐ ๊ณผ์ •์˜ ํ›„๋ฐ˜ ๋‹จ๊ณ„์—๋Š” ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•œ attention map์„ ์ฃผ์ž…ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๊ฐ€ ๋ฐ˜์˜๋˜๋„๋ก ํ•œ๋‹ค.

Adding a New Phrase

์‚ฌ์šฉ์ž๊ฐ€ ์›๋ณธ ํ”„๋กฌํ”„ํŠธ์— ์ƒˆ๋กœ์šด ํ† ํฐ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

\[\mathcal{P}=``\text{a castle next to a river}"\to \mathcal{P^*}=``\text{children drawing of a castle next to a river}"\]

๊ณตํ†ต๋œ ๋ถ€๋ถ„์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ์–‘์ชฝ ํ”„๋กฌํ”„ํŠธ์— ๋ชจ๋‘ ์กด์žฌํ•˜๋Š” ํ† ํฐ์— ๋Œ€ํ•ด์„œ๋งŒ attention map์„ ์ฃผ์ž…ํ•œ๋‹ค.

\[\left( \text{Edit}(M_t, M_t^*, t) \right)_{i,j} :=ย \begin{cases}(M_t^*)_{i,j} & \text{if } A(j) = \text{None} \\(M_t)_{i, A(j)} & \text{otherwise}\end{cases}\]

Alignment ํ•จ์ˆ˜ $A$๋Š” $\mathcal{P}^*$์˜ ํ† ํฐ ์ธ๋ฑ์Šค $j$๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ $\mathcal{P}$์—์„œ ๊ทธ์™€ ์ผ์น˜ํ•˜๋Š” ํ† ํฐ์˜ ์ธ๋ฑ์Šค๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. (์—†๋‹ค๋ฉด None ์ถœ๋ ฅ)

  • ์›๋ณธ ํ”„๋กฌํ”„ํŠธ์— ์—†๋Š” ํ† ํฐ์ด๋ผ๋ฉด ์ˆ˜์ •๋œ ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•œ attention map์„ ์ฃผ์ž…ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๊ฐ€ ๋ฐ˜์˜๋˜๋„๋ก ํ•œ๋‹ค.
  • ์›๋ณธ ํ”„๋กฌํ”„ํŠธ์— ์žˆ๋Š” ํ† ํฐ์ด๋ผ๋ฉด ์›๋ณธ attention map์„ ์ฃผ์ž…ํ•˜์—ฌ ์›๋ž˜์˜ ๊ตฌ์กฐ๊ฐ€ ์œ ์ง€๋˜๋„๋ก ํ•œ๋‹ค.

Attention Re-weighting

์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ํ† ํฐ์ด ์ด๋ฏธ์ง€์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๊ฐ•ํ™”ํ•˜๊ฑฐ๋‚˜ ์•ฝํ™”์‹œํ‚ค๊ณ ์žํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค. (์•„๋ž˜ ํ”„๋กฌํ”„ํŠธ์—์„œ ๊ณต์ด ๋” ๋ณต์Šฌ๋ณต์Šฌํ•ด์ง€๊ฑฐ๋‚˜ ๋œ ๋ณต์Šฌ๋ณต์Šฌํ•ด์ง€๋„๋ก ์กฐ์ •ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ)

\[\mathcal{P}=``\text{a fluffy red ball}"\]

์กฐ์ •ํ•˜๊ณ  ์‹ถ์€ ํ† ํฐ $j^*$์— ํ•ด๋‹นํ•˜๋Š” attention map๋งŒ ์Šค์ผ€์ผ๋งํ•œ๋‹ค.

\[\left( \text{Edit}(M_t, M_t^*, t) \right)_{i,j} :=ย \begin{cases}c \cdot (M_t)_{i,j} & \text{if } j = j^* \\(M_t)_{i,j} & \text{otherwise}\end{cases}\]

Experiments

fig5
Attention injection์ด ์ ์„์ˆ˜๋ก ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด์กดํ•˜์ง€ ๋ชปํ•˜๊ณ , ๋งŽ์„์ˆ˜๋ก ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๊ตฌ์กฐ์— ์ œ์•ฝ์„ ๋งŽ์ด ๋ฐ›๋Š”๋‹ค.


fig6
์›๋ž˜ ํ”„๋กฌํ”„ํŠธ์— ๋‹จ์–ด๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ local edit๊ณผ global modification์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.


fig7
ํŠน์ • ๋‹จ์–ด์— ๋Œ€ํ•œ cross-attention์„ ์ค„์ด๊ฑฐ๋‚˜ ๋Š˜๋ฆผ์œผ๋กœ์จ, ์ด๋ฏธ์ง€ ์ƒ์„ฑ์—์„œ ํ•ด๋‹น ๋‹จ์–ด์˜ ์˜ํ–ฅ๋ ฅ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

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