본문 바로가기

인공지능/컴퓨터비전

[논문 리뷰] CLIP as RNN: Segment Countless Visual Concepts without Training Endeavor

Training-free open-vocabulary segmentation
RNN과 유사한 구조를 도입하여, text와 mask간의 정합성을 점진적으로 개선하는 방식을 탐구

https://arxiv.org/abs/2312.07661

 

CLIP as RNN: Segment Countless Visual Concepts without Training Endeavor

Existing open-vocabulary image segmentation methods require a fine-tuning step on mask labels and/or image-text datasets. Mask labels are labor-intensive, which limits the number of categories in segmentation datasets. Consequently, the vocabulary capacity

arxiv.org

 

CaR이 제시하는 기존 연구의 문제점 & 해결 방법

CaR 논문에서는 기존 오픈-보캐뷸러리 세그멘테이션 연구들이 가진 주요 문제점을 분석하고, 이를 해결하는 새로운 접근법을 제안합니다.


🔹 기존 연구의 문제점

기존 Open-vocabulary segmentation방법들은 크게 두 가지 접근 방식으로 나뉩니다.

(1) 마스크 라벨 기반 파인튜닝 방법

🔍 문제점

  • 사전 학습된 비전-언어 모델(VLM) (e.g., CLIP)을 마스크 라벨이 있는 데이터셋으로 파인튜닝하는 방식.
  • 하지만 마스크 라벨을 수집하는 것은 비용이 매우 크며, 따라서 학습 가능한 클래스 수가 제한적임.
  • 파인튜닝 과정에서 사전 학습된 CLIP의 넓은 vocabulary 능력이 손실됨 (Fine-tuning Bias).
  • 예를 들어, OVSeg [35] 같은 모델은 일반적인 객체는 잘 분할하지만, "Pepsi"나 "Coca Cola" 같은 개념은 제대로 인식하지 못함.

(2) 이미지-텍스트 학습 기반 방법

🔍 문제점

  • 일부 연구들은 마스크 라벨 대신 이미지-텍스트 데이터(e.g., 웹 크롤링 데이터)를 활용하여 학습하는 접근 방식을 사용.
  • 하지만 이미지 레벨 라벨을 기반으로 한 학습은 픽셀 수준의 정밀한 마스크 생성이 어렵고, 정합성이 낮음.
  • 복잡한 파인튜닝 과정이 필요하고, 학습 파이프라인이 매우 무거워짐.

(3) 기존 Training-free 방법의 한계

🔍 문제점

  • 일부 연구들은 CLIP을 직접 활용하여 훈련 없이 세그멘테이션을 수행하려 했음 (e.g., MaskCLIP [84], ReCo [55]).
  • 하지만 CLIP은 이미지-텍스트 일치 학습에 최적화되어 있고, 세그멘테이션처럼 픽셀 단위의 예측에는 부적절함.
  • 따라서 CLIP을 그대로 사용할 경우, 잘못된 마스크가 생성되거나, 불필요한 텍스트 쿼리가 남아있는 문제 발생.

🔹 CaR의 해결 방법

CaR은 기존 연구의 문제를 해결하기 위해 Recurrent Neural Network(RNN) 구조를 활용하여, 마스크 품질을 점진적으로 개선하는 방식으로 접근합니다.

(1) CLIP의 Vocabulary 공간 유지

🔹 기존 연구에서는 CLIP을 Fine-tuning 하면 CLIP의 넓은 보캐뷸러리 능력이 손실되었음.
CaR은 CLIP을 그대로 사용하고, Fine-tuning 없이 세그멘테이션을 수행하여 광범위한 개념을 유지.


(2) RNN 기반 점진적 필터링

🔹 기존 연구들은 한 번의 CLIP 예측으로 마스크를 생성했기 때문에, 잘못된 마스크가 많고 텍스트 정합성이 낮음.
CaR은 RNN과 유사한 점진적 필터링 방식을 도입하여, 잘못된 마스크를 걸러내고 점점 더 정제된 세그멘테이션을 생성함.

핵심 아이디어:

  • 초기 텍스트 쿼리 리스트(h₀)를 제공하고, CLIP으로 마스크를 생성.
  • 마스크가 텍스트와 정확히 매칭되지 않는 경우, 다음 반복(iteration)에서 해당 텍스트를 제거.
  • 이를 여러 번 반복하여 최적의 텍스트-마스크 매칭을 찾아냄.

✔ 이렇게 하면 "Pepsi"와 "Coca Cola" 같은 개념도 올바르게 분할 가능해짐.


(3) 두 단계 세그멘테이션 구조 (Two-stage Segmenter)

🔹 기존 연구들은 CLIP의 이미지 인코더만 활용하여 단순한 마스크를 생성했음.
CaR은 두 단계(2-stage) 세그멘테이션을 도입하여 마스크 품질을 크게 개선.

1️⃣ 마스크 생성기 (Mask Proposal Generator)

  • CLIP + GradCAM을 활용하여 초기 마스크를 생성.
  • 하지만 이 단계에서는 아직 마스크가 정확하지 않음.

2️⃣ 마스크 분류기 (Mask Classifier)

  • CLIP을 다시 활용하여 마스크가 실제로 텍스트와 일치하는지 확인.
  • 시각적 프롬프트(e.g., Red Circle, Background Blur)를 활용하여 마스크-텍스트 정합성을 평가.
  • 일치하지 않는 마스크를 제거하여 점진적으로 개선.

✔ 이렇게 하면 잘못된 마스크를 제거하면서도, 훈련 없이도 CLIP의 정보를 활용하여 세그멘테이션이 가능해짐.


(4) 훈련 없이도 SOTA 수준의 성능 달성

🔹 기존 연구들은 세그멘테이션 성능을 높이기 위해 반드시 추가 훈련을 수행해야 했음.
CaR은 단 한 번의 학습도 없이, 기존 Fine-tuning된 모델보다 높은 성능을 달성.

  • 기존 Zero-shot 방법보다 Pascal VOC(+28.8 mIoU), COCO Object(+16.0 mIoU), Pascal Context(+6.9 mIoU) 성능 향상.
  • 심지어 Fine-tuning된 모델보다도 성능이 더 높음.

 

Figure 3. The overall framework of our method

 

📌 Section 3: CLIP as Recurrent Neural Networks

CaR (CLIP as RNN)의 핵심 아이디어는 Recurrent Neural Network (RNN) 방식으로 CLIP을 활용하여 Open-vocabulary segmentation을 점진적으로 개선하는 것입니다.
이를 위해 CaR은 반복적인 과정(Recurrent Process)을 사용하여, 불필요한 텍스트 쿼리를 제거하고 더 정확한 마스크를 생성합니다.

🔹 3.1 Recurrent Neural Networks 개요

RNN이란?

  • RNN(Recurrent Neural Network)은 시퀀스 데이터를 처리하기 위한 모델로, 이전 단계의 정보를 다음 단계에 전달하여 점진적으로 결과를 개선하는 특징이 있음.
  • 기본적인 RNN 공식:
  • 여기서 h_t는 hidden state, x_t입력 데이터, y_t출력값을 의미.

 

CaR은 RNN 개념을 차용하여, 텍스트 쿼리와 마스크 품질을 점진적으로 개선하는 구조를 설계했습니다.

  • 텍스트 쿼리 (h_)가 RNN의 hidden state 역할을 수행하며, 반복적으로 업데이트됨.
  • 각 스텝에서 잘못된 텍스트 쿼리는 제거되며, 최적의 세그멘테이션 결과가 수렴될 때까지 반복.

🔹 3.2 CaR의 전체 구조

CaR은 Recurrent Process를 기반으로 작동하며, 다음의 세 단계로 구성됩니다.

(1) 입력 단계 (Input to Recurrent Model)

  • 주어진 이미지 x_t와 함께, 유저가 입력한 텍스트 쿼리 리스트 h_0 가 입력됨.
  • 이 텍스트 쿼리는 임의의 객체, 브랜드, 캐릭터, 랜드마크 등을 포함할 수 있음 (e.g., "Pepsi", "Coca Cola", "Iron Man").
  • 초기에는 잘못된(존재하지 않는) 텍스트 쿼리도 포함될 수 있음.

(2) 반복 과정 (Recurrent Segmentation Process)

  • 각 스텝 t에서, CaR은 동일한 세그멘테이션 모듈을 사용하여 이미지-텍스트 정합성을 점검하고, 불필요한 쿼리를 제거함.
  • 이 과정은 다음과 같이 정의됨:
    • CLIP과 GradCAM을 활용하여 초기 마스크 y_t를 생성.
    • 하지만 이 마스크는 정확하지 않으며, 일부 오브젝트가 잘못 분할될 수 있음.
    ✅ 2️⃣ 마스크 검증 및 필터링 (Mask Classifier)
    • 생성된 마스크를 사용하여 각 텍스트 쿼리와의 정합성(유사도)을 CLIP으로 측정.
    • 유사도가 낮은 텍스트 쿼리는 다음 반복에서 제거됨.
    ✅ 3️⃣ 텍스트 쿼리 업데이트 (h_t)
    • 필터링된 텍스트 쿼리만 남기고, 이를 다음 단계로 전달.
    • 특정 기준 (h_t == h_{t-1})이 충족될 때까지 반복 수행.
  • ✅ 1️⃣ 마스크 생성 (Mask Proposal Generator)

✔ 이렇게 하면 점진적으로 더 정확한 세그멘테이션 결과가 생성됨.


🔹 3.3 두 단계 세그멘테이션 구조 (Two-stage Segmenter)

CaR의 핵심 모듈인 Recurrent Unit은 두 개의 서브 모듈로 이루어짐.

1️⃣ 마스크 생성기 (Mask Proposal Generator)

  • CLIP-ES의 알고리즘을 사용 (CLIP is Also an Efficient Segmenter: A Text-Driven Approach for Weakly Supervised Semantic Segmentation, CVPR'23)
  • CLIP의 이미지-텍스트 정합성을 활용하여 마스크를 생성하는 모듈.
  • GradCAM 기반으로 마스크를 생성하지만, 정확하지 않을 수 있음.
  • 배경을 더 잘 구분하기 위해, 배경 텍스트 쿼리(background queries)를 추가하여 노이즈를 억제.

2️⃣ 마스크 분류기 (Mask Classifier)

  • 생성된 마스크의 정확도를 CLIP을 활용해 검증하는 모듈.
  • 여러 가지 시각적 프롬프트(Visual Prompts)를 적용하여 CLIP이 마스크를 더 잘 인식하도록 함.
  • 🔴 Red Circle, 📉 Background Blur, ⚪ Gray Background 등을 활용.
  • 마스크와 텍스트의 유사도를 계산하여, 유사도가 낮은 텍스트는 다음 스텝에서 제거.

이 과정을 여러 번 반복하면, 최종적으로 신뢰할 수 있는 마스크만 남게 됨.


🔹 3.4 후처리 단계 (Post-Processing)

  • Dense Conditional Random Field (CRF)를 사용하여 마스크 경계를 세밀하게 조정.
  • Segment Anything Model (SAM)을 활용하여 마스크 품질을 추가로 향상시킬 수도 있음. (Optional)
  • 최종적으로, 각 픽셀마다 가장 높은 확신도를 가진 마스크 클래스를 선택하여 최종 출력을 생성.

✅ 정리

기존 방식 문제점CaR의 해결 방법

Fine-tuning이 필요하고 Vocabulary가 제한됨 CLIP을 그대로 사용하여 Fine-tuning 없이 세그멘테이션 수행
한 번의 예측으로 마스크를 생성 → 부정확함 RNN 방식으로 반복하여 점진적으로 마스크 품질을 개선
CLIP이 픽셀 단위 세그멘테이션에 적합하지 않음 두 단계 구조 (Mask Proposal Generator + Mask Classifier) 도입
마스크 품질이 낮음 DenseCRF와 SAM을 활용하여 품질 개선

 

📌 Section 4: Experiments (실험)

CaR의 실험 부분에서는 Zero-shot 세그멘테이션 성능기존 모델들과의 비교, 그리고 각 요소의 기여도를 분석하기 위한 Ablation Study를 수행합니다.


🔹 4.1 Zero-shot Semantic Segmentation (ZSSS)

목표:

  • CaR이 추가적인 학습 없이도 SOTA 성능을 달성할 수 있는지 검증
  • 기존 Fine-tuning된 모델들과 비교하여 얼마나 성능이 좋은지 분석

비교 대상:

  • Fine-tuned 방법 (추가 데이터 학습 필요)
    • ViL-Seg, GroupViT, SegCLIP, ZeroSeg, TCL 등
    • 추가적인 텍스트-이미지 데이터(수백~수천만 장)를 활용하여 학습된 방법
  • Zero-shot 방법 (추가 학습 없이 CLIP 활용)
    • MaskCLIP, ReCo 등
  • CaR (Ours)
    • Fine-tuning 없이 CLIP을 그대로 사용하면서도 SOTA 성능을 달성하는지 검증

결과:

  • CaR은 기존 Training-free 방법들보다 월등히 높은 성능을 달성
  • Fine-tuning된 모델보다도 더 나은 성능을 보이는 경우가 있음.
Model 추가 학습 여부 Pascal VOC COCO Object Pascal Context
MaskCLIP (Training-free) 74.9 38.8 26.4
CaR (Ours, w/o SAM) 91.4 (+16.5) 67.6 (+28.8) 36.6 (+10.2)
Best Fine-tuned Model (TCL+PAMR) 83.2 55.0 31.6

훈련 없이도 Fine-tuned 모델보다 성능이 높음!
✔ 특히 COCO Object에서는 28.8 mIoU 증가, Pascal VOC에서도 16.5 mIoU 향상.


🔹 4.2 Ablation Studies (요소별 기여도 분석)

목표:

  • CaR의 각 요소가 성능에 어떤 영향을 미치는지 분석.

(1) Recurrence (반복 구조의 효과)

  • Recurrence 없이 단순히 한 번만 세그멘테이션을 수행할 경우, 성능이 크게 감소함.
  • 한 번만 실행하면 15.2% mIoU에 불과하지만, 반복을 통해 67.6%까지 증가.
모델 Recurrence 사용 여부 Pascal VOC mIoU
CLIP-ES (Baseline) 15.2
CaR (w/o Recurrence) 41.1
CaR (Ours) 67.6 (+26.5)

반복 구조가 없으면 성능이 크게 하락함RNN 구조가 매우 중요!


(2) Mask Proposal Generator의 CLIP Backbone 변경

  • Mask Proposal Generator의 CLIP 백본을 ViT-B에서 ViT-L로 변경하면 성능 향상.
  • CLIP이 강력할수록 마스크 품질도 좋아짐.
Mask Proposal Generator Mask Classifier Pascal VOC COCO Object
ViT-B/16 ViT-B/16 54.1 15.9
ViT-L/14 ViT-B/16 50.6 14.1
ViT-L/14 ViT-L/14 67.6 (+13.5) 36.6 (+20.7)

CLIP의 크기가 클수록 성능 향상!
특히 Mask Classifier에서 ViT-L을 사용하면 성능이 크게 증가!


(3) Visual Prompts의 효과 분석

  • 마스크-텍스트 정합성을 평가할 때, 어떤 Visual Prompts를 사용하는 것이 효과적인지 분석.
  • 단순히 마스크 부분을 블랙 처리하는 것보다, "Red Circle"이나 "Background Blur"가 더 효과적.
Visual Prompt Pascal VOC mIoU
Mask (Blacking out background) 61.8
Red Circle 66.9
Contour 66.0
Background Blur 66.4
Red Circle + Background Blur 67.6 (+5.8)

Red Circle과 Background Blur를 같이 사용하면 성능이 가장 좋음!


(4) Hyperparameter 설정

  • Mask Threshold η, Query Threshold θ, CLIP-ES Parameter λ 조절 실험.
η θ λ Pascal VOC mIoU
0.3 0.6 0.4 67.0
0.4 0.6 0.4 67.6 (Best)
0.5 0.6 0.4 67.0
0.4 0.5 0.4 67.4

η=0.4,θ=0.6,λ=0.4 일 때 성능 최적화됨! (Pascal VOC 기준, 다른 benchmark에서는 최적값이 달라짐)


🔹 4.3 Referring Image & Video Segmentation

목표:

  • CaR이 일반적인 객체 세그멘테이션뿐만 아니라, "Referring Segmentation" (지정된 개체 찾기)도 잘 수행하는지 검증.
  • Fine-tuning 없이, 기존 Zero-shot 방법보다 높은 성능을 기록하는지 확인.

(1) Referring Image Segmentation

Model RefCOCO RefCOCO+ RefCOCOg
GL CLIP 26.2 27.8 33.5
CaR (Ours) 33.6 (+7.4) 34.2 (+6.4) 36.7 (+3.2)

CaR은 기존 모델보다 모든 벤치마크에서 높은 성능을 기록.


(2) Referring Video Segmentation

Metric Score
Region Similarity (J) 28.15
Contour Accuracy (F) 32.53
Overall J&F 30.34

Fine-tuning 없이도 새로운 Video Segmentation Benchmark를 설정!
Ref-DAVIS 2017 데이터셋에서도 Zero-shot 성능 달성!