2 minute read

[MM][OD] Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection

  • paper: https://arxiv.org/pdf/2303.05499.pdf
  • github: https://github.com/IDEA-Research/GroundingDINO
  • archived (인용수: 263회, ‘23.12.27 기준)
  • downstream task: Open-Set Object Detection, Referrence Expression Comprehension

1. Motivation

  • Visual Intelligence 시스템의 기초적인 능력은 novel concept에 대한 이해력이 있어야 한다.
  • 자연어를 입력으로 주었을 때, 해당하는 물체를 검출하는 “open-set object detection”의 경우, “closed-set object detection”의 성능에 영향을 받는다. 따라서, 최근에 DETR-like Transformer기반의 SOTA인 DINO를 이용한 “open-set object detection”을 수행해보자
  • 뿐만 아니라, Transformer기반의 OD구조는 Text기반의 구조와 fusion하기 용이하므로, text-driven object detection이 용이할 것이다.

2. Contribution

  • closed-set object detector로 Transformer 기반의 DINO를 활용하여 vision-language를 여러 phase에서 fusion하는 Open-set object detector인 Grounding DINO를 제안함
    • feature enhancer : vanilla text embedding, vanilla visual embedding 정보를 early phase에서 fusion한 enhanced feature를 encoder단에서 생성하는 역할
    • language-gudied query selection: decoder의 positional query로 text feature와 유사도가 높은 top-K개의 encoder position feature를 initial value로 활용함 (mixed-query selection)
    • cross-modality decoder : late fusion text-to-image, image-to-text cross attention으로 text-driven open-set object detection성능을 향상시킴
  • open-set object detection을 $\to$ REC (Referring Expression Comprehension)으로 확장시킨 task를 제안함
  • 다양한 public dataset에서 SOTA (zero-shot od, open-set od)

3. Grounding-DINO

  • overall diagram

    • Feature Enhancer : 기존 DINO의 encoder를 대체하는 Text와 Image 정보를 early-fusion하기 위한 encoder. Text-backbone, Image-backbone으로 구성된 dual-encoder-single-decoder 구조
    • Cross-modality Decoder query selection : enhanced feature 중 text와 유사도가 높은 top-K feature decoder의 positional query의 initial value로 활용하기 위해 사용
    • Cross-Modality Decoder : language-visual feature간 late-fusion하는 구조

    • 기존 Language-Image fusion기반 open-set object detector와 비교

    3.1 Feature Extractor and Enhancer

    • Text: BERT backbone
    • Image: Swin-T/L
    • GLIP에서 영감을 얻어, image-to-text(K,V: text, Q: image)와 image-to-text(K,V: image, Q: text) layer를 사용

    3.2 Language-Guided Query Selection

    • text와 가장 유사한 image feature를 num_query 만큼 추출

3.3 Cross-Modality Decoder

  • Text와 Image간의 더 나은 alignment를 위해 decoder에서도 fusion을 수행

3.4 Sub-sentence Level Text Feature

  • Sentence level: 전체 문장을 1개의 feature를 encode. 단어간 영향력을 줄여주고, fine-grained 정보를 손실하게됨.
  • Word level: 개별 단어를 feature로 encode. 단어간 영향력을 살리지만, 불필요한 단어간의 영향력도 계산하게 됨.
  • Sub-sentence level: 관계가 있는 phrase간의 영향만 계산함.

3.5 Loss Function

  • Box regression: $L_1$ loss, GIoU loss (Bipartite matching)
  • Classification: Focal Loss (Bipartite matching)
  • Contrastive Loss: Predicted object와 langauge token (class)간의 dot-product로 focal loss를 계산 (similarity classification)

  • GroundingDINO vs. DINO

    • Architecture 변화

      • 파란 박스가 Grounding DINO로 바뀌며 추가되거나 바뀐 부분

    • x1 setting (Res-50 backbone)

      • Full-shot OD는 DINO가 더 좋음

4. Experiments

  • Zero-shot COCO

  • Zero-shot LVIS

    • LVIS는 long-tailed detection dataset

  • Zero-shot/Few-shot/Full-shot ODinW

  • Referring Expression Comprehension task

  • Ablation Studies

  • Transfer Pretrained DINO $\to$ GroundDINO as pretrained weight

    • 최종 성능 향상은 없으나, 학습 성능 수렴 속도가 빠름

    • 학습 성능 curve

Updated: