Paul's Grit

[논문 리뷰] IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models 본문

논문 리뷰/Generative models

[논문 리뷰] IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models

Paul-K 2025. 1. 10. 22:49

https://arxiv.org/abs/2308.06721

 

IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models

Recent years have witnessed the strong power of large text-to-image diffusion models for the impressive generative capability to create high-fidelity images. However, it is very tricky to generate desired images using only text prompt as it often involves

arxiv.org

 

 

Abstract

최근 몇 년 동안 대규모 텍스트-이미지 변환 diffusion models는 고품질 이미지를 생성할 수 있는 놀라운 생성 능력으로 강력한 성능을 보여주었다. 그러나 텍스트 프롬프트만을 사용하여 원하는 이미지를 생성하는 것은 매우 까다로우며, 이는 종종 복잡한 프롬프트 엔지니어링을 필요로 한다. 텍스트 프롬프트의 대안으로 이미지 프롬프트가 있으며, "한 이미지는 천 마디 말의 가치를 지닌다"라는 말처럼 이미지 프롬프트는 직관적인 대안이 될 수 있다. 기존의 사전 학습된 모델로부터의 직접적인 파인튜닝 방법은 효과적이지만, 이는 대규모 계산 자원을 요구하며 다른 base model, text prompt, structural
controls와의 호환성이 떨어진다.

 

본 논문에서는 사전 학습된 텍스트-이미지 변환 diffusion models에 이미지 프롬프트 기능을 구현하기 위한 효과적이고 경량화된 어댑터인 IP-Adapter를 제안한다. IP-Adapter의 핵심 설계는 text features과 image features을 위한 cross attention layer를 분리하는 decoupled cross attention 메커니즘이다. 본 방법은 단순함에도 불구하고, 단 22M의 파라미터를 가진 IP-Adapter가 완전히 파인튜닝된 이미지 프롬프트 모델에 필적하거나 이를 능가하는 성능을 달성할 수 있다.

 

또한, 사전 학습된 diffusion models를 고정(freeze)하므로, 제안된 IP-Adapter는 동일한 base model로부터 파인튜닝된 다른 사용자 정의 모델뿐만 아니라 기존의 제어 도구를 활용한 제어 가능한 생성에도 일반화될 수 있다. decoupled cross attention 전략의 이점을 통해, 이미지 프롬프트는 텍스트 프롬프트와 함께 멀티모달 이미지 생성을 효과적으로 수행할 수 있다.

 

1. Introduction

이미지 생성은 최근 GLIDE, DALL-E 2, Imagen, Stable Diffusion (SD), eDiff-I, RAPHAEL과 같은 대규모 텍스트-이미지 변환 diffusion models의 성공으로 놀라운 발전을 이루었다. 사용자는 강력한 텍스트-이미지 변환 diffusion models를 사용하여 텍스트 프롬프트를 작성해 이미지를 생성할 수 있다. 그러나 원하는 콘텐츠를 생성하기 위해 좋은 텍스트 프롬프트를 작성하는 것은 쉽지 않으며, 이는 종종 복잡한 프롬프트 엔지니어링을 요구한다. 더구나 텍스트는 복잡한 장면이나 개념을 표현하기에는 정보량이 부족하여 콘텐츠 생성에 장애물이 될 수 있다.

 

텍스트 프롬프트의 이러한 한계를 고려할 때, 이미지를 생성하기 위해 다른 프롬프트 유형이 있는지 의문을 제기할 수 있다. 자연스러운 선택은 이미지 프롬프트를 사용하는 것으로, 이미지는 텍스트보다 더 많은 콘텐츠와 세부 정보를 표현할 수 있기 때문이다. 이는 "한 이미지는 천 마디 말의 가치를 지닌다"라는 말과도 같다. DALL-E 2는 이미지 프롬프트를 지원하는 첫 번째 시도로, diffusion model을 텍스트 임베딩 대신 이미지 임베딩에 조건화하며 텍스트-이미지 능력을 구현하기 위해 사전 모델을 요구한다.

 

그러나 대부분의 기존 텍스트-이미지 변환 diffusion models는 이미지를 생성하기 위해 텍스트에 조건화된다. 예를 들어, 인기 있는 SD 모델은 고정된 CLIP 텍스트 인코더에서 추출된 텍스트 특징에 조건화된다. 이러한 텍스트-이미지 변환 diffusion models에서도 이미지 프롬프트를 지원할 수 있을까? 본 연구는 텍스트-이미지 변환 diffusion models에서 이미지 프롬프트를 사용한 생성 능력을 간단한 방식으로 구현하는 것을 목표로 한다.

 

이전 연구들, 예를 들어 SD Image Variations와 Stable unCLIP,은 텍스트 기반 diffusion models를 이미지 임베딩에 직접 파인튜닝하여 이미지 프롬프트 기능을 구현하는 효과를 입증하였다. 그러나 이러한 접근 방식에는 명백한 단점이 존재한다. 첫째, 텍스트를 사용하여 이미지를 생성할 수 있는 원래의 기능이 제거되며, 이러한 파인튜닝에는 종종 대규모 계산 자원이 필요하다. 둘째, 파인튜닝된 모델은 일반적으로 재사용이 어렵다. 즉, 이미지 프롬프트 기능을 동일한 텍스트-이미지 기반 모델에서 파생된 다른 사용자 정의 모델로 직접 이전할 수 없다.

 

더구나, 새로 생성된 모델은 ControlNet과 같은 기존의 구조적 제어 도구와 호환되지 않는 경우가 많아 후속 애플리케이션에 상당한 문제를 야기할 수 있다. 이러한 파인튜닝의 단점으로 인해 일부 연구에서는 diffusion model의 파인튜닝을 피하면서 텍스트 인코더를 이미지 인코더로 대체하는 방법을 선택하였다. 이 방법은 효과적이고 간단하지만 여전히 몇 가지 단점을 가진다. 첫째, 이미지 프롬프트만 지원되어 텍스트와 이미지 프롬프트를 동시에 사용하여 이미지를 생성할 수 없다. 게다가, 단순히 이미지 인코더를 파인튜닝하는 것만으로는 이미지 품질을 보장하기에 충분하지 않으며, 이는 일반화 문제를 초래할 수 있다.

 

본 연구에서는 기존 텍스트-이미지 모델을 수정하지 않고도 이미지 프롬프트 기능을 구현할 수 있는지에 대해 탐구하고자 한다. 다행히도, 이전 연구들은 희망적인 결과를 보여주었다. ControlNet과 T2I-adapter과 같은 제어 가능한 이미지 생성에 대한 발전은 추가 네트워크를 기존 텍스트-이미지 diffusion 모델에 효과적으로 통합하여 이미지 생성을 유도할 수 있음을 입증하였다.

 

또한, 참조 이미지로 제공된 스타일이나 콘텐츠를 활용한 이미지 생성도 간단한 어댑터를 통해 달성되었다. 예를 들어, T2I-adapter의 스타일 어댑터와 Uni-ControlNet의 글로벌 컨트롤러가 이에 해당한다. 이를 구현하기 위해 CLIP 이미지 인코더로부터 추출된 이미지 특징을 학습 가능한 네트워크를 통해 새로운 특징으로 매핑한 후, 텍스트 특징과 결합한다. 이 결합된 특징은 원래 텍스트 특징을 대체하여 diffusion 모델의 U-Net에 입력되어 이미지 생성을 유도한다.

 

이러한 어댑터들은 이미지 프롬프트 기능을 구현하는 한 가지 방법으로 간주될 수 있지만, 생성된 이미지는 프롬프트 이미지에 부분적으로만 충실하다. 결과물은 종종 미세조정된 이미지 프롬프트 모델보다 열등하며, from-scratch로 학습된 모델에는 더욱 미치지 못하는 경우가 많다.

 

우리는 앞서 언급된 방법들의 주요 문제가 텍스트-이미지 변환 diffusion models의 cross-attention 모듈에 있다고 주장한다. 사전 학습된 diffusion model의 cross-attention layer에서 key와 value projection weights는 텍스트 특징에 적응하도록 훈련되어 있다. 따라서 이미지 특징과 텍스트 특징을 cross-attention layer에 통합하면, 이는 이미지 특징을 텍스트 특징에 맞추는 정렬만 수행할 뿐이다. 이 과정에서 이미지에 특화된 정보가 일부 누락될 가능성이 있으며, 결국 참조 이미지와 함께 세부 조정이 어려운 생성(예: 이미지 스타일)만을 지원하는 결과를 초래할 수 있다.

 

이를 위해, 우리는 기존 방법의 단점을 극복하기 위한 더 효과적인 이미지 프롬프트 어댑터인 IP-Adapter를 제안한다. 구체적으로, IP-Adapter는 텍스트 특징과 이미지 특징을 위한 decoupled cross-attention 메커니즘을 채택한다. diffusion model의 UNet에서 각 cross-attention layer에 대해, 이미지 특징만을 처리하는 추가적인 cross-attention layer를 추가한다. 

 

훈련 단계에서는 새로운 cross-attention layer의 파라미터만 학습하며, 원래의 UNet 모델은 고정(frozen) 상태로 유지된다. 제안된 어댑터는 경량화되었지만 매우 효율적이다. 단 22M의 파라미터를 가진 IP-Adapter는 텍스트-이미지 diffusion model로부터 완전히 파인튜닝된 이미지 프롬프트 모델에 필적하는 생성 성능을 보인다. 

 

더 중요한 점은, IP-Adapter가 뛰어난 일반화 성능을 보이며 텍스트 프롬프트와도 호환된다는 것이다. 제안된 IP-Adapter를 활용하면 다양한 이미지 생성 작업을 쉽게 수행할 수 있으며, 이는 Figure 1에서 예시로 보여준다.

 

Figure 1: Various image synthesis with our proposed IP-Adapter applied on the pretrained text-to-image diffusion models with different styles. The examples on the right show the results of image variations, multimodal generation, and inpainting with image prompt, while the left examples show the results of controllable generation with image prompt and additional structural conditions.

 

정리하자면, 본 논문의 기여는 다음과 같다

  • 우리는 기존 텍스트-이미지 diffusion models를 위한 경량화된 이미지 프롬프트 적응(adaptation) 방법인 IP-Adapter를 제안하며, 이는 decoupled cross-attention 전략을 채택하였다. 정량적 및 정성적 실험 결과에 따르면, 약 22M 파라미터를 가진 작은 IP-Adapter는 이미지 프롬프트 기반 생성에서 완전히 파인튜닝된 모델에 필적하거나 이를 능가하는 성능을 보인다.
  • IP-Adapter는 재사용 가능하며 유연하다. 기본 diffusion model에서 학습된 IP-Adapter는 동일한 기본 diffusion model로부터 파인튜닝된 다른 사용자 정의 모델에 일반화될 수 있다. 더불어, IP-Adapter는 ControlNet과 같은 다른 제어 어댑터와 호환되어 이미지 프롬프트와 구조적 제어의 결합을 쉽게 할 수 있다.
  • Decoupled cross-attention 전략 덕분에, 이미지 프롬프트는 텍스트 프롬프트와 호환되어 멀티모달 이미지 생성을 가능하게 한다.

 

3. Methods

본 섹션에서는 먼저 텍스트-이미지 diffusion models에 대한 기초 개념을 소개한다. 이후, 제안된 IP-Adapter의 설계 동기와 구조를 상세히 설명한다.

 

3.1 Preliminaries

Diffusion models는 생성 모델의 한 종류로, 두 가지 과정을 포함한다. 첫 번째는 diffusion 과정 (또는 forward 과정)으로, 고정된 Markov chain을 따라 \( T \) 단계에 걸쳐 데이터에 점진적으로 Gaussian 노이즈를 추가하는 과정이다. 두 번째는 학습 가능한 모델을 통해 Gaussian 노이즈로부터 샘플을 생성하는 denoising 과정이다. Diffusion models는 텍스트-이미지 diffusion models의 경우처럼 텍스트와 같은 외부 입력에 조건화될 수도 있다.

 

일반적으로 diffusion model의 학습 목표는 노이즈를 예측하는 \( \epsilon_\theta \)로 나타내며, 이는 variational bound의 단순화된 형태로 정의된다:


여기서 \( x_0 \)는 조건 \( c \)와 함께 주어진 실제 데이터이며, \( t \in [0, T] \)는 diffusion 과정의 시간 단계를 나타낸다. \( x_t = \alpha_t x_0 + \sigma_t \epsilon \)는 \( t \) 단계에서의 노이즈가 추가된 데이터이고, \( \alpha_t, \sigma_t \)는 diffusion 과정을 결정하는 \( t \)의 사전 정의된 함수이다.

 

모델 \( \epsilon_\theta \)가 학습되면, 무작위 노이즈로부터 반복적인 과정을 통해 이미지를 생성할 수 있다. 일반적으로 추론 단계에서는 DDIM, PNDM, DPM-Solver과 같은 빠른 샘플링 기법을 사용하여 생성 과정을 가속화한다.

 

조건부 diffusion models에서 classifier guidance는 별도로 학습된 분류기의 그래디언트를 활용하여 이미지의 품질(정확도)과 샘플 다양성 간의 균형을 맞추는 간단한 기법이다. 하지만 분류기를 독립적으로 학습해야 하는 필요성을 제거하기 위해, classifier-free guidance가 대안적인 방법으로 자주 사용된다. 이 접근법에서는 조건부와 비조건부 diffusion models를 \( c \)를 무작위로 제거(drop)하며 공동으로 학습시킨다. 샘플링 단계에서는 조건부 모델 \( \epsilon_\theta(x_t, c, t) \)와 비조건부 모델 \( \epsilon_\theta(x_t, t) \)의 예측을 기반으로 노이즈를 다음과 같이 계산한다:


여기서 \( w \)는 guidance scale 또는 guidance weight로 불리며, 조건 \( c \)와의 정렬 정도를 조정하는 스칼라 값이다. 텍스트-이미지 diffusion models에서는 classifier-free guidance가 생성된 샘플의 이미지-텍스트 정렬(alignment)을 향상하는 데 중요한 역할을 한다.

 

본 연구에서는 IP-Adapter를 구현하기 위한 기본 모델로 오픈소스 SD 모델을 사용한다. SD는 고정된 CLIP 텍스트 인코더에서 추출된 텍스트 특징에 조건화된 latent diffusion model이다. 이 diffusion model의 아키텍처는 attention layers를 포함하는 UNet에 기반하고 있다. Imagen과 같은 픽셀 기반 diffusion models과 비교하여, SD는 사전 학습된 auto-encoder 모델의 잠재 공간(latent space)에 구축되었기 때문에 더 효율적이다.

 

3.2 Image Prompt Adapter

Figure 2: The overall architecture of our proposed IP-Adapter with decoupled cross-attention strategy. Only the newly added modules (in red color) are trained while the pretrained text-to-image model is frozen.

 

본 논문에서는 사전 학습된 텍스트-이미지 diffusion model이 이미지 프롬프트를 통해 이미지를 생성할 수 있도록 설계된 이미지 프롬프트 어댑터를 제안한다. 앞서 언급한 바와 같이, 현재의 어댑터들은 파인튜닝된 이미지 프롬프트 모델이나 처음부터 학습된 모델의 성능에 도달하지 못하는 어려움을 겪고 있다. 주요 원인은 이미지 특징이 사전 학습된 모델에 효과적으로 임베딩되지 못하기 때문이다. 대부분의 방법은 단순히 결합된 특징을 고정된 cross-attention layers에 입력하는데, 이는 diffusion model이 이미지 프롬프트에서 세밀한 특징(fine-grained features)을 포착하는 것을 방해한다. 이 문제를 해결하기 위해, 우리는 새롭게 추가된 cross-attention layers를 통해 이미지 특징을 임베딩하는 decoupled cross-attention 전략을 제안한다. 제안된 IP-Adapter의 전체 아키텍처는 그림 2에 나타나 있다. 

제안된 IP-Adapter는 두 가지 구성 요소로 이루어져 있다:

  1. 이미지 프롬프트에서 이미지 특징을 추출하는 이미지 인코더.
  2. Decoupled cross-attention을 통해 이미지 특징을 사전 학습된 텍스트-이미지 diffusion model에 임베딩하는 적응 모듈(adapted modules).

 

3.2.1 Image Encoder

대부분의 방법과 마찬가지로, 우리는 사전 학습된 CLIP 이미지 인코더 모델을 사용하여 이미지 프롬프트에서 이미지 특징을 추출한다. CLIP 모델은 이미지-텍스트 쌍을 포함하는 대규모 데이터셋에서 contrastive learning으로 학습된 멀티모달 모델이다. 우리는 CLIP 이미지 인코더에서 추출된 글로벌 이미지 임베딩을 활용하며, 이는 이미지 캡션과 잘 정렬되어 있고 이미지의 풍부한 내용과 스타일을 표현할 수 있다. 훈련 단계에서는 CLIP 이미지 인코더를 frozen 상태로 유지한다.


글로벌 이미지 임베딩을 효과적으로 분해하기 위해, 학습 가능한 작은 projection network를 사용하여 이미지 임베딩을 길이 \( N \) (본 연구에서는 \( N = 4 \)를 사용함)인 특징 시퀀스로 투영한다. 이 이미지 특징의 차원은 사전 학습된 diffusion model에서 텍스트 특징의 차원과 동일하다. 본 연구에서 사용된 투영 네트워크는 linear layer과 Layer Normalization으로 구성되어 있다.

 

3.2.2 Decoupled Cross-Attention

이미지 특징은 decoupled cross attention을 사용하는 adapted modules을 통해 사전 학습된 UNet 모델에 통합된다. 원래의 SD 모델에서는 CLIP 텍스트 인코더로부터 나온 텍스트 특징이 cross attention layers에 입력되어 UNet 모델에 연결된다.  쿼리 특징 \( Z \)와 텍스트 특징 \( c_t \)가 주어졌을 때, cross attention의 출력 \( Z' \)는 다음 식으로 정의된다:



여기서 \( Q = ZW_q \), \( K = c_tW_k \), \( V = c_tW_v \)는 각각 attention 연산의  query, key, and values 행렬이며, \( W_q \), \( W_k \), \( W_v \)는 학습 가능한 선형 투영 계층의 가중치 행렬이다.

 

이미지 특징을 삽입하는 간단한 방법은 이미지 특징과 텍스트 특징을 결합한 후 이를 cross attention layers에 입력하는 것이다. 그러나 우리는 이 방법이 충분히 효과적이지 않음을 발견하였다. 대신, 우리는 텍스트 특징과 이미지 특징을 위한 cross attention layers를 분리하는 decoupled cross attention 메커니즘을 제안한다. 구체적으로, 원래의 UNet 모델의 각 cross attention layer에 대해 새로운 cross attention layer를 추가하여 이미지 특징을 삽입한다. 이미지 특징 \( c_i \)가 주어졌을 때, 새로운 cross attention의 출력 \( Z'' \)는 다음과 같이 계산된다:


여기서 \( Q = ZW_q \), \( K' = c_iW'_k \), \( V' = c_iW'_v \)는 각각 이미지 특징에서 생성된 query, key, and values 행렬이며, \( W'_k \), \( W'_v \)는 해당 가중치 행렬이다. 이미지 cross attention에서는 텍스트 cross attention과 동일한 쿼리를 사용한다는 점에 유의해야 한다. 따라서 각 cross attention layer에 대해 두 개의 추가 파라미터 \( W'_k \), \( W'_v \)만 필요하다.

 

수렴 속도를 높이기 위해, \( W'_k \)와 \( W'_v \)는 초기값으로 \( W_k \)와 \( W_v \)에서 초기화된다. 이후, 이미지 cross attention의 출력을 텍스트 cross attention의 출력에 단순히 더한다. 따라서 최종적으로 decoupled cross attention은 다음과 같이 정의된다:

 

원래의 UNet 모델은 freeze 상태로 유지되기 때문에, 위에서 설명한 decoupled cross attention에서는 \( W'_k \)와 \( W'_v \)만 학습 가능한(trainable) 상태이다.

 

3.2.3 Training and Inference

훈련 과정에서 우리는 사전 학습된 diffusion model의 파라미터를 고정한 상태로 유지하며, IP-Adapter만 최적화한다. IP-Adapter는 이미지-텍스트 쌍으로 구성된 데이터셋에서 학습되며, 원래 SD와 동일한 학습 목표를 사용한다:

 

훈련 단계에서는 추론 단계에서 classifier-free guidance를 사용할 수 있도록 이미지 조건을 무작위로 제거(drop)한다.

 

여기서, 이미지 조건이 제거되었을 경우 CLIP 이미지 임베딩을 단순히 0으로 설정한다. 텍스트 cross attention과 이미지 cross attention이 분리되어 있으므로, 추론 단계에서 이미지 조건의 가중치를 조정할 수도 있다:


여기서 \( \lambda \)는 가중치 계수이며, \( \lambda = 0 \)인 경우 모델은 원래의 텍스트-이미지 diffusion model로 동작한다.

 

 

4. Experiments

4.1 Experimental Setup

4.1.1 Training Data

IP-Adapter를 학습하기 위해, 우리는 약 1천만 개의 텍스트-이미지 쌍을 포함하는 멀티모달 데이터셋을 구축하였다. 이 데이터셋은 두 개의 오픈소스 데이터셋인 LAION-2B와 COYO-700M에서 가져왔다.

 

4.1.2 Implementation Details

우리의 실험은 SD v1.5를 기반으로 진행되었으며, OpenCLIP ViT-H/14를 이미지 인코더로 사용하였다. SD 모델에는 16개의 cross attention layers가 있으며, 각 layer에 대해 새로운 이미지 cross attention layer를 추가하였다. Projection network와 adapted modules을 포함한 IP-Adapter의 총 학습 가능한 파라미터 수는 약 22M으로, IP-Adapter는 매우 경량화되어 있다. 우리는 HuggingFace diffusers 라이브러리를 사용하여 IP-Adapter를 구현하였고, DeepSpeed ZeRO-2를 활용하여 빠른 학습을 수행하였다.

 

IP-Adapter는 8개의 V100 GPU를 사용하는 단일 머신에서 학습되었으며, 각 GPU당 배치 크기 8로 100만 스텝 동안 학습되었다. 우리는 AdamW 옵티마이저를 사용하였고, 고정된 학습률 0.0001과 weight decay 0.01을 적용하였다. 학습 중에는 이미지의 짧은 변을 512로 리사이즈한 후, 512 × 512 해상도로 중심을 잘라(crop) 사용하였다. 

 

Classifier-free guidance를 가능하게 하기 위해, 텍스트와 이미지를 각각 개별적으로 0.05의 확률로 드롭하고, 텍스트와 이미지를 동시에 0.05의 확률로 드롭하였다. 추론 단계에서는 DDIM 샘플러를 50 스텝으로 설정하고, guidance scale을 7.5로 설정하였다. 이미지 프롬프트만 사용할 경우, 텍스트 프롬프트를 비워두고 \( \lambda = 1.0 \)으로 설정하였다.

 

4.2 Comparison with Existing Methods

우리 방법의 효과를 입증하기 위해, 이미지 프롬프트를 사용한 생성에서 IP-Adapter와 기존 방법들을 비교하였다. 우리는 세 가지 유형의 방법을 선택하였다: training from scratch, fine-tuning from text-to-image model, adapters. 

from scratch 모델로는 다음의 세 가지 오픈소스 모델을 선택하였다: open unCLIP: DALL-E 2의 재현 버전, Kandinsky-2-1: DALL-E 2와 latent diffusion의 혼합 모델,Versatile Diffusion. fine-tuning 모델로는 SD Image Variations와 SD unCLIP을 선택하였다. adapter 방법에서는 IP-Adapter를 다음과 비교하였다: T2I-Adapter의 style-adapter, Uni-ControlNet의 global controller, ControlNet Shuffle, ControlNet Reference-only, SeeCoder.

 

4.2.1 Quantitative Comparison

Table 1: Quantitative comparison of the proposed IP-Adapter with other methods on COCO validation set. The best results are in bold.

 

정량적 평가를 위해 COCO2017의 validation set(캡션이 포함된 5,000개의 이미지)를 사용하였다. 공정한 비교를 위해, 데이터셋의 각 샘플에 대해 이미지 프롬프트에 조건화된 4개의 이미지를 생성하여, 각 방법마다 총 20,000개의 이미지를 생성하였다. 우리는 이미지 조건과의 정렬(alignment)을 평가하기 위해 두 가지 지표를 사용하였다:

 

  • CLIP-I: 생성된 이미지와 이미지 프롬프트 간의 CLIP 이미지 임베딩 유사도.
  • CLIP-T: 생성된 이미지와 이미지 프롬프트의 캡션 간의 CLIPScore.

 

이 두 지표의 평균값을 CLIP ViT-L/14 모델을 사용하여 모든 생성된 이미지에 대해 계산하였다. 오픈소스 SeeCoder는 추가적인 구조적 제어를 사용하며, ControlNet Reference-only는 웹 프레임워크로 제공되기 때문에, 해당 방법들에 대해서는 정성적 평가만 수행하였다. 비교 결과는 Table 1에 제시되어 있다. 결과를 보면, 제안된 방법은 다른 어댑터보다 훨씬 우수하며, 22M의 파라미터만으로도 파인튜닝된 모델에 필적하거나 그보다 나은 성능을 보였다.

 

4.2.2 Qualitative Comparison

Figure 3: The visual comparison of our proposed IP-Adapter with other methods conditioned on different kinds and styles of images.

 

다양한 종류와 스타일의 이미지를 선택하여 본 방법을 정성적으로 평가하였다. 프라이버시 문제로 인해 실제 얼굴이 포함된 이미지는 합성 이미지로 대체하였다. SeeCoder의 경우, ControlNet의 스크리블 제어(scribble control)를 사용하여 이미지를 생성하였고, ControlNet Reference-only에서는 BLIP 캡션 모델로 생성된 캡션을 추가 입력으로 사용하였다. 각 이미지 프롬프트에 대해 무작위로 4개의 샘플을 생성하고, 각 방법에서 가장 우수한 결과를 선택하여 공정성을 보장하였다.

 

Figure 3에서 볼 수 있듯이, 제안된 IP-Adapter는 이미지 품질과 참조 이미지와의 정렬 측면에서 대부분의 경우 다른 어댑터보다 우수하다. 또한, 본 방법은 파인튜닝된 모델보다 약간 더 나은 성능을 보이며, 대부분의 경우 처음부터 학습된 모델과도 비교할 만한 성능을 발휘하였다.

 

결론적으로, 제안된 IP-Adapter는 사전 학습된 텍스트-이미지 diffusion models에서 이미지 프롬프트를 활용한 생성 능력을 구현하기 위한 경량화되고 효과적인 방법이다.

 

4.3 More Results

제안된 IP-Adapter는 이미지 프롬프트를 활용한 생성을 목표로 설계되었지만, 강력한 일반화 능력을 바탕으로 보다 광범위한 응용 분야에 활용될 수 있다. Talbe 1에서 보듯이, IP-Adapter는 custom models에 재사용 가능할 뿐만 아니라, 기존의 controllable tool 및 텍스트 프롬프트와도 호환된다. 이 섹션에서는 IP-Adapter가 생성할 수 있는 추가적인 결과를 제시한다.

 

4.3.1 Generalizable to Custom Models

Figure 4: The generated images of different diffusion models with our proposed IP-Adapter. The IP-Adapter is only trained once.

 

훈련 단계에서 원래 diffusion model을 고정(freeze)하기 때문에, IP-Adapter는 ControlNet과 같은 다른 어댑터들처럼 SD v1.5에서 파인튜닝된 사용자 정의 모델에도 일반화될 수 있다. 즉, IP-Adapter가 한 번 학습되면 동일한 기반 모델에서 파인튜닝된 사용자 정의 모델에 직접 재사용할 수 있다. 이를 검증하기 위해, 우리는 HuggingFace 모델 라이브러리에서 세 가지 커뮤니티 모델을 선택하였다: Realistic Vision V4.0, Anything v4, ReV Animated. 이 모델들은 모두 SD v1.5에서 파인튜닝된 모델이다.

 

Figure 4에서 보듯이, IP-Adapter는 이러한 커뮤니티 모델에서도 잘 작동한다. 더욱이, 생성된 이미지는 커뮤니티 모델의 스타일과 혼합될 수 있다. 예를 들어, 애니메이션 스타일 모델인 Anything v4를 사용할 경우 애니메이션 스타일의 이미지를 생성할 수 있다. 흥미롭게도, IP-Adapter는 SD v1.4에도 바로 적용 가능하다. 이는 SD v1.5가 SD v1.4를 기반으로 더 많은 학습 단계를 거쳐 훈련되었기 때문이다.

 

4.3.2 Structure Control

Figure 5: Visualization of generated samples with image prompt and additional structural conditions. Note that we don’t need fine-tune the IP-Adapter.

 

텍스트-이미지 diffusion models의 application 중 하나는 추가적인 구조적 제어를 통해 이미지를 생성하는 것이다. 제안된 IP-Adapter는 원래 네트워크 구조를 변경하지 않기 때문에, 기존의 제어 도구들과 완전히 호환된다. 결과적으로, 이미지 프롬프트와 추가적인 조건을 결합하여 제어 가능한 이미지를 생성할 수 있다. 

 

여기에서는 IP-Adapter를 두 가지 기존 제어 도구인 ControlNet과 T2I-Adapter와 결합하였다. Figure 5는 이미지 프롬프트와 다양한 구조적 제어를 활용하여 생성된 샘플들을 보여준다. 첫 두 행의 샘플은 ControlNet 모델로 생성되었으며, 마지막 행의 샘플은 T2I-Adapter로 생성되었다. IP-Adapter는 이러한 도구들과 효과적으로 작동하여 파인튜닝 없이도 더욱 제어 가능한 이미지를 생성한다.

 

Figure 6: Comparison of our IP-Adapter with other methods on different structural conditions.

 

또한, 구조적 제어 생성에서 IP-Adapter와 다른 어댑터들을 비교한 결과는 Figure 6에 제시되어 있다. T2I-Adapter와 Uni-ControlNet에서는 기본적으로 제공되는 다중 조건(composable multi-conditions)을 사용하였고, SeeCoder와 IP-Adapter에서는 ControlNet을 활용하여 구조적 제어를 구현하였다. ControlNet Shuffle과 ControlNet Reference-only에서는 Multi-ControlNet을 사용하였다. 결과에서 볼 수 있듯이, 제안된 방법은 이미지 품질 측면에서 다른 방법들보다 뛰어나며, 참조 이미지와의 정렬에서도 더 우수한 성능을 보인다.

 

4.3.3 Image-to-Image and Inpainting

Figure 7: Examples of image-to-image and inpainting with image prompt by our IP-Adapter.

 

텍스트-이미지 생성 외에도, 텍스트-이미지 diffusion models는 SDEdit을 활용하여 텍스트 기반의 이미지-이미지 변환(image-to-image) 및 인페인팅(inpainting)을 수행할 수 있다. Figure 7에서 보이듯이, 텍스트 프롬프트를 이미지 프롬프트로 단순히 교체함으로써 이미지 기반의 이미지-이미지 변환 및 인페인팅도 가능하다.

 

4.3.4 Multimodal Prompts

Figure 8: Generated examples of our IP-Adapter with multimodal prompts.

 

완전히 파인튜닝된 이미지 프롬프트 모델의 경우, 원래의 텍스트-이미지 생성 능력이 거의 상실된다. 그러나 제안된 IP-Adapter를 사용하면 이미지 프롬프트와 텍스트 프롬프트를 포함한 멀티모달 프롬프트로 이미지를 생성할 수 있다. 특히, 이러한 기능은 커뮤니티 모델에서 탁월한 성능을 발휘하는 것을 확인하였다. 멀티모달 프롬프트를 사용할 때, 추론 단계에서 \( \lambda \)를 조정하여 이미지 프롬프트와 텍스트 프롬프트 간의 균형을 맞출 수 있다.

Figure 8은 Realistic Vision V4.0 모델을 사용하여 멀티모달 프롬프트로 생성된 다양한 결과를 보여준다. 추가적인 텍스트 프롬프트를 사용하여 더 다양한 이미지를 생성할 수 있으며, 간단한 텍스트 설명을 통해 이미지 프롬프트를 기반으로 속성을 편집하거나 장면을 변경하는 것도 가능하다. 

 

Figure 9: Comparison with multimodal prompts between our IP-Adapter with other methods.


또한, 우리는 IP-Adapter를 Versatile Diffusion, BLIP Diffusion, Uni-ControlNet, T2I-Adapter, ControlNet Shuffle, ControlNet Reference-only와 비교하였다. 비교 결과는 Figure 9에 나타나 있다. 다른 기존 방법들과 비교했을 때, 제안된 방법은 이미지 품질과 멀티모달 프롬프트와의 정렬 측면에서 더 우수한 결과를 생성할 수 있다.

 

4.4 Ablation Study

4.4.1 Importance of Decoupled Cross-Attention

Figure 10: Comparison results of our IP-Adapter with simple adapter. The decoupled cross-attention strategy is not used in the simple adapter.

 

Decoupled cross attention 전략의 효과를 검증하기 위해, decoupled cross attention 없이 simple adapter와도 비교를 수행하였다. Simple adapter는 이미지 특징과 텍스트 특징을 결합한 후, 이를 사전 학습된 cross attention layers에 임베딩한다. 공정한 비교를 위해, 두 어댑터를 동일한 설정으로 200,000 스텝 동안 학습하였다. 

Figure 10은 decoupled cross attention을 사용하는 IP-Adapter와 simple adapter를 비교한 예제를 제공한다. 관찰한 바와 같이, IP-Adapter는 simple adapter에 비해 더 높은 품질의 이미지를 생성할 뿐만 아니라, 이미지 프롬프트와 더 일관된 이미지를 생성할 수 있다.

 

4.4.2 Comparison of Fine-grained Features and Global Features

Figure 11: The visual difference of generated samples between the IP-Adapter with global features and the IP-Adapter with fine-grained features.

 

IP-Adapter는 CLIP 이미지 인코더에서 글로벌 이미지 임베딩을 활용하기 때문에 참조 이미지의 일부 정보를 잃을 수 있다. 이를 보완하기 위해, fine-grained features에 조건화된 IP-Adapter를 설계하였다. 

우선, CLIP 이미지 인코더의 마지막에서 두 번째 layer에서 grid features을 추출한다. 그런 다음, 작은 쿼리 네트워크를 사용하여 특징을 학습한다. 구체적으로, 가벼운 트랜스포머 모델을 사용하여 그리드 특징에서 정보를 추출하기 위해 16개의 학습 가능한 토큰을 정의한다. 쿼리 네트워크에서 나온 토큰 특징은 cross attention layers의 입력으로 사용된다.

두 어댑터의 결과는 Figure 11에 제시되어 있다. fine-grained features을 사용하는 IP-Adapter는 이미지 프롬프트와 더 일관된 이미지를 생성할 수 있지만, 공간적 구조 정보를 학습하여 생성 이미지의 다양성이 줄어들 수 있다. 그러나 텍스트 프롬프트나 구조 맵과 같은 추가적인 조건을 이미지 프롬프트와 결합하면 더 다양한 이미지를 생성할 수 있다. 예를 들어, 추가적인 사람 자세 (human poses)의 가이던스를 활용하여 새로운 이미지를 합성할 수 있다.

 

5. Conclusions and Future Work

본 연구에서는 사전 학습된 텍스트-이미지 diffusion models에 이미지 프롬프트 기능을 구현하기 위해 IP-Adapter를 제안하였다. IP-Adapter의 핵심 설계는 이미지 특징을 위한 별도의 cross attention layers를 포함하는 decoupled cross attention 전략에 기반하고 있다. 정량적 및 정성적 실험 결과, 단 22M의 파라미터를 가진 IP-Adapter가 일부 완전 파인튜닝된 이미지 프롬프트 모델 및 기존 어댑터들보다 필적하거나 더 우수한 성능을 발휘함을 보여주었다.

더 나아가, IP-Adapter는 단 한 번의 학습만으로 동일한 기반 모델에서 파생된 사용자 정의 모델 및 기존 구조적 제어 도구와 직접 통합될 수 있어 활용 범위를 확장한다. 특히, 이미지 프롬프트와 텍스트 프롬프트를 결합하여 멀티모달 이미지 생성을 달성할 수 있다.

그럼에도 불구하고, IP-Adapter는 참조 이미지의 내용과 스타일을 닮은 이미지만 생성할 수 있으며, Textual Inversion이나 DreamBooth와 같은 기존 방법처럼 주제와 고도로 일치하는 이미지를 합성하지는 못한다. 앞으로는 이러한 일관성을 더욱 강화하기 위한 강력한 이미지 프롬프트 어댑터를 개발하는 것을 목표로 하고자 한다.