Study With Inha

[Paper Review] TMLR 2024, LLM-grounded Diffusion: Enhancing Prompt Understanding of Text-to-Image Diffusion Models with Large Language Models 논문 리뷰 본문

Paper Review

[Paper Review] TMLR 2024, LLM-grounded Diffusion: Enhancing Prompt Understanding of Text-to-Image Diffusion Models with Large Language Models 논문 리뷰

강이나 2024. 4. 4. 14:29
TMLR 2024, LLM-grounded Diffusion
: Enhancing Prompt Understanding of Text-to-Image
Diffusion Models with Large Language Models

논문 링크: https://arxiv.org/pdf/2305.13655.pdf
프로젝트 페이지 링크: https://llm-grounded-diffusion.github.io/

 

1. Introduction

Diffusion Model과 같은 Text-to-Image 생성 모델들의 발전은 높은 자유도로 질 좋은 이미지를 얻을 수 있도록 했다.
하지만 Stable Diffusion 및 최근에 나온 SDXL조차도 Text의 세부적인 내용을 파악하여 정확한 이미지를 생성하는 데에 한계가 존재했다.
아래 Figure 1에서 볼 수 있듯이 기존 모델들이 생성한 이미지에서는 Input Text 내에 존재하는 개수, 위치, 그리고 모양 정보 등에 대해서는 명확하게 반영하고 있지 않다는 것을 알 수 있다.
일례로 '바나나가 올려져 있지 않은 테이블'이라는 text prompt에 대해서는 '테이블 위의 바나나'를 생성하고,
'수채화 스타일의 풀 위의 고양이 3마리 그림'이라는 text prompt에 대해서는 '수채화 스타일의 풀 위의 고양이 4마리 그림'을 생성하기도 했다.

이와 같은 문제를 해결하기 위해서 Large Language Model을 활용하여 Text Prompt를 더 잘 이해할 수 있는 새로운 생성 프로세스를 제안한다.
LMD(LLM-grounded Diffusion)은 2-stage 생성 프로세스로, 별 다른 추가 학습 없이도 기존 모델만으로 높은 성능을 낼 수 있는 방법이다.

 

LMD는 Figure 2에서 확인할 수 있듯 두 단계로 이루어져 있다.

  1. LLM Layout Generator: Text Prompt를 입력받은 뒤, Text 내의 Layout을 먼저 파악하여 CSS 형태로 물체들의 배치(arrange)를 출력함.
  2. Stable Diffusion Model: 이전 단계의 Layout 결과를 토대로 알맞은 이미지를 생성하는 단계.

두 단계 모두 이미 존재하는 모델의 pretraining weight를 사용했고, 추가 학습 없이도 좋은 성능을 냈다고 한다.
또한, 아래 그림에서 확인할 수 있듯이 LMD는 다양한 언어에 대해서도 robust한 결과를 보였으며,
이미 생성한 이미지에 대해서 여러 번 수정하는 것에도 좋은 결과를 보였다고 한다.

 


 

2. LLM-grounded Diffusion

2.1 LLM-based Layout Generation

이미지의 레이아웃을 생성하는 단계이다.
이를 수행하기 위해 Input Text Prompt에 고정적으로 들어가는 Text Instruction은 아래와 같이 구성되어 있다.

Task specification:
Your task is to generate the bounding boxes for the objects mentioned in the caption, along with a background prompt describing the scene.

Supporting details:
The images are of size 512×512... Each bounding box should be in the format of ... If needed, you can make reasonable guesses.

이를 통해 사전 학습된 LLM이 어떤 태스크를 수행해야 하며, 이를 어떤 형태로 출력해야하는지 알 수 있게 된다.

Text Instruction 예시

 

Text Instruction 다음에 추가되는 In-context learning을 위한 레이아웃은 아래와 같은 두 가지 요소로 이루어져 있다.

  1. 이미지에 들어가야하는 Foreground Object의 종류와 위치(bounding box 형태)
  2. 이미지의 Background를 설명하는 간단한 캡션. Optional로, 입력 프롬프트에 이미지에서 제외되어야 하는 것을 뜻하는 Negative Prompt가 존재할 경우 이도 포함될 수 있음. 없을 경우 empty string으로 대체됨.

예를 들어 입력 프롬프트가 "A watercolor painting of a wooden table in the living room with an apple on it"로 주어졌을 경우,
In-context Learning을 위한 프롬프트는 아래와 같이 구성된다.

Caption: A watercolor painting of a wooden table in the living room with an apple on it
Objects: [(‘a wooden table’, [65, 243, 344, 206]), (‘an apple’, [206, 306, 81, 69])]
Background prompt: A watercolor painting of a living room
Negative prompt:

In-context Learning 예시

 

이 때, 정확한 레이아웃 결과를 얻기 위해서는 몇 가지 조건을 만족시켜야 한다.

  • Object Instance마다 각각의 Single Bounding Box를 가지고 있을 것. 예를 들어서 Object로 고양이 3마리가 존재할 경우, 각 고양이마다 하나의 Bounding Box가 있어야 함.
  • Background Prompt에는 Foreground Object에 대한 설명을 포함하지 않을 것. Object는 Layout의 Bounding Box 내부에만 존재하도록 컨트롤하기 위함임.

 

그 결과 아래와 같은 LLM Completion 결과를 얻을 수 있게 된다.

Caption: [input prompt from the user]
Objects: [start of LLM completion]

 

 

2.2 Layout-grounded Stable Diffusion

이 단계에서는 LLM-generated Layout을 기반으로 이미지를 생성하게 된다.
기존의 Training-free Region Control 방법들은 Regional Denoising이나 Attention Manipulation을 통한 "Semantic Guidance"를 적용했다.
하지만, 이러한 방법들은 서로 다른 instance들이 latent space나 attention map 상에서는 구별이 안될 수 있기 때문에
Semantic Region 내 Object들의 "개수"를 정확히 나타내지 못하는 경우가 많다.

반면에 LMD의 경우에는 Instance마다 독립적인 Bounding Box가 존재하므로 "Instance-level Grounding"을 수행할 수 있다.
LMD는 우선 bounding box마다 독립적인 masked latent를 생성한 뒤,
전체 이미지를 생성하기 전에 masked latent들을 구성하는 과정을 통해
instance마다 정확한 위치에 지시한 attribute에 부합하는 이미지가 생성될 수 있도록 유도했다.

 

 

Per-box masked latents.

Diffusion Model의 경우 Latent Space나 Attention Map 상에서는 instance-level의 fine-grained control을 하기 힘들다는 한계가 있다.
이 때문에 다른 instance들은 무시된 채 특정 instance만 생성되는 경우도 존재했다.
따라서 LMD에서는 Foreground Box들에 대해서 Instance-level Grounding을 수행했다.

 

 


3. Evaluation

3.1 Qualitative Comparison

정성적 평가는 기본적으로 Stable Diffusion (SD)의 결과와 LMD의 결과를 비교하는 방식으로 진행했다.
Stable Diffusion의 여러 모델 중에서 가장 최근에 나온 SDXL과 Stable Diffusion v1.5를 비교군으로 선정했다.
그 결과 LMD의 결과가 기존 Stable Diffusion 모델의 결과보다 더 좋은 성능을 보였다고 한다.

 

Comparing with other LLM-based image generators.

VisualChatGPT와 GILL 또한 Stable Diffusion 모델로 이미지 생성을 할 때 LLM을 활용하는 모델이다.

  • VisualChatGPT: LLM으로 생성된 text caption을 SD의 input으로 넣어 사용
  • GILL: Text Embedding과 서로 호환되는 Embedding을 SD에 사용

두 모델 모두 LLM을 사용하지만, text embedding 형태로만 활용하기 때문에
베이스가 되는 SD 모델에서 text embedding 부분만 컨트롤하는 데에 어려움이 많다.
하지만 LMD의 경우 LLM으로 spatial relationship을 먼저 추출하기에
Diffusion Model에서 spatial control을 직접적으로 적용할 수 있게 된다.
따라서 text embedding을 통과하는 bottleneck을 줄임과 동시에 spatial information도 더 잘 반영한 결과를 얻을 수 있다.

 

또한 생성한 이미지에 대해서 여러 번 수정을 거치더라도 VisualChatGPT나 GILL보다 좋은 결과를 보이고 있다.

 

 

3.2 Quantitative Evaluation

아래와 같이 총 4가지 태스크를 정하고, 거기에 대한 text-to-image 평가를 진행했다.

1. negation: 포함하지 말라고 한 object를 잘 배제했는지
2. generative numeracy: 개수를 정확하게 맞췄는지
3. attribute binding: 목표하는 object에 맞는 attribute가 반영이 되었는지 (multiple object가 있는 prompt로 실험 진행)
4. saptial reasoning: object의 위치를 목표하는 곳에 정확히 생성했는지

이 때 LMD의 LLM은 gpt-3.5-turbo를 사용했다고 한다.
또한, GLIGEN으로 pretrain된 LMD+도 구현했다고 한다.

 

Detection-based Evaluation

목표하는 object의 bounding box 정보를 얻기 위해서 open-vocabulary object detector인 OWL-ViT를 사용했다고 한다.
그 후에 prompt에 적힌 requirement들이 잘 반영이 되었는지 체크하는 과정을 거쳤다.
각 태스크에 대한 정확도는 생성된 전체 이미지에서 입력 prompt와 부합하는 부분의 proportion을 계산했다고 한다.

Table 1의 결과를 보면, 기존 SD 대비 1.3배에서 3.6배의 정확도 상승을 이뤄냈다.
모든 태스크 결과의 평균을 냈을 때는 약 2배 정도의 성능 향상을 보였다.
특히, Negation이나 Generative Numeracy에서는 2배 이상의 정확도 상승을 보이고 있다.
이는 LLM layout genertor의 효과를 보여주는 결과라 할 수 있다.

또한 기존 LMD 파이프라인에 in-domain instance-annotated data에 대한 성능을 높이기 위해
GLIGEN을 추가한 LMD+의 경우에는 더 큰 성능 향상 폭을 보이고 있다.

반응형
Comments