Grounding DINO
Liu 2023 · 논문
한 줄 요약 — 자유 형식 텍스트 프롬프트로 기술된 임의의 물체를 긴밀한 언어-비전 Transformer 융합을 통해 찾아내는 open-set 객체 검출기로, 널리 쓰이는 Grounded SAM 파이프라인의 검출 담당 절반이다.
문제
표준 검출기(YOLO, DETR)는 닫힌 집합(closed-set)이다: 학습된 고정된 카테고리(예: 80개의 COCO 클래스)만 검출한다. Open-set 검출의 핵심은 언어를 도입하여 닫힌 집합 검출기가 보지 못한 개념으로 일반화되게 만드는 것이다 — 고정된 레이블 집합이 아니라 의미론적 공간에서 분류되는, 언어를 인식하는 영역 임베딩을 학습하는 것이다. 기존의 open-set 검출기는 두 모달리티를 부분적으로만 융합했다: GLIP은 넥(neck)에서만 융합하고(단계 A), OV-DETR은 디코더 입력에만 언어를 주입한다(단계 B). 이 논문의 주장은 융합이 검출기의 세 단계 전부 — 넥, 쿼리 초기화, 헤드 — 에서 일어나야 하며, 더 긴밀한 융합이 더 나은 open-set 일반화를 낳는다는 것이다.
방법 및 아키텍처
DINO(DETR 변형)를 기반으로 한 이중 인코더-단일 디코더 아키텍처다: 이미지 백본(Swin-T/Swin-L)이 다중 스케일 시각 특징을 추출하고, 텍스트 백본(BERT-base)이 프롬프트(연결된 모든 카테고리 이름, 또는 지시 표현)로부터 토큰 특징을 추출한다. 이어서 세 개의 융합 모듈이 따른다:
- Feature enhancer (넥, 6개 레이어): 각 레이어가 이미지 특징에 deformable self-attention을, 텍스트 특징에 일반 self-attention을 적용한 뒤, 이미지-텍스트 및 텍스트-이미지 교차 어텐션을 적용한다 — 영역을 단어로 근거짓고 단어를 이미지 내용으로 맥락화한다.
- 언어 유도 쿼리 선택: 강화된 이미지 특징 와 텍스트 특징 가 주어지면 (, , ), 개의 디코더 쿼리는 어떤 텍스트 토큰과도 가장 유사한 이미지 토큰들로부터 초기화된다:
여기서 은 텍스트 차원에 대해 최댓값을 취한다. DINO의 혼합 쿼리 선택을 따라, 선택된 특징이 위치 부분(동적 앵커 박스)을 초기화하고 콘텐츠 쿼리는 학습 가능한 상태로 남는다.
- Cross-modality decoder (헤드, 6개 레이어): 각 레이어가 쿼리 self-attention, 이미지 교차 어텐션, (DINO에 대한 추가 사항인) 텍스트 교차 어텐션, 그리고 FFN을 실행하여, 쿼리가 박스 정제 과정에서 계속 두 모달리티 모두를 탐색하게 한다.
부분 문장(sub-sentence) 텍스트 표현: 카테고리 이름을 이어붙이면 BERT 안에서 무관한 카테고리들이 서로 어텐션할 수 있게 되므로, 어텐션 마스크로 카테고리 간 어텐션을 차단하면서도 단어별 특징은 유지한다 — 문장 수준보다 세밀하고 단어 수준보다 깔끔하다.
학습: 박스에는 L1 + GIoU 손실을, 분류에는 GLIP을 따라 예측된 물체와 언어 토큰 사이의 대조 손실을 사용한다(각 쿼리는 박스 하나와 텍스트 토큰들과의 내적 유사도를 출력한다); Hungarian 매칭 비용은 2.0/5.0/2.0(cls/L1/GIoU), 손실 가중치는 1.0/5.0/2.0이다. 검출 + grounding (+ 캡션) 데이터로 학습한다. REC에서는 가장 높은 점수의 박스가 반환된다.
실험 결과
- 제로샷 COCO (COCO 학습 이미지 없이): Grounding DINO-L은 COCO minival에서 52.5 AP를 달성한다; COCO에서 미세조정하면 62.6 AP minival(63.0 test-dev)에 도달한다. Swin-T를 사용하면 동일한 설정에서 GLIP-T보다 +1.8 AP, DINO보다 +0.5 AP 앞선다; grounding 데이터를 추가하면 1 AP 이상 향상된다(48.1 vs 46.7).
- ODinW 제로샷 (35개의 다양한 실세계 검출 데이터셋): 기록적인 평균 AP 26.1.
- LVIS 제로샷: 비슷한 데이터 조건에서 GLIP을 능가하며, 흔한 물체에서 더 우수하지만 희귀 카테고리에서는 약하다; 데이터에 따른 확장성은 GLIP보다 좋다(Cap4M 캡션으로 +1.8 AP, GLIP의 +1.1 대비) — 다만 더 큰 규모의 데이터로 학습된 DetCLIPv2에는 뒤진다.
- RefCOCO/+/g 지시 표현 이해: 세 분할 전체에서 평가된다 — 속성으로 한정된 구절(“가장 왼쪽 의자”)은 카테고리 이름보다 더 강한 open-set 테스트다.
SLAM에서의 의미
Grounding DINO는 언어 기반 의미론적 SLAM을 실용적으로 만드는 요소다: 새로운 환경마다 검출기를 재학습하지 않고도 자연어로 명명된 물체로 지도를 채울 수 있다. 텍스트 프롬프트가 붙은 박스를 SAM에 넘기면(Grounded SAM) 기술된 어떤 물체에 대해서든 인스턴스 마스크를 얻을 수 있다 — ConceptGraphs 같은 개방형 어휘 3D scene graph 시스템과 Clio 같은 태스크 주도 매핑의 인식 프론트엔드다 — 그리고 이는 로봇이 SLAM 지도에 대해 직접 언어 지시(“화이트보드로 가라”)를 실행할 수 있게 한다.
관련 문서
- DETR — 이 논문이 확장하는 Transformer 검출 아키텍처 계열
- SAM — Grounded SAM에서의 세그멘테이션 파트너
- ConceptGraphs — 이 파이프라인 위에 구축된 개방형 어휘 3D scene graph
- Open-YOLO 3D — 2D open-set 검출기를 사용하는 개방형 어휘 3D 인스턴스 세그멘테이션
- CLIP — 개방형 어휘 인식의 근간이 되는 시각-언어 정렬 아이디어
- Clio — 이 검출기의 출력을 소비하는 태스크 주도 개방형 어휘 매핑