본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2024-1] 한영웅 - DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation, CVPR 2023, Google Research, Boston University

by hanyangtech 2024. 5. 29.

Abstract

대규모 텍스트-이미지 모델은 주어진 참조 세트(reference set)에서 객체의 모양을 모방하고 다양한 맥락에서 새로운 표현을 합성하는 능력이 부족. 이에 저자들은 텍스트-이미지의 "개인화"(“personalization”)를 위한 새로운 접근 방식을 제시. 객체에 대한 몇 개의 이미지만 입력으로 주어지면 사전 훈련된 텍스트-이미지 디퓨젼 모델(DM)을 파인튜닝하여 해당 특정 객체와 고유 식별자를 바인딩하는 방법을 학습. 고유 식별자를 사용하여 다양한 장면에서 그 객체의 새로운 실제 같은 이미지를 합성할 수 있음. 새로운 자동 클래스별 사전 보존 손실 (autogenous class-specific prior preservation loss)과 새로운 데이터 세트 및 평가 프로토콜 (evaluation metric)을 생성 및 제공.

 

Introduction

단 몇 개의 이미지(왼쪽)만으로 텍스트 프롬프트를 사용하여 다양한 상황에서 객체의 무수한 이미지(오른쪽)를 생성할 수 있음. 결과는 배경과도 잘 어울릴 뿐만 아니라 새로운 표현과 조명 등의 조건 변화도 보여주며 동시에 객체의 주요 시각적 특징에 대해서도 잘 유지.

 

사용자가 생성하려는 특정 객체와 새로운 단어를 연결하도록 모델의 언어-비전 사전을 확장하는 것. 새로운 사전이 모델에 내장되면 이러한 단어를 사용하여 주요 식별 기능을 유지하면서 다양한 장면의 맥락에 맞는 객체의 새로운 사실적 이미지를 합성. 이 효과는 "마법의 사진 부스"와 유사. 

 

특정 객체에 대한 생성. 특정 시계(왼쪽)가 주어지면 주요 시각적 피쳐(DALL-E2, Imagen 두 번째 및 세 번째 열)를 유지하면서 시계를 생성하기가 어려움. Imagen에 사용된 프롬프트: "retro style yellow alarm clock with a white clock face and a yellow number three on the right part of the clock face in the jungle"). 저자의 접근 방식(오른쪽)은 시계를 잘 합성할 수 있음(프롬프트: " a [V] clock in the jungle ")

 

최근 개발된 큰 텍스트-이미지 모델은 자연어로 작성된 텍스트 프롬프트를 기반으로 고품질의 다양한 이미지 합성을 가능하게 함으로써 전례 없는 성능을 보여줌. 이러한 모델의 주요 장점 중 하나는 이미지-캡션 쌍의 대규모 컬렉션에서 사전 학습된 강력한 의미론적 사전 학습임. 예를 들어 이러한 사전 학습은 "개"라는 단어를 다양한 자세로 나타날 수 있는 개의 다양한 인스턴스와 연결하는 방법을 학습함. 이러한 모델의 합성 기능은 전례가 없는 반면, 주어진 참조 세트에서 객체의 모양을 모방하고 다른 맥락에서 동일한 객체의 새로운 표현을 합성하는 능력이 부족. 객체에 대한 가장 상세한 텍스트 설명조차도 다양한 모양의 인스턴스를 생성할 수 없음. 더욱이 이미지-캡션 모델조차도 객체의 모양을 정확하게 재구성할 수 없음. 주어진 객체에 대해 이미지 내용의 변형만 생성.

 

Method

파인튜닝. 대상에 대한 약 3-5개의 이미지가 주어지면 입력 이미지와 대상이 속한 클래스의 이름 및 고유 식별자를 포함하는 텍스트 프롬프트와 쌍을 이루는 텍스트-이미지 디퓨젼 모델을 파인튜닝(예: "A [V] dog”), 동시에 모델이 클래스에 갖는 의미론적 사전을 활용하고 텍스트의 클래스 이름을 사용하여 객체의 클래스에 속하는 다양한 인스턴스를 생성하도록 만드는 클래스별 사전 보존 손실을 적용(예: "A [V] dog”)

 

단순함에도 불구하고 저자는 사전 보존 손실이 다양성(output diversity)을 만들고 언어 표류(language drift)를 극복하는 데 효과적. 또한 과적합 부담없이 더 많이 모델을 훈련시킬 수 있음. 1000번 반복 학습할 때, λ = 1이고, Imagen의 경우  학습률은 10^(-5)이고, Stable Diffusion의 경우 학습률은 5*10^(-6)임. 대상 이미지가 3~5장인 경우 좋은 결과를 얻기에 충분. 이 과정에서 ~ 1000개의 "a [class noun]" 샘플이 생성되지만 그보다 적은 양을 사용할 수 있음. 학습 과정은 Imagen의 경우 TPUv4에서 약 5분, Stable Diffusion의 경우 NVIDIA A100에서 5분 정도 소요.

 

사전 보존 손실

 

앞서 언급한 두 가지 문제( 다양성(output diversity), 언어 표류(language drift) )를 완화하기 위해 저자는 다양성을 지향하고 언어 표류에 대응하는 자동 클래스별 사전 보존 손실을 제안. 저자의 방법은 몇 번의 파인튜닝이 시작되면 이전 샘플을 유지하기 위해 자체 생성된 샘플로 모델을 감독하는 것. 이를 통해 이전 클래스에 대한 다양한 이미지를 생성할 수 있을 뿐만 아니라 객체 인스턴스에 대한 지식과 함께 사용할 수 있는 이전 클래스에 대한 지식을 유지할 수 있음. 

 

Experiments

텍스트 반전과 비교. 4개의 입력 이미지(맨 위 행)가 주어지면 DreamBooth Imagen(2행), DreamBooth Stable Diffusion(3행), 텍스트 반전(맨 아래 행)을 비교. 출력 이미지는 다음 프롬프트(왼쪽에서 오른쪽으로)로 생성: “a [V] vase in the snow”, “a [V] vase on the beach”, “a [V] vase in the jungle”, “a [V] vase with the Eiffel Tower in the background”. DreamBooth는 객체와 프롬프트 관련도 모두에서 더 강력.

 

이 논문은 30개의 객체로 구성된 자체 데이터 세트를 만들었으며, 이 데이터 세트는 두 가지 범주로 나뉨. 그중 21개는 무생이고 9개는 살아있는 생물.

 

 

 

평가 지표. 평가해야 할 중요한 측면 중 하나는 객체 관련도, 즉 생성된 이미지에서 객체의 세부 정보를 보존하는 것. 이를 위해 CLIP-I와 DINO라는 두 가지 측정항목을 계산. CLIP-I는 생성된 이미지와 실제 이미지의 CLIP 임베딩 간의 평균 쌍별 코사인 유사성. 이 측정 기준은 다른 연구에서 사용되었지만 매우 유사한 텍스트 설명(예: 두 개의 서로 다른 노란색 시계)을 가질 수 있는 서로 다른 객체를 구별하기 위해 구성되지 않았음. 저자가 제안하는 DINO 메트릭은 생성된 이미지와 실제 이미지의 ViT-S/16 DINO 임베딩 간의 평균 쌍별 코사인 유사성. 이 메트릭은 동일한 클래스의 객체 간의 차이를 무시하도록 훈련되지 않았기 때문에 CLIP-I 보다 더 좋음. 대신, self-supervised learning의 목표는 객체나 이미지의 고유한 특징을 구별하는 것. 평가해야 할 두 번째 중요한 측면은 프롬프트 관련도이며 프롬프트 및 이미지 CLIP 임베딩 간의 평균 코사인 유사성으로 측정. 저자는 이것을 CLIP-T라고 표시.

 

Conclusion

저자는 객체에 대한 몇 가지 이미지와 텍스트 프롬프트를 사용하여 객체에 대한 새로운 표현을 합성하는 접근 방식을 제시. 저자의 핵심 아이디어는 객체를 고유 식별자에 바인딩하여 텍스트-이미지 디퓨젼 모델의 출력 도메인에 특정 객체 인스턴스를 포함시키는 것. 이 파인튜닝 프로세스는 3~5개의 이미지에서도 작동할 수 있으므로 쉽게 적용할 수 있음.