CV

[2025-2] 주서영 - Paint by Example: Exemplar-based Image Editing with Diffusion Model

영써 2025. 12. 5. 11:10

Paint by Example (CVPR 2023)

요약

  • 예시 기반 이미지 편집에 관한 논문
  • self-supervised training을 활용하여 원본과 참조 이미를 분리시켜 학습을 구성
    • 원본 이미지(source image, $s$): 편집하고자 하는 이미지
    • 참조 이미지(reference image, $r$): 데이터베이스에서 검색 or 사용자가 제공하는 이미지
  • arifact를 피하고 단순 복-붙 방지
    • Content bottleneck
    • Strong augmentations
    • Arbitrary shape mask
    • Classifier-free guidance
  • 학습은 반복없이 단일 forward로 진행

Fig. 1 사용자가 예시가 되는 이미지를 제시하여 다른 이미지를 편집

 

1. Introduction

  • 참조 이미지를 조건으로 하는 Diffusion Model을 훈련하기
  • 하지만 학습 데이터 쌍을 수집하기 힘들기 때문에 이를 위해 입력 이미지에서 개체를 잘라내어 학습하도록 한다.
  • 또 다른 문제가 있는데 위 방법으로 하면 모델의 일반화 능력이 떨어져 단순 복-붙으로만 학습할 수 있다.

이를 위해,

  • 사전학습된 text-to-image 모델을 사용
  • 공간 토큰(spatial token)을 삭제하고 글로벌 임베딩만을 조건으로 간주하는 Content bottleneck을 도입
  • 참조 이미지에 대한 Strong augmentation
  • 학습 시 Arbitrary shape mask를 사용
  • Classifier-free Guidance

 

2. Method

  • 원본 이미지 $x_s$, 마스크 $m$, 참조 이미지 $x_r$, 결과 이미지 $y$
  • 목표는 ${x_s,x_r,m}$으로부터 $y$를 생성하는 것
  • 이미지 맥락에 맞게
    $m=0$인 부분은 원본 이미지 $x_s$와 동일하게 유지되어야 하고,
    $m=1$인 부분은 참조 이미지 $x_r$와 동일해야 한다.

💡 예시 기반의 이미지 편집이 어려운 이유

  • 참조 이미지의 배경 노이즈를 무시하고 객체의 형태와 텍스처를 이해해야 한다.
  • 객체가 원본 이미지에 대해 자연스러워야 한다.
  • 마스킹된 객체 주변 영역을 인페인팅하여 현실적인 사진을 생성해야 한다.
  • 참조 이미지의 해상도가 편집하려는 영역보다 낮을 수 있어 초해상화(super-resolution) 기능이 과정에 포함되어야 한다.

 

3.1 Preliminaries

Self-supervised training

  • 원본 이미지 $x_s$에 있는 객체의 bounding box를 $x_r$로 간주하고 학습한다.
    $$
    {(\bar{\mathbf{m}} \odot \mathbf{x}_s, \mathbf{x}_r, \mathbf{m}), \mathbf{x}_s}
    $$
    • $\bar{\mathbf{m}}=1-\mathbf{m}$, $1$은 1로 채워진 행렬

A naive solution

$$
\mathcal{L} = \mathbb{E}_{t, \mathbf{y}_0, \epsilon} \left| \epsilon_\theta(\mathbf{y}_t, \bar{\mathbf{m}} \odot \mathbf{x}_s, \mathbf{c}, t) - \epsilon \right|_2^2
$$

  • $\mathbf{c}=\mathrm{CLIP}$
  • 이 방법은 copy-and-paste arifacts가 존재한다.

 

3.2 Model Designs

  • StableDiffusion 같이 text-to-image 모델에서 텍스트에서 이미지로 재구성하려면 자연스럽게 문맥에 대해 학습한다. 이미지는 기억하기 쉬워 의미론을 배우지 않아 일반화 실패로 이어진다.

 

3.2.1 Content bottleneck, 이미지 재구성 학습 난이도 올리는 방법

  • CLIP의 Image Encoder에서 클래스 토큰만을 조건으로 사용
  • 참조 이미지인 $x_r$을 1024차원의 1차원 벡터로 시퀀스하게 처리함
  • 이후 diffusion process에 cross attention 하기 위해서 FC층을 추가함
    ⇒ 이미지의 압축된 의미론적 정보를 유지하면서 고주파 디테일을 무시하지 않도록 한다.

또한 사전학습된 모델(Stable Diffusion, CLIP)을 사용하여 참조 이미지를 직접 기억하지 않도록 한다.

 

3.2.2 Strong Augmentation

  • Reference image augmentation
    • 학습 시 $x_r$은 $x_s$의 일부인데 테스트 시에는 전혀 다른 이미지여서 부자연스러운 결과를 초래한다.
    • $x_r$에 여러 데이터 증강 기법(flip, rotation, blur 등)을 적용해 자연스러운 이미지가 생성되도록 한다. ($\mathcal{A}$ = Augmentation)
      $$
      c = \operatorname{MLP}(\operatorname{CLIP}(\mathcal{A}(x_r)))
      $$
  • Mask Shape augmentation
    • 경계 상자를 기반으로 무작위 왜곡 $\mathcal{D}$로 학습과 테스트 간의 격차를 줄이도록 한다.
      $$
      \bar{\mathbf{m}} = 1 - \mathcal{D}(\mathbf{m})
      $$

 

3.2.3 Control the mask shape

  • 임의의(arbitrarily shaped) 불규칙한 마스크를 생성하여 사용

 

3.2.4 Control the similarity degree

  • Classifier-free Guidance
    • 조건 $c$가 주어진 상태 와 조건이 없는 상태에서의 예측을 결합하여 최종 노이즈 예측을 조정하는 것
      $$
      \log p(\mathbf{y}_t|\mathbf{c}) + (s - 1) \log p(\mathbf{c}|\mathbf{y}_t) \propto \log p(\mathbf{y}_t) + s(\log p(\mathbf{y}_t|\mathbf{c}) - \log p(\mathbf{y}_t))
      $$
      • $p(\mathbf{c}|\mathbf{y}_t)$: 노이즈가 추가된 이미지 $y_t$가 주어졌을 때 조건 $c$가 나타날 확률의 로그 값이며 생성된 이미지가 조건 $c$를 얼마나 잘 따르는지를 나타내는 일종의 분류기(classifier) 역할이다.
      • $s$: 'Classifier-Free Guidance Scale'이며 커질수록 생성된 이미지가 조건에 더 강하게 맞춰진다. (참조 이미지와의 유사성)
    • VQ-Diffusion에서 개선한 Guidance를 사용하고, 학습 가능한 벡터 $\mathbf{v}$를 추가
      $$
      \tilde{\epsilon}{\theta}(\mathbf{y}_t, \mathbf{c}) = \epsilon{\theta}(\mathbf{y}_t, \mathbf{v}) + s(\epsilon{\theta}(\mathbf{y}_t, \mathbf{c}) - \epsilon{\theta}(\mathbf{y}_t, \mathbf{v}))
      $$

 

4. Experiments

4.1 Implementation Details

  • 학습 데이터셋은 바운딩 박스를 포함한 OpenImages 사용
  • 이미지 해상도는 $512\times512$로 전처리

 

Test Benchmark

  • 저자들이 직접 COCO Exemplar-based image Editing (COCOEE)이라는 새로운 벤치마크를 구축했다.
  • MSCOCO 학습 데이터셋에 수동으로 참조 이미지 패치를 구성했다.

 

4.3 평가 지표 (Evaluation Metrics)

Table. 2 다른 방법론에 대한 정량적 비교

 

Table.3 Ablation study를 통해 본 논문에서 제안된 기술 기여도 검증

  • FID (Fréchet Inception Distance): 생성된 이미지의 품질을 평가하는 데 널리 사용되는 지표
  • QS (Quality Score): 생성된 이미지의 전반적인 품질을 측정하기 위해 평균값을 사용
  • CLIP Score: 편집된 영역과 참조 이미지 간의 유사성을 코사인 유사도로 평가합니다.

 

4.4 From Language to Image Condition

  • 텍스트와 이미지 조건 비교
  • 이미지를 조건으로 사용하는 것이 디테일을 더 유지한다.

 

Fig 6. classifier-free guidance scale 영향 비교

 

Fig 8. 실제로도 잘한다.

 

Fig. 9 다양한 이미지 생성할 수 있음

 

참고자료: https://ostin.tistory.com/134