[24’ CVPR] LLaFS: When Large Language Models Meet Few-Shot Segmentation

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

2024 CVPR Accepted Paper를 보다가 흥미로운 논문이 있어 정리해보았다. LLaFSLarge Language ModelsFew-Shot Segmentation을 결합한 연구이다. Few-Shot Segmentationsegmentation을 수행할 때 training data가 적은 상황을 의미한다. 일반적인 FFS(Few-Shot Segmentation)에서는 적은 양의 데이터로 학습을 진행하기 때문에 일종의 information constraint가 있지만, LLaFS에서는 LLMIn-context learning으로 few-shot segmentation을 수행한다. 즉, LLM의 global knowledge를 활용하게 되어 충분한 성능을 낼 수 있다는 것이다. 즉, LLM을 활용하여 Few-shot training에서 In-context learning으로 패러다임을 전환한 것이다. 큰 틀은 이와 같고, 저자들이 특히 강조하고자 하는 contribution은 다음 2가지이다.

  1. Input instruction을 잘 디자인하여 polygon으로 segmentation result를 LLM이 출력하도록 하였다.
  2. Region-attribute table라는 개념을 도입하여 LLM이 이미지를 region-wise attribute로 이해할 수 있도록 하였다.

간단하게 컨셉 위주로 정리하도록 하겠다.


1. Method

1.1. Overview

전체 구조는 다음과 같다.

image

  1. Image Encoder. Frozen ResNet50을 사용한다.
  2. Q-former. BLIP에서 사용된 Q-former를 사용하여 visual token을 생성한다.
  3. Instruction. Input instruction을 생성하는데, 두 부분으로 나누어진다.
    1. Segmentation Task Instruction. Polygon을 생성하도록 하는 전체 instruction을 의미한다.
    2. Fine-grained In-context Instruction. Region-attribute corresponding table을 생성하여 LLM이 이미지를 region-wise attribute로 이해할 수 있도록 한다. 자세한 내용은 후술하겠다.
  4. LLM. CodeLLaMA를 사용하였다. Vanilla LLaMA보다 성능이 좋았다고 하는데, Polygon을 뽑는 task이므로 그럴 수 있겠다는 생각이 든다.
  5. Refine Network. ViT 기반의 refine network로 output polygon의 interpolation을 진행한다.


1.2. Instruction

Segmentation Task Instruction은 다음과 같이 구성된다. In-context learning을 few-shot segmentation에 적용했다는 점에서 중요하다고 할 수 있겠다. 여기서 [support image]는 visual token이다.

image

Fine-grained In-context Instruction은 조금 복잡하다. 먼저 저자들이 제기한 문제부터 살펴봐야 한다. 실제 상황에서 Segmentation을 수행할 때 [class]로 어떠한 물체를 segmentation해야 하는지 제시하는데, LLM이 image로 전혀 훈련되지 않은 상황에서 이러한 [class]를 이미지와 같이 곧바로 이해하기 어렵다는 것이다.

따라서 저자들은 사람이 물체를 인지하는 방식인 ‘from general to detailed, from abstract to concrete’를 모방하기로 한다.

image

예를 들어 panda라는 [class]가 주어졌을 때, 두 가지를 수행한다. 먼저 (1) ChatGPT를 이용해 이 [class]의 특징인 attribute 몇 개를 나열해달라고 한다. 한편, (2) 이 [class]에 해당하는 segmented image를 여러 segment로 분할한다. 이제 attribute [att]와 segment [cor]를 CLIP을 이용해 동일한 CLIP space에 mapping하고, 유사한 것들을 모아 각 segment에 해당되는 attribute를 정리한다. 이를 Region-attribute table이라고 부른다.

image

이를 다음과 같은 instruction으로 변환한다.

image

그러나 동일한 attribute가 여러 class에 대응될 수 있다. 예를 들어 ‘wheels, windows, doors’는 모두 ‘train’, ‘car’, ‘bus’의 특징일 수 있다. 따라서, 이렇게 겹치는 attribute를 제거하고, 각 class에만 해당되는 attribute를 생성하는 등 table을 정제하는 과정을 거친다.

image


1.3. Summary

전체 과정을 그림으로 정리하면 다음과 같다.

image
image


2. Results

image

전체 결과는 지금까지의 FFS 모델 중 SOTA라는 것과 각 contribution이 필요한 이유에 대한 증명이 주이기 때문에 따로 살펴보지는 않겠다.


💡 Summary

LLaFSFSS(Few-Shot Segmentation)에서 LLM을 활용하여 Few-shot training에서 In-context learning으로 패러다임을 전환한 논문이다. LLM의 output이 text로 제한되어 있기 때문에 polygon 형태로 segmentation map을 변환했다는 점은 조금 fancy하지 않은 것 같아 아쉽다. 그러나 Region-attribute table을 도입하여 LLM이 이미지를 region-wise attribute로 이해할 수 있도록 한 것은 흥미로운 시도라고 생각한다.


📃 Reference


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

댓글 남기기