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. 기존 연구의 문제점
- CLIP의 한계:
- CLIP은 이미지-텍스트 쌍의 대규모 데이터로 훈련되었지만, 로컬 패치 간의 공간적 일관성을 학습하지 못함.
- Attention 매커니즘이 글로벌 문맥에 중점을 두며, 로컬 영역의 세밀한 표현이 희생됨.
- 기존 접근법의 한계:
- 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)
- Training-Free Framework: 훈련 없이 CLIP과 VFMs를 결합하는 새로운 방법론을 제안.
- Proxy Attention Module (PAM): VFM의 특징 맵을 Proxy Attention으로 활용하여 CLIP의 공간적 일관성을 강화.
- Normalization & Masking Strategy: 다양한 VFMs와의 호환성을 보장하면서 로컬 특징의 표현력을 극대화.
- State-of-the-Art Results: 여러 벤치마크에서 기존 방법을 뛰어넘는 성능을 달성하며, 특히 zero-shot 전이 성능을 유지.
5. ProxyCLIP의 모델 프레임워크
- 구성 요소:
- CLIP Image Encoder: 의미적 표현을 담당하며, zero-shot 텍스트-이미지 정렬을 제공.
- VFM Image Encoder: 공간적으로 일관된 로컬 패치 표현을 생성.
- Proxy Attention Module (PAM):
- CLIP의 value embeddings과 VFM의 query-key embeddings을 결합.
- VFMs의 특징 맵을 사용하여 CLIP의 Attention을 재구성.
- 처리 흐름:
- VFM에서 패치 간 유사성을 계산하여 Proxy Attention Score를 생성.
- Adaptive Normalization & Masking을 적용해 불필요한 상호작용을 제거.
- 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
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을 결합하여 두 모델의 강점을 통합합니다. 이 프레임워크는 다음의 세 가지 주요 컴포넌트로 구성됩니다:
- CLIP Image Encoder:
- 의미적으로 정렬된 텍스트-이미지 표현을 제공합니다.
- value embeddings를 생성해 세그먼트의 기반 표현으로 사용됩니다.
- VFM Image Encoder:
- 공간적으로 일관된 로컬 패치 표현을 생성합니다.
- query와 key embeddings를 생성해 Attention 점수를 계산하는 데 사용됩니다.
- Proxy Attention Module (PAM):
- VFM에서 얻은 Attention 점수를 CLIP의 value embeddings과 결합하여 의미적으로 일관된 로컬 패치 표현을 생성합니다.
3. Proxy Attention Module (PAM)
핵심 아이디어
- VFM의 feature correspondence를 Proxy Attention Score로 활용하여 CLIP의 로컬 패치 표현을 개선합니다.
수식
- 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가 됨
- 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)
- 특징 점수 정렬:
- Proxy Attention이 로컬 정보의 맥락적 연속성을 유지하며, 의미적으로 관련 있는 패치를 선택하도록 설계.
4. Adaptive Normalization & Masking
문제
- 다양한 VFM은 서로 다른 inductive bias를 가지며, Proxy Attention Score의 consistency(일관성)와 separateness(분리성)가 보장되지 않을 수 있음.
- DINO와 SAM의 특징 표현은 서로 다른 inductive bias를 가지며, Attention Score의 분포가 달라질 수 있음.
- 예를 들어, Fig. 4의 왼쪽 그래프에서 DINO의 코사인 유사도의 중앙값은 0.22인데 반해, SAM의 중앙값은 0.57로 더 높음.
- 이러한 분포의 불일치는 Proxy Attention이 일관되게 작동하지 못하게 함
해결 방법
- 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 의 오른쪽 그래프가 보정된 결과
- Masking:
- Attention Score에는 패치 간의 부정적인 상호작용(음의 유사도)도 포함될 수 있음
- 이러한 음의 값은 불필요하거나 의미 없는 정보 간의 상호작용을 초래
- 부정적 상호작용을 억제하기 위해 Attention Score가 0보다 작으면 -∞로 설정: $$M_{ij} = \begin{cases} 0, & \text{if } A_{ij} ≥ 0 \\ -∞, & \text{if } A_{ij} < 0 \end{cases}$$
- 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)
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 없이도 좋은 결과를 보여줌