[23’ CVPR] ZegCLIP: Towards Adapting CLIP for Zero-shot Semantic Segmentation

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

ZegCLIPOne-stage CLIP Zero-shot Semantic Segmentation 방법을 처음으로 제안한 논문이다. 지금까지 많은 Zero-shot Semantic Segmentation 방법들은 두 단계로 이루어진다. 첫 번째 단계에서는 Mask Proposal Model을 이용하여 Region Proposal을 제시하고, 두 번째 단계에서는 이를 CLIP을 이용하여 Zero-shot Classification을 수행한다. 그러나 이는 복잡하고 계산량이 많으며, CLIP의 Zero-shot ability를 온전히 활용하지 못한다. ZegCLIP은 CLIP의 zero-shot prediction을 pixel level로 확장하는 방법을 제시한다.


1. Preliminaries

들어가기에 앞서, 지금까지 제시되었던 Two-stage Zero-shot Semantic Segmentation 방법들을 살펴보자. 여기서는 해당 논문에서 Baseline으로 사용한 zssegZegformer에 대해 간단히 살펴보고자 한다.


1.1. zsseg

image

zsseg는 이러한 Two-stage framework를 제시한 논문이다. 해당 모델은 Mask Proposal Model을 이용하여 Region Proposal을 제시하고, 이를 CLIP을 이용하여 Zero-shot Classification을 수행한다. 이때 Mask Proposal Model은 MaskFormer를 사용하였다.


1.2. Zegformer

  • [22’ CVPR] Decoupling Zero-Shot Semantic Segmentation
    • 기존의 Pixel-level Segmentation은 Seen object와 Unseen object의 의미를 잘 통합하지 못한다는 문제점을 지적함
    • ZS3(Zero-Shot Semantic Segmentation)을 (1) Class-agnostic Grouping과 (2) Segment-level Zero-shot Classification 문제로 분리하여 해결하는 방법을 제시함

image

Zegformerzsseg와 유사하게 Mask Proposal Model을 사용하여 Region Proposal을 제시하고, CLIP을 이용한 Classification을 수행한다. 그러나 이 때 Mask Proposal에서 얻은 SSE(Segment-level Semantic Embedding)을 이용하여 Class-agnostic Grouping을 수행하고, 이를 통해 Classification을 수행한다는 점에서 차이를 보인다.

image


2. Method

image

ZegCLIPzsseg, ZegFormer와 달리 추가적인 Image Encoder 없이도 Inductive Reasoning, 즉 unseen class에 대한 Zero-shot Prediction을 수행할 수 있다. 이제 이를 구체적으로 살펴보자.


2.1. Baseline: One-stage Text-Patch Matching

image

저자들은 먼저 간단한 One-stage Framework를 제시하여 실험하였다. 즉, Patch-level Image Embedding과 Text Embedding을 매칭하여 Segmentation을 수행하는 간단한 구조를 만든 것이다. 수학적으로는 다음과 같다.

먼저 $C$개의 Class Embedding $\mathbf{T} = [\mathbf{t}^ 1, \mathbf{t}^ 2, …, \mathbf{t}^ C]$와 $N$개의 Patch-level Image Embedding $\mathbf{H} = [\mathbf{h}^ 1, \mathbf{h}^ 2, …, \mathbf{h}^ N]$이 주어졌다고 가정하자. 그리고 $\mathbf{T} \in \mathbb{R}^ {C \times d}$, $\mathbf{H} \in \mathbb{R}^ {N \times d}$이다. 그리고 Attention 시 Query, Key, Value는 다음과 같이 정의된다.

image

최종적인 Segmentation Mask는 여기서 Attention Map을 구한 뒤, $\arg \max$를 취하여 얻을 수 있다.

image

저자들은 여기에 3개의 Contribution을 제시하며 모델 구조에서의 문제를 해결하였다.

image

  1. How to update the CLIP image encoder: DPT(Deep Prompt Tuning)을 사용해 CLIP은 그대로 두고 PEFT를 진행한다.
  2. How to train the segmentation model: 일반적으로 Segmentation Mask를 학습시키기 위해 Softmax 후 Cross Entropy Loss를 사용한다. 그러나 저자들은 이러한 간단한 방법은 성능이 좋지 않다고 지적하며, Non-mutually Exclusive Loss (NEL)를 제시한다.
  3. Design of query embedding $\mathbf{T}$: CLIP Text Embedding을 그대로 사용하는 것은 overfitting을 유발한다. 대신, 저자들은 Text Token과 Image Token을 모두 사용한 Relationship Descriptor (RD)를 사용한다.


2.2. Deep Prompt Tuning (DPT)

image

저자들은 DPT(Deep Prompt Tuning), 혹은 Prefix Tuning이라 불리는 PEFT 방법을 사용하여 CLIP을 업데이트하였다. CLIP을 학습시키지 않는 것은 성능에 치명적이지만, 단순히 CLIP을 Fine-tuning하는 것은 Overfitting으로 인해 Unseen Class에 대한 Zero-shot Prediction을 수행할 수 없다. 대신 DPT는 이러한 문제를 적절히 해결할 수 있다.


2.3. Non-mutually Exclusive Loss (NEL)

저자들은 일반적인 CE(Cross Entropy) Loss를 사용하는 것은 Mutually Exclusive Loss를 사용하는 것으로, Class 사이에 Mutual Exclusive Relationship을 가정한다. 즉, Seen interest 중 하나에 무조건 해당 Patch가 할당되어야 한다는 것이다. 그러나 이는 Unseen interest에 대한 일반화 성능에 치명적인 영향을 미친다. 대신 BCE(Binary Cross Entropy) Loss를 사용하여 이러한 문제를 해결할 수 있다. 여기서는 정확히 BCE의 변형인 Focal Loss와, 추가적으로 Dice Loss를 사용하여 그 문제를 해결하였다.

image


2.4. Relationship Descriptor (RD)

Text Embedding과 Patch Embedding 사이 Attention Map을 사용하여 Segmentation을 수행하는 것은 굉장히 직관적이지만, 실제로는 Overfitting을 유발한다. 이는 seen-class dataset에서만 matching capability가 높아지기 때문일 것이라고 추측된다. 따라서 저자들은 Relationship Descriptor (RD)를 사용하여 이를 해결하였다. 즉, CLIP의 text embedding이 아닌 CLIP의 기존 학습 목표였던 matching score를 사용하면 이러한 문제가 해결될 것이라 본 것이다.

image

즉, matching score $r^ c = [r^ c _ 1, r^ c _ 2, …, r^ c _ d] \in \mathbb{R}^ d$와 text embedding을 모두 사용하여 decoder conditional input으로 제공한다.

image


3. Experiments

3.1. Main Results

image image

ZegCLIPzssegZegformer에 비해 성능이 높았다. 놀라운 점은 Mask Proposal Model을 사용하지 않았음에도 불구하고, Two-stage Framework가 아닌 One-stage Framework만으로도 성능이 높았다는 것이다. 굉장히 직관적인 Framework로 성능을 높일 수 있다는 점이 매우 흥미로웠다.


3.2. Ablation Study

image

전체 Abalation Study를 살펴보면 세 가지 요소인 DPT(Deep Prompt Tuning), Non-mutually Exclusive Loss (NEL), Relationship Descriptor (RD)가 성능 향상에 큰 영향을 미친다는 것을 알 수 있다.


💡 Summary

ZegCLIPOne-stage CLIP Zero-shot Semantic Segmentation 방법을 처음으로 제안한 논문이다. CLIP의 Zero-shot Prediction을 Pixel-level로 확장하는 효과적인 방법을 제안했다는 점에서 의미가 있고, 정말 CLIP의 Zero-shot Prediction을 최대한 활용했다는 점에서 좋은 모델 구조를 제안했다고 생각한다. 또한 DPT, NEL, RD를 통해 성능을 높였다는 점에서도 매우 흥미로운 논문이었다.


📃 Reference


Vision 카테고리 내 다른 글 보러가기

댓글 남기기