[๋ ผ๋ฌธ๋ฆฌ๋ทฐ] Prompt-to-Prompt Image Editing with Cross Attention Control
๐ ICLR 2023
๐ Summary
Image Editing์ ๋์ด์ ๋ง์คํน ๊ฐ์ ๊ฒ์ด ์๋๋ผ, ํ
์คํธ๋ฅผ ์ด์ฉํด ์๋ฏธ์ ์ผ๋ก ํธ์งํ ์ ์๋ ๊ธฐ๋ฒ์ ์๊ฐํ๋ค.
- ํ์ฐ ๊ณผ์ ์ค cross-attention map์ ์ฃผ์ ํ์ฌ, ์ด๋ค ํฝ์ ์ด ์ด๋ค ํ๋กฌํํธ ํ ํฐ์ ์ฃผ๋ชฉํ ์ง๋ฅผ ์ ์ดํจ์ผ๋ก์จ ์ด๋ฏธ์ง๋ฅผ ํธ์ง
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
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
์์ ๊ทธ๋ฆผ์ ํฝ์
๊ณผ ํ
์คํธ ๊ฐ์ ์ํธ์์ฉ์ attention map์ผ๋ก ์๊ฐํํ ๊ฒ์ด๋ค.
์ด๋ฏธ์ง์ ๊ตฌ์กฐ๋ ํ์ฐ ๊ณผ์ ์ ์ด๋ฐ ๋จ๊ณ์์ ์ด๋ฏธ ๊ฒฐ์ ๋์ด ์๋ค.
์ดํ ์ ์ด ์ ๋ฐ์ ์ธ ๊ตฌ์ฑ์ ๋ฐ์ํ๋ฏ๋ก, ์๋ ํ๋กฌํํธ $\mathcal{P}$๋ก ์์ฑํ ๋ ์ป์ ์ดํ ์ ๋งต $M$์ ์์ ๋ ํ๋กฌํํธ $\mathcal{P}^*$์ ๋ ๋ฒ์งธ ์์ฑ ๊ณผ์ ์ ์ฃผ์ ํ ์ ์๋ค. ์ด๋ฅผ ํตํด ํธ์ง๋ ์ด๋ฏธ์ง $\mathcal{I}^*$๋ ๋จ์ํ ์์ ๋ ํ๋กฌํํธ์ ๋ง์ถฐ ์กฐ์๋ ๋ฟ๋ง ์๋๋ผ, ์๋ณธ ์ด๋ฏธ์ง $\mathcal{I}$์ ๊ตฌ์กฐ๋ ์ ์ง๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ๋ ๊ฐ์ ํ๋กฌํํธ์ ๋ํด ๋์์ ํ์ฐ ๊ณผ์ ์ ์ํํ๋ฉฐ, ์ํ๋ ํธ์ง task์ ๋ฐ๋ผ ๊ฐ ๋จ๊ณ์์ attention ๊ธฐ๋ฐ ์กฐ์์ ์ ์ฉํ๋ ๋ฐฉ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ค.
- ์๋ ํ ์คํธ $\mathcal{P}$๋ฅผ ์ฌ์ฉํด ๋๋ ธ์ด์งํ์ฌ $z_{t-1}$๊ณผ attemtion map $M_t$๋ฅผ ์ถ๋ ฅํ๋ค.
- ์์ ๋ ํ๋กฌํํธ $\mathcal{P}^*$๋ฅผ ์ฌ์ฉํด attention map $M_t^*$๋ฅผ ์ถ๋ ฅํ๋ค.
- ์๋ attention map๊ณผ ์์ ๋ attention map์ ์ด์ฉํด ์๋ก์ด attention map $\hat{M_t}$๋ฅผ ์ถ๋ ฅํ๋ค.
- $V$๋ ์ ์งํ ์ฑ, ์๋ attention map์ $\hat{M_t}$์ผ๋ก ๋ฎ์ ํ ๋๋ ธ์ด์ง์ ์ํํ๋ค.
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
Attention injection์ด ์ ์์๋ก ์๋ณธ ์ด๋ฏธ์ง์ ๊ตฌ์กฐ๋ฅผ ๋ณด์กดํ์ง ๋ชปํ๊ณ , ๋ง์์๋ก ์๋ณธ ์ด๋ฏธ์ง์ ๊ตฌ์กฐ์ ์ ์ฝ์ ๋ง์ด ๋ฐ๋๋ค.
์๋ ํ๋กฌํํธ์ ๋จ์ด๋ฅผ ์ถ๊ฐํจ์ผ๋ก์จ local edit๊ณผ global modification์ ์ํํ ์ ์๋ค.
ํน์ ๋จ์ด์ ๋ํ cross-attention์ ์ค์ด๊ฑฐ๋ ๋๋ฆผ์ผ๋ก์จ, ์ด๋ฏธ์ง ์์ฑ์์ ํด๋น ๋จ์ด์ ์ํฅ๋ ฅ์ ์ ์ดํ ์ ์๋ค.

