이미지 편집을 위한 Diffusion Inversion
Abstract
본 논문에서는 정확한 반전 기법을 도입하여 이미지의 직관적인 텍스트 기반 수정을 용이하게 한다.
- 무작위 노이즈 샘플을 단일 입력 이미지에 매핑하는 것이 아니라 단일 pivot 노이즈 벡터를 사용하고 그 주변을 최적화하는 pivotal 반전
- 입력 텍스트 임베딩이 아닌 classifier-free guidance에서 사용하는 무조건 텍스트 임베딩만 수정하는 null-text 최적화
Introduction
Classifier-free guidance와 관련된 거의 모든 작업들이 조건부 부분에만 집중하지만, 본 논문의 연구진들은 무조건 부분에 의해 유도되는 상당한 효과를 인식했다.
프롬프트 반전을 위해 무조건 부분에 사용되는 임베딩을 최적화하며, 빈 텍스트 문자열의 임베딩을 최적화된 임베딩으로 대체하기 때문에 null-text 최적화라고 한다.
DDIM 반전은 DDIM 샘플링을 역순으로 수행하는 것으로 구성되는데, 무조건부의 경우에는 잘 작동하지만 조건부의 경우에는 정확성이 낮다. 그래도 이것이 유망한 출발점이 될 수 있다고 생각하고, DDIM 반전에서 얻은 노이즈가 있는 잠재 코드 시퀀스를 pivot으로 사용한다.
그런 다음 이 pivot을 중심으로 최적화를 수행하여 개선되고 더 정확한 반전을 산출한다. 이 pivotal 반전은 가능한 모든 노이즈 벡터를 단일 이미지에 매핑하는 것을 목표로 하는 기존 연구와 대조적이다.
Method
Prompt-to-Prompt를 baseline으로 사용함.
소스 프롬프트 P는 사용자가 제공하거나 기성 캡션 모델을 사용할 수도 있음.
두 가지 주요 접근 방식
- DDIM 반전은 최적화를 위한 좋은 시작점이 될 수 있음
- Null 임베딩을 최적화하여 모델과 조건부 임베딩의 튜닝을 피하면서 정확한 재구성이 가능함
Background and Preliminaries
텍스트 유도 확산 모델의 네트워크 εθ의 목표 :
본 논문의 목표는 정확한 재구성을 달성하는 것이기 때문에 결정론적인 DDIM 샘플링을 사용함.
DDIM inversion
Pivotal Inversion
해당 논문에서 영감을 받아 효율적인 반전을 가능하게 하는 좋은 근사치인 pivotal 노이즈 벡터를 중심으로 최적화를 수행하는 것을 목표로 한다.
Classifier-free guidance를 이용한 조건부 모델의 경우 DDIM 반전을 하면 오류가 누적돼 얻은 노이즈 벡터가 가우스 분포를 벗어날 수 있다.
Guidance scale w = 1로 DDIM 반전을 수행하면 정확성은 낮지만 편집성은 높은 원본 이미지의 근사치의 궤적(z*0 → z*T)을 얻을 수 있다. (w가 높을수록 편집성 ↑, 정확성 ↓)
이 z*T를 w > 1의 값으로 다시 샘플링하고, 매 단계마다 pivot 궤적과의 최적화를 수행한다.
Null-text optimization
최적화를 위해 모델이나 텍스트 인코딩의 가중치를 미세조정하면, 이전에 학습된 내용을 손상시킬 수밖에 없다. 대신에, 본 논문에서는 모델과 텍스트 인코딩의 가중치를 건드리지 않고 classifier-free guidance의 무조건 임베딩 ∅만을 최적화한다.
Prompt-to-prompt와 무조건 임베딩 최적화를 이용하면 고품질 재구성과 높은 편집성을 달성할 수 있지만, 당연히 모델을 미세 조정하는 것보다는 표현력이 낮기 때문에 효율적인 반전 체계가 필요하다.
Global null-text 최적화로써, 각 step t에 대해 각각 다른 null 임베딩 ∅t를 최적화하는 것이 pivotal 반전에 적합했다. 이전 단계의 ∅t+1은 ∅t의 초기화가 된다.
Pivotal 반전과 합치면
최적화가 끝나면 업데이트
여기까지도 이해가 잘 안될텐데 알고리즘과 그림을 보면 이해할 수 있다.
일단 ∅t, z̄t로 zt-1을 얻고, zt-1을 pivot 벡터와 비교하여 ∅t를 N번 최적화한다.
최적화된 ∅t는 ∅t-1, zt-1은 z̄t-1이 됨.
이렇게 얻은 z̄T(= z*T)와 ∅의 집합을 이용하여 실제 이미지를 편집할 수 있고 다른 케이스에서도 재사용 가능.
Results