Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection
DINO 모델을 Open-set 및 Referring Object Detection으로 확장한 Grounding DINO를 소개합니다. 자연어 쿼리를 활용한 객체 탐지 성능을 강화합니다.
Apr 25, 2024
Contents
IntroductionBackgroundMotivationProposeRelated workMethodologyArchitecture1. Feature Extraction and Enhancer2. Language-Guided Query Selection3. Cross-Modality Decoder4. Sub-Sentence Level Text FeatureLoss FunctionDINO와의 architecture 비교ExperimentsOpen-set taskReferring expression comprehension taskClosed-set taskAblation studyArchitecture ComparisonConclusionDiscussionPreprint, 2023.03.20
Introduction
Background
Close-set object detection: 학습 과정에서 정의된 클래스의 object detection
Open-set object detection: 학습 과정 외의 클래스의 object detection (or zero-shot)
Referring object detection: 자연어 input 으로 정의되는 임의의 object detection
Motivation
기존 close-set object detection에서 좋은 성능을 보였던 DINO model 을 open-set object, 나아가서 referring object detection 으로 확장하려 함.
선정의 이유: Open-set / referring object detection 을 문서 이해에도 (e.g. kv task) 쓸 수 있는 가능성이 있음
Propose
- 기존의 closed-set detector 를 open-set task 에 대응하도록 하는 방법으로 위와 같이 text encoder 의 feature 를 이용하여 detection feature 와 feature fusion 하는 방식이 제시
- 그러나 기존 방법들은 위 fusion의 (text encoder에서 뻗어나오는 화살표) 일부분만을 수행해왔음:
- Fast RCNN같은 detector는 대부분의 구조에서 text information과 상호작용하기 어려움
- CLIP같은 경우는 끝쪽에서만 multi-modality feature comparison 진행
이 논문에서는 transformer-based detection model 인 DINO를 활용하여 위와 같이 세 가지 fusion step을 제시
Contribution
- Closed-set detector인 DINO를 확장한 grounding DINO를 제안하여 여러 단계에서 vision-language modality fusion 진행. 이 fusion step이 효과적으로 open-set object detection 을 할 수 있도록 만듬
- Open-set object detection 평가를 referring Expression Comprehension 으로 확장하여 자유로운 text input에 대한 평가 가능
- 성능 평가를 위해 teaser 의 (a), (b)와 같이 closed-set detection, open-set detection, 그리고 referring object detection 의 세 가지 실험을 수행하였음. 이 실험들을 통해 높은 성능을 보이는 것을 밝힘
Related work
DINO
1. ResNet, Swin 등의 백본 모델에서 다중 스케일 이미지 특성 추출
2. 이미지 특성에 대한 Positional Embedding으로 인코더에 입력
3. 디코더에서 Positional Query를 활용하여 앵커 박스 초기화(Mixed Query Selection)
4. Deformable Attention 연산
5. 최종 출력값은 예측된 앵커 박스 및 분류 결과
Methodology
Architecture
Grounding DINO는 주어진 (이미지, 텍스트) 쌍에 대해 (object boxes, noun phrases) 를 output으로 함
1. Feature Extraction and Enhancer
Text backbone: BERT
Image backbone: Swin transformer (multi-scale)
Feature Enhancer
각각의 feature 에 대해 self-attention 후 cross-attention 수행
2. Language-Guided Query Selection
Input: image features, text feature, num_query
Ouput: top k query idx
logits
: 각각의 이미지 feature, text feature의 dot productlogits_per_img_feat
: 각 이미지 feature 에서 가장 연관성이 높은 text tokentopk_proposals_idx
: 가장 logit이 높은 image token의 idx k개3. Cross-Modality Decoder
cross-modality query는 self-attention, image cross-attention, text cross-attention 을 거쳐 final model output 이 됨
4. Sub-Sentence Level Text Feature
이전의 연구들은 sentence level, word level 단위로 text를 추출하였음
sentence level: 전체 문장을 하나의 feature 로 encoding (여러 phrase가 있을 때는 따로 추출)
→ word 간의 영향을 무시한다는 단점 존재
word level: 단어간의 모든 relation 을 고려
→relation이 필요 없는 다른 문장과의 relation 까지 고려함
저자들은 문장 내부의 단어들끼리만 relation 을 고려하는 sub-sentence level text representations 를 제안
Loss Function
- L1 loss
- GIOU
- contrastive loss: btw predicted objects and language tokens for classification Text token에 대한 logit 을 예측하여 각 logit에 대해 focal loss 를 계산 (난이도가 높은 경우들에 높은 가중치를 부여하는 loss)
DINO와의 architecture 비교
Experiments
Task & Dataset
- Closed-set tasks
- COCO detection
- Open-set tasks
- zero-shot COCO
- LVIS
- ODinW
- Referring detection
- RefCOCO/+/g
Open-set task
기본적으로 O365 dataset이 COCO의 클래스들을 거의 포함하고 있음
Zero shot: COCO dataset을 한 장도 보지 않는 경우
Fine-Tuning: COCO dataset으로 fine-tuning
Referring expression comprehension task
RefC: RefCOCO/+/g
Closed-set task
Original DINO에 정확도는 조금 떨어지는 것을 볼 수 있음
Ablation study
Static query selection: w/o language-guided query selection
4개의 variation 들이 모델 성능에 도움이 되는 것을 확인 가능
Architecture Comparison
Fusion Phases: 아래 Feature Fusion (A,B,C) 을 나타냄
Conclusion
Grounding DINO는 DINO를 open-set object detection으로 확장하여 텍스트를 쿼리로 제공할 때 임의의 객체를 감지할 수 있도록 하였음
Contribution:
- Tight fusion approach to better fusing cross-modality information
- Sub-sentence level representation for text prompt
- Open-set object detection 을 referring expression comprehension으로 확장
Limitation:
- Segmentation 에 적합하지 않음
Discussion
- DU kv task에 어떻게 적용할 수 있을지?
- 사과가 없는 이미지에서 사과를 query 한다면? - GLIP teaser에 예시 존재
- Inference time?
Share article