본문 바로가기

논문 리뷰/Language Model

Ferret-v2: An Improved Baseline for Referring and Grounding with Large Language Models

 

Abstract

3가지 주요 디자인을 통해 Ferret을 대폭 업그레이드한 Ferret-v2 공개

  • Any resolution grounding and referring
  • Multi-granularity visual encoding
  • A three-stage training paradigm

 

[arXiv](2024/04/11 version v1)

 

 

 

Methods

A Revisit of Ferret

[Ferret 논문 리뷰]

Ferret

Ferret은 자유 형식 마스크가 있는 이미지를 '이름 + [좌표] + <feature>'의 형식으로 LLM에 입력하며, <feature> 토큰은 visual sampler를 통해 생성된 임베딩이다. 

추가로 CLIP image encoder로 추출한 feature를 제공한다.

 

훈련에는 image-caption alignment 단계와 instruction tuning 단계가 있으며 다음 토큰 예측 손실로 훈련된다.

 

Ferret은 사전 훈련된 image encoder의 고정 해상도로 인한 제약이 있다.


Analysis of Higher Resolution Scaling

고해상도 이미지를 처리할 때, 입력 이미지를 일정한 크기의 그리드로 나누고 개별적으로 인코딩하는 'any resolution' 전략이 유효했다.


Model Architecture

 

Multi-Granularity Visual Encoding

CLIP은 이미지의 global semantic을 잘 포착하지만 픽셀 수준의 세부 정보는 무시하는 경향이 있다.

 

따라서 저해상도 전역 이미지는 CLIP으로 처리하고, 고해상도 그리드 이미지는 DINO를 통해 개별적으로 처리한다.

이들을 평면화하고 연결하여 LLM에 입력.

 

Any resolution Referring

저해상도 전역 임베딩을 업샘플링하여 고해상도 임베딩의 크기로 맞춘 후 채널 차원에서 연결하고 visual sampler에 입력.


Training Paradigm

 

Stage I: Image-Caption Alignment

Projector만 훈련.

 

Stage II: High-resolution Dense Alignment

가능한 모든 객체를 의미 정보와 정렬하기 위해, 단순히 이미지를 global caption에 정렬하는 대신 2가지 새로운 작업 목표를 정의한다.

 

1. Dense Referring: 모든 객체에 대해 영역을 참조하고 class를 묻는다.

Question: Please classify the objects in the following locations. 1: ⟨region_1⟩, 2: ⟨region_2⟩, ...

Answer: Here are the categories: 1: cat, 2: dog, ...

 

2. Dense Detection: 입력 이미지에서 특정 순서로 모든 객체를 찾아내도록 한다.

Question: Please localize visible objects in the image in a raster scan order.

Answer: The objects are: 1: cat ⟨coordinate_1⟩, 2: dog ⟨coordinate_2⟩, ...

 

Stage III: Intent-Enhanced Instruction Tuning

모든 피라미터 훈련.

 

추가적인 2가지 전략:

  • Global 이해에서 local 이해로의 전환을 촉진하기 위해 object detector, OCR model을 통해 이미지 내의 객체, 텍스트의 지역 정보를 가져와 통합한다.
  • Referring and grounding이 필요한 작업과 그렇지 않은 작업 간의 모호성을 줄이기 위해 "Include the coordinates for each mentioned object." 라는 프롬프트를 추가하여 요구 사항을 명확히 한다.

 

 

 

Experiments