Paper Details
Title: InstructPix2Pix: Learning to Follow Image Editing Instructions
Authors: Tim Brooks, Aleksander Holynski, Alexei A. Efros
Conference: IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 2023
Year of Publication: 2023
Link: https://arxiv.org/abs/2211.09800 / https://www.timothybrooks.com/instruct-pix2pix
Key Focus:
This paper introduces InstructPix2Pix, a conditional diffusion model capable of editing images based on human-written instructions. The authors leverage GPT3 and Stable Diffusion to create a dataset of over 450,000 paired image edits, including text instructions and before/after images. The model directly performs edits in a forward pass without requiring fine-tuning or masks, achieving real-time editing capabilities. Experiments demonstrate strong generalization to diverse real-world edits, such as style transformations and object replacements, outperforming existing methods like SDEdit. Despite its success, challenges like spatial reasoning and dataset bias remain, prompting future research in human-guided learning and multimodal conditioning.
💡 Key point: GPT-3와 Stable Diffusion을 결합한 텍스트 지시 기반 데이터셋 구축
📄 Summary of the Paper
1. Introduction
본 논문은 Image Editing 을 위해 사람이 작성한(human-written) 지시를 따르는 생성형 모델을 훈련시키기 위한 방법을 제안하고 있다. 모델 훈련에 필요한 대규모의 쌍 데이터셋(paired dataset)을 확보하기 위해 pretrained GPT-3를 통해 편집 지시문(instruction)을 만들고, Stable Diffusion 모델을 통해 편집 전후에 해당하는 이미지를 생성하였다. 즉, 언어 영역에 특화된 GPT-3 모델과 이미지 영역에 특화된 Stable Diffusion 모델을 결합하여 언어와 이미지를 아우르는 새로운 작업을 위한 데이터셋을 생성한 것이 핵심이다.
cf) modality란 데이터의 종류나 형태를 의미하며, 해당 논문에서 언급하고 있는 두 가지 모달리티는 언어와 이미지라는 두 가지 종류의 데이터를 가리킨다.
궁극적으로는 자연스러운 인간 언어(=자연어)로 적은 지시문만으로 이미지 편집을 가능하게 하는 것이 본 논문의 주요 목표라고 볼 수 있다.
2. Prior work
Composing large pretrained models
- 기존 연구: pretrained 모델을 결합하여 멀티모달(multimodal) 작업 직접 수행
- InstructPix2Pix: pretrained 모델 결합을 통해 모델 학습에 필요한 멀티모달 데이터셋 생성
Diffusion-based generative models
- 최근 Diffusion Model이 발전함에 따라 이미지 생성 분야에서 SOTA 달성
- 이미지 생성 외에 비디오, 오디오, 텍스트, 네트워크 매개변수 등 다양한 모달리티 생성에도 활발히 활용되고 있음
Generative models for image editing
기존의 이미지 편집 모델은 주로 다음과 같은 특징을 갖는다.
- 주로 단일 작업을 목표로 함(ex. 스타일 전환, 이미지 도메인 변환 등)
- 잠재 공간(latent space)으로 변환한 후 잠재 벡터(latent vector)를 수정하여 이미지 편집
- CLIP 기반 모델 사용
- text-to-image diffusion model 사용
즉, 기존의 이미지 편집 모델에서는 수정할 부분을 사용자가 직접 마스킹하거나 처음 제공한 것과 동일한 구조의 텍스트 캡션을 제공해야 한다!
Learning to follow instructions
- 단일 이미지와 텍스트 지시만으로 편집 수행
- 추가 이미지, 사용자 제공 마스크, 세부 조정(fine-tuning) 필요 X
- 사용자가 자연어로 원하는 편집 작업을 명확히 지시 가능
- 추가적인 시각적 정보 제공 없이 물체나 속성을 직관적으로 수정 가능
Training data generation with generative models
- 지시문과 편집 전후의 이미지 쌍 데이터셋 구축을 위해 pretrained GPT-3 & Stable Diffusion (+Prompt-to-Prompt) 모델 사용
3. Method
InstructPix2Pix는 지도 학습(Supervised learning) 방식을 활용하여 문제를 해결하고자 한다.
간략한 프레임워크 구조 및 플로우는 다음과 같다.
- Training Data Generation: 텍스트 지시문과 편집 전후의 이미지로 이루어진 쌍 데이터셋 생성
- Instruction-following Diffusion Model: 생성한 데이터셋으로 image editing diffusion model 학습
3.1. Generating a Multi-modal Training Dataset
3.1.1. Generating Instructions and Paired Captions
우선 GPT-3 를 사용해서 Input caption을 입력받고 → Instruction을 토대로 Output caption(= Edited caption)을 얻는 과정을 진행한다. 여기에서 포인트는 일관된 텍스트 캡션 구조를 유지하는 것이다.
위의 이미지를 예시로 설명하자면, "photograph of a girl riding a horse" 라는 Input caption에 "have her ride a dragon"이라는 지시문을 적용해서 horse 를 dragon 으로 바꾸되 기존 문장 구조는 유지한 "photograph of a girl riding a dragon" 이라는 Output caption(=Edited caption) 을 생성하는 것이 핵심인 것이다.
이때, 캡션의 구조의 일관성을 유지하는 것이 중요한 이유는
- Input cation과 Output caption 간의 차이/변화(= 편집 작업)를 명학히 비교할 수 있고,
- 이를 통해 모델이 텍스트와 이미지 간 맵핑을 더욱 쉽게 학습할 수 있기 때문이다.
1) [Train] Fine-tuning GPT-3
GPT-3를 통해 Input Caption을 입력으로 받아 Edit instruction과 Edited caption을 얻기 위해서는 먼저 fine-tuning을 진행해야 하는데, fine-tuning 에 쓰일 데이터셋은 인간이 직접 레이블링한다.
LAION 데이터셋에서 700개를 샘플링해서 각각의 Input caption에 대한 Edit instruction과 Editied caption을 직접 작성한다. 더욱 간단히 말하자면, 특정 지시문을 주었을 때 Input caption의 어느 단어를 어떻게 바꿀 것인지를 직접 사람이 레이블링하는 단계라고 생각할 수 있다.
2) [Inference] Generating Instruction & captions with GPT-3
사람이 직접 작성한 700개의 데이터셋으로 fine-tuning한 GPT-3로 Edit instruction과 Edited caption을 생성한다.
아래의 표에서 초록색 하이라이트 에 해당하는 instruction / caption이 GPT-3가 생성한 instruction / caption 이다.
3.1.2 Generating Paired Images from Paired Captions
GPT-3를 통해 캡션 쌍(Input caption & Output caption)을 생성했으니, text-to-image 모델을 사용하여 각각의 캡션에 대응되는 이미지 쌍을 만들어야 한다. 이 과정에서 가장 중요한 것은 편집하고자 하는 부분/요소를 제외한 나머지 부분은 최대한 유사한 이미지를 생성해야 한다는 것이다. 예를 들어, 위의 이미지에서 Input caption과 Output caption의 차이는 소녀가 타고 있는 것이 "horse"이냐 "dragon"이냐의 차이이므로, 소녀가 타고 있는 것 외에는 최대한 유사한 이미지여야 한다는 것이다.
하지만 안타깝게도 Stable Diffusion 모델은 조건 프롬프트의 사소한 변화에서도 이미지 일관성을 보장하지 않는다는 특징이 있는데, 이것은 곧 프롬프트가 조금만 바뀌어도 완전히 다른 결과물을 생성한다는 것을 의미한다.
아래 (a) Without Prompt-to-Prompt 의 이미지가 단순히 Stable Diffusion 모델을 통해 Input caption과 Edited caption을 입력하여 이미지를 생성한 결과물이다. 이미지를 보면 알 수 있듯이 소녀가 타고 있는 것이 말에서 공룡으로 바뀌긴 했지만, 완전히 다른 이미지가 생성되어 image editing의 결과물이라기보다는 완전히 새로운 이미지로 보이는 것을 알 수 있다.
이를 해결하기 위해 도입한 방법이 Prompt-to-Prompt method이다. Prompt-to-Prompt 방식에 대해 간략히 설명하자면, 기존 텍스트-이미지 생성 모델(Stable Diffusion Model)의 cross-attention 메커니즘을 활용해 사용자가 기존 프롬프트를 약간 수정한 경우, 수정된 텍스트 토큰과 이미지의 대응 영역을 일치시켜 기존 이미지의 구조를 유지하면서 원하는 부분에만 수정이 적용되도록 하는 기술이다. Prompt-to-Prompt 기술이 적용된 (b) With Prompt-to-Prompt 의 이미지를 보면 소녀가 타고 있는 것(말/공룡)을 제외한 나머지 부분은 거의 유사한 것을 볼 수 있다. 따라서 본 연구에서는 Prompt-to-Prompt 기술이 쓰인다고 설명한다.
cf) Prompt-to-Prompt 의 결과물
Prompt-to-Prompt 방식을 사용하더라도 고려해야할 지점이 하나 더 있는데, 바로 Instruction이 무엇이냐에 따라 이미지의 변화 정도가 달라질 수 있고, 이에 따라 편집 전후의 이미지 간의 유사성이 달라질 수 있다는 것이다. 예를 들어, 아래 이미지에서 왼쪽의 경우는 이미지 전반의 스타일 변경이 요구되므로 편집 전후의 이미지 간 유사성이 매우 작겠지만, 오른쪽의 경우에는 케이크 토핑을 수정하는 정도이므로 편집 전후의 이미지 간 유사성이 클 것이다.
이와 같이 편집 전후 이미지 사이의 유사성은 Prompt-to-Prompt에서 제공하는 유사성 제어 매개변수 $p$ 사용하여 제어한다. 이는 공유된 attention 가중치가 적용되는 Denoising 단계의 비율로, $p$값이 커질수록 = Denoising 단계에서 뒷부분에 해당되며, = 최종 이미지와 가까우므로 = 유사성이 높은 이미지가 생성된다. 자세한 내용은 Prompt-to-Prompt 논문 리뷰[링크 첨부 예정]에서 다루도록 하겠다.
다만 $p$를 사용하여 유사성을 컨트롤하더라도 텍스트 캡션만으로 적당한 $p$ 값을 선별하는 것은 어렵다. 예를 들어, "배경을 초원에서 도시로 변경해줘"이라는 Instruction은 전반적인 배경 변경 작업을 지시하고 있긴 하지만, 도시가 얼마나 복잡해야 하는지, 배경의 다른 디테일이 어떻게 변해야 하는지까지 완전히 표현하고 있지는 않기 때문이다. 따라서 본 연구에서는 caption 쌍당 100개의 샘플 이미지 쌍을 $p∼U(0.1, 0.9)$의 무작위 값을 사용하여 생성한 후, CLIP 공간의 방향 유사성(directional similarity)을 활용한 CLIP 기반 메트릭으로 이 샘플들을 필터링하여 이미지 데이터를 얻는다고 설명하고 있다.
cf) Directional CLIP Similarity(CLIP 공간의 방향 유사성)이란?
CLIP의 임베딩 공간에서 텍스트와 이미지 표현 사이의 관계를 벡터 방향으로 해석하여 이미지-텍스트 일치도를 측정하는 방법이다. 간략하게 설명하자면 텍스트 임베딩 벡터의 변화 방향과 이미지 임베딩 벡터의 변화 방향의 일치하는 정도에 따라 텍스트가 이미지의 내용을 얼마나 잘 설명하는지(= 텍스트-이미지 유사도)를 나타내는 척도라고 생각하면 된다.
여기까지 완료하고 나면 필요한 데이터셋 구축이 완료된 것이다.
3.2. InstructPix2Pix
본 연구에서 사용되는 베이스 모델은 Latent Diffusion Model(Stable Diffusion Model)이며, 해당 모델을 fine-tuning해서 학습을 진행하였다고 설명하고 있다.
기존의 LDM 구조에서 이미지 조건($c_I$)과 텍스트 조건(c_T)이 추가 조건으로 주어진 형태로 다음의 Loss 식을 통해 학습된다. 텍스트 조건 $c_T$를 통해서는 편집의 방향성을 결정하고, 이미지 조건 $c_I$를 통해서는 기존 이미지의 세부 사항과 구조를 유지하도록 한다.
3.2.1. Classifier-free Guidance for Two Conditionings
Classifier-free diffusion guidance는 확산 모델이 생성한 샘플의 품질과 다양성 간의 균형을 맞추기 위한 방법으로 주로 클래스 조건(class-conditional) 또는 텍스트 조건(text-conditional) 이미지 생성에 주로 사용된다.
간단하게 말하면, 모델이 생성 과정에서 텍스트와 이미지 조건에 얼마나 강하게 의존할지를 조절한다고 이해하면 된다.
위의 이미지에서 이미지 가이드 스케일 ($s_I$)가 커질수록 입력 이미지 $c_I$의 정보를 더욱 강하게 반영하고, 텍스트 가이드 스케일인 $s_T$가 커질수록 텍스트 지시가 더욱 강하게 반영되는 것을 확인할 수 있다.
4. Results
학습시킨 모델로 다양한 이미지 편집을 시도한 결과는 다음과 같았으며, 단순한 이미지 대치뿐만 아니라 날씨나 계절 변화, 배경 교체, 재질 수정, 예술적 매체 변환 등의 다양한 작업을 성공적으로 해내는 것을 볼 수 있다.
4.1. Baseline comparisons
본 연구에서는 비교군으로 SDEdit과 Text2Live을 선정하였다.
SDEdit은 사전 학습된 확산 모델을 사용하여 이미지를 편집하는 기술로, 부분적으로 노이즈가 추가된 이미지를 입력으로 받아 디노이징하여 새로운 편집된 이미지를 생성하는 기술이고, Text2Live는 텍스트 프롬프트를 조건으로 사용하여 색상 및 투명도 증강 레이어를 생성함으로써 이미지를 편집하는 기술이다.
우선 SDEdit, Text2Live 두 방법과 정성적 비교 결과는 다음과 같다.
- SDEdit:
- 간단한 작업(ex. 스타일 변경)에서 잘 작동하지만 객체 분리, 정체성 유지와 같은 큰 변화에는 한계가 있음.
- 편집 지시 대신 전체 출력 설명을 요구함.
- Text2Live:
- 추가 레이어 기반 편집으로 인해 비교적 설득력 있는 결과물을생성함.
- 편집 가능한 작업 범위가 제한적임.
기존의 SDEdit 과 정량적으로 비교한 결과는 다음과 같다.
위의 도표에서 x축 (CLIP Text-Image Direction Similarity)은 텍스트 캡션 변화가 이미지 변화와 얼마나 잘 일치하는지를 보여주는 값으로 값이 높을수록 텍스트 지시에 따른 편집이 더 잘 이루어졌음을 의미한다. y축은 CLIP Image Similarity 편집된 이미지가 원본 입력 이미지와 얼마나 유사한지를 측정한 값으로 값이 높을수록 원본 이미지의 특징과 일관성이 잘 유지되었음을 의미한다. 이를 바탕으로 결과를 해석하면 InstructPix2Pix 방법이 텍스트 지시와 원본 이미지 간의 균형을 가장 잘 유지함을 확인할 수 있다.
4.2. Ablation
위의 도표 결과에 따르면, 전체 데이터와 CLIP 필터링을 사용하는 경우가 최적의 성능을 보임을 알 수 있다. 데이터셋 크기를 줄이면 일반적으로 더 큰 이미지 편집을 수행하는 능력이 감소하고, 대신 미묘하거나 스타일적인 이미지 조정만 수행한다. 또한, CLIP 필터링을 제거하면 입력 이미지와의 전반적인 이미지 일관성이 감소함을 확인할 수 있다.
5. Discussion
- 한계점:
- 데이터셋 품질과 Stable Diffusion의 시각적 제한으로 인해 모델의 편집 능력이 한정됨
- GPT-3, Prompt-to-Prompt의 한계로 인해 텍스트 지시와 시각적 변화 간의 연관성을 일반화하는 데 어려움
- 물체 개수 세기, 공간적 추론(위치 이동, 물체 배치 등) 작업에서 성능 저하
- 데이터 및 사전 학습 모델의 편향이 편집된 이미지에 영향을 미침
- 향후 연구 방향:
- 공간적 추론과 사용자 상호작용을 결합한 조건부 편집 방식 개발
- 인간 피드백 기반 학습(human-in-the-loop)과 같은 강화 학습 기법 활용
- 지시 기반 이미지 편집 평가를 위한 새로운 기준 개발
'Research Reviews > Generative Model' 카테고리의 다른 글
[논문 리뷰] Interpolating between Images with Diffusion Models (0) | 2024.12.30 |
---|---|
[논문 리뷰] Denoising Diffusion Probabilistic Models (2) | 2024.10.07 |