
Paper : https://arxiv.org/pdf/2310.07704
Github : https://github.com/apple/ml-ferret?utm_source=pytorchkr&ref=pytorchkr

이미지 내에서 어떤 모양의 영역이든 text로 참조하는 대상을 정확하게 지목할 수 있는 mLLM 모델
Hybrid region representation : 불연속적인 좌표와 연속적인 feature를 이용해서 이미지의 영역을 표현함
GRIT Dataset : referand-ground instruction이 포함된 자체 데이터셋을 이용해서 Ferret 모델을 tuning함
Referring, grounding tasks, region-based mLLM, localization-demanded multimodal chatting에서 뛰어난 성능을 보여줌
모델이 다양한 방식으로 묘사된 영역(region)을 가리킬 수 있는 능력
모델이 텍스트에서 언급된 내용을 바탕으로 정확하게 시각적인 위치를 파악할 수 있는 능력
이 2가지를 수행하기 위해 mLLM 모델은 기본적으로 공간 정보와 의미에 대한 이해가 필요함
이산 좌표와 연속적인 visual feature를 결합한 표현 방식

Ferret 모델은 3가지 요소로 구성되어있음

Image encoder와 LLM을 이용해서 image와 text를 image embedding과 text embedding, token으로 변환해서 처리함
image 처리 : input image가 들어오면, CLIP-ViT-L/14 모델을 사용해서 image embedding(Z ∈ R H×W×C)를 추출함
text 처리 : input text가 들어오면, LLM의 tokenizer를 이용해서 token화한 후에 text embedding(T ∈ R L×D)을 생성함
referred region 처리 : 좌표와 특수 token으로 표현함
(ex. a cat [100, 50, 200,300] ⟨SPE⟩)
Image feature map(Z)와 2D binary mask(M)을 사용해서 region의 countinous visual feature를 추출함
Sampling, Gathering, Pooling 과정을 거치면서 dense feature space를 생성함
Sampling : point 알고리즘을 이용해서, point를 sampling함
Gathering : PointMLP와 같이 sampled point와 neighbor point를 융합함

Pooling : Max pooling을 이용해서 Gathering 단계에서 융합된 k neighbor feature를 하나의 sampled point의 feature representation로 합칩

Vicuna LLM을 이용해서 추출된 feature에 대한 image embedding을 text embedding dimension에 맞게 < SPE > token으로 변환함
이 과정을 Ferret 모델은 text 입력에 따라 이미지 내 어떤 것이 어디에 있는지에 대한 이해력을 갖게됨
(이미지에서 referring된 region 또는 물체를 정확하게 식별하고 해당 지역의 위치를 예측하거나 추론할 수 있음)

단일 개체, 개체 간의 관계, region 설명에 대한 데이터를 수집하고, 해당 데이터에서 SAM을 이용해 free-form shape 데이터를 얻음
Instruction tuning data : ChatGPT/GPT4를 이용해 장면에 대한 text instruction data
Negative sample mining : 유사한 속성의 negative entity가 없는 경우와 개체가 위치에 없는 경우 수행함



다른 LLM 모델들과 같이 여전히 예상치 못한 hallucination이 발생할 수 있음
연구에 적용할 수 있는 부분
- 작은 영역과 복잡한 이미지 속에서 위치를 식별할 수 있으므로, UTG 구성 시 UI intent 요소를 제대로 잡을 수 있음