My Vision, Computer Vision

[논문 요약/리뷰] GSVA: Generalized Segmentation via Multimodal Large Language Models 본문

Paper

[논문 요약/리뷰] GSVA: Generalized Segmentation via Multimodal Large Language Models

gyuilLim 2025. 6. 18. 13:44
 

GSVA: Generalized Segmentation via Multimodal Large Language Models

Generalized Referring Expression Segmentation (GRES) extends the scope of classic RES to refer to multiple objects in one expression or identify the empty targets absent in the image. GRES poses challenges in modeling the complex spatial relationships of t

arxiv.org

Author: Xia, Zhuofan, et al.
Journal: CVPR 20204
Published Date: 2023년 12월 15일


Problem Statement

  • 기존 RES 벤치마크는 하나의 텍스트가 하나의 객체만 가리킨다.
  • 하지만 위 예시 처럼 다중 객체를 가리키는 경우, 가리키는 객체가 없는 경우에 대해 고려하지 않기때문에 실제 상황과 차이가 있다.
  • 이 차이를 줄이기 위해 GRES 벤치마크가 제안되었다.
  • 그럼에도 여전히 기존 모델들은 일반화된 상황에 취약하다.

Contributions

  • MLLM(Multi-model Large Language Model)을 활용해 GRES 문제를 해결하는 GSVA(Generalized Segmentation Vision Assistant)를 제안한다.
  • [SEG] 토큰을 하나만 사용한 LISA 방식과 다르게, Shared-weight 방식의 [SEG] 토큰을 제안한다.
  • 처음으로, Empty Target에 대한 거부(Reject)하는 [REJ] 토큰이라는 것을 제안한다.
  • GRES 벤치마크에서 State-of-the-art 성능을 달성한다.

Model Architecture

1. Multimodal Large Language Model

  • 위 아키텍쳐 이미지에서 밑에 부분에 대한 설명이다.

MLLM에서의 이미지 처리

  • 디코더 기반 언어 모델($F_{LLM}$)과 비전 인코더($F_{V_1}$)를 사용한다.
  • 입력 이미지($x_{\text{img}}$)는 MLLM의 비전 인코더($F_{V_1}$)를 거쳐 이미지 피쳐로 만들어지고, Projector($\phi$ )를 거쳐 이미지 토큰($\mathbf h_{\text{img}}$)으로 만들어진다.

$$
\mathbf h_{\text{img}} = \phi (F_{V_1}(\mathbf x_{img}))
$$

  • MLLM이 LLaVA인 경우, 입력 이미지의 크기는 224, 패치 크기는 14 이므로 총 256(224/14 * 224/14)개의 패치가 만들어지고 LLM의 차원은 4096이기 때문에 $\mathbf h_{\text{img}} \in \mathbb R^{n_{\text{img}} \times d} = \mathbb R^{256\times 4096}$ 가 된다.

MLLM에서의 텍스트 처리

  • 동시에 입력 텍스트($\mathbf x_{\text{txt}}$)는 토크나이저 $T$를 거쳐 텍스트 토큰($\mathbf h_{\text{txt}}$)으로 만들어진다.

$$
\mathbf h_{\text{txt}} = T(\mathbf x_{\text{txt}})
$$

MLLM의 출력

  • 이미지 토큰($\mathbf h_{\text{img}}$), 텍스트 토큰($\mathbf h_{\text{txt}}$)과 프롬프트 토큰까지 합쳐 LLM에 입력된다.
  • LLM은 Autoregressive 방식으로 출력 토큰 임베딩($\tilde {\mathbf y}_{\text{txt}}$)을 만들어낸다.

$$
\tilde {\mathbf y}{\text{txt}} = F{\text {LLM}}([\mathbf h_{\text{prompt}} || \mathbf h_{\text{img}}||\mathbf h_{\text{txt}}])
$$

  • $||$ 은 concatenation 연산을 의미한다.
  • Text responses는 $\tilde {\mathbf y}_{\text{txt}}$ 로부터 얻어진다.
  • [SEG] 토큰을 처음으로 제안한 기존 LISA 아키텍쳐의 경우, 미리 Vocabulary에 [SEG] 토큰을 추가해놓고, MLP 프로젝터 $\psi$ 를 한번 거친 후 $\mathbf h_{\text{seg}}$로 만들어진다.

$$
\mathbf h_{\text{seg}} = \psi (\tilde {\mathbf y}_{\text{txt}}[\text{SEG}])
$$

  • 이후 $\mathbf h_{\text{seg}}$ 는 Segmentation Foundation Model(SFM)에서 사용된다.

2. Segmentation Foundation Model(SFM)

  • SFM은 위 이미지에서 윗 부분(Segmentation Vision Encoder → Segmentation Mask Decoder)에 해당한다.
  • 이 때, SAM(Segment Anything Model)이 SFM으로 사용되고, SVE(Segmentation Vision Encoder, $F_{V_2}$)는 학습하지 않는다.

Segmentation Vision Encoder($F_{V_2}$)

  • $F_{V_2}$는 입력 이미지로부터 피쳐를 추출하는 역할이다.
  • 입력 이미지($\mathbf x_{\text{img}}$)를 1024로 Resize하여 인코더에 입력한 후 피쳐($\mathbf f_{\text{seg}}$)를 추출한다.

$$
\mathbf f_{\text{seg}} = F_{V_2}(\mathbf x_{\text{img}})
$$

Segmentation Mask Decoder($F_{\text{mask}}$)

  • $F_{\text{mask}}$는 이미지 피쳐 $\mathbf f_{\text{seg}}$와 텍스트 피쳐 $\mathbf h_{\text{seg}}$로부터 Segmentation Mask를 생성한다.
  • 예측된 마스크를 $\tilde {\mathbf y}_{\text{mask}}$라고 할 때, 아래와 같이 나타낼 수 있다.

$$
\tilde {\mathbf y}{\text{mask}} = F{\text{mask}}(\mathbf h_{\text{seg}}|\mathbf f_{\text{seg}})
$$

LISA와 GSVA의 차이

  • LISA는 하나의 텍스트가 하나의 객체만 가르킨다는 가정이 있었다. (대부분의 RES 벤치마크가 그렇기 때문에)
  • 하지만 GSVA는 GRES 벤치마크를 타겟으로 하기때문에, 새로운 시나리오(Multiple targets, No tarfget)에도 대비한다.
  • 다중 객체와 객체가 없는 경우를 고려하여 여러개의 [SEG], [REJ] 토큰을 사용한다.

Multiple [SEG] tokens

  • 다중 객체 시나리오에 대한 한계를 완화시키기 위해, 여러개의 [SEG] 토큰을 사용한다.
  • 예를 들어 User의 질문이 “What are {obj1}, {obj2} in this image? Please output the segmentation masks.” 라면, LLM은 “Sure, front zebra:[SEG], right zebra:[SEG].” 형태로 답변하게끔 학습이 되는데, 이 [SEG] 토큰들의 임베딩을 사용하여 마스크를 생성하는 것이다.

[REJ] token

[REJ] 토큰은 텍스트에는 있지만, 실제로 이미지에 없는 객체를 탐지하기 위한 역할이다.

  • [SEG] 토큰처럼, LLM은 객체와 토큰을 매핑해서 출력하게 된다. “Sure, {obj1}:[REJ], {obj2}:[REJ], {obj3}:[SEG].”
  • [REJ]에 매핑된 객체들은 Empty target으로 간주되어 마스크가 만들어지지 않는다.

Experiment

  • GSVA는 7B, 13B 두가지 크기의 아키텍쳐가 있다.
  • 7B 모델은 gIoU, cIoU가 각각 66.47, 63.29인데, 파라미터 크기에 비해 성능 증가량이 크진 않다.
  • 13B 모델의 최종 성능은 70.04, 66.38로, GRES 벤치마크에서 SOTA 성능을 달성하였다.

 

 

728x90