안녕하세요. 이번주에는 retrieval로 few-shot fine-grained visual classification(FGVC)를 수행하는 UniFGVC라는 논문을 소개하고자 합니다.
1. Introduction
Fine-grained visual classification(FGVC)은 조류 종이나 자동차 모델처럼 더 넓은 상위 범주(superordinate category) 안에서 시각적으로 유사한 하위 범주(subcategory)를 구분하는 과제로, 여러 분야에서 활용되고 있습니다. 실환경에서 FGVC 시스템은 intra-class variation, inter-class difference, 도메인 이동이라는 세 가지 난제를 동시에 극복해야 하며, 이는 전통적으로 방대한 전문가 주석을 필요로 했습니다. 이 부담을 줄이고 새로운 범주와 도메인에 빠르게 적응하기 위해 few-shot FGVC가 도입되었으며, 이 태스크의 핵심 난제는 소수의 레이블링된 예시만으로 매우 판별력 있는 표현을 학습하고 강건한 일반화를 달성하는 데 있습니다.

VLM과 MLLM을 바로 few-shot FGVC에 적용하는 것은 여전히 어려운 문제입니다. Fig. 1(a)는 대표적인 VLM인 CLIP-based 방식인데, 이 방식은 few-shot 데이터에 대한 과적합이 발생할 수 있으며 모델이 갖고 있던 사전학습된 지식이 훼손될 수 있다고 합니다. Fig. 1(a)는 MLLM-based 방식으로, 마찬가지로 과적합 문제가 있으며 무엇보다 생성된 서술이 haullucination에 취약하고 세밀한 구분에 필요한 속성(e.g. 골든 리트리버와 래브라도의 털 질감 차이)을 결여하는 경우가 많다는 문제가 있습니다. 결과적으로 이 두 방식들은 희소한 데이터에 대한 학습을 필요로 하게 되는데, 저자들은 VLM/MLLM의 풍부한 사전학습 지식을 온전히 활용하면서도 일반화 가능한 training-free 방법론을 만들고자 하였습니다.
이를 위해 저자들은 Category-Discriminative Visual Captioner(CDV-Captioner)를 통해 명시적이고 구조화된 caption을 생성하고, retrieval을 통해 학습 없이 분류를 수행하는 프레임워크를 제시하였습니다. CDV-Captioner는 뒤에서도 설명하겠지만, CoT 방식을 활용해 분류에 핵심적인 속성 종류가 무엇일지 판단하고, 이미지에서 실제 속성을 서술하고, 이 속성들을 구조화된 텍스트로 요약하는 과정을 거칩니다. 즉 가장 판별력 있는 속성만을 서술하도록 하여 retrieval의 효율성과 정확성을 동시에 높이고자 하였습니다.
저자들이 정리한 contribution은 다음과 같습니다.
- few-shot FGVC의 패러다임을 fine-tuning에서 multimodal retrieval로 전환하여, 학습 없는 프레임워크 UniFGVC를 제시 (모델의 사전학습 지식을 보존하고 일반화를 보장)
- CoT 과정을 통해 MLLM으로부터 속성이 풍부한 구조화된 캡션을 생성하는 CDV-Captioner 제안
- 12개 데이터셋에 대한 광범위한 평가를 수행하여 평균적으로 기존 SoTA 방법을 4.62% 앞섰고, 특히 ImageNet에서는 12.31% 앞섰으며, 지도학습 MLLM 기반 모델까지 능가함
2. Method

A. Category-Discriminative Visual Captioner
Class name에만 의존하여 visual embedding과 정렬하는 것은 본질적인 한계가 있기 때문에, 저자들은 더 풍부한 정보를 담은 텍스트를 만들기 위해 CDV-Captioner를 제안하였습니다. CDV-Captioner는 CoT 프롬프팅 전략을 채택하여 reference sample과의 비교를 통해 가장 판별력 있는 영역을 식별하고 속성을 추출합니다. Fig. 2의 오른쪽과 같이 CDV-Captioner는 네 가지 단계를 통해 작동합니다.
(1) Reference Sample Selection
각 타겟 이미지에 대해 시각적으로 유사한 t개의 샘플을 선택하는 단계입니다.

C개의 클래스와 클래스 당 K개의 이미지를 가진 데이터셋이 주어졌을 때, 타겟 이미지(f_t)와 클래스 프로토타입의 특징의 거리가 가장 가까운 t개의 샘플을 선택합니다. NN()은 최근접 이웃 검색 연산자입니다. 클래스 프로토타입은 K개의 특징을 평균해 계산하며, 선택된 각 클래스 내에서 클래스 프로토타입에 가장 가까운 샘플을 대표 예시로 하나 선택합니다. I_{ref}는 시각적으로 유사하지만 타겟과는 다른 클래스를 가진 샘플들의 집합이 됩니다.
(2) Discriminative Region Discovery
타겟 이미지와 시각적으로 유사한 reference 이미지 집합을 입력으로 사용합니다. 비교 분석을 통해 MLLM은 클래스 간 차이(e.g. 흰 털, 위로 선 귀, 부드럽게 각진 얼굴)를 가장 효과적으로 포착하는 discriminative region을 식별합니다. 구체적으로는 아래와 같은 프롬프트를 사용합니다.
[”{IMAGERY} We provide {t} images from different categories that share similar visual features, and use them as references to generate {s} discriminative visual regions for distinguishing the target image’s category.”]

위 수식과 같이 대상 이미지 I_{t}와 t개의 reference 이미지 I_{ref}를 입력으로 받아 s개의 영역을 추출합니다. P^{dis}는 프롬프트, W는 MLLM입니다.
(3) Region Attribute Description

아래와 같은 프롬프트를 사용하여, N^t를 바탕으로 각 영역에 대한 속성을 서술합니다.
[”{IMAGE} Describe the visual attributes of the { N^t } in the category.”]
이때 MLLM은 타겟 이미지에서 각 영역의 특성에 대한 간결한 서술을 생성하는데, 이는 세밀한 하위 범주들 사이를 직접 상세하게 설명하는 것보다 훨씬 다루기 쉽고 유용한 정보량이 많은 표현을 제공합니다.
(4) Attribute Feature Summarization
이미지와 속성 쌍을 획득한 후 요약하는 과정으로, 아래 프롬프트를 사용합니다.
[”{IMAGE} Summarize the information you get about the target from the attribute description.”]

여기서 A_i 는 요약된 텍스트 서술이고 P^sum 은 위 프롬프트입니다. 이렇게 만들어진 description은 image와 label을 명시적으로 연결하는 의미적인 다리 역할을 합니다.
B. FGVC via Multimodal Retrieval
UniFGVC 프레임워크는 few-shot FGVC task를 multimodal retrieval 문제로 재구성하여, 파운데이션 모델의 일반화 능력을 보존하면서도 기존 학습 기반 방법들을 능가하는 성능을 보였습니다.
(1) Multimodal Category Template Database Construction
C개 클래스에 대한 K-shot 데이터셋이 주어지면, CDV-Captioner를 적용해 각 train image에 대해 구조화된 텍스트 서술 T_i 를 생성합니다. 이 이미지-서술 쌍은 C개 클래스에 걸친 few-shot 지식을 포괄하며 retrieval database를 형성하게 됩니다.

두 모달리티는 각각 image encoder와 text encoder로 임베딩 되어 결합됩니다. 개별 이미지마다 텍스트 서술을 생성하는 대신 한 클래스 내 K개 이미지 전체의 정보를 통합하여, 클래스 단위의 텍스트 서술을 구성합니다.
(2) FGVC via Multimodal Retrieval
Retrieval은 multimodal 유사도 점수를 계산하는 단순한 행렬 연산을 통해 이루어집니다. Inference 시에 타겟 이미지는 CDV-Captioner를 통해 텍스트 서술을 생성하고, 원본 이미지와 함께 임베딩한 뒤 결합됩니다. 이를 쿼리로 하여 (1)애서 구축한 데이터베이스에서 유사도 기반 검색을 수행합니다.

최종 분류는 query 특징과 가장 높은 유사도 점수를 가진 gallery(데이터베이스) 샘플의 클래스로 선택합니다.
3. Experiments
A. Implementation Details
ImageNet, StanfordCars, UCF101, DTD, Caltech101, FGVCAircraft, Flowers102, OxfordPets, Food101, SUN397, EuroSAT, CUBbirds라는 12개의 널리 사용되는 FGVC 데이터셋에서 UniFGVC를 평가합니다. Few-shot 평가를 위해 1/2/4/8/16-shot 설정을 사용합니다.
CDV-Captioner에 사용하는 모델은 Qwen2.5-VL-7B이고, 이미지 인코더로는 UniCOM을 텍스트 인코더로는 Jina-CLIP을 사용하였으며 별도로 align을 맞추는 모듈은 사용하지 않았습니다. 타겟 이미지 당 reference sample 수는 t=4로, 이미지 당 추출하는 region의 수는 s=3으로 설정하였습니다.
B. Main Result


Table 1은 11개 데이터셋에 걸친 여러 few-shot FGVC 방법론들의 성능을 보고합니다. 전체적으로 UniFGVC는 84.2%의 최고 평균 정확도를 달성해, 최신 CLIP 기반 방법인 CaFo(16-shot 평균 78.66%)를 4.62%p 앞섰습니다. 특히 UniFGVC는 ImageNet에서 81.1%를 달성해 CaFo를 12.3%p 앞섰고, StanfordCars에서는 94.6%로 18.3%p, FGVC-Aircraft에서는 61.1%로 12.2%p 앞섰습니다. 기존 CLIP 기반 방법들이 주로 프롬프트 학습, 어댑터 튜닝, 정규화 전략에 의존하는 반면 UniFGVC는 시각적인 속성 표현을 증강하여 다양한 벤치마크에서 더 강건한 일반화와 높은 성능을 달성하였습니다.

Table 2는 5개 데이터셋에서 완전 지도학습 MLLM 기반 FGVC 방법들의 classification 성능을 보여주고 있습니다. 구체적으로 UniFGVC는 평균 정확도 83.21%를 달성해 이전 최고 성능이었던 Finedefics(77.63%)를 5.58%p 앞섰습니다. 특히 Flowers에서 95.74%, CUBbirds에서 77.48%에 도달해, 각각 5.86%p와 19.87%p의 향상을 보였습니다. UniFGVC는 fine-tuning 없이도 MLLM의 세밀한 추론 능력을 극대화하여 fine-grained recognition에서 상당한 성능을 달성함을 보여줍니다.
C. Effectiveness of CDV-Captioner

CDV-Captioner의 구성 요소의 기여를 평가하기 위한 ablation study입니다. Image-Only는 텍스트 없이 오직 원본 이미지 feature에만 의존하는 retrieval 방식으로 베이스라인 역할을 합니다. Raw-Desc는 MLLM이 생성한 단순한 텍스트 서술을 추가한 방식으로, 대략적인 의미적 단서는 제공하지만 구조화된 속성이 부족하다는 것이 특징입니다. Struct-Desc는 region 기반의 description을 추가로 도입하여 모델이 국소적인 단서에 집중할 수 있게 하지만, reference 예시에 의해 그 영역이 유도되지는 않습니다. Sum-Desc는 Struct-Desc를 개선하여 여러 region 수준의 속성 서술을 간결한 요약으로 대체하지만 여전히 reference 예시는 사용하지 않습니다. Random-Ref는 reference 예시를 무작위로 선택하는 방식이고, 마지막으로 Similar-Ref는 유사도 기반으로 reference 예시를 선택하는 방식으로 완전한 CDV-Captioner 설정입니다.
구성요소가 도입될 때마다 성능이 개선되는 것을 볼 수 있습니다. 저자들은 단순한 텍스트 서술만으로도 이미 image-only에 비해 큰 보완이 되며, 구조화되고 요약된 region 기반 서술은 의미적 정밀도를 한층 정교화한다고 말합니다.

Figure 3은 Raw-Desc, Sum-Desc, Similar-Ref 세 가지 구성에서 생성된 description의 정성적 비교를 보여줍니다. Raw-Desc는 중복되고 클래스와 무관한 세부사항을 포함할 수 있어, 세밀하지 못할 가능성이 있고 hallucination의 위험 요소도 있습니다. Sum-Desc는 부분 기반의 서술을 가능하게 하지만, 여전히 비교할 reference가 없기에 판별적이기보다 일반적이라는 한계가 있습니다. 대조적으로 Similar-Ref는 reference를 참조하여, 세밀한 클래스 구분에 결정적인 단서를 강조하면서도 hallucination을 줄일 수 있습니다.
4. Conclusion
이 논문에서 저자들은 FGVC를 multimodal retrieval 문제로 재정의하는 학습 없는 프레임워크 UniFGVC를 제시합니다. MLLM과 reference-guided captioning을 활용함으로써 UniFGVC는 few-shot 데이터로부터 판별력 있는 이미지-텍스트 쌍을 구축합니다. 광범위한 실험을 통해 UniFGVC가 CLIP 기반 few-shot 방법들과 여러 지도학습 MLLM 기반 베이스라인을 능가함을 입증합니다. 향후 연구로, 저자들은 UniFGVC를 확장해 더 넓은 카테고리를 커버하고 더 미세한 granularity를 탐구하여 한층 발전시킬 계획이라고 밝혔습니다.
예은님 좋은 리뷰 감사합니다.
Category-Discriminative Visual Captioner과정에서, 타겟 이미지와 시각적으로 유사한 t개의 샘플을 선택한다고 하셨는데, 클래스당 K개의 이미지로 구성된다면 타겟 이미지는 K개의 test 이미지가 되는걸까요?? 그렇다면, 모든 test 이미지에 대해서 시각적으로 유사하지만 다른 클래스의 t개의 샘플들로 구성된다는 것인지 궁금합니다.
또한, (3) Region Attribute Description 과정의 N^t는 t개의 (클래스가 다른) negative sample을 의미하나요?
아무래도 저희의 연구 내용과 연관성이 깊은 것 같습니다. 해당 논문의 실험이나 방법론 중 저희도 적용하면 좋겠다고 생각하신 내용이 있나요?
안녕하세요 승현님 댓글 감사합니다!
Q1) Category-Discriminative Visual Captioner과정에서, 타겟 이미지와 시각적으로 유사한 t개의 샘플을 선택한다고 하셨는데, 클래스당 K개의 이미지로 구성된다면 타겟 이미지는 K개의 test 이미지가 되는걸까요?? 그렇다면, 모든 test 이미지에 대해서 시각적으로 유사하지만 다른 클래스의 t개의 샘플들로 구성된다는 것인지 궁금합니다.
A1) 네 맞습니다. K개의 모든 이미지에 대해, 시각적으로 유사하지만 클래스는 다른 t개의 샘플을 선택합니다. 참고로 CDVCaptioner는 캡션을 생성하는 단계와 추론 단계에 모두 비슷한 방식으로 동작하며, 전자는 train set 이미지에 대한 캡션을 후자는 test set(query) 이미지에 대한 캡션을 뽑습니다. 또한 그 t개의 샘플은 전체 데이터가 아닌 클래스의 프로토타입 중에서 고르게 됩니다.
Q2) (3) Region Attribute Description 과정의 N^t는 t개의 (클래스가 다른) negative sample을 의미하나요?
A2) 이 부분은 제 글에서 설명이 부족했던 것 같은데, N_t는 단계 (2)를 통해 얻는 visual region을 의미합니다. (예를 들어 동물이라면 귀, 꼬리 등) 단계 (3)에서는 이미지와 이 visual region을 프롬프트로 받아 해당 영역에 대한 진짜 속성을 기술하는 부분입니다. (예를 들면 뾰족한 귀, 짧은 꼬리)
Q3) 해당 논문의 실험이나 방법론 중 저희도 적용하면 좋겠다고 생각하신 내용이 있나요?
A3) 우선 training-free 방법론이라 관심 있게 봤었고, 유사한 클래스 프로토타입을 뽑아 discriminative한 캡션을 뽑는 점이 활용해볼만하다고 생각합니다!
안녕하세요 예은님 좋은 리뷰 감사합니다.
프롬프트를 이렇게 구성하여 학습 없이 성능을 올리는 것이 대단하다고 느껴지는 논문이었습니다. 궁금한 점이 있는데, (1) Multimodal Category Template Database Construction부분에서 각각 임베딩한 값을 fusion하는 부분이 있는데 이 부분은 학습 없이 어떻게 진행이 되는 걸까요?
감사합니다
안녕하세요 주연님 댓글 감사합니다!
저도 학습없이 fine-grained class에 대해 discriminative한 캡션을 잘~뽑아서 classification 성능을 올린다는 점에서 이 논문을 재미있게 읽은 것 같습니다.
질문해주신 부분에서 fusion이라는 용어가 사용되었지만, 사실 텍스트와 이미지 임베딩을 단순 concat하는 과정입니다!
리뷰 잘 읽었습니다. 한 가지 궁금한 점이 있는데요.
Reference sample selection에서 타겟 이미지와 클래스 프로토타입 간 거리를 기준으로 유사한 class를 선택하는 거로 이해하였습니다. 그런데 이 과정이 이미 image encoder의 retrieval 성능에 크게 의존하는 것 같다는 생각이 드는데요. 만약 이 첫 단계에서 잘못된 reference가 선택되면 caption 품질과 최종 분류가 함께 저하가 되는건지? 이와 관련된 분석이 있나요? 사실 해당 태스크에 여러개의 모듈(?) 이 있다보니, 어디가 문제인지 분석하는 것도 꽤 어려운 일일 것 같다는 생각이 들어 질문드립니다
안녕하세요 주영님! 댓글 감사드립니다.
질문주신 것과 관련된 실험들이 있었는데, 리뷰에는 담지 못한 것 같아 댓글로 설명드리고자 합니다.
잘못된(판별력 있는 description 생성에 도움을 주지 못하는) reference에 대해서는, 그 기준이 모호하기 때문에 따로 분석되지는 않은 것 같습니다. 다만 다양한 이미지 인코더로 변경하여 실험한 테이블이 있는데, Bge-m3, CLIP, RADIO, Unicom 4개의 인코더에 대해서 UniFGVC의 방법론이 안정적인 성능 향상을 보였습니다. (추가로 시각과 텍스트가 잘 정렬되었는지보다는, 이미지 인코더 자체가 얼마나 강력한 표현 능력을 가졌는가가 성능에 중요한 영향을 미쳤습니다.)
말씀주신 것처럼 결국 이 task는 classification의 정확도를 높이는 것이 목적이기 때문에, description의 품질 자체를 평가하기는 어렵다고 생각합니다. 저자들은 이 점을 고려해서 ImageNet 데이터셋에서의 CDV-Captioner의 품질을 평가하기 위해 GPT를 활용한 hallucination score를 활용하였습니다. 결론적으로는 CDV-Captioner의 CoT 과정이, 관련이 없거나 노이즈가 있는 description을 억제하는 효과가 있으며 0~8개의 잘못된 속성을 주입한 경우에도 accuracy가 1~2% 정도밖에 떨어지지 않음을 보였습니다. 다만 다른 방법론과의 비교는 없었습니다.