Loading...

文章背景图

Grounding DINO:用语言提示做开放集目标检测的模型|部署与使用全指南

2026-11-02
0
- 字
- 分钟
|

图1 Grounding DINO 官方 Logo(IDEA 研究院)

Grounding DINO:用语言提示做开放集目标检测的模型|部署与使用全指南

项目仓库: https://github.com/IDEA-Research/GroundingDINO

论文:arXiv:2303.05499 · 维护方:IDEA Research(阔昆) · 语言:Python · 框架:PyTorch · 形态:Python 库 + Notebook · 在线 Demo:Hugging Face Space


1 项目简介

Grounding DINO 把 DINO 检测器与 grounded 预训练结合,实现用自然语言提示做开放集目标检测:输入一张图 + 一段文本提示(如 "a cat. a dog."),模型输出图中所有匹配对象的边界框。COCO 零样本 52.5 AP、微调 63.0 AP。

它是 Grounded-SAM、Grounded-SAM 2、DetGPT 等项目的检测后端,也已被 Hugging Face Transformers 官方支持。

1.1 核心信息一览

项目项 内容
项目名称 Grounding DINO
仓库地址 github.com/IDEA-Research/GroundingDINO
论文 arXiv:2303.05499
在线 Demo Hugging Face Space
Transformers 集成 huggingface.co/docs/transformers/model_doc/grounding-dino
形态 Python 库 + Notebook
最新 Grounding DINO 1.5(独立 API 仓)、Grounded-SAM 2

1.2 适用场景

  • 用文本提示检测图中任意对象(无需训练新类)。
  • 作为 Grounded-SAM 的检测后端,先检测再分割。
  • 自动标注数据集、引导 Stable Diffusion 做局部编辑。

1.3 能力边界(官方口径)

  • 输入是 (image, text) 对;文本提示用 . 分隔类别。
  • 支持 CPU 模式(无 GPU 也能跑)。
  • 已推出 Grounding DINO 1.5(独立 API 仓),能力更强。

2 功能特性

  • 开放集检测:用语言检测任意类别。
  • 零样本 SOTA:COCO 零样本 52.5 AP。
  • CPU 可跑:无 GPU 机器也能推理。
  • Hugging Face Transformers 官方支持:三行代码调用。
  • 生态联动:Grounded-SAM、Grounded-SAM 2、DetGPT、GLIGEN。

3 官方界面预览

在线 Demo:huggingface.co/spaces/ShilongLiu/Grounding_DINO_demo。

4 官方跳转链接汇总

类别 链接 说明
仓库 github.com/IDEA-Research/GroundingDINO 源码
论文 arXiv:2303.05499 技术报告
Transformers 文档 model_doc/grounding-dino 官方集成
Grounded-SAM 2 IDEA-Research/Grounded-SAM-2 检测+SAM 2
Grounding DINO 1.5 IDEA-Research/Grounding-DINO-1.5-API 最新版

5 前置要求与服务器配置

5.1 软件前提

  • Python、PyTorch、torchvision。
  • 克隆仓库后 pip install -e .。
  • 可选:CPU 模式无需 GPU。

5.2 硬件建议

GPU 加速;CPU 可跑但较慢。

6 方式一:源码安装与推理

git clone https://github.com/IDEA-Research/GroundingDINO.git
cd GroundingDINO
pip install -e .

下载权重(如 groundingdino_swint_ogc.pth)后按 demo/ 目录下 Notebook 运行。

7 方式二:Hugging Face Transformers 调用

from transformers import AutoProcessor, AutoModelForZeroShotObjectDetection

processor = AutoProcessor.from_pretrained("IDEA-Research/grounding-dino-tiny")
model = AutoModelForZeroShotObjectDetection.from_pretrained("IDEA-Research/grounding-dino-tiny")

8 输入输出

  • 输入:图像 + 文本提示(如 "cat . dog .")。
  • 输出:边界框 + 置信度 + 类别。

9 常用运维命令

nvidia-smi

10 常见故障排查

  • 检测不到目标:调整文本提示格式,用 . 分隔类别;调阈值。
  • 想做视频追踪:配合 Grounded-SAM 2。
  • 想要更强检测:用 Grounding DINO 1.5。

11 风险与合规说明

  • 模型遵循仓库 LICENSE;商用前需核对。
  • 检测输出用于监控时需遵守隐私法规。
  • 与 SAM 结合做自动标注时,标注质量需人工审核。

本文基于官方 README 整理,仅供学习与部署参考;以仓库最新说明为准。

评论交流

文章目录