《Grounding DINO:Marrying DINO with Grounded Pre-Training for Open-Set Object Detection》

论文:

[2303.05499] Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection (arxiv.org)icon-default.png?t=N7T8https://arxiv.org/abs/2303.05499代码:

IDEA-Research/GroundingDINO: Official implementation of the paper "Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection" (github.com)icon-default.png?t=N7T8https://github.com/IDEA-Research/GroundingDINO

一、摘要

        本文将基于Transformer的检测器DINO与 grounded pre-training相结合,提出了一种开放集对象检测器,即Grounding DINO,它可以检测人类通过Prompt输入的任意对象,如类别名称或引用表达式。解决开放集目标检测的关键在于给闭集检测器中引入语言,实现开放集概念的泛化。为了有效地融合语言(text)和视觉(image)模式,本文将闭集检测器划分为三个阶段,并提出了一种紧密融合的解决方案,该方案包括特征增强器语言引导query选择针对跨模态的融合解码器。以往的工作主要是在新类别上评估开集对象检测,但是本文建议对带有属性指定对象的引用表达式理解进行评估。接地DINO在所有三种设置上都表现得非常好,包括COCO, LVIS, ODinW和RefCOCO/+/g的基准。接地DINO在COCO检测zero-shot转移基准上实现了52.5的AP,即没有任何来自COCO的训练数据。根据COCO数据进行微调后,接地DINO达到63.0的AP,Grounding DINO创下了在开放域目标检测(Object Detection in the Wild,ODinW)领域的zero-shot新纪录,平均AP为26.1。

二、Motivation

1、视觉智能

        理解新概念是视觉智能的一项基本能力。本文希望开发一个强大的系统来检测人类语言输入指定的任意对象,即开集对象检测(Open-set Object Detection)。另外,由于开集和闭集检测是紧密相关的,作者认为可以由较强的闭集检测器得到一个更好的开集检测器。

2、开集目标检测性能评价问题

        大多数现有的开集检测工作在新类别的对象上评估其模型性能,作者认为还应该考虑另一个重要的场景,即用属性描述对象,该任务也被称为引用表达式理解(REC)

3、多模态信息融合的不足之处

        以往的工作只在部分阶段融合多模态信息,这可能导致语言泛化能力次优,作者认为在模型中更多的多模态特征信息的融合可以使模型表现更好。

图2 将闭集检测器扩展到开集场景的现有方法。注意,一些闭集检测器只能有图的部分相位 。

三、创新点

  1. 提出了Grounding DINO,该模型通过在多个阶段执行视觉和语言模态融合来扩展封闭集检测器DINO,包括特征增强器、语言引导query选择模块和跨模态解码器三个阶段,这种深度融合的策略有效地改进了开集目标检测。

  2. 建议将开集目标检测的评估扩展到REC数据集,这有助于评估带有自由格式文本输入的模型的性能。

  3. 在COCO、LVIS、ODinW和RefCOCO/+/g数据集上的实验证明了Grounding DINO在开集目标检测任务中的有效性。

四、 Grounding DINO概述

1、网络结构 

        包含一个用于图像特征提取的图像主干,一个用于文本特征提取的文本主干,一个用于图像和文本特征融合的特征增强器,一个用于query、初始化的语言引导query选择模块,以及用于盒细化(box refinement)的跨模态解码器。

        对于每个(image,text)对,Grounding DINO首先分别使用图像主干和文本主干提取图像特征和文本特征。然后,这两个特征会被送入特征增强器模块,用于跨模态特征融合。在获得跨模态文本和图像特征后,使用语言引导的query选择模块从图像特征中选择跨模态query。其次,这些跨模态query将被馈送到跨模态解码器中,以从两个模态特征中探测所需的特征并更新自己。最后,模型会将最后一层解码器的输出query用于预测对象框并提取相应的短语。

图3 Grounding DINO的框架,为双编码器-单解码器的架构。分别在block1、block2和block3中给出了整体框架、特征增强层和解码器层。 

2、 特征提取与增强

        在Grounding DINO中,作者使用了Swin Transformer来提取图像的特征,使用BERT 来提取文本的特征,且在提取图像的特征时,提取了多个维度的特征。在对提取到的特征进行增强时,Grounding DINO将Deformable self-attention和vanilla self-attention分别用于图像特征和文本特征的增强。最后,受到GLIP的启发Grounding DINO还使用了image-to-text cross-attention 和 text-to-image cross-attention来完成跨模态的信息交融。

3、语言引导query选择

        由于Grounding DINO需要实现根据使用者输入的文本来完成目标检测,所以Grounding DINO还设计了语言引导query选择模块(Language-Guided Query Selection)来选择与输入文本更相关的特征作为解码器的query。

        每个解码器query包含两个部分:内容部分和位置部分。在这里将位置query表述为动态锚框,用编码器输出进行初始化;而内容query,在训练期间是被设置为可学习的。

4、跨模态解码器

        跨模态解码器主要用于结合图像和文本模态特征。每个跨模态query被馈送到a self-attention层、图像cross-attention 层、文本cross-attention 层和每个跨模态解码器层中的FFN层。每个解码器层都有一个额外的文本cross-attention层,因为Grounding DINO需要将文本信息注入query中以获得更好的模态对齐(与DINO的区别)。

5、 Sub-Sentence级别的文本特征

        根据对之前的工作的总结,文本特征主要可以分为两类:句子级特征(sentence level representation)和单词级特征(word level representation)。句子级特征将整个句子编码为一个特征,如果短语基础数据中的某些句子有多个短语,则提取这些短语并丢弃其他单词。这种方式消除了单词之间的影响,同时失去了句子中的细粒度信息。而单词级特征用一个前向编码多个类别名称,但在类别之间引入了不必要的依赖关系,特别是当输入文本是以任意顺序的多个类别名称的连接时。

        为了避免不必要的词的交互,Grounding DINO引入了注意掩码来阻止不相关类别名称之间的注意,称为Sub-Sentence级特征。这能有效消除不同类别名称之间的影响,同时保留每个单词的特征,以便进行细粒度的理解。

 图4 不同级别的文本特征比较。

6、损失函数设计 

        在bounding box的回归中使用了 L1 loss和 GIOU loss;在预测用于分类的目标和语言标记(tokens)时使用了contrastive lossfocal loss (query和文本特征)。

7、 模型性能

表2 Grounding DINO在COCO数据集上的Zero-shot能力和微调后的实验结果。

图4 Grounding DINO在ODinW基准上的测试结果 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值