TAP: Prompting을 통해 무엇이든 토큰화하는 통합 모델
Tokenize Anything via Prompting (TAP)은 유연한 시각적 프롬프트(점, 상자, 스케치)를 통해 임의의 영역을 동시에 분할, 인식, 캡셔닝할 수 있는 통합된 프롬프트 기반 모델입니다. SAM의 아키텍처를 기반으로 각 예측된 마스크에 semantic token을 추가하여 이미지 디코더를 업그레이드했으며, SA-1B의 방대한 분할 마스크와 사전 훈련된 EVA-CLIP의 semantic prior를 결합하여 훈련되었습니다. 이 모델은 분할과 개념 예측을 공동으로 최적화하여 강력한 지역별 인식 및 위치 파악 능력을 보여주며, 다양한 시각적 인식 작업을 위한 다목적 지역 수준 이미지 토크나이저로 기능할 수 있습니다. 논문 제목: Tokenize Anything via Prompting
Pan, Ting, et al. "Tokenize anything via prompting." European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2024.
Tokenize Anything via Prompting
Ting Pan , Lulu Tang , Xinlong Wang , and Shiguang Shan <br> Key Laboratory of Intelligent Information Processing, ICT, CAS<br>{ting.pan@vipl.,sgshan@}ict.ac.cn<br> Beijing Academy of Artificial Intelligence<br>{lltang, xlwang_1}@baai.ac.cn<br> University of Chinese Academy of Sciences, Beijing, China
Fig. 1: TAP는 **유연한 visual prompt (point, box, sketch)**를 통해 임의의 영역을 동시에 분할(segment), 인식(recognize), 캡셔닝(caption)할 수 있는 통합적이고 promptable한 foundation model이다. SAM 20을 따라, 우리는 예측된 각 mask에 대해 하나의 semantic token을 추가하여 mask decoder를 다재다능한 image decoder로 업그레이드했다. 이 모델은 SA-1B에서 얻은 방대한 segmentation mask와 50억 개의 파라미터를 가진 사전학습된 EVA-CLIP [48]의 semantic prior를 활용하여 학습되었다.
Abstract
우리는 모든 것을 동시에 분할(segment), 인식(recognize), 캡셔닝(caption)할 수 있는 통합적이고 promptable한 모델을 제시한다. SAM과 달리, 우리는 visual prompting을 통해 야생(in the wild) 환경에서 다재다능한 영역 표현(region representation)을 구축하는 것을 목표로 한다. 이를 위해, 우리는 SA-1B mask와 같은 대규모 segmentation mask와 50억 개의 파라미터를 가진 사전학습된 CLIP 모델의 semantic prior를 활용하여 일반화 가능한 모델을 학습시킨다. 구체적으로, 우리는 각 mask token에 semantic token을 추가하여 promptable image decoder를 구성한다. 이 semantic token은 미리 정의된 개념 공간(concept space)에서 semantic prior를 학습하는 역할을 한다. mask token에 대한 segmentation과 semantic token에 대한 concept prediction을 공동으로 최적화함으로써, 우리 모델은 강력한 영역 인식 및 지역화(localization) 능력을 보여준다. 예를 들어, scratch부터 학습된 38M 파라미터의 추가적인 causal text decoder는 Visual Genome region captioning task에서 164.7의 CIDEr 점수로 새로운 기록을 세웠다. 우리는 이 모델이 다양한 시각 인지 task를 위한 범용적인 영역 컨텍스트(region context)를 인코딩할 수 있는 다재다능한 region-level image tokenizer가 될 수 있다고 믿는다. 코드와 모델은 https://github.com/baaivision/tokenize-anything 에서 확인할 수 있다.
키워드: Multi-modal • Image Tokenization • Regional Perception
1 Introduction
시각 인지의 핵심 목표는 관심 영역(region of interest)을 효율적으로 localize하고 인식하는 것이다. 이를 위해서는 영역별 context를 이해하고 동시에 segmentation, recognition, captioning과 같은 인지 task를 수행할 수 있는 단일 vision model이 필요하다. 그러나 기존 모델들은 클래스에 구애받지 않는 마스크를 localize하는 데 집중하거나(예: SAM [20] 및 그 효율성 지향 후속 연구들 [50, 64, 70]), 또는 시각적 의미론(visual semantics)만을 추출하는 데 집중한다(예: CLIP [41] 및 그 영역 수준 변형들 [51, 67, 74]).
특히, SAM은 prompt를 통해 무엇이든 segment할 수 있는 segmentation foundation model을 개발하여, 픽셀 단위 localization task에서 강력한 일반화 능력을 보여준다. 반면, CLIP은 웹 규모의 이미지-텍스트 쌍에 대한 contrastive learning을 통해 recognition foundation model을 학습시켜, 인식 task에서 강력한 zero-shot 능력을 입증한다. 따라서, SAM의 아키텍처 내에서 CLIP 모델로부터 semantic prior를 학습하는 것은 포괄적인 시각 인지를 향한 유망한 경로를 제공한다.
우리의 주요 목표는 무엇이든 한 번에 segment하고, 인식하며, captioning할 수 있는 통합된 promptable 모델(Fig. 1a)을 구축하는 것이다. 그러나 이러한 foundation model을 구축하는 것은 쉽지 않다. 그 이유는 다음과 같다:
- 일반적인 인지를 달성할 수 있는 promptable 프레임워크가 존재하지 않는다.
- 현재 마스크, 클래스, 캡션이 쌍으로 연결된 공개 웹 규모 데이터셋이 없다.
- CLIP과 SAM의 기능을 단일 모델에 효과적이고 효율적으로 통합하여 임의의 영역을 이해할 수 있는 학습 방법이 없다. 본 연구는 이러한 방향을 신중하게 탐색하며, 새로운 프레임워크, 새로운 데이터셋, 효과적인 학습 방법을 포함하는 체계적인 솔루션을 제공하는 것을 목표로 한다.
우리는 동시적인 segmentation, recognition, captioning을 가능하게 하는 promptable tokenization 및 captioning 프레임워크(Fig. 3)를 소개하는 것으로 시작한다. 이를 위해서는 관심 영역을 지시하는 유연한 prompting이 주어졌을 때, 마스크 토큰(mask token) 및 semantic 토큰(semantic token)과 같은 범용 표현(general-purpose representation)을 추상화할 수 있는 통합 모델이 필요하다. 우리는 SAM의 아키텍처를 따르지만, 마스크 디코더(mask decoder)를 일반적인 이미지 디코더(generic image decoder)로 업그레이드하여, 예측된 각 마스크에 대해 추가적인 semantic 토큰을 생성한다. 마스크 토큰은 SAM과 유사하게 픽셀 단위 segmentation에 기여하는 반면, semantic 토큰은 영역 수준의 semantic prediction을 담당한다. semantic 토큰을 활용함으로써, 모델은 MLP head를 통해 open-vocabulary classification task를 동시에 처리할 수 있으며, autoregressive process를 사용하는 경량 텍스트 디코더(lightweight text decoder)로 promptable captioning task를 수행할 수 있다. 우리는 이 모델을 **TAP(Tokenize Anything via Prompting)**이라고 부르며, Fig. 1b에 설명되어 있다.
이러한 고성능의 일반화 가능한 모델을 학습시키려면 다양하고 대규모의 데이터셋이 필수적이다. 그럼에도 불구하고, 현재 동시적인 segmentation 및 recognition을 위한 웹 규모 데이터 소스는 존재하지 않는다. SA-1B [20]는 SAM과 같은 segmentation foundation model 학습을 위해 1,100만 개의 이미지에 대해 11억 개의 고품질 마스크 어노테이션을 구축한다. 반대로, LAION-2B [42]는 웹에서 20억 개의 이미지-텍스트 쌍을 수집하여 CLIP과 같은 일반화 가능한 recognition model 학습을 용이하게 한다. 정렬된 데이터 부족으로 인한 문제를 해결하기 위해, 우리는 SemanticSA-1B 데이터셋을 소개한다(Fig. 1c 참조). 이 데이터셋은 LAION-2B의 웹 규모 semantics를 SA-1B에 암묵적으로 통합한다. 구체적으로, SA-1B 내의 각 segment된 영역에 대해, 우리는 대규모 LAION 이미지-텍스트 쌍으로 학습된 강력한 CLIP 모델에 의해 예측된 개념 어휘(concept vocabulary)에 대한 개념 분포(concept distribution)를 semantic prior로 추출한다. 결과적으로, SA-1B 데이터는 LAION-2B prior와 함께 우리의 사전학습 데이터셋에 기여한다.
Fig. 2: TAP은 유연한 prompt를 받아 마스크, 카테고리, 캡션을 한 번에 출력한다.
SemanticSA-1B 데이터셋을 사용하여, 우리는 모델을 처음부터 groundtruth 마스크와 관련 semantics로 사전학습시켜, SAM의 아키텍처 내에 CLIP의 기능을 효과적으로 통합한다. 이는 일반적인 segmentation과 개념 예측을 동시에 수행하는 promptable tokenizer를 학습함으로써 달성된다. 각 마스크된 이미지에 대한 semantic concept를 예측하기 위해, 우리는 예측된 concept 분포와 목표 분포 간의 KL divergence loss를 최소화하는 것을 제안하며, 이는 CLIP 지식의 전이를 극대화하는 것을 목표로 한다. 이 공동 학습 목표(joint training objective)는 localization과 recognition 모두에서 강력한 일반화 능력을 가능하게 하여, 범용 시각 task를 용이하게 한다.
우리는 TAP 모델과 그 구성 요소를 광범위하게 평가했다. TAP은 instance classification에서 강력한 zero-shot 성능을 보여주며(예: 도전적인 LVIS [12] 벤치마크에서 59.1 AP), 경쟁력 있는 zero-shot segmentation 성능을 유지한다(예: TAP과 SAM의 경우 각각 43.0 AP 대 43.1 AP). 특히, 우리는 이전 연구들에 비해 훨씬 적은 파라미터를 사용하여 Visual Genome [21]의 region caption task에서 164.7의 CIDEr 점수로 새로운 기록을 세웠다. 우리의 연구 결과는 tokenized region-level feature가 segmentation 및 classification task 모두에 일반화 가능하며, 심지어 causal text generation을 직접 prompt할 수도 있음을 시사한다. 무엇보다도, 우리는 TAP 모델이 광범위한 시각 인지 task를 위해 영역별 context를 인코딩할 수 있는 다재다능한 region-level image tokenizer가 될 수 있다고 믿는다(Fig. 2 참조).
2 Related work
2.1 Vision Foundation Models
Vision foundation model은 다양한 vision task에 걸쳐 강력한 zero-shot 및 few-shot 일반화 능력을 달성하는 것을 목표로 한다. **CLIP [41]**이 대규모 이미지-텍스트 쌍으로 이미지 및 텍스트 인코더를 동시에 학습시켜 두 가지 modality를 정렬한 것을 시작으로, 대규모의 범용 vision-language representation을 학습하기 위한 수많은 노력이 이어져 왔다 [18, 26, 48].
또한, 일부 연구들은 vision generalist model을 구축하는 것을 목표로 한다 [20, 55, 57, 59, 78]. 예를 들어, **SAM [20]**은 대규모 데이터셋을 도입하고 promptable segmentation을 위한 모델을 학습시킨다. SAM은 사용자 상호작용을 prompt로 받아 일반적인 segmentation task에서 강력한 zero-shot 성능을 보여준다. SAM과 동시에 발표된 **SegGPT [59]**는 다양한 segmentation task를 하나의 in-context segmentation 문제로 통합한다. SegGPT는 in-context inference를 통해 임의의 segmentation task를 수행하는 능력을 보여준다.
일부 다른 연구들은 멀티모달 데이터셋을 활용하여 generalist model을 구축하고자 한다 [1, 36, 49]. 본 연구에서는 다양한 perception task를 위한 범용 region context를 인코딩할 수 있는 다재다능한 region-level image tokenizer 역할을 하는 vision foundation model을 구축하는 것을 목표로 한다.
2.2 Open-Vocabulary Segmentation
기존의 instance segmentation 및 semantic segmentation 모델들 [2, 4, 14, 33, 56, 58, 62]이 제한된 vocabulary 내에서 작동하는 것과 달리, **open-vocabulary segmentation (OVS)**은 학습에 사용된 closed-vocabulary를 넘어서는 영역들을 분류하는 것을 목표로 한다 [5, 6, 10, 16, 24, 29, 40, 65, 66, 71, 76, 77].
수많은 연구들은 CLIP [41]과 같은 사전학습된 Vision-Language Model (VLM)을 활용하는 데 초점을 맞추고 있으며, VLM 지식을 기존 segmentation 모델에 효과적으로 통합하기 위한 특정 alignment 기법을 설계하는 데 집중한다 [5, 6, 24, 76].
예를 들어, **LSeg [24]**는 텍스트와 픽셀 임베딩을 공통 feature 공간에 임베딩하여 각 픽셀에 레이블을 할당한다. **MaskCLIP [6]**은 CLIP visual encoder와 원활하게 통합되는 2단계 모델을 구축한다. **ZegFormer [5]**는 문제를 class-agnostic grouping task와 region-level classification task로 분리하여 VLM을 활용한다.
일부 연구들은 caption 데이터를 활용하여 weakly supervised 방식으로 시각 feature를 텍스트와 정렬한다 [10, 16, 29, 61, 65]. 예를 들어, **GroupViT [65]**는 픽셀 수준의 어노테이션 없이 이미지-캡션 쌍으로 학습되며, 텍스트 supervision을 기반으로 마스크를 직접 그룹화한다. **OVSeg [29]**는 이미지 캡션의 명사에서 생성된 pseudo label을 사용하여 마스킹된 이미지에 대해 CLIP을 fine-tuning한다. 반면, **CGG [61]**는 grounding 및 generation loss를 결합하여 이미지 캡션의 지식을 철저히 탐색한다.
또한, 다른 연구들 [40, 71, 77]은 단일 네트워크 내에서 여러 task를 공동으로 학습하거나 text-to-image diffusion model을 연구한다 [19, 66].
우리의 연구는 CLIP 기반 접근 방식과 일치하지만, 일반적으로 이미지 수준의 CLIP을 사용하여 마스크를 분류하는 2단계 모델과는 차이가 있다. 대신, 우리의 접근 방식은 region-level semantic awareness를 갖춘 단일 모델을 개발하는 데 중점을 둔다.
Fig. 3: TAP 개요.
a) SAM의 아키텍처를 기반으로 마스크 디코더를 일반적인 이미지 디코더로 강화하고, 각 예측된 마스크에 추가적인 semantic token 를 추가한다.
b) 우리 모델은 SemanticSA-1B로 사전학습되며, 개념 예측(concept prediction)과 promptable segmentation을 위해 공동으로 최적화된다.
c) 이어서, **사전학습된 promptable tokenizer (점선 상자 안)**는 region captioning에 활용된다.
2.3 Zero-shot Region Understanding
이전 연구들은 VLM의 open-vocabulary 능력을 객체 탐지(object detection) task로 확장하는 데 초점을 맞추었다 [11, 22, 53, 69, 74]. 최근 연구들 [52, 67]은 CLIP의 open-vocabulary 분류 능력과 SAM의 분할(segmentation) 능력을 결합하는 것을 목표로 한다. 예를 들어, **SAM-CLIP [52]**은 SAM과 CLIP 양쪽으로부터 지식을 증류(distill)하여, 두 teacher로부터 샘플링된 데이터의 일부로 visual encoder를 재학습시킴으로써 CLIP과 SAM의 원래 강점을 모두 유지한다. **RegionSpot [67]**은 탐지(detection) 데이터셋으로 학습된 adapter를 추가하여 prompting을 통합함으로써, SAM의 mask token이 마스킹된 이미지 세그먼트에서 파생된 CLIP의 feature와 상호작용할 수 있도록 한다. 일부 연구들 [25, 55, 78]은 임의의 영역에서 객체를 인식할 수 있는 통합 모델을 구축하려고 시도한다. **SEEM [78]**은 X-Decoder [77]를 기반으로 구축되었으며, 클릭, 바운딩 박스, 스크리블, 텍스트, 참조 이미지 세그먼트 등 다양한 유형의 prompt를 처리하는 데 탁월하다. SAM [20]을 따라, ASM [55]은 SA-1B [20]를 위한 새로운 데이터셋(AS-1B)을 생성하여, 의미 태그, 질문-답변 쌍, 상세 캡션의 풍부한 주석을 구축했다. 이 데이터셋을 활용하여 그들은 panoptic visual recognition을 위한 새로운 모델인 ASM을 개발한다. 이러한 모델들이 수작업으로 제작된 멀티모달 데이터셋에 의존하는 것과 달리, 우리는 SA-1B의 광범위한 segmentation mask와 고성능 CLIP 모델의 semantic prior를 완전히 활용하여, 주어진 모든 영역에 대한 semantic context를 이해할 수 있는 promptable tokenizer를 개발하는 것을 목표로 한다.
3 Approach
우리는 관심 영역(arbitrary regions of interest)의 분할(segmentation), 인식(recognition), 캡셔닝(captioning)을 효율적으로 가능하게 하는 새로운 promptable framework를 소개한다. 이는 다음 두 단계를 통해 달성된다:
- CLIP prior를 활용한 방대한 segmentation mask로 promptable tokenizer를 사전학습한다 (Sec. 3.1).
- 이후 모델의 능력을 확장하여 promptable captioning을 위한 생성 능력(generative abilities)을 포함시킨다 (Sec. 3.2).
3.1 Promptable Tokenization
우리의 주요 목표는 프롬프트 기반 분할(promptable segmentation) 모델 내에서 비전과 언어를 정렬하여, 모델의 영역 수준(region-level) 의미론적 인식(semantic awareness)을 향상시키는 것이다. 이 목표를 달성하기 위해, 본 하위 섹션에서는 모델 아키텍처, 사전학습 데이터셋, 개념 예측(concept prediction) 및 프롬프트 기반 분할을 포함하는 학습 방법, 그리고 사전학습 손실에 대해 소개한다.
모델 아키텍처 (Model architecture)
우리의 tokenizer 모델은 **이미지 인코더(image encoder), 프롬프트 인코더(prompt encoder), 이미지 디코더(image decoder)**의 세 가지 필수 모듈로 구성된다 (Fig. 3 참조). 우리는 SAM의 아키텍처를 유지하되, 마스크 디코더(mask decoder)를 일반적인 이미지 디코더로 업그레이드한다. 또한, 우리의 목표를 보다 효율적이고 효과적으로 달성하기 위해 SAM의 아키텍처에 몇 가지 수정 사항을 적용한다.
구체적으로, 이미지 인코더는 표준 Vision Transformer (ViT) [7]를 채택하며, 여기서 크기의 겹치지 않는 윈도우(nonoverlapping window)가 사용된다. 연산 강도를 완화하기 위해, 우리는 이미지 인코더의 전역 어텐션(global attention)을 convolutional cross-window block [27]으로 대체하고, 쿼리 기반 상대 위치 임베딩(query-based relative position embedding) [28]을 인덱스 기반 상대 위치 편향(index-based relative position bias)으로 교체한다.
프롬프트 인코더와 관련하여, 우리는 이전 단계의 마스크 예측을 이미지 임베딩에 추가하지 않는다. 이는 사전 프롬프트(예: 스케치 포인트)와 고급 프롬프트(예: 인터랙티브 포인트) 간의 불일치를 유발하기 때문이다. 결과적으로, 프롬프트 인코더의 모든 마스크 임베딩 레이어는 제거된다.
이미지 디코더에서는 각 예측된 마스크에 추가적인 semantic token을 추가한다. 여기서 mask token은 픽셀 단위 분할(pixel-wise segmentation)에 사용되는 반면, semantic token은 영역 수준 인식(region-level recognition)에 기여한다. 따라서 우리의 이미지 디코더는 총 4개의 마스크와 9개의 토큰을 생성한다: 4개의 mask token, 4개의 semantic token, 그리고 1개의 IoU token.
사전학습 데이터셋 (Pre-training dataset)
기존의 vision-language 정렬 방법들은 이미지-텍스트 쌍 [3, 42, 45]에 의존하여, 세밀한 영역 이해(fine-grained region understanding)에 한계가 있었다. 잘 수집되거나 근사화된 영역-텍스트 데이터에 의존하는 이전 방법들 [39, 55, 78]과 달리, 우리는 분할 데이터와 CLIP 사전 지식(prior)만을 사용하여 이미지 세그먼트와 언어를 정렬한다.
SA-1B는 class-agnostic 데이터셋이므로, 우리는 고성능 오픈소스 CLIP 모델인 EVA-CLIP [48]을 활용하여 SA-1B 내 각 이미지 세그먼트에 대한 semantic prior로서 개념 분포 을 계산한다. 먼저, 다양한 인기 이미지 데이터셋에서 수집된 2560개의 카테고리로 구성된 레이블 목록을 생성한다. 그런 다음, 'a {}' 또는 'a photo of a {}'와 같은 간단한 프롬프트 템플릿을 사용하여 CLIP으로 텍스트 임베딩 를 생성한다. 동시에, SA-1B의 각 마스킹된 이미지 세그먼트에 대해 CLIP이 생성한 시각 임베딩 를 얻는다. 개념 분포는 다음과 같이 정의될 수 있다:
여기서 는 온도(temperature) 파라미터를 나타낸다. 결과적으로, 분할 데이터와 그에 대한 off-the-shelf CLIP 사전 지식 ()은 로컬에 저장되어 우리의 사전학습 데이터셋인 SemanticSA-1B를 구성한다.
개념 예측 (Concept prediction)
모델에 의미론적 인식(semantic awareness)을 부여하기 위해, 우리는 semantic token을 사용하여 영역 개념(region concepts)을 예측하는 방법을 제안한다. 구체적으로, 우리는 semantic token을 사용하여 예측된 시각 임베딩 를 얻고, 이를 **개념 분포 로 추가적으로 투영(project)**한다.
우리는 또한 모델의 예측과 CLIP의 타겟 간의 개념 분포를 정렬하는 것을 제안한다. **개념 정렬 손실(concept alignment loss)**은 와 간의 KL divergence loss로 정의되며, 다음과 같이 표현된다:
일반적으로 예측된 시각 임베딩과 CLIP 시각 임베딩 간의 음의 코사인 유사도(negative cosine similarity)를 최소화하는 feature alignment()와 달리, 개념 정렬은 두 분포 간의 를 최소화한다. 이는 와 간의 유사도를 측정하여, 를 긍정적인 (즉, 관련 개념)에 더 가깝게 만들고, 부정적인 (즉, 관련 없는 개념)로부터 멀어지게 한다. 이는 가 직교(orthogonal)하도록 유도하여 CLIP의 open-world 지식 전이를 극대화한다.
프롬프트 기반 분할 (Promptable segmentation)
SAM 내의 마스크 디코더는 입력 프롬프트에 반응하여 일반적인 분할(generic segmentation)을 수행한다. 따라서 우리는 프롬프트 기반 분할을 의미론적 능력(semantic capabilities)을 개방하기 위한 필수적인 전제 조건으로 간주한다. SAM을 따라, 우리 모델은 각 프롬프트에 대해 기본적으로 4개의 마스크를 예측하지만, 모호성을 해결하기 위해 라우팅 전략(routing strategy)이 하나를 선택한다.
대규모 SA-1B 데이터셋에서 학습 효율성을 향상시키기 위해, 우리는 최대 9개의 프롬프트 포인트(prompt points)를 사용하는 2단계 샘플링 전략을 구현한다. 이는 원본 SAM에서 11개의 인터랙티브 단계 내에서 수행되는 방식과 유사하다.
첫 번째 단계에서는 ground-truth 마스크에서 상자(box) 또는 점(point)을 동일한 확률로 샘플링한다.
이후 단계에서는 예측된 마스크와 ground-truth 마스크 간의 오류 영역(error region)에서 1개에서 8개까지의 점을 균일하게 샘플링한다.
SAM에서는 탐구되지 않은 측면인 마스크를 사전 프롬프트(prior prompt)로 활용하기 위해, 우리는 두 번째 단계에서 50% 확률로 비인터랙티브 샘플링(noninteractive sampling) 방법을 도입한다. 이 샘플링은 ground-truth 마스크에서 1개에서 9개까지의 점을 균일하게 가져와 더 넓은 프롬프트 공간을 제공한다.
**분할 손실 **에 관해서는, focal loss [30], dice loss [38], 그리고 IoU 예측 손실의 선형 조합을 20:1:1의 비율로 가중하여 사용한다. IoU 예측 헤드(IoU prediction head)는 SAM [20]을 따라 예측된 마스크와 ground-truth 마스크 간의 실제 IoU에 의해 감독되는 평균 제곱 오차(mean-square-error) 손실을 사용하여 학습된다.
사전학습 손실 (Pre-training loss)
우리의 최종 사전학습 손실은 개념 예측과 프롬프트 기반 분할을 결합한 joint loss이다: . 여기서 균형 가중치 는 풍부한 CLIP 의미론을 충분히 학습하기 위해 탐색되었으며, 경험적으로 (1,1)로 설정되었다. 이 joint loss를 사용하여 우리는 SemanticSA-1B에서 프롬프트 기반 tokenizer를 학습시킨다. 우리 방법의 개요는 Fig. 3에 설명되어 있다.
3.2 Promptable Captioning
promptable semantic token의 효과를 평가하기 위해, SemanticSA-1B로 사전학습한 후, 모델 상단에 추가적인 경량 text decoder를 추가하고 Visual Genome (VG) [21] 데이터셋으로 fine-tuning을 수행한다. 우리의 텍스트 생성 아키텍처 개요는 Fig. 4에 나타나 있다.
Fig. 4: Promptable captioning. Semantic token은 텍스트 생성을 prompt하는 데 사용된다.
Region caption task. 많은 선행 연구들 [54, 55, 72]은 CLIP visual feature와 **Large Language Model (LLM)**을 함께 사용하여 region caption을 생성한다. 최근 방법들 [54, 63]은 SAM decoder feature를 활용하며, 약한 semantic context를 강화하기 위해 LLM에 의존하기도 한다. 그러나 단순히 LLM을 추가하는 것은 계산 부담을 가중시킬 뿐만 아니라, region-level 시각 이해에는 불필요할 수 있다. 왜냐하면 region caption은 일반적으로 15단어 미만으로 구성되기 때문이다.
우리는 컴팩트한 vision model을 구축하기 위한 노력의 일환으로 generative tokenizer를 개발한다. 이는 causal language modeling을 통해 텍스트 생성 기능을 통합하도록 tokenizer (Sec. 3.1)의 기능을 확장함으로써 달성된다. 구체적으로, 우리는 tokenizer에서 생성된 semantic token을 prompt로 사용하여 region caption을 생성하는 경량 text decoder를 학습시킨다. 이 semantic-aware visual tokenizer를 활용함으로써, 우리 모델은 LLM의 필요 없이 이 task를 end-to-end로 효율적으로 학습한다.
Causal text decoder. 우리는 짧은 region description을 생성하기 위해 embedding dimension이 512인 표준 Transformer를 활용한다. 이 경량 text decoder는 semantic context로 prompt될 경우 mask-to-text translation을 수행하기에 충분하다. promptable tokenizer에 의해 생성된 semantic token이 주어지면 (Fig. 3 참조), 우리는 이 semantic token에 선형 projection만을 적용하여 텍스트 embedding과 차원을 정렬한다 (Fig. 4 참조). 이어서, semantic token을 시퀀스의 선두 위치에 배치하고, 그 뒤에 [BOS] token과 word token을 둔다. multi-modal 시퀀스의 positional encoding을 통합하기 위해 Rotary embedding [47]이 활용된다. 우리는 32k token vocabulary를 가진 byte-pair encoding [43]을 채택한다. 최종적으로, cross-entropy loss를 사용하여 causal language modeling을 통해 다음 token 예측을 수행한다.
3.3 Inference
SemanticSA-1B에서 시각 인식을 학습하고 Visual Genome에서 텍스트 생성을 학습한 후, 우리 모델은 분류(classification), 분할(segmentation), 캡셔닝(captioning)을 동시에 수행할 수 있다. 다음은 추론 파이프라인을 설명한다.
마스크 선택 (Mask selection)
시각적 prompt가 주어지면, 우리 이미지 디코더는 4개의 마스크와 9개의 토큰을 생성한다. 최종 마스크와 관련 semantic token은 휴리스틱 전략을 사용하여 선택된다. 구체적으로, 경계 상자(boundary box)로 prompt가 주어지면 첫 번째 마스크를 선택하고, 느슨한 점(loose points)으로 prompt가 주어지면 상위 순위의 나머지 마스크를 선택한다. 이는 mixture-of-experts (MoE) [17]의 단순화된 구현과 유사하다.
개념 예측 (Concept prediction)
선택된 semantic token은 데이터셋별 개념 어휘(concept vocabulary) (예: COCO 및 LVIS)에 대한 개념 예측에 활용된다. 구체적으로, 우리는 semantic token을 사용하여 3-layer MLP ()를 통해 1024차원의 visual embedding을 얻는다. 이 visual embedding은 분류를 위한 개념 분포 로짓(concept distribution logits, 즉 )으로 추가적으로 투영(project)된다.
캡션 생성 (Caption generation)
마지막으로, 선택된 semantic token을 prompt로 사용하여 greedy sampling 전략으로 최대 40개의 단어 토큰을 생성한다. attention 계산 속도를 높이기 위해, 우리는 auto-regressive decoding의 표준 관행을 따르며, 시퀀스 내 이전 생성에 대한 key 및 value 쌍을 캐싱한다.
4 Experiments
4.1 Experiments Setup
사전학습 (Pre-training)
우리는 TAP 모델을 SemanticSA-1B 데이터셋으로 사전학습한다. 이 데이터셋은 SA-1B 데이터와 그에 연관된 CLIP prior를 포함한다. 전체 SA-1B는 1,100만 개의 고해상도 이미지와 이미지당 약 100개의 영역을 포함하며, 총 11억 개의 segmentation mask로 구성된다.
SA-1B 데이터에 대한 CLIP prior를 얻기 위해, [39, 68, 74]에서 영감을 받아 EVA-CLIP [48]을 활용하여 큐레이션된 레이블 공간에 대한 텍스트 임베딩을 생성한다. 이 레이블 공간은 COCO [31], ADE20K [75], LVIS [12], Objects365 [44], Visual Genome [21], OpenImagesV4 [23] 데이터셋을 병합하여 구성되었다. 그 결과, 2560개의 카테고리를 포괄하는 개념 목록이 생성되었으며, 이는 segmentation을 위한 things와 stuff를 모두 포함한다.
평가 (Evaluation)
우리는 COCO와 LVIS 데이터셋에서 zero-shot instance segmentation 성능을 평가한다. zero-shot instance classification의 경우, COCO가 80개의 일반적인 카테고리만을 다루어 open-world 가정을 벗어나는 반면, LVIS는 1203개의 더 넓은 범위의 카테고리를 포함하므로 LVIS를 우선적으로 평가한다.
region-level captioning task에서는 SA-1B와 Visual Genome (VG) [21] 사이의 **도메인 간극(domain gap)**을 고려하여 두 단계의 fine-tuning 접근 방식을 채택한다.
먼저, 이미지 encoder-decoder를 고정(freeze)하고 VG [21] v1.0 train set을 사용하여 텍스트 decoder만 fine-tuning한다. 이를 **'partial-FT'**라고 명명한다.
그 후, 이미지 encoder-decoder를 unfreeze하고 모델을 end-to-end로 fine-tuning한다. 이 두 단계 fine-tuning 전략을 **'full-FT'**라고 표시한다.
정렬된 mask, class, caption을 포함하는 웹 규모 데이터셋이 없기 때문에, 모든 ablation study (Sec. 4.3)는 'partial-FT' 설정으로 수행된다.
우리는 VG test set과 RefCOCOg [37] validation set에서 다음 네 가지 지표를 보고한다: BLEU@4, METEOR, ROUGE, CIDEr.
구현 세부 사항 (Implementation details)
모든 실험에서 **AdamW [35] optimizer ()**를 사용하며, **기본 학습률은 **이다. **cosine learning rate schedule [34]**이 구현되었다.
SemanticSA-1B에서의 사전학습 동안, **scale jitter [9]**가 [0.5, 2.0] 범위로 적용되었으며, 180k iteration (약 4 epoch) 동안 256개의 GPU에 걸쳐 256의 batch size로 학습되었다.
VG fine-tuning은 데이터 증강 없이 60k iteration (약 50 epoch) 동안 64개의 GPU에 걸쳐 64의 batch size로 수행되었다.
추가적인 하이퍼파라미터는 다음과 같다:
- weight decay: 0.1
- drop path [15] rate: ViT-B의 경우 0.1, ViT-L의 경우 0.2
- dropout [46] rate: 이미지 decoder의 경우 0.1, 텍스트 decoder의 경우 0.4
이미지 encoder는 MAE [13] 사전학습 가중치로 초기화되었으며, 다른 모든 layer는 scratch부터 초기화되었다. 모든 실험에서 각 샘플링 단계에서 GPU당 최대 64개의 샘플링된 prompt를 채택한다.
4.2 Main Results
Zero-shot instance classification.
우리는 LVIS 데이터셋에서 모델의 순수한 인식 능력을 평가하기 위해 ground-truth (GT) box를 사용하여 모델에 prompt를 제공한다. GT box를 visual prompt로 활용했을 때, 우리 모델은 제한된 이미지 영역으로 학습된 RegionCLIP [74] 및 RegionSpot [67]을 크게 능가한다. 이러한 유망한 결과는 포괄적인 이미지 영역에 대한 concept prediction을 활용하는 것이 SAM에 의미론적 인식(semantic awareness)을 효과적으로 부여할 수 있음을 시사한다.
Table 1에서 볼 수 있듯이, 고성능 EVA-CLIP은 zero-shot 평가에서 다른 모든 방법들을 능가하며 인상적인 rare AP를 달성한다. 그럼에도 불구하고, 대규모 이미지 crop을 계산하기 위해 독립형 CLIP (5B) 모델을 배포하는 것은 실시간 비전 시스템에는 비실용적이다. 우리는 대규모 CLIP 모델의 지식을 허용 가능한 성능으로 소형 tokenizer (0.1B)에 통합할 수 있음을 보여준다.
Table 1: LVIS 12 데이터셋에 대한 zero-shot instance classification 결과. 모든 항목은 공정한 비교를 위해 GT box를 사용하여 평가되었다. 위첨자 'R', 'C', 'F'는 LVIS 평가에서 정의된 rare, common, frequent 카테고리를 나타낸다.
Model | Params | Training data | AP | |||
---|---|---|---|---|---|---|
Supervised detector: | ||||||
ViTDet-B 27] | 0.1 B | LVIS | 61.9 | 40.8 | 58.5 | 74.9 |
ViTDet-L 27] | 0.3 B | LVIS | 68.8 | 51.5 | 65.6 | 79.9 |
Image-level CLIP: | ||||||
CLIP-L 41] | 0.3 B | WIT-400M | 48.8 | 52.8 | 50.0 | 45.6 |
EVA-CLIP-E 48] | 5B | LAION-2B | 64.3 | 72.4 | 65.3 | 59.7 |
Region-level CLIP: | ||||||
RegionCLIP-R50x4 74] | 0.1 B | CC-3M | 50.7 | 50.1 | 50.1 | 51.7 |
RegionSpot-BL 67] | 0.4 B | O365,OI,V3D | 56.6 | 50.6 | 50.2 | 68.8 |
Promptable tokenizer: | ||||||
TAP-B | 0.1 B | SemanticSA-1B | 57.4 | 58.6 | 56.8 | 57.5 |
TAP-L | 0.3 B | SemanticSA-1B | 59.1 | 61.7 | 58.9 | 58.3 |
Region-level captioning.
우리는 Visual Genome [21]과 RefCOCOg [37] 데이터셋에서 모델을 평가한다. 먼저, GT box를 활용하여 image decoder에 prompt를 제공하고, 이어서 생성된 semantic token을 사용하여 text decoder에 prompt를 제공한다. 평가 결과는 Table 2에 제시되어 있다. 놀랍게도, 우리 모델은 SA-1B로 사전학습되었고 VG 이미지를 이전에 본 적이 없는 frozen image encoder-decoder를 사용했음에도 불구하고 ('partial-FT'), Visual Genome에서 154.7의 CIDEr 점수를 달성한다. 두 단계 fine-tuning 전략('full-FT')을 채택함으로써, 경량 text decoder만을 사용하여 164.7의 CIDEr 점수로 새로운 기록을 세웠다.
동시 진행된 연구인 ASM [55]은 방대한 region-text 쌍을 포함하는 멀티모달 데이터셋으로 학습되었다는 점에 주목할 만하다. 우리 모델의 semantic knowledge는 CLIP 모델로부터 학습된다. 또 다른 동시 진행 연구인 SCA [63]는 text prompting을 위한 caption token을 학습하기 위해 12-layer image decoder를 추가로 학습한다. 이러한 결과는 우리 모델의 semantic token이 captioning을 위한 충분한 region-level 정보를 사전학습 중에 효과적으로 인코딩하며, 이는 TAP가 위치 인식(location-aware) 이미지 tokenizer로 기능할 수 있다는 우리의 이전 주장을 뒷받침한다.
Table 2: Visual Genome [21] 및 RefCOCOg [37] 데이터셋에 대한 region captioning 결과. GT box가 region proposal로 활용되었다.
Method | VisualEncoder | TextDecoder | TextPrompt | Visual Genome | RefCOCOg | ||
---|---|---|---|---|---|---|---|
METEOR CIDEr | METEOR | CIDEr | |||||
GRiT | ViT-B | Small-43M | BoxFeature | 17.1 | 142.0 | 15.2 | 71.6 |
GPT4 | CLIP-H | Vicuna7B | BoxFeature | 17.4 | 145.2 | - | - |
ASM | ViT-g | Husky7B | BoxFeature | 18.0 | 145.1 | 20.8 | 103.0 |
Alpha | ViT-L | Vicuna7B | BoxFeature | 18.9 | 160.3 | 16.7 | 109.2 |
SCA | SAM-H | Llama3B | CaptionToken | 17.4 | 149.8 | 15.6 | 74.0 |
TAP (partial-FT) | ViT-B | Small-38M | SemanticToken | 17.7 | 152.3 | 19.2 | 93.5 |
TAP (partial-FT) | ViT-L | Small-38M | SemanticToken | 17.9 | 154.7 | 19.5 | 95.6 |
TAP (full-FT) | ViT-L | Small-38M | SemanticToken | 18.9 | 164.7 | 20.4 | 102.8 |
Zero-shot instance segmentation.
우리는 zero-shot instance segmentation에서 우리 모델을 평가한다. 이는 원래 SAM이 뛰어난 성능을 보이는 task이다. 일반적인 관행 [20, 67]에 따라, 우리는 먼저 ViTDet-H 모델 [27]로부터 detection bounding box를 얻는다. 이어서, 이 box들을 사용하여 image decoder에 prompt를 제공하고, COCO 및 LVIS 데이터셋에서 순수한 segmentation 성능(즉, box category 사용)을 비교한다. 공정한 비교를 위해, 원래 SAM과 우리가 재현한 버전(our impl.로 표기)의 결과를 모두 보고한다. Table 3에 나타난 바와 같이, 우리 모델은 다양한 모델 규모에서 원래 SAM과 유사한 segmentation 결과를 달성한다. 이는 추가적인 concept prediction 및 region captioning task가 SAM의 원래 기능을 손상시키지 않음을 보여준다. 더욱이, 이는 일반적인 segmentation이 기본적인 기하학적 task로서 vision foundation model의 semantic representation을 완전히 활용하지 못할 수 있음을 시사한다.
4.3 Ablation Study
사전학습 손실(Pre-training loss)
사전학습 손실에 대한 ablation study는 Table 4와 5에 제시되어 있다. 여기서 , , 는 각각 segmentation, feature prediction, concept prediction을 이용한 사전학습을 나타낸다 (Sec. 3.1).
Table 4에서 관찰할 수 있듯이, 만으로 사전학습했을 때(Model A)는 caption metric이 현저히 낮다. semantic prediction(Model B/C)과 결합하면 caption 성능이 크게 향상된다.
feature prediction은 semantic awareness를 보여주지만, 분류(classification) 및 캡셔닝(captioning) task 모두에서 concept prediction보다 성능이 떨어진다. 이러한 결과는 CLIP prior를 습득하는 데 concept space가 결정적이라는 것을 시사한다. 우리는 이 space가 모델이 CLIP으로부터 negative text embedding(즉, )을 효율적으로 학습하는 데 기여했다고 추정한다.
또한, Table 4에 제시된 segmentation 결과는 추가적인 semantic prediction을 통한 사전학습이 COCO 및 LVIS의 mask AP를 향상시키지도, 저해하지도 않음을 보여준다. 이 관찰은 SAM-wise 아키텍처가 segmentation mask 외에 더 많은 task supervision을 통합할 수 있음을 시사한다.
Table 3: COCO 31 및 LVIS 12에 대한 zero-shot instance segmentation. Box proposal은 일반적인 supervised detection 방법인 ViTDet-H [27]를 사용하여 얻었다.
Model | COCO | LVIS | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AP | AP | ||||||||||
ViTDet-H | 51.0 | 32.0 | 54.3 | 68.9 | 46.6 | 35.0 | 58.0 | 66.3 | 35.9 | 46.8 | 51.1 |
SAM-B | 41.1 | 28.3 | 45.6 | 53.7 | 40.8 | 30.1 | 53.0 | 58.5 | 32.6 | 41.9 | 43.3 |
SAM-L | 45.5 | 30.2 | 50.1 | 60.4 | 43.8 | 31.9 | 56.7 | 64.2 | 34.3 | 44.7 | 46.9 |
SAM-H | 46.5 | 30.8 | 51.0 | 61.7 | 44.7 | 32.5 | 57.6 | 65.5 | 34.6 | 45.5 | 47.8 |
SAM-B (our impl.) | 45.1 | 28.1 | 50.1 | 61.4 | 42.1 | 29.3 | 54.9 | 64.2 | 33.2 | 43.2 | 44.7 |
SAM-L (our impl.) | 46.0 | 29.0 | 50.7 | 62.2 | 43.1 | 30.2 | 56.0 | 65.3 | 33.4 | 44.2 | 46.1 |
TAP-B | 45.1 | 28.7 | 50.1 | 60.6 | 42.2 | 29.5 | 55.0 | 64.0 | 33.6 | 43.1 | 45.0 |
TAP-L | 46.0 | 29.1 | 50.9 | 62.2 | 43.0 | 30.2 | 55.9 | 65.1 | 33.7 | 44.1 | 46.0 |
Table 4: 사전학습 손실 및 텍스트 프롬프트에 대한 ablation study. 기본 설정은 회색으로 표시되어 있다.
Model | Pre-train | TextPrompt | VG Caption | Segmentation | ||||
---|---|---|---|---|---|---|---|---|
BLEU@4 | METEOR | ROUGE | CIDEr | |||||
Model A | MaskToken | 8.8 | 13.2 | 29.0 | 105.2 | 46.1 | 43.2 | |
Model B | MaskToken | 11.1 | 16.6 | 34.0 | 138.9 | 46.0 | 43.0 | |
Model C | SemanticToken | 11.4 | 16.9 | 34.7 | 143.1 | 46.0 | 43.1 | |
Model D | SemanticToken | 12.4 | 17.9 | 36.2 | 154.7 | 46.0 | 43.0 |
Table 5: zero-shot 분류를 위한 semantic prediction task에 대한 ablation study. 기본 task는 회색으로 표시되어 있다.
VisualEncoder | Pre-train | COCO | LVIS | ||||||
---|---|---|---|---|---|---|---|---|---|
AP | AP | ||||||||
ViT-L | 62.0 | 44.5 | 69.9 | 75.4 | 39.1 | 35.5 | 37.4 | 42.7 | |
ViT-L | 77.0 (+15.0) | 60.0 | 83.7 | 90.0 | 59.1 (+20.0) | 61.7 | 58.9 | 58.3 |
Table 6: 텍스트 디코더 아키텍처에 대한 ablation. 기본값은 회색으로 표시되어 있다.
Model | TextDecoder | VG Caption | |||||
---|---|---|---|---|---|---|---|
Params | Depth | Dim | BLEU@4 | METEOR | ROUGE | CIDEr | |
TAP-L | 20M | 6 | 512 | 12.0 | 17.6 | 35.9 | 153.2 |
TAP-L | 25 M | 8 | 512 | 12.2 | 17.7 | 36.0 | 153.9 |
TAP-L | 38M | 12 | 512 | 12.4 | 17.9 | 36.2 | 154.7 |
TAP-L | 43 M | 6 | 768 | 12.3 | 17.8 | 36.0 | 154.2 |
Fig. 5: Open-world knowledge 이해 시각화.
Semantic token
semantic token의 효과를 평가하기 위해 네 가지 실험을 수행했다.
첫째, 'Pre-train' 열에 나열된 손실을 사용하여 모델을 사전학습한다.
둘째, frozen된 사전학습 모델에서 생성된 'TextPrompt'에 설명된 항목을 사용하여 텍스트 디코더를 fine-tuning한다.
Model A는 만으로 사전학습된 우리의 baseline이다. 여기서는 mask token이 region-level captioning task에 직접 사용되며, 이는 원래 SAM의 출력을 사용하여 텍스트 디코더를 학습하는 것과 유사하다.
Model D는 promptable segmentation과 concept prediction으로 공동 최적화된 우리의 기본 모델이다. semantic token은 텍스트 디코더를 prompt하는 데 사용된다.
Table 4에서 볼 수 있듯이, semantic token은 captioning task에서 mask token보다 지속적으로 우수한 성능을 보이며, segmentation task에서는 비슷한 AP를 달성한다. 궁극적으로 semantic token이 가장 효과적임이 입증되었다. 이는 semantic tokenization이 foundation model의 잠재력을 크게 발휘하게 하여 더 많은 인식 task를 용이하게 한다는 것을 시사한다.
텍스트 디코더 확장(Scaling text decoder)
caption bottleneck을 ablation하기 위해 텍스트 디코더의 depth와 embedding dimension을 확장했다. Table 6에서 볼 수 있듯이, VG 데이터셋에서 모델 규모를 늘려도 실질적인 성능 향상은 없다. 이는 텍스트 길이와 양을 더 늘릴 수 없는 한, region captioning을 위해 더 큰 디코더를 사용하는 것이 불필요할 수 있음을 시사한다.
4.4 Qualitative Results
우리는 point-based prompt를 사용하여 TAP를 정성적으로 평가한다. 단순히 클릭하거나 조밀한 점 그리드로 자동 prompting함으로써, 우리 모델은 분할 마스크, 카테고리 이름, 텍스트 설명을 동시에 생성할 수 있다.
Fig. 6: 군중 이해 시각화. 확대하여 컬러로 보는 것이 가장 좋다.
Open-world 지식. Fig. 5는 open-world 시나리오에서 도전 과제를 제기하는 예시 인스턴스를 보여준다. 어휘 설계의 주관적인 특성 때문에, 'pepsi', 'cocacola', 'dragon', 'spider-man', 'whisky'와 같은 선별된 개념들은 검색(즉, 분류)을 통해 선택하기 어렵다. 그러나 우리 모델은 이러한 개념 관련 인스턴스를 능숙하게 처리하여 open-world 지식을 다룰 수 있는 능력을 보여준다.
군중 이해. Fig. 6은 군중 영역을 시각화한다. TAP는 혼잡하거나 번화한 환경 내의 다양한 요소를 정확하게 식별하고 분할한다. 분할 마스크는 사람, 음식뿐만 아니라 다양한 흔치 않은 상품 및 문구류가 차지하는 개별 영역을 정밀하게 윤곽을 그린다. 또한, 함께 제공되는 캡션은 전반적인 요약을 제공한다.
5 Conclusion
우리는 임의의 영역 내 객체를 동시에 분할(segmenting), 인식(recognizing), 캡셔닝(captioning)할 수 있는 promptable 모델인 TAP을 제안한다. 이러한 foundation model을 구축하기 위해 우리는 다음을 포함하는 체계적인 솔루션을 탐구한다:
- 새로운 데이터셋: LAION-2B의 semantic prior를 SA-1B에 주입,
- 새로운 프레임워크: promptable tokenization,
- 효과적인 학습 방법: concept prediction.
우리의 주요 발견은 다음과 같다: a) Visual prompting은 단순한 segmentation을 넘어 더 넓은 범위의 task를 촉진할 수 있다. b) SAM은 mask AP를 손상시키지 않으면서 image-level CLIP을 사용하여 영역별 semantic awareness로 증강될 수 있다. c) **어휘 개념 공간(vocabulary concept space)과 같은 직교 공간(orthogonal space)**은 CLIP prior의 효과적인 학습에 필수적이다.
TAP은 prompting을 통해 segmenting anything을 perceiving anything으로 발전시키는 것을 목표로 한다. 우리는 이 연구가 커뮤니티가 더욱 compact하고 중요한 vision foundation model을 개발하는 데 영감을 주기를 희망한다.
Acknowledgement
본 프로젝트는 중국 국가 핵심 R&D 프로그램(2022ZD0116302)의 지원을 받았다. Cambricon MLU 자원 활용에 도움을 준 Hanxiao Qu와 Yan Tian, 그리고 본 프로젝트를 지원해 준 BAAI의 다른 동료들에게 감사드린다.
Appendix
이 Appendix는 여섯 부분으로 구성된다: 멀티모달 데이터 전처리의 기술적 구현 (Sec.A), caption fine-tuning 세부사항 (Sec. Bb), point prompt를 사용한 추가 평가 (Sec. C), 더 많은 시각화 자료 (Sec. D), 다른 모델과의 추가 비교 (Sec. E), 그리고 한계점 (Sec. F).
A Pre-processing Details
Vision.
SA-1B의 각 이미지에 대해, 우리는 마스킹된 세그먼트들을 잘라낸다. 각 세그먼트는 크기가 조정된 후 크기의 빈 캔버스에 붙여져 'image crop'을 형성한다.
이후, 우리는 EVA-CLIP을 사용하여 이들 각 crop에 대한 visual embedding 를 계산하며, 그 결과 총 11억 개의 visual embedding이 생성되고, 각 embedding은 1024차원을 갖는다 (Fig. 77 참조).
이 embedding들은 key-value 데이터베이스(예: TFRecord)에 저장되며, 약 2.25 TB의 저장 공간을 필요로 한다. 이들은 약 10.55 TB 크기의 SA-1B 데이터베이스와 동기화된다.
Fig. 7: SemanticSA-1B 구축을 위한 파이프라인.
Language.
우리는 널리 사용되는 이미지 데이터셋의 개념들을 통합하여 **총 2560개의 개념(concept)**을 도출했다.
"a {}"와 같은 간단한 prompt template을 사용하여 CLIP text embedding 를 생성한다.
text embedding 생성에 대한 pseudo-code는 Algorithm 1에 요약되어 있다.
이 text embedding들은 concept distribution 또는 을 계산하는 데 추가적으로 사용된다.
B Caption Fine-tuning Details
부분 Fine-tuning (Partial Fine-tuning)
모델이 제한된 region caption 데이터로부터 특정 segmentation 편향을 학습하는 것을 방지하기 위해, 우리는 joint masks와 semantics를 이용한 사전학습 이후 부분 fine-tuning 전략을 채택한다. 구체적으로, **image encoder-decoder는 고정(freeze)**시키고, Visual Genome (VG) 데이터에 대해 text decoder만 학습하는 데 집중한다. 이 접근 방식은 semantic token의 효과를 평가할 수 있게 해준다. 결과적으로, 이 설정에서는 promptable captioning이 segmentation에 기여하지 않는다.
Algorithm 1 텍스트 임베딩 \(T_{C}\) 생성 의사 코드.
COCO_CLASS_NAMES \(=[\ldots]\)
LVIS_CLASS_NAMES \(=[\ldots]\)
ADE20K_CLASS_NAMES \(=[\ldots]\)
OBJECTS365_CLASS_NAMES = [...]
OPEN_IMAGES_V4_BOXABLE_CLASS_NAMES = [...]
VISUAL_GENOME_CLASS_NAMES = [...] # VG의 1600개 일반 레이블 문자열.
concepts = (COCO_CLASS_NAMES+LVIS_CLASS_NAMES+
ADE20K_CLASS_NAMES+OBJECTS365_CLASS_NAMES +
OPEN_IMAGES_V4_BOXABLE_CLASS_NAMES +
VISUAL_GENOME_CLASS_NAMES)
concepts \(=\operatorname{set}([\) name.lower () for name in concepts]) # 총 2560개 개념.
remove = set()
for singular in concepts:
for plural in [singular + 's', singular + 'es']:
if plural in concepts:
remove.add(plural)
concepts = sorted(list(concepts.difference(remove)))
text_templates, text_embeds = ["a \{\}"], []
for concept in concepts:
texts = [tpl.format(concept) for tpl in text_templates]
embeds = CLIP.encode_text(CLIP.tokenize(texts))
text_embeds.append(normalize(embeds[0], dim=-1))
text_embeds \(=\operatorname{stack}(\) text_embeds, \(\operatorname{dim}=-1) * 100\).
전체 Fine-tuning (Full Fine-tuning)
정렬된 masks, CLIP priors, 그리고 region captions를 활용한 end-to-end 학습을 가능하게 하기 위해, 우리는 부분 fine-tuning된 모델을 사용하여 Visual Genome (VG) 데이터에 대한 masks를 생성하고, EVACLIP을 사용하여 해당 masks의 CLIP priors를 얻는다. 이 설정에서 localization, recognition, captioning을 동시에 활성화함으로써, 우리는 caption 성능의 상당한 향상을 관찰하였다 (예: CIDEr: 부분 fine-tuning 154.7 vs. 전체 fine-tuning 164.7).
다음 탐색 (Next Exploration)
End-to-end 학습에서 얻은 놀라운 결과는 우리 모델이 고품질의 지역별 vision-language annotation을 생성하는 데이터 엔진 역할을 할 수 있음을 시사한다. 이는 대규모 vision-language model 학습에 중요한 자산이 될 수 있다. 우리는 이러한 잠재적 탐색을 향후 연구 과제로 남겨둔다.
C Evaluation with point prompts
본 논문에서는 point prompting 기능이 없는 기존 방법들과 공정하게 비교하기 위해 GT box를 사용하여 분류 및 캡션 성능을 평가한다. 또한, point prompt를 사용하여 모델을 추가로 평가한다.
구체적으로, 우리는 GT mask에서 개의 느슨한(loose) 점을 샘플링하는데, 여기서 이다.
실험 결과, 5-point prompt가 box prompt와 유사한 성능을 보임을 확인하였다 (예: LVIS에서 1-/3-/5-/9-point/box가 각각 ).
D More Visualizations
Fig. 8은 다양한 prompt를 사용한 추가적인 시각화 결과를 제공한다. 관찰된 바와 같이, 우리 모델은 객체의 정확한 segmentation, recognition, captioning을 수행할 수 있으며, 이는 예술적인 이미지에서도 뛰어난 숙련도를 보여준다.
Fig. 8: 추가 시각화. 확대하여 컬러로 보는 것이 가장 좋다.
Fig. 9: 실패 사례 시각화.
E Comparison with SEEM and SAM-CLIP
세 가지 모델 모두 공동의 visual-semantic space를 찾는 것을 목표로 한다. COCO와 LVIS로 학습된 SEEM [78]은 object query와 semantic mask를 예측한다. 반대로, 우리의 TAP은 SA-1B 영역에 대한 semantic mask를 예측한다. object query가 없기 때문에, 우리는 ViTDet box를 사용하여 TAP에 prompt를 준다. 이 설정에서, query로부터 mask를 예측하고 CLIP text embedding으로부터 category를 예측하는 TAP은 class-specific instance segmentation task에서 SEEM을 근소하게 능가한다 (Table 7).
한편, SAM-CLIP [52]은 **CLIP과 SAM feature를 semantic segmentation (예: ADE20K에서의 segmentation) 및 class-agnostic instance segmentation을 위한 두 개의 task head로 증류(distill)**한다. 각 head는 원래의 기능을 유지하지만, class-specific instance segmentation을 위해 이들을 통합하는 것은 간단하지 않다. 이와 대조적으로, TAP은 이 segmentation task를 자연스럽게 수행하며 더 나은 결과를 달성한다 (Table 7).
Table 7: Zero-shot Instance & Semantic Segmentation. InstSeg: ViTDet의 box prompt; SemSeg: grid의 point prompt.
Model | COCO | LVIS | ADE20K |
---|---|---|---|
SAM-CLIP-B [52] | 40.9 | 35.0 | 17.1 |
TAP-B | 45.1 | 42.2 | 17.8 |
SEEM-L [78] | 47.7 | - | - |
TAP-L | 48.2 | 43.2 | 19.9 |
F Limitations
TAP는 발전에도 불구하고 두 가지 주요 제약 사항을 가지고 있다. 첫째, 인간이 큐레이션한 레이블 공간을 사용하여 학습되었는데, 이는 여전히 open-world 가정에 미치지 못한다. 이러한 제약은 또한 추론 시 유사한 개념들의 순위가 불안정하게 나타나는 문제로 이어진다 (Fig. 9 왼쪽).
둘째, 제한된 region caption 데이터셋으로 fine-tuning된 text decoder는 모델의 확장성(scalability)과 vision-language 이해의 폭을 제한할 수 있다. 예를 들어, 단순한 수량 어노테이션만으로는 객체 개수 세기(object counting) 문제를 잘 해결할 수 없다 (Fig. 9 오른쪽). caption 데이터의 확장은 모델이 복잡한 이해를 학습하는 데 도움이 될 것으로 기대된다.