논문 리뷰

PØDA: Prompt-driven Zero-shot Domain Adaptation [ICCV 2023]

주디언니 2024. 7. 31. 18:11

https://github.com/astra-vision/PODA

Multimodal 논문 리뷰 및 구현 스터디에서 선정한 Visual Prompting 논문입니다.
성능 개선을 위한 시각으로 꼼꼼하게 읽었습니다!

 

서론

📝 Abstract & Introduction

  • semantic segmentation 분야에서 domain adaptation
  • 대상 도메인 이미지 필요 x, PIN을 이용한 zero-shot 수행

▪️ Problem : 도메인 적응은 컴퓨터 비전에서 광범위하게 조사되었지만, 

1) 여전히 훈련에 대상 이미지에 액세스해야합니다. ( 타겟 데이터 수집의 어려움)

2) 분포가 다른(out-of-distribution) 데이터에서는 성능이 급격히 떨어지는 문제가 있습니다.

 

▪️  Contribute  : 프롬프트만을 사용하여 소스 도메인에서 훈련된 모델을 zero-shot으로 adaptation

 

1 - PIN(Prompt-Driven Instance Normalization) : 사전 훈련된 CLIP(Contrastive Vision-Language Model)을 활용하여 소스 기능의 affine transform을 최적화하고 콘텐츠와 의미를 유지하면서 대상 텍스트 임베딩 방향으로 조정합니다.

 

2 - Prompt-driven augmentations을 사용한 zero-shot domain adaptation : 실험에 따르면 다운스트림 작업에 대한 여러 데이터 세트에서 CLIP-based style transfer baselines 보다 훨씬 뛰어난 성능을 발휘하며,

심지어 one shot unsupervised domain adaptation 을 능가하는 것으로 나타났습니다.

semantic segmentation 뿐만 아니라 객체 감지 및 이미지 분류에서도 유사한 향상이 관찰됩니다.

 

 

📝 선행 연구에 기반한 정리

1️⃣ Unsupervised Domain Adaptation (UDA)

2️⃣ Text-driven image synthesis

 

1️⃣ Unsupervised Domain Adaptation (UDA)

 : 라벨이 있는 소스 도메인 데이터와 라벨이 없는 타겟 도메인 데이터를 사용하지만 ,  타겟 데이터 수집이 어렵습니다.

 

▪️  주요 접근 방식으로는 adversarial learning, self-training, entropy minimization, generative-based adaptation 등이 있습니다. 도메인 간 차이는 주로 입력, 특성 또는 출력 수준에서 줄여집니다.

▪️  One-Shot Unsupervised Domain Adaptation (OSUDA) : 하나의 라벨 없는 타겟 이미지만을 사용 [각주:1]

▪️ Zero-Shot Setting : 타겟 이미지가 전혀 없는 상황 [각주:2]

 

👉 PØDA 는 다양한 프롬프트에 기반한 zero-shot adaptation에 집중합니다.

 

2️⃣ Text-driven image synthesis

: 이미지-언어 사전 학습 (contrastive image-language pretraining)의 다양한 다운스트림 작업을 수행할 수 있습니다.

기존의 방법들은 주로 픽셀 공간에서 CLIP 잠재 공간으로 매핑하는 최적화 과정을 사용합니다.

▪️ StyleCLIP , StyleGAN-NADA, FlexIT, CLIPstyler [각주:3]

👉 PØDA는 이미지의 픽셀 값을 직접 조정하지 않고,  사전 학습된 CLIP visual encoder의 깊은 feature을 직접 조작합니다.

사전 학습된 CLIP 모델의 비주얼 인코더는 소스 이미지를 입력으로 받아 고차원(즉 , 다채널 -다양한 특징 capture) 특징 맵(feature map)을 생성합니다. 저자는 이 feature map을 조작함으로써[각주:4] 다시 디코더를 통해 최종 타겟 이미지를 생성하거나 분할 결과를 얻습니다.

결과: PØDA는 CIConv, SM-PPM, CLIPstyler보다 더 높은 성능을 보였습니다. ( PØDA for Other Tasks ) 

"We note that a common point in prior works is the mapping from pixel-space to CLIP latent space during the optimization process. In contrast with this, we directly manipulate deep features of the pre-trained CLIP visual encoder."

 

본론

📝 도전 과제와 overview


✏️ 도전 과제 :

▫️ 타겟 도메인 이미지를 보지 않고도 유용한 특성을 생성해야합니다. 

 

▫️ 특성을 변환하면서도 픽셀 단위의 semantic 정보를 유지해야합니다.

▫️ 효과적인 적응을 수행해야합니다.

 

✏️ Overview

feature augmentation , segmentation model fine tuning 

 

▪️ Feature augmentation : CLIP visual encoder로 소스 도메인의 feature map을 생성하고 , CLIP Text encoder로 타겟 도메인 텍스트를 입력받아 텍스트 임베딩을 얻습니다.
여기서 {프롬프트}를 사용하여 텍스트 임베딩과 이미지 임베딩을 CLIP 잠재 공간에서 연결합니다.

그럼 이제 소스 도메인 이미지를 타겟 이미지의 특성으로 변환할 수 있습니다.

 

▪️ 변환된 feature를 사용하여 segmentation 모델(DeepLabv3+) [각주:5] 을 제로샷 방식의 미세 조정을 수행합니다.

 

✏️ Style - Mining

▪️ 1. source 이미지 x 를 받아 , 모델의 피쳐 추출기M를 통해 저수준에서의 특징맵 f를 추출합니다. 

▪️ 2. target 도메인 프롬프트를 CLIP 텍스트 인코더에 입력하여 , target 도메인 설명 임베딩을 얻습니다.

▪️ 3. source 도메인의 특성을 target 도메인 프롬프트로부터 얻은 스타일 정보로 증강합니다. (이때 source 특징맵 f와 증강한 특징맵은 동일한 크기 h x w x c 를 가집니다.) 

 

 

Zero-shot Domain Adaptation
Inference on unseen domains

 

 


3.1. Zero-shot feature augmentation

Adaptive Instance Normalization (괄호 안의 식은 standardize하는 식이다.)

저자들은 채널별 뮤와 시그마[각주:6] 를 사용하여 스타일 정보를 전환하는 AdaIN에서 영감을받았습니다. 이를 통해 타겟의 뮤와 시그마로 소스 특성을 스타일링할 수 있습니다.

Prompt-driven Instance Normalization

타겟 이미지가 없기 때문에 뮤와 시그마를 프롬프트에 의해 최적화 가능한 변수들로 설정했습니다. 

Target Style Mining

저자들이 타겟 스타일(뮤와 시그마)를 최적화할때는, 타겟 도메인의 텍스트 설명 임베딩와 소스 특성 임베딩 간의 코사인 거리 손실 L을 최소화합니다. 

 

▪️ 특성 augmentation = 변환 

변환된 특성 맵은 원본 특성 맵과 같은 의미론적 정보를 유지하지만 , 시각적 스타일은 타겟 도메인의 스타일을 반영합니다.

 

✏️ Fine-tuning for Adaptation

1. 스타일 변환 : 각 iteration마다 , fst=PIN(fs,μt,σt)

2. 변환된 특성 맵을 사용하여 segmentation 모델의 분류기를 미세 조정합니다 .

- 레이블 사용 :

  • 여전히 원래 소스 이미지의 의미론적 내용을 가지고 있기 때문에, 원래 소스 이미지에 해당하는 레이블을  그대로 사용할 수 있습니다.
  • 변환된 특성맵을 모델 분류기에 넣은 예측 결과를 원래 소스 이미지의 레이블 y와 비교하여 loss 계산을 합니다.

 

- Forward pass : 증강된 특성맵을 모델의 나머지 레이어(freeze) 와 분류기(여기만 훈련됨)를 통해 전달합니다.

- Backward pass : 손실 GD를 통해 분류기의 가중치만 업데이트합니다.

이제 이러한 미세조정된 모델 M'으로 새로운 도메인의 조건과 스타일에 대해 평가됩니다.

 

PØDA for semantic segmentation

📝 comparison with CLIPstyler( zero-shot ) 와 SM-PPM( OSUDA )

CLIPstyler

  • 사전 학습된 CLIP 모델 / 프롬프트를 사용하여 소스 이미지를 타겟 스타일로 스타일화합니다.
  • 스타일화된 이미지는 특징적인 스타일을 반영하지만, 이 과정에서 여러 불필요한 인공물을 포함할 수 있어 성능을 저해할 수 있습니다. [각주:7]

SM-PPM :

원샷 비지도 도메인 적응(UDA) 방법으로, 훈련 세트에서 무작위로 선택된 하나의 타겟 이미지를 사용합니다.

PØDA는 순수 제로샷 방식임에도 불구하고, 대부분의 시나리오에서 SM-PPM보다 더 큰 성능 향상을 보였습니다. 이는 PØDA의 간결한 접근 방식과 CLIP 기반 모델의 강력한 성능 덕분입니다.

PØDA는 일반적인 데이터셋에 포함되지 않은 드문 조건에서도 성능을 향상시킬 수 있음을 보여줍니다.

 

 

 

4.3. Ablation Studies

1. TrgPrompt Selection

- 유의미한 프롬프트 : ChatGPT4에 동일한 의미를 갖는 5개의 프롬프트를 요청하여 생성한 프롬프트를 사용합니다.

적응 성능이 텍스트 표현에 크게 영향 받지 않습니다.

- 무작위 프롬프트 :

  • ChatGPT4에 무작위로 선택된 사진을 설명하는 3~6단어의 프롬프트 6개를 요청하여 생성합니다.
  • 무작위 프롬프트는 부정적인 전이를 일으킬 수 있습니다.

 

2. 특성 증강 선택

- DeepLabV3+ 세그멘테이션 모델에서 어떤 레이어의 특성을 증강할지 ? Layer1만 증강하는 것이 가장 좋은 성능을 보였습니다.

 

3. 마이닝된 스타일의 수

- 증가할수록 성능의 분산이 감소. 적은 수의 스타일로도 일정 수준의 성능을 달성할 수 있지만 , 분산이 높습니다.

 

4. 백본의 부분적 고정 (Partial Freezing)

- 백본 전체 freeze가 가장 좋은 성능을 보였습니다.

 

 

4.4. Further Discussion

일반화 성능 평가 (Table 7)

  • Source-only-G: Source-only 모델보다 항상 더 나은 성능을 보였습니다.
  • PØDA-G: Source-only-G 모델을 기반으로 PØDA를 적용한 것으로 , 타겟 도메인에서 추가적인 성능 향상을 보였습니다.
  • Style-mix: SM-PPM에서 사용하는 스타일 혼합 기법을 추가로 적용하면 성능이 더욱 향상되었습니다.

기존 기법들과의 결합 가능성 (Table 8)

  • CIConv: 물리적 우선순위를 사용하는 제로샷 도메인 적응 기법. 매우 높은 계산 자원이 필요
  • CLIPstyler: 텍스트 우선순위를 사용하는 제로샷 style transfer 기법.
  • SM-PPM: 타겟 샘플 하나를 사용하는 원샷 도메인 적응 기법.

결과:

  • 이미지 수준 증강(CLIPstyler)과 특성 수준 증강(PØDA)을 결합하거나, 타겟 샘플의 스타일 정보를 추가로 사용하는 등의 결합 가능성이 있습니다.

다른 아키텍처에서의 성능 (Table 9)

  • 새로운 백본(RN101)과 세그멘터(semantic FPN)를 사용하여 PØDA의 성능을 평가합니다.
  • PØDA는 다른 아키텍처에서도 일관된 성능 향상을 보였습니다.

Training from Scratch on Augmented Features

PØDA에서는 일반적으로 소스 온리 훈련된 모델로 시작하여 (Algorithm 2, line 2), 증강된 특성에서 미세 조정을 수행합니다 (Algorithm 2, line 5). 이는 도메인 적응의 일반적인 설정입니다. 그러나 우리의 방법은 라벨 보존을 가정하므로, 증강된 특성에서 처음부터 모델을 훈련하는 실험도 수행했습니다. 결과(Table 13)는 첫 번째 source only 훈련 단계의 중요성을 보여줍니다.

 

추가

▪️ PØDA는 훈련 과정에서 타겟 데이터셋을 전혀 사용하지 않습니다. 특정 데이터셋에서만 성능 향상이 일어난 것이 아님을 보여주기 위해, "driving at night" 프롬프트를 사용하여 두 개의 추가 야간 운전 씬 데이터셋에서 모델의 성능을 성공적으로 평가했습니다:

  • Nighttime Driving [13]: 50개의 주석이 달린 야간 운전 씬 이미지
  • NightCity [47]: 전 세계 여러 도시에서 수집된 4297개의 야간 운전 씬으로 구성된 대규모 데이터셋.

▪️  뮤와 시그마의 분포

 

최적화된 μ\muσ\sigma의 분포를 보면, 채널마다 통계값의 분포가 다름을 알 수 있습니다. 이는 각 채널이 서로 다른 스타일 정보를 가지고 있음을 의미합니다. 이 그림은 각 채널의 최적화된 통계값이 다양한 분포를 가지고 있음을 시각적으로 보여줌으로써, PØDA의 특성 증강 과정에서 스타일 변환이 어떻게 이루어지는지 이해하는 데 도움을 줍니다.

 

결론

이 연구에서는 CLIP 모델의 강력한 제로샷 능력을 활용하여 프롬프트를 이용한 새로운 도메인 적응 작업을 가능하게 했습니다. 
PØDA는 Source featrure의 Style feature을 조정하여 타겟 도메인에서 증강된 특성을 합성하는 비용 효율적인 특성 증강 메커니즘을 제안했습니다.
광범위한 실험을 통해 특히 semantic segmentation서 PØDA 의 프레임워크의 효과가 입증되었습니다. 또한, 다른 작업 및 다양한 백본에 대한 적용 가능성도 보여주었습니다. 

 

🔺 추가 실험

Style Mining Initialization: 다른 초기화 전략을 사용한 결과를 보고합니다. 원본 통계 대신 미리 정의된 또는 무작위 초기화로 시작하면 성능이 크게 저하됩니다. CLIP 코사인 거리 손실에서 정규화 항을 사용하지 않기 때문에, 소스 이미지의 통계로 초기화하는 것이 일종의 정규화 역할을 하여 의미론적 내용을 더 잘 보존합니다.

4.4. Further Discussion - Style Mixing:

스타일 혼합은 원래와 증강된 통계를 무작위로 혼합하여 최종 증강된 특성에 특정 변화를 도입합니다. 이는 특성 증강의 다양성을 높이는 데 유효합니다.

 

 

 

Visual Prompting에 대해 생소했는데 ,
PØDA는 특성 수준에서 작동하므로 작업에 구애받지 않는(task-agnostic) 접근 방식이라
매력적이라고 생각했습니다. 
    • Luo et al. (2020) style mining algorithm :
      • 주어진 타겟 이미지의 스타일을 기반으로 소스 이미지들의 스타일을 변환하여 다양한 style의 image를 생성 기술(GAN ,etc.)을 이용하여 생성하면 ,이 이미지를 활용하여 모델을 훈련시킵니다. 
    • Wu et al. (2021) SM-PPM  : 
      • Style Mixing : random sampled 소스 이미지 패치의 특성의 채널별 평균 및 표준편차를 타겟 이미지의 패치와 선형 혼합하여 새로운 스타일의 이미지를 생성합니다. 
      • PPM :  타겟 이미지의 각 패치들의 특성(ex.도로,건물,하늘 중 도로)이 소스 도메인의 프로토타입 (ex.도로,건물,하늘 중 도로) 중 가장 유사한 것과 매칭됩니다. 매칭된 소스 도메인 프로토타입( =유사한 특성을 가진 패치들의 중심(대표) 벡터) 을 기반으로 모델을 학습합니다. 
      • 🤔 패치 수준에서 작업하는 이유 ?
        • 이미지의 작은 부분들까지도 고려할 수 있어 , 도메인 간의 미세한 차이를 더 반영할 수 있다. 
        • 한 이미지 내에서도 조명 , 질감 , 색상 등이 다를 수 있음
        • 특정 스타일에 과적합되는 것을 방지할 수 있음.

    [본문으로]

    • Lengyel et al. (2021) CIConv) : 다양한 조명 조건에 대해 불변하도록(낮, 밤) 합니다. 조명 조건에 따라 변하지 않는 특성을 학습하도록 네트워크를 설계합니다. 특정 도메인 차이에만 집중했습니다.

    [본문으로]

  1.  

    • 🤔 픽셀 공간에서 CLIP 잠재 공간으로 매핑하는 최적화 과정을 사용하다 ? 
      • 이미지의 픽셀 값을 조정하여 텍스트 설명과 일치하는 이미지를 생성하거나 수정합니다. 이 과정에서 CLIP 모델을 사용하여 이미지와 텍스트 간의 유사성을 측정합니다. [본문으로]
      • 장점1) 특성 공간에서 조작하는 것은 픽셀 단위로 이미지를 수정하는 것보다 계산 효율이 높을 수 있습니다.

        장점2) 고차원 특성 공간에서의 변형은 이미지의 중요한 시각적 특성을 더 잘 반영할 수 있습니다.

        장점3) 특성 공간에서의 조작은 다양한 도메인과 상황에서 더 나은 일반화 성능을 발휘할 수 있습니다.

        [본문으로]

      • 픽셀 분류헤드 ?

        각 픽셀을 특정 클래스로 분류하는 역할을 함 . DeepLabv3+ 에서 백본(resnet50)이 특성 맵을 추출하면 , 픽셀 분류 헤드는 이 특성 맵을 받아 각 픽셀의 클래스를 예측합니다. [본문으로]

      •    [본문으로]
      • 초반에 언급했듯이 , CLIPstyler은 픽셀 수준에서 이미지 전체를 스타일화(이미지 생성에 특화됨) 하지만 , PODA는 특성 맵 수준에서 스타일 변환(segmentation 모델의 입력으로 사용되는 용) 을 수행합니다. CLIPstyler도 마찬가지로 , 세그멘테이션 모델의 입력에 넣어 훈련될 수 있으나 달라지는 점은 이미지 자체를 넣는다는 것입니다. [본문으로]