본문 바로가기

논문 리뷰/Diffusion Model

Paint by Example: Exemplar-based Image Editing with Diffusion Models

Paint by Example 코드 리뷰, Paint by Example 써보기


예제 기반 이미지 편집(인페인팅) 모델

 

Arxiv

Github

 

 

 

Abstract

예제 기반 이미지 편집.

Self-supervised training을 활용하여 소스와 예제를 분리시키고 재구성한다. 융합 아티팩트를 피하기 위해 information bottleneck과 강력한 증강을 제안함.

 

제어 가능성을 위해 classifier-free guidance를 사용하고 반복적인 최적화 없이 단일 forward로 진행된다.

 

 

 

Introduction

먼저 예제 이미지를 조건으로 하는 확산 모델을 훈련한다.

텍스트 조건 모델과 달리 훈련 쌍을 수집하기가 힘들기 때문에 입력 이미지에서 개체를 잘라내어 사용한다.

하지만 위 방법은 문제가 있는데, 모델이 일반화가 아니라 그냥 이미지를 붙여 넣는 방법을 학습한다는 것이다.

 

이 문제를 해결하기 위한 방법

  • 텍스트-이미지 모델을 초기화로 사용
  • Spatial token을 삭제하고 글로벌 임베딩만 조건으로 간주하는 self-reference conditioning을 위한 information bottleneck을 소개함

 

또한 추가적인 개선점

  • 강력한 증강 사용
  • 훈련 시 불규칙한 랜덤 마스크를 사용하여 사용자 브러시를 모방
  • Classifier-free Guidance

 

또한 실제 편집 과정은 단일 forward로 이루어짐.

 

 

 

Method

소스 이미지 xs

참조 이미지 xr

마스크 m

 

우리의 목표는 m=0은 xs와, m=1은 xr과 가능한 유사하며 조화롭도록 하는 새로운 이미지 y를 합성하는 것이다.

 

이 작업은 다음과 같은 암시적인 절차를 포함하기 때문에 매우 어려운 작업이다.

  • 참조 이미지의 객체를 이해하고 배경을 무시하면서 모양과 질감을 포착해야 함
  • 해당 객체가 소스 이미지에 맞는 변형된 view를 합성할 수 있어야 함
  • 마스크된 부분의 배경 주변 영역을 그려야 함
  • 초해상도를 포함

 

 

Preliminaries

Self-supervised training

예제 기반 이미지 편집을 위한 이미지 쌍이 없기 때문에 자체 지도를 사용.

xs에 있는 객체의 경계 상자를 xr로 간주하고 훈련하며 실제 훈련 쌍은 다음과 같다.

(m̄ = 1 - m, 1 = 1로 채워진 행렬.)


A naive solution

(c = CLIP)

 

위 방법은 부자연스러운 이미지와 복사-붙여넣기 아티팩트를 만든다.

 

Model Designs

 

Information Bottleneck

텍스트-이미지 모델에서 텍스트를 이미지로 재구성하려면 자연스럽게 문맥에 대한 의미론을 학습해야 한다. 하지만 이미지는 기억하기가 매우 쉬워서 의미론을 배우지 않고 사소한 해결책에 도달한다.

 

이를 위해 이미지 재구성 난이도를 올림.

  • CLIP의 클래스 토큰만을 조건으로 받음
  • 이미지 형태인 xr을 1024차원의 1차원 벡터로 압축함

 

 

위 조치가 고주파 세부사항을 무시하게 되며 표현성을 위해 몇 가지 FC 레이어를 추가하고 cross attention으로 확산 과정에 주입된다.


모델 초기화로 stable diffusion과 CLIP 사용.

 

Strong Augmentation

Self-supervise의 잠재적 문제인 훈련과 테스트의 도메인 격차는 두 가지 측면에서 비롯된다.

 

Reference image augmentation

첫 번째 문제는 xr이 훈련 중 xs에서 파생된다는 것인데, 이를 해결하기 위해 몇 가지 증강 A를 추가.

 

Mask shape augmentation

두 번째 문제는 경계 상자가 항상 개체 전체를 포함한다는 것이다. 실제 시나리오에서는 개체의 일부만 잘릴 수도 있다.

이를 해결하기 위해 경계 상자를 기반으로 무작위 왜곡 D를 가해 랜덤한 모양의 마스크를 생성한다.

 

Control the mask shape

마스크 왜곡은 다음과 같이 복잡한 형태의 마스크에 대해서도 잘 작동하게 함.

 

Control the similarity degree

Classifier-free Guidance 사용.

 

Improved VQ-Diffusion에서 개선한 Guidance를 사용하고, 학습 가능한 벡터 v 추가.

이것은 고정 조건 입력 p(yt|v)의 도움을 받아 p(yt)를 모델링 하는 것을 목표로 한다.

 

 

 

Experiments