Grounding DINO-开集目标检测论文解读

news2024/9/23 15:24:11

文章目录

  • 摘要
  • 背景
  • 算法
    • 3.1Feature Extraction and Enhancer
    • 3.2. Language-Guided Query Selection
    • 3.3. Cross-Modality Decoder
    • 3.4. Sub-Sentence Level Text Feature
    • 3.5. Loss Function
  • 实验
    • 4.2 Zero-Shot Transfer of Grounding DINO
      • COCO数据集
      • LVIS数据集
      • ODinW,开放域目标检测
    • 4.3 Referring Object Detection Settings
    • 4.4. Ablations
    • 4.5. Transfer from DINO to Grounding DINO
    • 4.6 更多可视化结果
    • 4.7 Grounding DINO与Stable Diffusion结合
  • 结论

论文: 《Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection》
github: https://github.com/IDEA-Research/GroundingDINO

摘要

作者展示一种开集目标检测方案:Grounding DINO,将将基于Transformer的检测器DINO与真值预训练相结合。开集检测关键是引入language至闭集检测器,用于开集概念泛化。作者将闭集检测器分为三个阶段,提出一种紧密融合方案,包括feature enhancer、language-guided query selection、cross-modality decoder。
作者除了对新颖类别进行检测还进行特定属性目标识别。在COCO数据集上零样本检测达到52.5AP,在COCO数据集finetune后达到63AP

背景

Grounding DINO相对于GLIP有以下优势:
1、基于Transformer结构与语言模型接近,易于处理跨模态特征;
2、基于Transformer的检测器有利用大规模数据集的能力;
3、DINO可以端到端优化,无需精细设计模块,比如:NMS
目前开集检测器由闭集检测器引入语言信息实现,如图2,闭集检测器通过学习关注语言的区域编码,每个区域可分类为新类别,实现的关键是使用对比损失约束neck及head的区域输出及对应语言特征
在这里插入图片描述

本文贡献如下:
1、提出Grounding DINO通过多阶段跨模态融合改进开集目标检测器;
2、进一步在对REC(Referring Expression Comprehension,目标指代物理解)数据集进行评估;
3、在COCO, LVIS, ODinW, and RefCOCO数据集证明其有效性;

算法

在这里插入图片描述
如图3,对于图片、文本对,Grounding DINO可以输出多对目标框及对应名词短语。
Grounding DINO采用双编码器,单解码器结构。图像backbone 用于提取图像特征,文本backbone用于提取文本特征,特征增强用于融合图像及文本特征,语言引导的query选择模块用于query初始化,跨模态解码器用于框精细化。
流程如下:
1、图像及文本backbone分别提取原始图像及文本特征;
2、特征强化模块用于跨模态特征融合;
3、通过语言引导查询选择模块从图像特征中选择与文本对应的跨模态query;
4、跨模态解码器从跨模态query中提取需要特征,更新query;
5、输出query用于预测目标框及提取对应短语。

3.1Feature Extraction and Enhancer

Swin Transformer用于提取图像特征,BERT用于提取文本特征,特征强化层如图3中block2,利用Deformable self-attention强化图像特征,原始的self-attention强化文本特征,受GLIP影响,增加图像到文本跨模态以及文本到图像跨模态,帮助对齐不同模态特征。

3.2. Language-Guided Query Selection

为引导文本进行目标检测,作者设计语言引导的query选择机制选择与文本更相关的特征作为解码器的query。算法下图所示。输出num_query索引,据此初始化query。每个decoder query包括两部分:content及position。位置部分公式化为dynamic anchor boxes,使用编码器输出进行初始化;内容部分训练中可学习。
在这里插入图片描述

3.3. Cross-Modality Decoder

跨模态解码器结合图像及文本模态信息,如图3 block3,跨模态query经过self-attention层,image cross-attention层与图像特征结合,text cross-attention层与文本特征结合,以及FFN层。与DINO相比,每个解码器都有一个额外的文本cross-attention层,引入文本信息,便于对齐模态。

3.4. Sub-Sentence Level Text Feature

之前工作中探究了两种文本prompt,如图4。句子层级表征将整个句子编码为一个特征,移除了单词间影响;单词级表征能够编码多个类别,但引入不必要依赖关系;为避免不相关单词相互作用,作者引入attention mask,此为sub-sentence级表征,既保留每个单词特征,又消除不相关单词间相互作用
在这里插入图片描述

3.5. Loss Function

类似DETR,作者使用L1损失及GIOU损失用于框回归;沿用GLIP,对预测目标是否匹配文本使用对比损失约束

实验

Grounding data包括GoldG及RedC,其中GoldG包括Flickr30k及Visual Genome;RefC包括RefCOCO, RefCOCO+及RefCOCOg。

4.2 Zero-Shot Transfer of Grounding DINO

COCO数据集

表2,coco数据集zero-shot测试Grounding-DINO-T超越DINO,达到46.2AP更换大backbone及使用更多数据预训练,达到60.7AP,在COCO数据集finetune后在COCO test数据集达到63AP
在这里插入图片描述

LVIS数据集

如表3,Grounding DINO超越GLIP,但是在稀有类别上,GLIP性能更佳,可能由于900个query的设计,限制了对长尾目标的能力;使用更多数据,Grounding DINO带来更大增益
在这里插入图片描述

ODinW,开放域目标检测

表4,作者比较zero-shot,few-shot,full-shot结果,Grounding-DINO-L在zero-shot达到26.1AP。
在这里插入图片描述

4.3 Referring Object Detection Settings

作者进一步探究模型在目标指代物理解任务上性能,结果如表5,Grounding DINO超越CLIP,但是RefCOCO/+/g数据训练后才带来显著提升,后续需要关注REC zero-shot任务。
在这里插入图片描述

4.4. Ablations

作者提出用于开集目标检测的紧密融合模型及sub-sentence层级文本prompt,消融实验结果如表6,encoder融合带来最大增益。
在这里插入图片描述

4.5. Transfer from DINO to Grounding DINO

在这里插入图片描述
从头训练Grounding DINO成本比较大,因此作者迁移DINO至Grounding DINO仅训练存在差异层,结果如表7,使用预训练模型与从头训练性能接近,但拟合速度加快,如图5。
在这里插入图片描述

4.6 更多可视化结果

在这里插入图片描述

4.7 Grounding DINO与Stable Diffusion结合

在这里插入图片描述

结论

Grounding DINO扩展DINO至开集目标检测,提出一种紧密融合方法,更好融合跨模态信息,更合理的sub-sentence级text prompt,实验结果展示上述设计的有效性,但在REC数据集没有finetune效果比较差,后续需要关注REC zero-shot任务

限制:
目前Grounding DINO无法用于分割任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431251.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超级账本与区块链应用场景

文章目录 区块链3.0去中心化应用的新需求区块链技术在行业应用中的条件区块链3.0架构与超级账本 区块链3.0架构 超级账本(Hyperledger Fabric)超级账本的项目FabricFabric的典型运行模型在Fabric中完成一次交易的整体步骤Fabric的节点 链码(Chaincode)数字身份证书组织通道 区块…

Java之 重载 重写的区别

重载 在同一个类中,多个方法有相同的方法名,但参数列表不同,这种同名不同参的方法就是重载重写 子类在继承父类方法的基础上(方法名和参数列表相同),对父类方法的实现进行覆盖的操作叫重写规则 重载的规则…

【详细教程】国内部署ChatGPT镜像网站

文章目录 一、准备阶段0、注册Open AI账号1、创建API密钥2、国内云服务器3、国外云服务器4、镜像网站代码5、效果重要:部署时会修改glibc库,为了防止云服务器被搞坏,请提前进行备份或者创建快照重要:部署时会修改glibc库&#xff…

Echarts 如何添加页脚元素

要在 Echarts 图表中添加页脚元素,可以通过在 Echarts 实例的配置对象中添加 graphic 元素来实现。graphic 元素是一个数组形式的配置项,可以通过其中的 text 元素添加文字,rect 元素添加矩形,image 元素添加图片等,从…

JavaSE注解

注解分类和说明点 注解:可对程序做解释可被其他程序读取 元注解:Target:表明注解的使用范围,Retention:表示要在什么级别保存注解信息,Document,Inherited 自定义注解:interface …

一文说透安全沙箱技术

在数字经济的东风中,数据安全至关重要。目前已经颁布了包括《数据安全法》、《个人信息保护法》和《数据安全管理办法》在内的国家政策,以促进整个数据要素的发展。 而近年来,随着移动应用程序的普及和小程序技术的崛起,安全沙箱…

RB-PEG-MAL,罗丹明-聚乙二醇-马来酰亚胺;Rhodamine PEG Maleimide;RB-PEG2000-MAL

RB-PEG-MAL,罗丹明-聚乙二醇-马来酰亚胺 中文名称:罗丹明-聚乙二醇-马来酰亚胺 英文名称:Rhodamine PEG Maleimide RB-PEG-MAL 性状:粉红色或暗红色固体或者液体,取决于分子量。 溶剂:溶于大部分有机溶剂,在水中有很好的溶解…

( “树” 之 BFS) 513. 找树左下角的值 ——【Leetcode每日一题】

513. 找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 提示: 二叉树的节点个数的范围是 […

2020年团体程序设计天梯赛-模拟赛

L1-5 判断题 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数&#xf…

ChatGPT和Claude 对比测试(以Review MLIR Codegen代码为例)

Claude在MLIR代码分析上完全超越了ChatGPT并表现十分惊艳,请阅读全文或者自己注册感受它的强大。 0x0. 前言 这里将以oneflow IR部分中的一个Codegen任务(目标是在mlir codegen中支持oneflow stream,用oneflow stream替换pass中自己生成的st…

10个前端开发者需要掌握的DOM技巧

Web开发不断发展,掌握最新的趋势和最佳实践对每位开发者来说都至关重要。Web开发的最重要方面之一就是使用文档对象模型(DOM)。这篇文章中,小蓝将与大家共同探讨10个必须掌握的DOM技巧,帮助您成为更高效、更有效的开发…

CSS—javaEE

文章目录1.引入的方式1.1作为HTML的标签属性1.2style标签1.3link标签外部引入css文件2.基础选择器2.1标签选择器2.2类选择器2.3id选择器2.4通配符选择器3.复合选择器3.1后代选择器3.2子选择器3.3并集选择器3.4伪类选择器4.设置样式4.1字体4.2文本4.3背景4.4圆角5.显示模式6.盒模…

【Linux】HTTP超文本传输协议

http主要用在浏览器和web服务器通信,是基于TCP协议的应用层无连接的传输协议。 HTTP与HTTPS http是明文数据传输,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。协议使用端口号:80。 https更…

AIGC:数字内容创新的新引擎,还有藏着更多你知道的细节

随着技术的不断发展进步,在前两年对我们还是天方夜谭,可望而不可即的科技,现在不仅在逐步实现,甚至在广泛地普及应用中。人工智能技术应用在越来越多的行业中,在一定程度上对各行业的发展起了不小的推动作用&#xff0…

教你如何将PDF文件转换成PPT演示文稿

在工作和学习中,我们可能需要将一些PDF文件转换成PPT演示文稿,以便于更好地展示和分享。虽然PPT和PDF是两种不同的文档格式,但是我们可以使用一些专业的软件或在线工具来实现这种转换。下面就让我们来教你如何将PDF文件转换成PPT演示文稿。 …

Java 简介

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。 后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 O…

RabbitMQ 发布确认 交换机 死信队列 延迟队列

RabbitMQ 发布确认开启发布确认的方法单个确认发布批量消息确认发布异步确认发布如何处理异步未确认消息 交换机绑定Fanout交换机Fannout交换机(消费者)Fannout交换机(生产者) Direct exchage(直接交换机)生产者消费者 Topic交换机…

遥感影像变化检测新方法:MLDANets

来源:投稿 作者:xin 编辑:学姐 论文标题: Multilevel Deformable Attention-Aggregated Networks for Change Detection in Bitemporal Remote Sensing Imagery Motivation 本文指出: (1)当前基于自注意…

Spring AOP通知类型

我们之前的文章介绍了AOP通知描述了抽取的共性功能,根据共性功能抽取的位置不同,最终运行代码时要将其加入到合理的位置。 先来认识一下五种通知的具体类型: 前置通知后置通知环绕通知(重点)返回后通知(了解)抛出异常后通知(了解) &#x1f…

(4)(4.6) 强制性硬件配置

文章目录 前言 1 ArduPilot操作的简单概述 2 框架类和类型配置 3 电机编号和方向 4 无线电控制校准 5 加速度计校准 6 罗盘校准 7 遥控发射器飞行模式配置 8 电子调速器(ESC)校准 9 配置电机范围(可选) 10 失控保护机制 11 飞行模式 前言 作为首次安装的一部分&am…