[22′ PMLR] GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models

This entry is part 5 of 15 in the series Image Generative Model

1. Introduction

이번 글에서는 2022년 PMLR에 발표된 GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models 논문을 리뷰하겠습니다. 이 논문은 GLIDE라고 불리며, 이번 글에서도 GLIDE 라고 지칭하겠습니다.

이번 글에서는 Diffusion Model 배경 지식에 대한 설명은 생략했습니다. Diffusion Model의 기초와 응용 글을 참고해주세요.

GLIDE는 Open AI에서 발표한 Text Guided Diffusion Model 입니다. Text Guided Diffusion Model이란 Condition으로 Text가 들어가는 Diffusion Model을 의미합니다. 기존에는 Condition으로 Class 정보가 들어갔는데요. 대표적으로 Classifier GuidanceClassifier Free Guidance 방식이 있었습니다. 이 모델들은 Class 별 이미지를 생성하도록 학습할 수 있었죠. 따라서 ImageNet과 같이 (이미지, Class) Pair로 구성된 데이터셋에 대해 동작하였습니다. 반면 Text Guided Diffusion Model은 Class가 아닌 이미지를 설명하는 Text, 즉 Caption을 Condition으로 받습니다. 따라서 LAION 같이 (이미지, Caption) Pair로 구성된 데이터셋을 사용합니다.

이러한 Text Guided Diffusion Model은 기존 Class Guided Diffusion Model 들에 비해 아주 큰 장점을 하나 갖습니다. 바로 ‘세상에 없던 개념의 이미지’ 를 생성할 수 있다는 것입니다. 기존 Class Guided Diffusion Model로는 학습 데이터셋에 있는 Class 이미지만 생성할 수 있습니다. 반면 Text Guided Diffusion Model은 Text로 표현하는 모든 이미지를 생성할 수 있죠.

이번 글에서는 GLIDE 논문의 핵심 내용을 살펴볼 겁니다. 먼저 GLIDE의 작동 방식에 대해 살펴봅니다. 이어서 GLIDE가 생성한 이미지들과 Inpainting 방식을 사용하여 Fine Tuning 하는 방법등에 대해 살펴보겠습니다.

2. Method

이번 챕터에서는 GLIDE의 제안 방법을 살펴보겠습니다.

2-1. Architecture

먼저 GLIDE의 전체 구성을 살펴보겠습니다. GLIDE의 전체 구성은 다음과 같습니다.

그림1. GLIDE Architecture
그림1. GLIDE Architecture

크게 보면 두가지 모듈로 구성되어 있는데요. 첫 번째 모듈은 Text Conditional Diffusion Model 입니다. 이 모듈은 Text를 Condition으로 입력받아 Text가 설명하는 이미지를 생성하는 모듈입니다. 이때 생성되는 이미지의 사이즈는 64×64로 Low Resolution인데요. 이를 Upscale 하기 위해 두 번째 모듈인 Super-Resolution 모델이 사용됩니다. Super-Resolution 모델은 64×64 이미지를 256×256 사이즈로 Upscale 해주는 역할을 수행합니다.

2-2. Text Conditional Diffusion Models

이제 첫 번째 모듈인 Text Conditional Diffusion Model을 살펴보겠습니다. GLIDE의 Text를 Condition으로 입력받는 Diffusion Model의 구성은 다음 그림과 같습니다.

그림2. GLIDE - Text Conditional Diffusion Model
그림2. GLIDE – Text Conditional Diffusion Model

먼저 이미지를 설명하는 Text인 Caption은 Transformer의 입력으로 들어가 Text Embedding으로 변환됩니다. 그리고 이렇게 나온 Text Embedding이 Diffusion Model의 Condition으로 들어가 이미지를 생성하도록 학습하는 구조입니다.

이때 중요한건 Diffusion Model 뿐만 아니라 Caption을 Text Embedding으로 변환해주는 Transformer 또한 학습되어야 한다는 점인데요. 이는 이후 모델들에서 Pretrained LLM을 사용하여 Text Embedding을 추출한다는 점에서 가장 큰 차이점입니다. 또한 성능에 결정적인 차이를 만드는 요소이기도 하죠.

2-3. Upsampling Diffusion Model

다음으로는 두 번째 모듈인 Upsampling Diffusion Model을 살펴보겠습니다. 이 모듈은 64×64 이미지를 256×256으로 Upscale 하는 역할을 수행합니다. 전체적인 구조는 기존의 Super-Resolution을 위한 Diffusion Model과 동일한데요. 이에 대한 자세한 설명은 SR3 리뷰글을 참고해주세요.

2-4. Fine Tuning Image Inpainting

이어서 GLIDE에서는 Image Inpainting을 통한 Fine Tuning 방법을 제안하고 있습니다. 위에서 설명한 Text Conditional Diffusion Model과 Super-Resolution Diffusion Model 만으로는 충분한 성능이 나오지 않기 때문인데요. 이때 사용되는 Inpainting Diffusion Model의 구성은 다음과 같습니다.

그림3. GLIDE - Image Inpainting
그림3. GLIDE – Image Inpainting

Inpainting 이란 입력으로 들어간 이미지의 Masking된 부분을 다시 채워넣는 기술을 의미합니다. 따라서 입력으로는 Masking된 이미지가 들어갑니다. 그리고 Condition으로 해당 Masking에 대한 정보가 주어지죠. Diffusion Model은 이들을 각각 입력과 Condition으로 받아 원본 이미지를 복원하도록 학습합니다. 이렇게 학습한 Diffusion Model은 Masking된 이미지가 들어왔을때 학습한 데이터의 특성에 따라 Masking 내부를 채워넣게 되죠.

3. Experiments

이렇게 학습한 GLIDE가 생성한 이미지들을 살펴보겠습니다.

3-1. Image Generation

먼저 Text를 Condition으로 받아 GLIDE가 생성한 이미지들을 보겠습니다.

그림4. GLIDE - Image Generation Sample
그림4. GLIDE – Image Generation Sample

기존 ImageNet 등으로 학습한 Class Guided Diffusion Model과 달리 기존에 없던 개념인, Text가 설명하는 이미지를 잘 생성하는 모습을 볼 수 있습니다.

3-2. Fine Tuning Using Inpainting

다음은 Inpainting을 사용하여 Fine Tuning 하는 방법을 살펴보겠습니다.

그림5. Image Inpainting Sample
그림5. Image Inpainting Sample

위 그림은 Inpainting을 사용하여 점점 더 복잡한 이미지를 생성하는 모습을 보여주고 있습니다. 가장 왼쪽에는 간단한 Living Room 이미지를 만들어낸 모습입니다. 그리고 초록색 음영 부분을 Masking 하며 웰시코기 그림을 추가하도록 요청하는 모습을 볼 수 있죠. 이렇게 나온 결과가 두 번째 그림입니다. 이런 식으로 간단한 이미지를 생성한 뒤 원하는 부위의 Masking과 요구사항인 Text를 통해 점점 복잡한 이미지를 생성하는 모습을 볼 수 있습니다.

3-3. Comparison With Other Models

이번에는 다양한 Image Generative Model들이 동일한 Text에 대해 생성한 이미지들을 비교해보겠습니다.

그림6. 다른 모델과의 비교
그림6. 다른 모델과의 비교

당시 가장 유명했던 모델인 DALLE와 비교하고 있는 모습인데요. 두 모델 모두 Text에 맞는 이미지들을 잘 생성하는 모습을 볼 수 있습니다.

4. Conclusion

이번 글에서는 GLIDE 논문의 핵심 내용을 살펴봤습니다. GLIDE는 Text Guided Diffusion Model의 대표적인 최초 모델인데요. 때문에 비교적 Low Resolution인 256×256 사이즈 이미지만 생성할 수 있으며 좀더 화려한 이미지를 생성하지 못한다는 한계가 있습니다. 이후 발표된 Text Guided Diffusion Model 들에서는 이 부분들을 어떻게 개선했는지 위주로 살펴보면 재미있는 관전 포인트가 될 수 있습니다.

Series Navigation<< [23′ PAML] SR3 : Image Super-Resolution via Iterative Refinement[22′ NIPS] Imagen : Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding >>
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top