[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에 추가.
각 작업에 대한 독립적인 모델보다 모든 작업에 대해 단일 모델을 훈련하는 것이 더 성능이 좋다고 한다. 또한 훈련 작업 수가 증가할수록 성능이 향상된다. 특히 detection, segmentation과 같은 CV 작업이 성능을 크게 향상시켰다.
사용자 입력 지시에 따른 작업을 식별하기 위해 FLAN-T5-XL를 fine-tuning 한다.
Task Inversion
새로운 작업에 대해 U-Net의 가중치를 변경하지 않고 새로운 작업 임베딩 v를 학습하여 적용할 수 있으며 기존 작업도 여전히 처리할 수 있다.
Sequential Edit Thresholding
Multi-turn 편집 시나리오에서 모델을 반복적으로 적용했을 때 아티팩트가 발생했다.
이를 완화하기 위해 각 편집 후에 RGB 채널의 차이 d를 계산하고 임계값을 넘는 경우에만 편집된 픽셀을 사용한다.