Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection(论文解析)

本文介绍了Grounding DINO,一种结合DINO与Grounding预训练技术的开放域目标检测器,能检测由人类语言输入指定的任意对象。通过在Transformer架构上融合图像和语言信息,Grounding DINO在COCO、LVIS、ODinW等数据集上实现了优秀的零样本迁移性能,特别是在COCO检测零样本迁移基准测试中达到了52.5的AP。此外,该模型通过引入语言引导的查询选择和跨模态解码器,提高了对开放集概念的泛化能力,支持对属性指定对象的指代理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Open-Set Object Detection:根据文字提示检测任意目标)

摘要

这篇论文介绍了一种名为"Grounding DINO"的开放域目标检测器,通过将基于Transformer的检测器DINO与Grounding预训练技术相结合,可以检测具有人类输入(如类别名称或指代表达式)的任意对象。这篇论文的关键解决方案是引入语言到封闭集检测器中,以进行开放集概念的泛化。为了有效融合语言和视觉模态,论文将封闭集检测器概念上划分为三个阶段,并提出了一种紧密融合的解决方案,其中包括特征增强器、语言引导的查询选择和跨模态解码器用于跨模态融合。尽管以前的工作主要在新颖类别上评估开放集目标检测,但本文提出在使用属性指定的对象的指代表达理解方面也进行评估。Grounding DINO在所有三种设置上表现出色,包括在COCO、LVIS、ODinW和RefCOCO/+/g等基准数据集上的性能。Grounding DINO在COCO检测零样本迁移基准测试中实现了52.5的AP,即没有来自COCO的训练数据。在使用COCO数据进行微调后,Grounding DINO的AP达到了63.0,创下了ODinW零样本基准测试的新纪录,均值AP为26.1。相关代码将会在 https://github.com/IDEA-Research/GroundingDINO 上提供。

1介绍

理解新概念是视觉智能的基本能力。在这项工作中,我们的目标是开发一个强大的系统,可以检测人类语言输入指定的任意对象,我们将其称为“开放集对象检测”。这个任务有着广泛的应用潜力,因为它可以作为通用对象检测器。例如,我们可以将它与生成模型配合进行图像编辑(如图1(b)所示)。
在这里插入图片描述
图1。(a) 封闭式目标检测要求模型检测预定义类别的对象。(b) 先前的工作将零-shot转移模型用于模型的泛化到新类别。我们提出将指称表达理解(REC)作为模型在具有属性的新对象上进行泛化的另一种评估。© 我们通过结合Grounding DINO和Stable Diffusion [42]提出了一个图像编辑应用程序。最佳视图请参考彩色图。

开放集检测的关键在于引入语言以实现对未见过对象的泛化[1, 7, 26]。例如,GLIP [26]将对象检测重新定义为短语定位任务,并引入了对象区域和语言短语之间的对比训练。它在异构数据集上表现出很大的灵活性,对于封闭集和开放集检测都表现出卓越的性能。尽管GLIP的结果令人印象深刻,但它的性能可能受到限制,因为它是基于传统的一阶段检测器Dynamic Head [5]设计的。由于开放集和封闭集检测密切相关,我们相信一个更强大的封闭集对象检测器可以实现更好的开放集检测。

受到基于Transformer的检测器取得的令人鼓舞的进展[24, 25, 31, 58]的启发,我们在这项工作中提出基于DINO [58]构建一个强大的开放集检测器。这个检测器不仅提供了最先进的对象检测性能,还允许我们通过基于预训练的方法将多层文本信息整合到其算法中。我们将这个模型命名为Grounding DINO。Grounding DINO相对于GLIP具有几个优势。首先,它基于Transformer架构,类似于语言模型,使其更容易处理图像和语言数据。例如,由于所有的图像和语言分支都是基于Transformer构建的,我们可以在整个流程中轻松地融合跨模态特征。其次,基于Transformer的检测器已经证明具有利用大规模数据集的出色能力。最后,作为一个类似DETR的模型,DINO可以进行端到端优化,而不需要使用任何硬编码的模块,如NMS(非极大值抑制),这极大简化了整体的基于Grounding的模型设计。

大多数现有的开放式检测器是通过使用语言信息将封闭式检测器扩展到开放式场景而开发的。如图2所示,封闭式检测器通常有三个重要模块,包括用于特征提取的主干、用于特征增强的颈部,以及用于区域细化(或框预测)的头部。通过学习语言感知的区域嵌入,封闭式检测器可以被推广以检测新颖的对象,使每个区域都可以在语言感知的语义空间中分类为新颖的类别。实现这一目标的关键是在颈部和/或头部的输出之间使用对比损失,用于区域输出和语言特征之间的对比。为了帮助模型对齐跨模态信息,一些研究尝试在最终的损失阶段之前融合特征。图2显示了特征融合可以在三个阶段进行:颈部(阶段A)、查询初始化(阶段B)和头部(阶段C)。例如,GLIP [26]在颈部模块中执行早期融合(阶段A),OV-DETR [56]使用语言感知查询作为头部输入(阶段B)。

在这里插入图片描述
图2. 将封闭式检测器扩展到开放式场景的现有方法。请注意,某些封闭式检测器可能仅包括图中的某些阶段。

我们认为,在模型中进行更多的特征融合可以使其性能更好。值得注意的是,检索任务更倾向于类似CLIP的双塔架构,该架构仅在最后一步执行多模态特征比较以提高效率。然而,对于开放式检测,通常为模型提供了图像和文本输入,用于指定目标对象类别或特定对象。在这种情况下,更紧密(且早期)的融合模型更适合获得更好的性能[1, 26],因为图像和文本都在一开始就可用。尽管在概念上很简单,但以

### ComfyUI与Grounding-DINO集成指南 #### 一、环境搭建 对于希望利用最新功能并享受稳定性能体验的开发者来说,推荐通过下载源码来构建项目[^1]。此过程涉及使用 `pip` 安装必要的依赖库。针对特定组件如lap库可能出现的安装失败情况,建议查阅网络资源获取解决办法。 为了启用 GPU 加速特性,需特别注意安装与 CUDA 版本相匹配的要求文件(requirements*-gpu.txt),特别是调整其中关于 onnxruntime-gpu 的版本号以确保兼容性。 ```bash # 下载源码后进入项目目录 cd path_to_project_directory # 创建虚拟环境 (可选) python -m venv env source env/bin/activate # Linux/MacOS .\env\Scripts\activate # Windows # 安装基础依赖项 pip install -r requirements.txt # 若需要GPU支持,则应改为如下命令 pip install -r requirements-gpu.txt ``` #### 二、ComfyUI简介及其配置 ComfyUI 是一款用于简化AI应用开发流程的强大工具。它允许用户轻松创建复杂的图形界面应用程序而无需深入了解底层细节。当考虑将其与 Grounding-DINO 结合时,主要关注点在于如何有效地加载预训练模型以及处理输入输出数据流。 #### 三、Grounding-DINO概述及应用场景 Grounding-DINO是一种先进的视觉理解框架,在图像标注任务上表现出色。其核心优势在于能够精准定位图片内的目标对象,并提供详细的描述信息。这使得该技术非常适合应用于自动化内容审核、智能检索等领域[^2]。 #### 四、实例展示:基于ComfyUI实现简单的物体检测程序 下面给出一段Python代码片段作为例子,展示了怎样借助ComfyUI快速建立一个简易版的对象识别器: ```python from comfyui import App, ImageInput, TextOutput import grounding_dino as gd app = App() @app.route("/") def index(): img_input = ImageInput(label="上传一张照片") @img_input.on_submit() def handle_image(image_path): result = gd.detect_objects(image_path=image_path) output_text = "\n".join([f"{obj['label']}: {round(obj['confidence'], 2)}%" for obj in result]) return {"output": [{"type": "text", "value": output_text}]} if __name__ == "__main__": app.run(debug=True) ``` 上述脚本定义了一个Web服务端口,接收来自用户的图片提交请求并通过调用 Grounding-DINO API 进行分析;最后返回检测到的目标列表给前端页面显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄阳老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值