<aside>
💡 code : https://som-gpt4v.github.io/
</aside>
1. Introduction
1) About Author
2) 논문이 다루는 task
2) limitations of previous studies
과거(2023.12)의 LLM을 이용한 VQA(Visual Question Answering)에서 visual grounding 성능이 뛰어나지 않았다.
- (정확하게는) 그 능력을 완전하게 발휘하지 못하고 있다.
WHY?)
- 모델이 이미지 내의 콘텐츠(사과 등)에 대한 의미론적 이해 + 공간적인 이해를 모두 가지고 있어야 한다.
- 그렇지만 (과거의) 숫자로 이뤄진 좌표 정보와 텍스트 정보를 생성하는 방식은 자연스러운 언어 생성 능력을 파괴하고 vison 모델이 가진 공간 이해 능력을 저해하는 효과를 가져온다.
- 좀더 자세한 설명
3) Solution approaches

이미지에 Mark를 추가해서 VQA를 할 경우 LLM에서 visual grounding + reasoning 성능이 올랐다.
2. Related Work
- LLMs and Prompting
- In-Context Learning
- chain-of-thought
- tree-of-thought
- Visual and Multimodal Prompting.
- SAM
- LMMs and Prompting : LLaVa, GPT-4V
3. 제안 방법론
1) Main Idea
2) Contribution
- 입력 쿼리에 집중하는 것이 아닌 이미지 쿼리를 어떻게 잘 넣을 것인가에 대한 고민을 했다.
- 과거에 다양한 시도를 해봤는데 성능이 별로였다.
- 특정 task만 잘하는게 아니라 다른 task에서도 잘한다.
3) Problem Define
-
이미지 입력 :
$$
I ∈ R^{H×W×3}
$$
-
텍스트 입력 :
$$
l_{i}, T^{i} = [t_{1}^{i}, ..., t_{l_{i}}^{i}]
$$
- 수식 :
$$
T_{o} = F(SoM(I), T_{i})
$$
4) Image Partition
- 상황에 맞는 image segmentation model을 사용할 수 있도록 툴을 제공했다.
- Strong performance(정확한 성능) : 정확하게 영역을 분할하고자 한다면 MaskDINO
- Open vocabulary(오픈 사전) : 사전에 정의된 객체 뿐만 아니라 다른 객체도 정의하고 싶다면 SEEM
- Rich granularity(세분화된 정도) : 객체 분할을 좀더 세분하게 하고 싶다면 SAM
- 이미지 모델을 이용해서 다음의 K개 바이너리 마스크 이미지를 얻습니다.
$$
R = [r_1, …, r_K] ∈ \{0, 1\}^{K×H×W}
$$
5) Set-of-Mark Generation


6) Interleaved Prompt


- Open-vocabulary Image Segmentation: 모든 마크된 영역(marked region)**에 대해 해당 카테고리들을 최대한 자세히 설명
- Referring Segmentation : 후보 영역들 중에서 가장 잘 맞는 영역(top-matched region)을 선택
- Phrase Grounding : 여러 명사구(noun phrase)로 구성된 완전한 문장이 입력으로 주어지고, GPT-4V는 해당 문장에 포함된 모든 명사구에 해당하는 영역들을 이미지 내에서 정확히 찾아내야 함.
- Video Object Segmentation: 두 장의 이미지를 입력받음
- 첫 번째 이미지는 쿼리 이미지(query image)로, 관심 있는 객체들이 포함
- 두 번째 이미지에서 GPT-4V는 첫 번째 이미지에 나타난 객체들을 식별
4. 모델 구조
- LM : GPT-4V
- image encoder : SAM, MaskDINO, SEEM, …
5. 실험 및 결과
1) Dataset

2) Baseline

3) 결과

- 박스(boxes)를 추가하는 방식이 성능을 유의미하게 향상
- 정답 마스크를 SoM에 사용하면 RefCOCOg 성능이 14.5 mIoU 향상
- “Golden” 주석은 항상 정확하지 않다
- SoM을 평가하는 과정에서, 일부 사람이 만든 데이터셋 주석이 부정확하다는 것을 발견했습니다.
- 중심에 마크를 두는 것이 항상 최선은 아니다
- 기본적으로 우리의 마크 할당 알고리즘은 각 영역의 중심(center)에 마크를 배치합니다. 하지만 실험 결과, 중심에 마크를 둔다고 항상 최상의 성능이 나오는 것은 아니었습니다.
- 마크 종류의 동적 선택(Dynamic selection of mark types)이 중요하다
- 현실적인 시나리오에서는 마크 종류를 동적으로 결정하는 것이 매우 중요합니다.
4) 배운점 + 의문점
- 1. GPT-4V의 미스터리
- 2. 시각 프롬프트와 LLM 프롬프트의 연결
-
- GPT-4V와 Set-of-Mark Prompting을 통한 데이터 확장
5. 추가 가이드라인
Reference