DetCLIPv3:面向多功能生成开放词汇的目标检测

news2025/2/23 6:47:40

DetCLIPv3:面向多功能生成开放词汇的目标检测

  • 摘要
  • Introduction
  • Related works
  • Method

DetCLIPv3: Towards Versatile Generative Open-vocabulary Object Detection

摘要

现有的开词汇目标检测器通常需要用户预设一组类别,这大大限制了它们的应用场景。在本文中,作者介绍了DetCLIPv3,这是一种高性能检测器,不仅在开词汇目标检测方面表现出色,同时还能为检测到的目标生成分层标签。

DetCLIPv3的特点有三个核心设计:

多功能的模型架构:作者导出一个健壮的开集检测框架,并通过集成字幕 Head 进一步赋予其生成能力。

高信息密度数据:作者开发了一个自动标注 Pipeline ,利用视觉大型语言模型来细化大规模图像-文本对中的字幕,为训练提供丰富、多粒度的目标标签以增强训练。

高效的训练策略:作者采用了一个预训练阶段,使用低分辨率输入,使目标字幕生成器能够从广泛的图像-文本配对数据中高效学习广泛的视觉概念。

在预训练之后是一个微调阶段,利用少量高分辨率样本进一步提高检测性能。借助这些有效的设计,DetCLIPv3展示了卓越的开词汇检测性能,例如,作者的Swin-T Backbone 模型在LVIS minival基准上取得了显著的47.0零样本固定AP,分别优于GLIPv2、GroundingDINO和DetCLIPv2 18.0/19.6/6.6 AP。DetCLIPv3在VG数据集上的密集字幕任务也取得了先进的19.7 AP,展示了其强大的生成能力。

Introduction

在开放词汇目标检测(OVD)领域的近期进展已经实现了识别和定位多种不同目标的能力。然而,这些模型在推理过程中依赖于预定义的目标类别列表,这限制了它们在实际场景中的应用。

与目前仅基于类别名称识别物体的开放词汇目标检测(OVD)方法相比,人类认知展现出了更多的灵活性。如图2所示,人类能够以层次化的方式,从不同的粒度理解物体。这种多级识别能力展示了人类丰富的视觉理解能力,这是现代OVD系统尚未达到的。
在这里插入图片描述
为了解决上述限制,作者引入了DetCLIPv3,这是一种新型的目标检测器,它扩展了开放词汇目标检测的范围。DetCLIPv3不仅能够根据提供的类别名称识别物体,还能够为每个检测到的物体生成层次化的标签。这一特性具有两个优点:1) 由于其卓越的生成能力,即使在没有适当的输入物体类别的情况下,检测器仍然适用;2) 模型能够提供关于物体的全面且分层的描述,而不仅仅是基于给定类别进行识别。具体来说,DetCLIPv3具有三个核心设计特点:

多功能的模型架构: DetCLIPv3基于一个健壮的开词汇(OV)检测器,并且进一步通过一个物体描述器增强了其生成能力。具体来说,物体描述器利用OV检测器提供的foreground proposals(前景 Proposal ),并通过语言建模训练目标来训练生成每个检测到的物体的分层标签。这种设计不仅允许精确的定位,还能提供视觉概念的详细描述,从而为视觉内容提供更丰富的解释。

高信息密度数据: 发展强大的生成能力需要丰富的训练数据,这些数据需充实了详细的物体 Level 描述。这样全面的数据库稀缺(例如,Visual Genome [25])成为了训练有效物体描述生成器的重大障碍。另一方面,尽管大规模的图像-文本配对数据很丰富,但它们缺乏对每个物体的细粒度标注。为了利用这些数据,作者设计了一个自动标注管线,利用最先进的视觉大型语言模型[7, 35],该模型能够提供包含丰富层次化物体标签的精细图像描述。通过这个管线,作者得到了一个大规模的数据集(称为GranuCap50M),以增强DetCLIPv3在检测和生成方面的能力。

高效的多阶段训练: 与高分辨率输入相关的目标检测训练成本高昂,这对从大量的图像-文本对中学习构成了重大障碍。为了解决这个问题,作者提出了一种高效的多阶段对齐训练策略。这种方法首先利用大规模、低分辨率的图像-文本数据集的知识,然后在高质量、细粒度、高分辨率的 数据上进行微调。这种方法确保了全面的视觉概念学习,同时保持了可管理的训练需求。

通过有效的设计,DetCLIPv3在检测和目标 Level 的生成能力上表现出色,例如,采用Swin-T Backbone 网络,在LVIS minival基准测试中取得了显著的47.0零样本固定AP[9],明显优于先前的模型如GLIPv2[65],DetCLIPv2[60]和GroundingDINO[36]。此外,它在密集字幕任务上达到18.4 mAP,比先前的SOTA方法GRiT[56]高出2.9 mAP。广泛的实验进一步证明了DetCLIPv3在领域泛化及下游迁移能力方面的优越性。

Related works

开放词汇目标检测。 近期在开放词汇目标检测(OVD)方面的进展使得可以识别无限范围类别的目标,如文献[16, 17, 57, 63, 69]所示。这些方法通过将预训练的视觉-语言模型,例如CLIP [46],整合到检测器中来实现OVD。另外,扩大检测训练数据集也显示出潜力[24, 29, 31, 36, 58, 60, 65, 70],这些方法结合了来自各种任务(如分类和视觉定位)的数据集。此外,伪标签已经作为增强训练数据集的另一种有效策略出现,如文献[15, 29, 43, 58, 68, 69]所示。然而,先前的OVD方法仍然需要一个预定义的目标类别进行检测,这限制了它们在多样化场景中的适用性。相比之下,作者的DetCLIPv3即使在没有类别名称的情况下也能够生成丰富的分层目标标签。

密集字幕生成。 密集字幕生成旨在为特定图像区域生成描述[23, 28, 30, 51, 61]。最近,CapDet [38] 和 GRiT [56] 都通过引入一个字幕生成器,为目标检测器配备了生成能力。然而,由于训练数据稀缺,例如 Visual Genome [25] 中包含的数据,它们只能为有限的视觉概念生成描述。相比之下,作者利用大规模图像-文本对中的丰富知识,使模型能够为更广泛的概念谱生成分层标签信息。

图像-文本对的重新描述。 近期研究 [5, 26, 44, 62] 强调了当前图像-文本对数据中存在的问题,并已表明重新描述的高质量图像-文本对可以显著提高各种视觉任务的学习效率,例如文本到图像生成 [5, 44],图像-文本检索 [26, 27] 和图像标注 [26, 62]。作者将这一想法扩展到开放词汇目标检测,并探索如何有效地利用图像-文本对中包含的目标实体信息。

Method

在本节中,作者介绍了DetCLIPv3的核心设计,包括:(1)模型架构(第3.1节)—阐述作者的模型如何实现开词汇目标检测及生成目标描述;(2)自动标注数据流程(第3.2节)—详细说明作者策划大规模、高质量的图像-文本对的方法,涵盖不同粒度层面的目标信息;(3)训练策略(第3.3节)—概述作者如何有效地利用大规模图像-文本数据集来促进目标概念的生成,进而提升开词汇检测的能力。

Model Design
图3展示了DetCLIPv3的整体框架。本质上,该模型基于一个强大的开放词汇目标检测器,并配备了一个专门用于生成分层和描述性目标概念的目标标题生成器。该模型能够在两种模式下运行:1) 当提供一个预定义的类别词汇表时,DetCLIPv3预测列表中提到的物体的定位;2) 在没有词汇表的情况下,DetCLIPv3能够定位物体并为每一个物体生成分层描述。
在这里插入图片描述
数据制定。DetCLIPv3的训练利用了来自多个来源的数据集,包括检测[50,55]、定位[24]以及图像-文本对[4,48,52,53],并带有边界框伪标签(具体见第3.2节)。与
DetCLIPv1/v2[58,60]一样,作者采用一种_平行制定_方法将来自不同数据源的文本输入统一为一种标准格式。具体来说,每个输入样本结构化为一个三元组,(a, {bi}A1,vg,),其中
a ∈ R3×H×W是输入图像,{b./b; ∈R*}言,表示一组边界框,而gg,则表示一组概念文本,包括正负概念。
对于检测数据,y;包括类别名称及其定义((如〔58, 60〕中所述),适用于训练和测试阶段。负概念是从数据集中的类别中抽取的。对于接地(grounding)和图像-文本对数据,正概念是目标描述,而负概念则从大规模名词语料库中抽取(具体见第3.2节)。在训练期间,为了增加负概念的数量,作者从所有训练节点收集它们,并执行去重处理。
开放词汇检测器。作者提出了一种紧凑但功能强大的检测器架构,用于DetCLIPv3,如图3中红色框所示。具体来说,它是一个双路径模型,包括一个视觉目标检测器重。和一个文本编码器重。视觉目标检测器采用基于Transformer的检测架构[3, 66,71],由一个 Backbone网络、一个像素编码器和一个目标解码器组成。Backbone网络和像素编码器负责提取视觉特征,进行细粒度特征融合,并为解码器提出候选目标Query 。类似于GroundingDINo [36],作者利用文本特征根据相似性选择前k个像素特征,并后来使用它们的坐标预测来初始化解码器目标Query 的位置部分。然而,与众不同的是,作者放弃了在[36]中设计的计算密集型跨模态融合模块。遵循先前的DETR-1ike检测器[3, 66,71],作者的训练损失由三个组成部分构成:Ldet =Laligm + Lior +Liou,其中 Lalim是区域视觉特征与文本概念之间的对比焦损失[34],而Lbo和Liou 分别是L1损失和GIOU[47]损失。为了提升性能,在解码器的每一层以及编码器的输出上采用了辅助损失。
目标描述器在DetCLIPV3中的作用是生成详细和分层的标签,使其能够对物体进行更准确的描述。为了获得丰富的图像-文本对知识,作者结合了图像级字幕目标,增强了生成能力。目标描述器的设计受到Qformer的启发,采用了基于多模态Transformer的架构,其中交叉注意力层被替换为定制的可变形注意力。描述器的输入包括视觉Query和文本标记,它们通过交叉注意力与自注意力层和FFN层交互。同时,采用了多模态因果自注意力Mask来控制不同模态之间的交互。

在目标级生成中,目标Query和可变形交叉注意力所需的参考点来自目标解码器最终层的输出。训练期间,使用与Ground Truth相匹配的正Query来计算损失。在推理过程中,为了生成前景Proposal,选择前k个候选目标Query,然后重新校准其目标性得分,并计算目标Query与生成的短语和类别字段之间的相似性。

在图像级生成中,初始化了32个可学习的图像Query,并使用一组固定的参考点。输入结构包括图像Query、图像任务标记和文本。推理过程与训练是一致的。
Dataset Construction
自动标注数据 Pipeline 。利用大量成本效益高的图像-文本对进行视觉概念学习,对于提高开放词汇目标检测器的一般化能力至关重要。然而,现有的图像-文本对数据集存在重大缺陷,这些缺陷阻碍了它们在OVD中的实用性,如图4所示:(1) 错位:互联网来源的图像-文本对数据经常包含大量噪声。即使使用CLIP [46]基于分数的过滤[48, 49],许多文本仍然无法准确描述图像的内容,如图4的第二和第三张图像所示。(2) 部分标注:大部分文本只描述图像中的主要目标,导致目标信息稀疏,因此,损害了OVD系统的学习效率,如图1所示。(3) 实体提取挑战:先前的工作[24, 32, 43, 60]主要使用传统的NLP解析器,如NLTK [1, 42]或SpaCy [21],从图像-文本对中提取名词概念。它们的有限能力可能导致名词与图像内容对齐不良,如图4的第二行所示。这种不匹配为后续的学习过程或伪标签工作流程带来了进一步的复杂性。在这里插入图片描述
在这里插入图片描述
一个理想的图像-文本对数据集对于视觉描述(OVD)应当包含对图像的准确和全面的描述,提供从详细到粗略不同粒度 Level 的图像中目标的信息。基于这种启发,作者 Proposal 使用视觉大型语言模型(VLLM)[7, 35]来开发一个自动标注流水线,以提高数据质量。VLLM具有感知图像内容的能力,以及强大的语言技能,使它们能够生成精确和详细的标题以及目标描述。

使用VLLM重制标题:作者从常用的数据集[4, 52, 53]中抽取了24万张图像-文本对,并使用InstructBLIP [7]模型进行了重制标题。为了利用原始标题中的信息,作者将其融入作者的提示设计中,结构如下:“给定图像的一个含噪声的标题:{原始标题},撰写一幅图像的详细清晰描述。”。这种方法有效地提升了标题文本的质量,同时保持了原始标题中名词概念的多样性。

使用GPT-4的实体提取:作者利用GPT-4[45]卓越的语言能力来处理精致标题中的实体信息。具体来说,首先用它过滤掉VLLM生成的标题中非实体的描述,比如对图像的氛围或艺术性解读。随后,它负责从标题中提取出现的物体实体。每个实体都被格式化为一个三元组:{短语,类别,父类别},分别表示物体描述在三个不同粒度 Level 上。

对VLLM进行大规模标注的指令调整:考虑到GPT-4 API的高昂成本,将其用于大规模数据集生成是不切实际的。作为一种解决方案,作者在LLaVA [35]模型上执行进一步的指令调整阶段,利用之前步骤获得的改进的标题和目标实体。然后,这个微调后的模型被用来为包含200M图像-文本对的大型数据集生成标题和实体信息,这些样本取自CC15M [4, 52],YFCC[53] 和 LAION [48]。

边界框自动标记:为了自动推导出图像-文本配对数据中的边界框标注,作者应用一个预训练的开词汇目标检测器(第3.3节)来分配伪边界框标签,给定从前一步骤中得出的目标实体。当提供来自VLLM的准确候选目标实体时,检测器的准确性可以大大提高。具体来说,作者将 ‘短语’ 和 ‘类别’ 字段作为检测器的文本输入,并使用预定义的分数阈值来过滤结果边界框。如果这两个字段中的任何一个匹配,作者会为该目标分配整个实体 {短语, 类别, 父类别}。在使用预定义的置信度阈值过滤后,大约有5000万个数据被采样用于后续训练,作者将其称为 GranuCap50M。在训练检测器时,作者使用 ‘短语’ 和 ‘类别’ 字段作为文本标签;而在训练目标描述器时,作者将三个字段 - ‘短语’ 类别’ 父类别’ - 连接起来,作为目标的 GT 描述。

无概念语料库。 与DetCLIP [58]相似,作者利用提取的目标实体的信息开发了一个名词概念语料库。这个语料库主要旨在为GT和图像-文本对数据(第3.1节)提供负概念。具体来说,作者从20亿个重新配文的数据中收集实体的_‘category’_字段。在频率分析之后,总频率低于10的概念被省略。DetCLIPv3的名词概念语料库由792k名词概念组成,几乎是DetCLIP中构建的14k概念的57倍扩展。

Multi-stage Training Scheme
学习生成多样化的物体描述需要在大型数据集上进行广泛的训练。然而,像目标检测这样的密集预测任务需要高分辨率输入才能有效处理不同物体之间的尺度变化。这大大提高了计算成本,给扩大训练规模带来了挑战。为了缓解这个问题,作者开发了一个基于“预训练+微调”范式的训练策略来优化训练成本,具体来说,它包括以下3个步骤:

训练OV检测器(第一阶段):在初始阶段,作者用标注的数据集来训练OV检测器,即Objects365 [50],V3Det[55]和GoldG [24]。为了使模型在后续训练阶段能够从低分辨率输入中学习,作者对训练数据应用了大规模抖动增强。此外,在这一阶段开发的具有Swin-L Backbone 网络的模型被用来为图像-文本对生成伪边界框,具体如第3.2节所述。

预训练目标描述生成器(阶段2):为了使目标描述生成器能够生成多样化的目标描述,作者使用GranuCap50M对其进行预训练。为了提高这个训练阶段的效率,作者冻结了OV检测器所有的参数,包括 Backbone 网络、像素编码器和目标解码器,并采用了较低的输入分辨率320×320。这种策略使得描述生成器能够从大规模的图像-文本对中有效地获取视觉概念知识。

整体微调(阶段3):这一阶段旨在使字幕生成器适应高分辨率输入,同时提高 OV 检测器的性能。具体来说,作者从 GranuCap50M 中均匀抽取了60万个样本。这些样本以及检测和定位数据集一起用来进一步微调模型。在此阶段,释放所有参数以最大化有效性,训练目标设置为检测和字幕生成损失的组合。字幕生成器的监督仅来自使用作者的自动标注 Pipeline 构建的数据集,而所有数据都用于 OV 检测器的训练。由于检测器和字幕生成器都已进行预训练,因此模型可以在几个周期内有效适应。

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

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

相关文章

长难句打卡5.9

For example, the Long Now Foundation has as its flagship project a mechanical clock that is designed to still be marking time thousands of years hence. 例如,今日永存资金会将机械钟表视为旗舰项目,因此该钟表旨在为未来几千年保持计时。 Foundation n.基金会flag…

如何快速注册企业邮箱?只需要三步

快速注册一个企业邮箱,只需要以下三个步骤:一是挑选适合的邮箱版本和邮箱价格,二是填写必要的企业信息,三是完成企业邮箱的基础配置。完成上述三个步骤,企业就能够拥有一个专属的企业邮箱。 一、挑选适合的邮箱版本 …

jpg照片怎么压缩到10k?压缩照片并不难

jpg照片怎么压缩到10k?随着数字摄影的普及,我们手机或电脑中存储的照片数量越来越多,而这些高分辨率的照片往往会占用大量的存储空间。为了节省空间,将JPG照片压缩到较小的文件大小成为了许多人的需求。本文将为您介绍几款可以将J…

《基于GNU-Radio和USRP的雷达通信系统的实现》文献阅读

文章目录 前言一、摘要二、引言三、联合系统实施1、基本原理2、实验方案 四、软件设置1、发射机2、接收机 五、实验结果1、实验设置2、波形3、室内外对比4、不同参数的结果 六、结论七、参考文献八、论文自取九、阅读收获 前言 本文记录《基于GNU-Radio和USRP的雷达通信系统的实…

新手做抖音小店,应该怎么做才挣钱?按照这个思路来!

大家好,我是电商糖果 别人在抖音创业开店,都可以赚到钱,他们是怎么做到的。 作为一个新手,应该怎么做呢? 我相信这是很多人想开店的朋友,前期都会思考的问题。 下面糖果就来说一下,新手做抖…

vue 代码样式问题

部分电脑存在样式错乱问题&#xff0c;部分电脑样式正常。最后发现是样式写在 el-col 里面导致的。 注意&#xff1a;写样式不要放在 el-row 或者 el-row &#xff0c;导致部分电脑会出现莫名其妙的样式问题 <el-row class"detail"><el-col class"it…

达梦数据库限制用户登录IP测试

达梦数据库创建用户时可以限制登录ip和时间段。 创建测试测试用户 create user test1 identified by Test_1234 ALLOW_IP "192.168.100.101"; 限定该用户只能通过192.168.100.101地址登录数据库 连接测试 上图可见&#xff0c;192.168.100.101客户端可以连接上19…

研发妹子说如果问题不解决她就给我一口大黑锅:记Oracle库SQL执行超时导致业务无法测试优化处理记录

备注&#xff1a;本次记录根据后期回顾整理&#xff0c;实际测试过程遇到问题较多&#xff0c;也花费了不少时间&#xff0c;后期整理也有些处理过程被遗漏。 一、问题现象及处理过程 研发中心开发部一同事反馈某Oracle 测试库 10.xxx.xxx.xxx 无法访问&#xff0c;业务无法测…

振动分析的一些概念

一.时域分析 振动测试领域中&#xff0c;通常使用标准是ISO 10816系列标准&#xff0c;其要去使用有效值&#xff08;RMS&#xff09;来表示震动信号的能量大小&#xff0c;并提供一组限制值&#xff0c;以帮助用户评估机器的振动水平是否正常。 1.位移&#xff1a; 峰峰&…

STM32--LoRa通信模块

ATK-LORA-01_V3.0(V3.0 是版本号&#xff0c;型号是 ATK-LORA-01 &#xff0c;下面均以 ATK-LORA-01表示该产品) 是 ALIENTEK 推出的一款体积小、微功率、低功耗、高性能远距离 LORA 无线串口模块。模块设计是采用高效的 ISM 频段射频 SX1278 扩频芯片&#xff0c;模…

【Java SE】对象的比较

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 本期内容满满干货&#xff0c;将会深入介绍对象与对象之间是如何进行比较的&#xff0c;我们知道基本数据类型是可以直…

Linux0.11中MINIX 文件系统

阅读linux 的源码的时候对minix 文件系统有很多的疑惑&#xff0c;根据自己的认识将这些做一个总结。 MINIX 文件系统由六个部分组成&#xff0c;分别是引导块&#xff0c;超级块&#xff0c;i结点位图&#xff0c;逻辑块位图&#xff0c;i结点&#xff0c;数据块。 引导块&am…

面试集中营—Redis架构篇

一、Redis到底是多线程还是单线程 1、redis6.0版本之前的单线程&#xff0c;是指网络请求I/O与数据的读写是由一个线程完成的&#xff1b; 2、redis6.0版本升级成了多线程&#xff0c;指的是在网络请求I/O阶段应用的多线程技术&#xff1b;而键值对的读写还是由单线程完成的。所…

每日Attention学习6——Context Aggregation Module

模块出处 [link] [code] [IJCAI 22] Boundary-Guided Camouflaged Object Detection 模块名称 Context Aggregation Module (CAM) 模块作用 增大感受野&#xff0c;全局特征提取 模块结构 模块代码 import torch import torch.nn as nn import torch.nn.functional as Fcla…

万兆以太网MAC设计(13)主机与FPGA之间进行PING

文章目录 前言&#xff1a;一、ICMP校验和计算二、上板效果1、终端命令行1、wireshark捕捉 前言&#xff1a; 在上板尝试进行PING操作的时候&#xff0c;发现一直是请求超时的情况&#xff0c;结果排查发现是首部校验和没有计算的问题。在UDP层&#xff0c;我们不进行校验和是…

【python】基于岭回归算法对学生成绩进行预测

前言 在数据分析和机器学习领域&#xff0c;回归分析是一种预测连续数值的监督学习技术。当数据特征与目标变量之间存在线性关系时&#xff0c;线性回归模型尤其有用。然而&#xff0c;当特征数量多于样本数量&#xff0c;或者特征之间存在多重共线性时&#xff0c;普通最小二…

jsp 实验16 MVC 表白墙

源代码以及执行结果截图&#xff1a; ExpressWish_Bean.java package web; import java.util.HashMap; import java.util.ArrayList; import java.util.Iterator; public class ExpressWish_Bean { public HashMap<String,ExpressWish> wishList; ArrayList&…

【AI知识】Stable diffusion常用提示词分享

模型&#xff08;Model&#xff09; majicmixRealistic_v7 majicmixRealistic&#xff08;麦橘写实&#xff09;是融合了多种展现日常生活人物形象的写实风格模型&#xff0c;人物的外观更加接近现实生活&#xff0c;对于光影、皮肤、人物动态均有较好的表现&#xff0c;非常…

Java | Leetcode Java题解之第70题爬楼梯

题目&#xff1a; 题解&#xff1a; public class Solution {public int climbStairs(int n) {double sqrt5 Math.sqrt(5);double fibn Math.pow((1 sqrt5) / 2, n 1) - Math.pow((1 - sqrt5) / 2, n 1);return (int) Math.round(fibn / sqrt5);} }

版本控制工具之Git的基础使用教程

Git Git是一个分布式版本控制系统&#xff0c;由Linux之父Linus Torvalds 开发。它既可以用来管理和追踪计算机文件的变化&#xff0c;也是开发者协作编写代码的工具。 本文将介绍 Git 的基础原理、用法、操作等内容。 一、基础概念 1.1 版本控制系统 版本控制系统&#x…