본문 바로가기

논문 리뷰/Diffusion Model

Emu Edit: Precise Image Editing via Recognition and Generation Tasks

[Project Page]

[arXiv](2023/11/16 version v1)

 

 

Abstract

단일 모델로 다양한 task에 대해 instruction-based image editing이 가능한 Emu Edit 소개

 

 

 

Multi-Task Dataset for Image Editing

Task Categories

3가지 주요 범주의 각 작업으로 구성됨.

 

Instruction Generation

In-context learning을 활용하여 작업별 예시 및 이미지 캡션을 제공하면 LLM이 편집 지침, 이상적인 출력 이미지에 대한 출력 캡션, 원본 이미지에 업데이트해야 하는 개체를 출력하도록 한다.

 

Image Pairs Generation

Prompt-to-Prompt, OCR, DINO, SAM 등의 다양한 모델을 활용하여 각 작업에 대한 원본 이미지와 편집된 이미지 쌍 생성.

 

 

 

Method

  • Architecture
  • Learned Task Embeddings
  • Task Inversion
  • Sequential Edit Thresholding

 

Architecture

Emu의 아키텍처와 가중치로 초기화한 뒤 다음 손실을 최소화:

 

이미지 컨디셔닝을 위해 첫 번째 convolution layer의 입력 채널을 늘리고 E(cI)를 연결, CFG, 확산 스케줄은 Zero Terminal SNR을 따름.

 

Learned Task Embeddings

각 작업에 대한 임베딩 벡터 v를 학습한다. Cross-attention을 통해 v를 U-Net에 통합하고 timestep embedding에 추가.

k는 dataset 내의 총 task 수

 

각 작업에 대한 독립적인 모델보다 모든 작업에 대해 단일 모델을 훈련하는 것이 더 성능이 좋다고 한다. 또한 훈련 작업 수가 증가할수록 성능이 향상된다. 특히 detection, segmentation과 같은 CV 작업이 성능을 크게 향상시켰다.

 

사용자 입력 지시에 따른 작업을 식별하기 위해 FLAN-T5-XL를 fine-tuning 한다.

 

Task Inversion

새로운 작업에 대해 U-Net의 가중치를 변경하지 않고 새로운 작업 임베딩 v를 학습하여 적용할 수 있으며 기존 작업도 여전히 처리할 수 있다.

 

Sequential Edit Thresholding

Multi-turn 편집 시나리오에서 모델을 반복적으로 적용했을 때 아티팩트가 발생했다.

 

이를 완화하기 위해 각 편집 후에 RGB 채널의 차이 d를 계산하고 임계값을 넘는 경우에만 편집된 픽셀을 사용한다.

Bar는 픽셀 전환을 부드럽게 하기 위한 low pass filter
Multi-turn editing