[논문 리뷰] Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection

2026. 2. 25. 15:02·1. AI 논문 + 모델 분석/AI 논문 분석

안녕하세요! 오늘은 Grounding DINO의 논문 리뷰를 작성해 보도록 하겠습니다.

💡 요약 (Abstract)

본 논문은 Grounding DINO라는 Open-Set Object Detector를 제안합니다. 이 모델은 Transformer 기반의 Detector인 DINO를 Grounded Pre-Training과 결합하여, 카테고리 이름이나 Referring Expression(지시 표현)과 같은 사람의 언어 입력에 따라 임의의 객체를 탐지할 수 있도록 설계되었습니다.

Open-Set Object Detection의 핵심은 Language를 Closed-Set Detector에 도입하여 Open-Set 개념 일반화(generalization)를 달성하는 것입니다.


핵심 방법론: Tight Modality Fusion 및 Grounded Pre-Training

Grounding DINO는 두 가지 주요 설계 원칙을 따릅니다. 첫째는 DINO 기반의 긴밀한 모달리티 융합이며, 둘째는 개념 일반화를 위한 대규모 Grounded Pre-Training입니다.

이 그림은 Grounding DINO 모델의 기능을 시각적으로 보여줍니다. 모델은 객체 탐지, 새로운 범주로의 제로샷 전이, 그리고 참조 표현 이해(Referring Expression Comprehension)와 같은 다양한 작업을 수행할 수 있습니다. 또한, Stable Diffusion과 같은 생성 모델과 협력하여 이미지 편집과 같은 고급 응용 프로그램도 지원합니다.

(a) 폐쇄형 객체 탐지 (Closed-Set Object Detection):
이 파트에서는 모델이 COCO 데이터셋에서 미리 정의된 객체 범주(예: 'bench', 'person')를 탐지하는 것을 보여줍니다.
모델은 입력 이미지에서 객체를 둘러싸는 바운딩 박스를 생성하고 해당 객체의 이름을 출력합니다.

(b) 개방형 객체 탐지 (Open-Set Object Detection):
이 파트는 모델의 더 넓은 범주인 '개방형 객체 탐지'를 보여줍니다.
제로샷 전이 (Zero-Shot Transfer to Novel Categories): 모델은 학습 중에 보지 못한 새로운 범주(예: 'ear', 'lion', 'bench')의 객체도 탐지할 수 있습니다. 이는 훈련된 범주와 다른 객체를 설명할 수 있는 모델의 능력을 보여줍니다.
참조 객체 탐지 (Referring Object Detection) / 참조 표현 이해 (Referring Expression Comprehension): 모델은 자연어 문장(예: 'The left lion', 'The bottom man with his head up')을 이해하여 이미지 내에서 해당 객체를 정확하게 찾아낼 수 있습니다.

(c) 응용: 이미지 편집 (Application: Image Editing):
이 파트는 Grounding DINO가 Stable Diffusion과 같은 다른 모델과 결합될 때의 강력한 능력을 보여줍니다.
객체 탐지 및 편집 (Detecting and modifying objects): Grounding DINO를 사용하여 이미지에서 객체를 탐지하고, 텍스트 프롬프트(예: 'Dog')를 통해 해당 객체를 다른 객체로 변경할 수 있습니다.
배경 수정 (Modifying background): 또한, 모델은 텍스트 프롬프트(예: 'All people around the world cheer with a worldcup.')를 사용하여 이미지의 배경을 수정할 수도 있습니다.

이 그림은 Grounding DINO가 단순히 객체를 탐지하는 것을 넘어, 자연어 이해 능력을 바탕으로 새로운 객체를 인식하고, 더 나아가 생성 모델과 결합하여 창의적인 이미지 편집 작업까지 수행할 수 있음을 시사합니다.

1. Tight Modality Fusion (긴밀한 모달리티 융합)

기존의 Closed-Set Detector는 일반적으로 Image Features를 위한 Backbone, Feature Enhancement를 위한 Neck, Region Refinement (또는 Box Prediction)를 위한 Head의 세 가지 모듈로 구성됩니다. Grounding DINO는 Open-Set 환경으로의 확장을 위해 이 세 단계 모두에서 Language와 Vision 모달리티를 효과적으로 융합합니다.

Feature Enhancer (Neck 단계):

이미지에서는 Swin Transformer와 같은 Image Backbone을 통해 Multi-scale image features ($X_I \in \mathbb{R}^{N_I \times d}$)를 추출합니다.

  • 텍스트에서는 BERT와 같은 Text Backbone을 통해 Text features ($X_T \in \mathbb{R}^{N_T \times d}$)를 추출합니다.
  • 이 두 vanilla feature는 Feature Enhancer 모듈에 입력되어 Cross-modality feature fusion을 수행합니다.
  • Feature Enhancer는 여러 개의 Layer로 구성되며, 각 Layer는 Deformable Self-Attention(이미지용)과 Vanilla Self-Attention(텍스트용)을 포함합니다. 특히, Image-to-Text Cross-Attention과 Text-to-Image Cross-Attention 모듈을 추가하여 다른 모달리티의 Feature들을 정렬(align)하고 융합을 돕습니다.

Language-Guided Query Selection (Query Initialization 단계):

  • 입력 텍스트를 효과적으로 활용해 객체 탐지를 유도하기 위해, Image Feature에서 입력 텍스트와 더 관련성 높은 Feature들을 Decoder Query로 선택합니다. 수식은 다음과 같습니다.
  • $$IN_q = \text{TopNq}(\text{Max}(-1)(X_I X_T^\top))$$
  • 여기서 $N_q$는 Decoder에 사용될 Query의 수(예: 900)이며, $\text{TopNq}$는 상위 $N_q$개의 인덱스를 선택하는 연산입니다. $\text{Max}(-1)$는 Text Token 차원(-1 dimension)을 따라 Max 연산을 수행합니다.
  • 이 모듈은 Image Features 내에서 Text와 가장 높은 유사성을 가진 영역을 찾아 Query로 초기화합니다. DINO와 유사하게 Query는 Content Part와 Positional Part로 구성되며, Positional Part는 Encoder 출력에서 동적으로 생성된 Anchor Box로 초기화되고 Content Query는 학습 가능한 상태로 설정됩니다.

Cross-Modality Decoder (Head 단계):

  • Image와 Text 모달리티 Feature를 결합하기 위해 개발된 디코더입니다.
  • 각 Cross-Modality Query는 Self-Attention Layer $\rightarrow$ Image Cross-Attention Layer (Image Features 결합) $\rightarrow$ Text Cross-Attention Layer (Text Features 결합) $\rightarrow$ FFN Layer를 거쳐 업데이트됩니다.
  • 기존 DINO Decoder와 비교하여 Text Cross-Attention Layer가 추가된 것이 특징이며, Query에 Text 정보를 주입하여 모달리티 정렬을 강화합니다.

2. Large-Scale Grounded Pre-Training 및 Sub-Sentence Level Text Feature

보통의 Open-Set Detection 모델은 CLIP 같은 Pre-trained Language Model에 의존하지만, Region-Text Detection 태스크에는 한계가 존재합니다. 따라서 Grounding DINO는 GLIP처럼 Object Detection을 Phrase Grounding 태스크로 재구성하고, 대규모 데이터에서 Region과 Language Phrase 간의 Contrastive Training을 수행하는 방식을 채택 및 개선했습니다.

Sub-Sentence Level Text Feature 도입:

  • 기존의 Word-Level Text Representation 방식에서 발생하는 불필요한 단어 간 상호작용(unwanted word interactions)을 피하기 위해 도입된 기법입니다.
  • Attention Mask를 사용하여 관련 없는 카테고리 이름들 간의 Attention을 차단함으로써, 세분화된(fine-grained) 단어별 Feature를 유지하면서도 불필요한 의존성을 제거합니다.

Loss Function (손실 함수):

  • Bounding Box 회귀: L1 loss 및 GIOU loss
  • 분류(Classification): 예측된 객체와 Language Token 간의 Contrastive Loss 및 Focal Loss
  • 예측과 Ground Truth 간의 Bipartite Matching을 위해 Hungarian Matching을 수행한 후 최종 손실을 계산합니다.

이 그림은 Grounding DINO 모델의 전체 구조를 보여줍니다. 크게 세 부분으로 나눌 수 있습니다.

 

1) Model Overall (전체 모델)

  • Input Text (입력 텍스트): "cat", "person", "mouse"와 같은 개별 단어나 "A cat sets on a table."과 같은 문장이 입력됩니다.
  • Text Backbone (텍스트 백본): 입력 텍스트를 처리하여 "Vanilla Text Features"를 생성합니다.
  • Input Image (입력 이미지): 고양이 사진이 입력됩니다.
  • Image Backbone (이미지 백본): 입력 이미지를 처리하여 "Vanilla Image Features"를 생성합니다.
  • Feature Enhancer (특징 향상기): 텍스트 백본과 이미지 백본에서 나온 특징들을 융합하여 더 풍부한 특징을 만듭니다.
  • Language-guided Query Selection (언어 안내 쿼리 선택): 텍스트 특징을 기반으로 이미지 특징 중에서 탐색할 영역을 선택하는 "Cross-Modality Queries"를 생성합니다.
  • Cross-Modality Decoder (교차 모달리티 디코더): "Cross-Modality Queries"와 융합된 이미지 및 텍스트 특징을 사용하여 최종 "Model Outputs"를 생성합니다.
  • Contrastive loss & Localization loss (대조 손실 & 지역화 손실): 모델의 성능을 평가하고 학습시키는 데 사용되는 손실 함수입니다.

2) A Feature Enhancer Layer (특징 향상기 레이어)

  • 이 부분은 텍스트 특징과 이미지 특징을 융합하는 과정을 상세히 보여줍니다.
  • Self-Attention (셀프 어텐션): 텍스트 특징 자체 내에서 관계를 파악합니다.
  • Image-to-text Cross-Attention (이미지-텍스트 교차 어텐션): 이미지 특징을 텍스트 특징에 정렬하는 역할을 합니다.
  • Text-to-image Cross-Attention (텍스트-이미지 교차 어텐션): 텍스트 특징을 이미지 특징에 정렬하는 역할을 합니다.
  • Deformable Self-Attention (변형 셀프 어텐션): 이미지 특징을 더욱 효과적으로 향상시킵니다.
  • 이러한 어텐션 메커니즘을 통해 "Updated Text Features"와 "Updated Image Features"가 생성됩니다.

3) A Decoder Layer (디코더 레이어)

  • 이 부분은 "Cross-Modality Decoder"의 한 레이어를 보여줍니다.
  • Self-Attention (셀프 어텐션): "Cross-Modality Query" 자체의 특징을 강화합니다.
  • Image Cross-Attention (이미지 교차 어텐션): 텍스트 쿼리가 이미지 특징에서 정보를 추출하도록 합니다.
  • Text Cross-Attention (텍스트 교차 어텐션): 이미지 쿼리가 텍스트 특징에서 정보를 추출하도록 합니다.
  • FFN (Feed-Forward Network): 각 어텐션 레이어의 출력을 비선형적으로 변환합니다.
  • 이를 통해 "Updated Cross-Modality Query"가 생성되며, 여러 레이어를 거치면서 객체 탐지에 필요한 정보가 점진적으로 추출됩니다.

요약하자면, Grounding DINO는 텍스트와 이미지를 모두 이해하는 딥러닝 모델로, 텍스트 설명을 기반으로 이미지에서 특정 객체를 정확히 찾아내는 것을 목표로 합니다. 이를 위해 텍스트와 이미지 특징을 정교하게 융합하고, 텍스트 정보를 활용하여 객체 탐지 쿼리를 생성하는 독특한 구조를 가지고 있습니다.


논문 실험 결과 (Experimental Results)

Grounding DINO는 Closed-Set Detection(COCO), Open-Set Detection(Zero-Shot COCO, LVIS, ODinW), Referring Object Detection(RefCOCO/+/g) 세 가지 설정에서 광범위한 실험을 진행하여 우수한 성능을 입증했습니다.

  1. Zero-Shot Object Detection: COCO Minival에서 COCO 학습 데이터를 전혀 사용하지 않고 52.5 AP를 달성하여 기존 모델들을 능가했습니다.
    • ODinW Zero-Shot Benchmark에서 평균 26.1 AP로 새로운 SOTA(State-of-the-Art)를 기록했습니다.
  2. Referring Object Detection (REC): RefCOCO/+/g 데이터셋에서 GLIP 대비 우수한 성능을 보였습니다.
    • 특히 REC 데이터가 학습에 주입될 때 성능이 크게 향상되었는데, 이는 Open-Set Detector가 REC 태스크에 더 세밀한 주의를 기울여야 함을 시사합니다.
  3. Ablation Study (절제 연구): Encoder Fusion(Feature Enhancer)이 COCO와 LVIS 데이터셋 모두에서 모델 성능을 크게 향상시켰습니다.
    • Language-Guided Query Selection, Text Cross-Attention, Sub-Sentence Text Prompt 또한 LVIS 및 COCO Zero-Shot 성능에 긍정적인 기여를 했습니다.
  4. 효율성 (Efficiency): Grounding DINO T는 GLIP-T 모델과 비교하여 더 작은 파라미터 수(172M vs 232M)와 더 높은 FPS(8.37 vs 6.11)를 기록하며 효율성 측면에서도 강점을 보였습니다.
  5. DINO 전이 학습 (Transfer Learning): Pre-trained DINO 모델을 활용해 Grounding DINO를 학습할 경우, 새로운 모듈만 Fine-Tuning하여도 유사한 성능을 달성할 수 있으며, 학습 수렴 속도가 빨라지는 장점이 있습니다.

결론 및 한계점 (Conclusion & Limitations)

긍정적 측면

Grounding DINO는 Open-Set Object Detection 및 REC 태스크에서 강력한 성능을 보여주며, Stable Diffusion과 같은 생성 모델과의 협력을 통한 이미지 편집 등 다양한 애플리케이션에 활용될 잠재력을 가지고 있습니다.

한계점 및 고려사항

  • 태스크 한계: GLIPv2와 같은 Segmentation 태스크에는 직접적으로 사용할 수 없습니다.
  • 데이터 규모: 가장 큰 규모의 GLIP 모델에 비해서는 학습 데이터 규모가 작습니다.
  • Hallucination 문제: 특정 경우에 False Positive(거짓 양성) 결과를 생성하는 경향이 있어, 이를 줄이기 위한 추가적인 기법이나 데이터 정제가 필요할 수 있습니다.
  • 보안 및 윤리적 위험: 사회적으로 악의적인 공격에 취약할 수 있으며, 모델 출력의 정확성을 100% 보장할 수 없어 불법적인 목적으로 악용될 위험성이 존재합니다.

⭐자연어로 객체 위치를 찾는 원리 (Grounding DINO 핵심 요약)

사용자가 "검은색 강아지 찾아줘"라고 자연어로 말했을 때, 모델이 그 위치를 찾아낼 수 있는 이유는 이미지 데이터와 텍스트 데이터를 하나의 공간에서 서로 연결(Alignment)하기 때문입니다. 이를 세 가지 핵심 단계로 정리할 수 있습니다.

1. 이미지와 텍스트의 특징 추출 (Feature Extraction)

  • 모델은 이미지를 여러 개의 작은 패치(Patch)로 나누어 시각적 특징과 '위치 정보'를 추출합니다.
  • 동시에 사용자가 입력한 자연어(예: "검은색", "강아지")의 문맥적 의미도 텍스트 특징으로 추출합니다.

2. 교차 어텐션 메커니즘 (Cross-Attention)

  • 말씀하신 "다른 객체와 어텐션된 값"이 바로 이 부분입니다.
  • 모델은 이미지의 특정 위치(픽셀/패치)가 텍스트의 어떤 단어와 가장 관련이 깊은지 서로 비교하며 점수(Attention Score)를 매깁니다.
  • 즉, "강아지"라는 단어가 주어지면, 이미지 내 수많은 영역 중 강아지의 형태와 색상을 가진 영역의 어텐션 값이 확 높아지게 됩니다.

3. 위치 정보 보존 및 바운딩 박스 생성 (Bounding Box Prediction)

  • 말씀하신 "위치 정보와 바운딩된 값이 같이 저장되어 있음"에 해당하는 과정입니다.
  • DINO와 같은 비전 트랜스포머(Vision Transformer) 기반 모델은 이미지를 처리하는 내내 원래 픽셀의 공간적 위치 정보(Spatial Information)를 잃어버리지 않고 유지합니다.
  • 어텐션 값이 가장 높은 영역을 중심으로 모델의 최종 출력층이 객체의 정확한 좌표(X, Y)와 크기(너비, 높이)를 계산하여 바운딩 박스를 그려냅니다.

결론적으로, 모델 내부에 

1) 이미지의 공간(위치) 정보, 

2) 단어와 이미지 간의 관련성(어텐션), 

3) 객체의 영역(바운딩 박스) 좌표

가 유기적으로 연결되어 학습되어 있기 때문에, 자연어만 입력해도 정확한 객체의 위치를 찾아낼 수 있는 것입니다.

'1. AI 논문 + 모델 분석 > AI 논문 분석' 카테고리의 다른 글

[논문 리뷰] Swin Transformer 정리  (0) 2026.02.23
[논문 리뷰] DETR: 객체 검출(Object Detection)의 End-to-End 파이프라인  (0) 2026.02.22
[논문 구현] 멀티모달 병목 트랜스포머(MBT) PyTorch 구현 및 RAVDESS 감정 인식 테스트  (0) 2026.02.16
[논문 리뷰] Multimodal Bottleneck Transformer (MBT)  (0) 2026.02.15
[논문 리뷰] CLIP: 텍스트로 이미지를 이해하는 비전 모델 (OpenAI)  (0) 2026.02.12
'1. AI 논문 + 모델 분석/AI 논문 분석' 카테고리의 다른 글
  • [논문 리뷰] Swin Transformer 정리
  • [논문 리뷰] DETR: 객체 검출(Object Detection)의 End-to-End 파이프라인
  • [논문 구현] 멀티모달 병목 트랜스포머(MBT) PyTorch 구현 및 RAVDESS 감정 인식 테스트
  • [논문 리뷰] Multimodal Bottleneck Transformer (MBT)
고니3000원
고니3000원
공부 내용 정리, 자기발전 블로그 입니다. 기존 네이버 블로그에서 티스토리로 이전했습니다. https://blog.naver.com/pak1010pak
  • 고니3000원
    곤이의 공부 블로그
    고니3000원
  • 전체
    오늘
    어제
    • 분류 전체보기 (176)
      • 1. AI 논문 + 모델 분석 (19)
        • AI 논문 분석 (13)
        • AI 모델 분석 (6)
      • 2. 자료구조와 알고리즘 (16)
        • 2-1 자료구조와 알고리즘 (13)
        • 2-2 강화학습 알고리즘 (3)
      • 3. 자습 & 메모(실전, 실습, 프로젝트) (25)
        • 3-1 문제 해석 (4)
        • 3-2 메모(실전, 프로젝트) (14)
        • 3-3 배포 실전 공부 (7)
      • 4. [팀] 프로젝트 및 공모전 (14)
        • 4-1 팀 프로젝트(메모, 공부) (1)
        • 4-2 Meat-A-Eye (6)
        • 4-3 RL-Tycoon-Agent (3)
        • 4-4 구조물 안정성 물리 추론 AI 경진대회(D.. (4)
      • 5. [개인] 프로젝트 및 공모전 (0)
        • 4-1 귀멸의칼날디펜스(자바스크립트 활용) (5)
        • 4-2 바탕화면 AI 펫 프로그램 (4)
        • 4-3 개인 프로젝트(기타) (3)
      • 개념 정리 step1 (32)
        • Python 기초 (7)
        • DBMS (1)
        • HTML | CSS (3)
        • Git | GitHub (1)
        • JavaScript (5)
        • Node.js (5)
        • React (1)
        • 데이터 분석 (6)
        • Python Engineering (3)
      • 개념 정리 step2 (56)
        • Machine | Deep Learning (15)
        • 멀티모달(Multi-modal) (23)
        • 강화 학습 (10)
        • AI Agent (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 네이버 곤이의 블로그(Naver->Tistory)
    • Github
  • 공지사항

  • 인기 글

  • 태그

    파이썬
    javascript
    bottleneck
    자료구조
    강화학습
    OCR학습
    프로젝트
    pandas
    귀칼
    논문 리뷰
    github
    데이터분석
    알고리즘
    transformer
    OCR
    paddleocr
    Python
    Ai
    파인튜닝
    Vision
    자바스크립트
    강화 학습
    Grad-CAM
    Attention Is All You Need
    html
    공모전
    ViT
    학습
    구현
    EfficientNet
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고니3000원
[논문 리뷰] Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection
상단으로

티스토리툴바