본문 바로가기

인공지능/컴퓨터비전

[논문 리뷰] ProxyCLIP: Proxy Attention Improves CLIP for Open-Vocabulary Segmentation

CLIP은 text로부터 주어진 visual concept 인지는 잘하지만 localization ability가 떨어짐
VFMs(e.g. DINO, SAM, etc.)는 공간적으로 일관성 있는 local visual representation 을 얻을 수 있으나 semantic understanding이 떨어짐
ProxyCLIP은 이 둘의 강점을 조합해보겠다는 것. 어떻게?
VFMs의 spatial feature correspondence를 CLIP의 proxy attention 으로 사용.
일관성있는 결과를 위해 adaptive normalization과 masking strategy를 제안함

URL: https://arxiv.org/abs/2408.04883

 

ProxyCLIP: Proxy Attention Improves CLIP for Open-Vocabulary Segmentation

Open-vocabulary semantic segmentation requires models to effectively integrate visual representations with open-vocabulary semantic labels. While Contrastive Language-Image Pre-training (CLIP) models shine in recognizing visual concepts from text, they oft

arxiv.org

 

Overall Review

1. ProxyCLIP의 연구 목적

  • 문제 정의: Open-vocabulary semantic segmentation은 다양한 시각적 개념을 학습된 범위를 넘어 확장하는 것을 목표로 합니다. 이를 위해 시각적 표현과 텍스트 표현을 효과적으로 통합해야 합니다.
  • 핵심 문제: CLIP과 같은 Vision-Language 모델은 강력한 zero-shot 전이 능력을 보이지만, 로컬라이제이션 능력 부족으로 인해 일관된 세그먼트 생성에 한계가 있습니다. 반대로, DINO나 SAM 같은 Vision Foundation Models(VFMs)은 로컬라이제이션에는 뛰어나지만, 개념적 이해가 부족합니다.
  • 목표: CLIP의 의미적 강점과 VFMs의 공간적 일관성을 통합하여, 훈련 없이 성능을 향상시키는 새로운 프레임워크를 제안합니다.

2. 기존 연구의 문제점

  1. CLIP의 한계:
    • CLIP은 이미지-텍스트 쌍의 대규모 데이터로 훈련되었지만, 로컬 패치 간의 공간적 일관성을 학습하지 못함.
    • Attention 매커니즘이 글로벌 문맥에 중점을 두며, 로컬 영역의 세밀한 표현이 희생됨.
  2. 기존 접근법의 한계:
    • Training-Free Methods: CLIP의 Attention 메커니즘을 수정해 성능을 높였지만, CLIP의 본질적 한계(로컬 일관성 부족)를 해결하지 못함.
    • Training-Based Methods: CLIP의 성능을 VFMs에서 지식을 증류하여 향상시켰지만, 추가 훈련이 필요하며 CLIP의 zero-shot 성질이 손상될 가능성이 있음.

3. ProxyCLIP의 문제 해결 방법

  • Proxy Attention: VFMs의 공간적 일관성 있는 특징 맵을 활용해 CLIP의 Attention을 보완함.
  • Adaptive Normalization & Masking:
    • VFM과 CLIP의 서로 다른 inductive bias(특징 학습 방식)를 통합하기 위해 normalization과 masking 기법을 도입.
    • 패치 간의 부정적 상호작용을 억제하고, 문맥적으로 관련 있는 패치의 정보만 강조.
  • Patch Size Optimization:
    • VFMs에서 더 작은 패치 크기(e.g., ViT-B/8)를 사용하여 더 높은 해상도의 특징 맵을 생성.
    • 이를 통해 경계가 더 뚜렷한 세그먼트 맵을 생성.

4. 논문의 주요 기여 (Contributions)

  1. Training-Free Framework: 훈련 없이 CLIP과 VFMs를 결합하는 새로운 방법론을 제안.
  2. Proxy Attention Module (PAM): VFM의 특징 맵을 Proxy Attention으로 활용하여 CLIP의 공간적 일관성을 강화.
  3. Normalization & Masking Strategy: 다양한 VFMs와의 호환성을 보장하면서 로컬 특징의 표현력을 극대화.
  4. State-of-the-Art Results: 여러 벤치마크에서 기존 방법을 뛰어넘는 성능을 달성하며, 특히 zero-shot 전이 성능을 유지.

5. ProxyCLIP의 모델 프레임워크

  • 구성 요소:
    1. CLIP Image Encoder: 의미적 표현을 담당하며, zero-shot 텍스트-이미지 정렬을 제공.
    2. VFM Image Encoder: 공간적으로 일관된 로컬 패치 표현을 생성.
    3. Proxy Attention Module (PAM):
      • CLIP의 value embeddings과 VFM의 query-key embeddings을 결합.
      • VFMs의 특징 맵을 사용하여 CLIP의 Attention을 재구성.
  • 처리 흐름:
    1. VFM에서 패치 간 유사성을 계산하여 Proxy Attention Score를 생성.
    2. Adaptive Normalization & Masking을 적용해 불필요한 상호작용을 제거.
    3. CLIP의 value embeddings와 Proxy Attention Score를 결합하여 의미적으로 정렬된 세그먼트 맵 생성.

6. ProxyCLIP의 결과

  • CLIP의 zero-shot 전이 능력을 유지하면서도, 다양한 벤치마크에서 평균 Intersection over Union (mIoU)를 40.3에서 44.4로 향상.
  • 특히 더 큰 CLIP 모델(ViT-L/14, ViT-H/14)을 사용할 때, 기존 방법이 성능이 떨어지는 반면 ProxyCLIP은 오히려 성능이 개선됨.

Method

Seed(red point) 에서 CLIP의 다양한 Attention score와 VFMs의 feature correspondence 비교

1. Preliminaries and Motivation (배경 및 동기)

Dense prediction을 잘 하기 위해서는 문맥적으로 같은 의미를 공유하는 패치를 선택적으로 포함하고 있는 improved local patch가 있어야 하는데, CLIP 만으로는 이 local patch를 가질 수 없다. VFMs는 강력한 localization 능력을 지녔으며 의미적으로도 일관성 있는 representation을 학습하는 능력이 있다.

CLIP의 한계

  • CLIP은 글로벌 Attention 메커니즘을 사용하여 전역적인 문맥을 잘 포착하지만, 로컬 패치 표현의 정확성이 부족합니다.
  • 이로 인해 dense prediction(예: semantic segmentation)에서 일관된 결과를 생성하기 어렵습니다.

VFMs의 강점

  • DINO, SAM 등의 VFM은 공간적으로 일관성 있는 로컬 표현을 학습할 수 있습니다.
  • 이러한 모델은 semantic segmentation에 적합하지만, 텍스트 표현과의 정렬 능력이 부족합니다.

2. ProxyCLIP 프레임워크

전체 구조

ProxyCLIP은 CLIP과 VFM을 결합하여 두 모델의 강점을 통합합니다. 이 프레임워크는 다음의 세 가지 주요 컴포넌트로 구성됩니다:

  1. CLIP Image Encoder:
    • 의미적으로 정렬된 텍스트-이미지 표현을 제공합니다.
    • value embeddings를 생성해 세그먼트의 기반 표현으로 사용됩니다.
  2. VFM Image Encoder:
    • 공간적으로 일관된 로컬 패치 표현을 생성합니다.
    • query와 key embeddings를 생성해 Attention 점수를 계산하는 데 사용됩니다.
  3. Proxy Attention Module (PAM):
    • VFM에서 얻은 Attention 점수를 CLIP의 value embeddings과 결합하여 의미적으로 일관된 로컬 패치 표현을 생성합니다.

3. Proxy Attention Module (PAM)

핵심 아이디어

  • VFM의 feature correspondence를 Proxy Attention Score로 활용하여 CLIP의 로컬 패치 표현을 개선합니다.

수식

  1. VFM에서 Query-Key Embeddings 계산:
    • VFM의 패치 표현을 x ∈ ℝ^(Lx×Dx)로 정의.
    • Query와 Key를 사용해 Proxy Attention Score를 계산: $$\text{Attn}_p = \text{SoftMax}(x x^T)$$
    • Lx는 visual sequence 의 길이, Dx는 dimension (VFMs)
    • x는 l2 normalization 해주고 따라서 $$x x^T$$는 cosine similarity가 됨
  2. CLIP의 Value Embeddings와 결합:
    • CLIP의 마지막 Attention layer에서 value embeddings v ∈ ℝ^(n×Lv×Dv)를 가져와 이를 Proxy Attention Score를 결합해 로컬 패치 표현을 강화: $$z = \text{Proj}(\text{Attn}_p \cdot v)$$
    • 여기서 Proj는 CLIP의 마지막 Self-Attention Layer의 projection layer의 parameters를 그대로 가져옴
    • n은 heads의 개수, Lv는 visual sequence의 길이, Dv는 dimension (CLIP)
  3. 특징 점수 정렬:
    • Proxy Attention이 로컬 정보의 맥락적 연속성을 유지하며, 의미적으로 관련 있는 패치를 선택하도록 설계.

4. Adaptive Normalization & Masking

문제

Fig. 4 Similarity values

  • 다양한 VFM은 서로 다른 inductive bias를 가지며, Proxy Attention Score의 consistency(일관성)와 separateness(분리성)가 보장되지 않을 수 있음.
  • DINO와 SAM의 특징 표현은 서로 다른 inductive bias를 가지며, Attention Score의 분포가 달라질 수 있음.
  • 예를 들어, Fig. 4의 왼쪽 그래프에서 DINO의 코사인 유사도의 중앙값은 0.22인데 반해, SAM의 중앙값은 0.57로 더 높음.
  • 이러한 분포의 불일치는 Proxy Attention이 일관되게 작동하지 못하게 함

해결 방법

  1. Adaptive Normalization:
    • Attention Score의 평균값을 기준으로 중심을 이동시키고 스케일링: $$A = \gamma(x x^T - \beta \cdot \frac{1}{L^2} \sum_{i,j} [x x^T]_{ij})$$
    • 여기서 β는 shifting factor, γ는 scaling factor. (각 1.2, 3 으로 설정)
    • Fig. 4 의 오른쪽 그래프가 보정된 결과
  2. Masking:
    • Attention Score에는 패치 간의 부정적인 상호작용(음의 유사도)도 포함될 수 있음
    • 이러한 음의 값은 불필요하거나 의미 없는 정보 간의 상호작용을 초래
    • 부정적 상호작용을 억제하기 위해 Attention Score가 0보다 작으면 -∞로 설정: $$M_{ij} = \begin{cases} 0, & \text{if } A_{ij} ≥ 0 \\ -∞, & \text{if } A_{ij} < 0 \end{cases}$$
  3. Softmax로 정규화:
    • Normalization과 Masking을 거친 Attention Score에 Softmax를 적용해 최종 Proxy Attention Score 생성: $$\text{Attn}_p = \text{SoftMax}(A + M)$$

효과

  • Adaptive Normalization & Masking은 VFM과 CLIP 간의 불균형을 줄이고, 로컬 패치 표현의 일관성을 강화.

5. Resolution Alignment

문제

  • CLIP과 VFM은 서로 다른 패치 크기(patch size)를 사용하여 feature map을 생성.
    • 예: CLIP ViT-B/16은 패치 크기 16을 사용해 더 낮은 해상도를 생성하지만, VFM(DINO ViT-B/8)은 패치 크기 8을 사용해 더 높은 해상도를 생성.
  • 해상도가 맞지 않으면 두 모델 간 정보 결합이 비효율적일 수 있음.
  • 낮은 해상도에서는 객체 경계와 작은 디테일이 손실될 가능성이 높음.
  • 이는 세밀한 객체 세그먼트를 생성하는 데 어려움을 초래.

해결 방법

  • CLIP과 VFM의 패치 크기를 동일하게 조정(Lv = Lx).
  • 이를 위해 CLIP의 feature map을 VFM과 동일한 해상도로 보간(interpolation)하여 더 높은 공간적 해상도를 제공.
  • 결과적으로, 작은 패치 크기(예: ViT-B/8)를 사용할 때 더 세밀한 경계와 높은 품질의 세그먼트 맵을 생성. (Tab. 3 & Fig. 7)

Tab. 3
Fig. 7


6. Open-Vocabulary Segmentation

1) Vision-Language Space 정렬

(a) CLIP의 로컬 패치 표현

  • Proxy Attention Module(PAM)을 통해 생성된 CLIP의 로컬 패치 표현:  zℝ^(LxD)
    • L: 이미지의 패치 수
    • D: 임베딩 차원(예: CLIP ViT-B/16의 경우 D = 512).
  • 이를 Vision-Language Space로 정렬된 표현으로 변환: z_v=Proj(z), z_vℝ^(Lxd)
    • : Vision-Language Space의 차원

(b) CLIP 텍스트 임베딩

  • CLIP의 텍스트 인코더를 사용해 각 클래스 라벨에 대한 텍스트 임베딩을 생성: $$ z_t=\text{TextEncoder}(\text{"a photo of {label}"}) $$
  • 여기서 각 텍스트 라벨({label})은 세그먼트에 대응하는 잠재적 클래스를 나타냄
    • z_tℝ^(Cxd)
    • C: 클래스 수 (라벨의 개수).
    • d: Vision-Language Space의 차원 (이미지와 동일, d = 512).

2) Patch-Level Classification

(a) 패치와 텍스트 간의 유사도 계산

  • 이미지의 각 패치 와 각 텍스트 라벨간의 코사인 유사도 계산: $$ \text{Sim}(z_{v,i}, z_{t,j}) = \frac{z_{v,i} \cdot z_{t,j}}{\|z_{v,i}\| \|z_{t,j}\|} $$
    • i: 패치 인덱스 (i = 1, ..., L).
    • j: 텍스트 라벨 인덱스 (j = 1, ..., C).

(b) 라벨 할당

  • 각 패치 i는 텍스트 라벨 j 중 가장 유사도가 높은 라벨 j*에 할당: $$j^* = \arg\max_{j} \text{Sim}(z_{v,i}, z_{t,j})$$
  • 이를 통해 각 패치가 어떤 클래스(라벨)에 속하는지 결정.

3) Segmentation Map 생성

(a) Reshape & upsampling

  • 각 패치 의 라벨 정보(j*)를 기반으로 reshape 과 upsampling 을 거쳐 세그먼트 맵 S 생성: S ∈ ℝ^(H×Wx1)
  • L이 H/p x W/p 이므로 L을 reshape하고 upsampling 하면 HxW가 됨

 


Results

  • 다른 Training-free 연구들과 비교했을 때 PAMR, DenseCRF 등의 Post-refinement technique 없이도 좋은 결과를 보여줌