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

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.mzph.cn/pingmian/8969.shtml

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

相关文章

新能源汽车充电站智慧充电电能服务综合解决方案

安科瑞薛瑶瑶18701709087/17343930412 ★解决方案 ✔目的地充电-EMS微电网平台 基于EMS解决方案从设备运维的角度解决本地充电的能量管理及运维问题,与充电管理平台打通数据,为企业微电网提供源、网、荷、储、充一体化解决方案。 ✔运营场站--电能服务…

python3有serial库吗

一、概述 pyserial模块封装了对串口的访问。 二、特性 在支持的平台上有统一的接口。 通过python属性访问串口设置。 支持不同的字节大小、停止位、校验位和流控设置。 可以有或者没有接收超时。 类似文件的API,例如read和write,也支持readline等…

基于Detectron2的计算机视觉实践

书籍:Hands-On Computer Vision with Detectron2: Develop object detection and segmentation models with a code and visualization approach 作者:Van Vung Pham,Tommy Dang 出版:Packt Publishing 书籍下载-《基于Detectr…

MySQL学习笔记11——数据备份 范式 ER模型

数据备份 & 范式 & ER模型 一、数据备份1、如何进行数据备份(1)备份数据库中的表(2)备份数据库(3)备份整个数据库服务器 2、如何进行数据恢复3、如何导出和导入表里的数据(1&#xff09…

(二十一)springboot实战——Spring AI劲爆来袭

前言 本节内容是关于Spring生态新发布的Spring AI的介绍,Spring AI 是一个面向人工智能工程的应用框架。其目标是将 Spring 生态系统的设计原则,如可移植性和模块化设计,应用到人工智能领域,并推广使用普通的Java对象&#xff08…

雪球期权是什么意思?你了解雪球期权吗?

今天期权懂带你了解雪球期权是什么意思?你了解雪球期权吗?雪球期权属于场外期权的一种,交易的方式只能通过线下跟券商询价的方式进行,类似场外个股期权的交易方式。 雪球期权是什么意思? 雪球期权,顾名思义…

js逆向,参数加密js混淆

关键词 JS 混淆、源码乱码、参数动态加密 逆向目标 题目1:抓取所有(5页)机票的价格,并计算所有机票价格的平均值,填入答案。 目标网址:https://match.yuanrenxue.cn/match/1目标接口:https://ma…

SSE介绍(实现流式响应)

写在前面 本文一起来看下SSE相关内容。 1:SSE是什么 全称,server-send events,基于http协议,一次http请求,server端可以分批推送数据, 不同于websocket的全双工通信,SSM单向通信,一般应用于需…

如何利用IPIDEA代理IP优化数据采集效率?

一、 前言二、 IPIDEA介绍三、体验步骤四、实战训练五、结语 一、 前言 在全球化与信息化交织的当代社会,数据已成为驱动商业智慧与技术革新的核心引擎。网络,作为信息汇聚与交流的枢纽,不仅是人们获取知识的窗口,更是商业活动与技…

【数据结构】详解栈

今天我们主要来了解栈!如果对知识点有模糊,可翻阅以往文章哦! 个人主页:小八哥向前冲~-CSDN博客 所属专栏:数据结构【c语言版】_小八哥向前冲~的博客-CSDN博客 c语言专栏:c语言_小八哥向前冲~的博客-CSDN博…

树和二叉树的定义和基本术语

文章目录 前言一、树的定义二、树的基本术语三、二叉树的定义总结 前言 T_T此专栏用于记录数据结构及算法的(痛苦)学习历程,便于日后复习(这种事情不要啊)。所用教材为《数据结构 C语言版 第2版》严蔚敏。 一、树的定义…

win7开启远程桌面却连接不上,如何解决Win7系统开启远程桌面但无法连接的问题

在使用Win7系统时,有时候我们可能会遇到这样的问题:已经成功开启了远程桌面功能,但尝试连接时却总是失败。这可能是由于多种原因导致的,下面我们将详细分析并提供相应的解决方案。 确保本地网络连接正常 可以尝试通过Ping命令测试…

C++程序设计:C++的内存分布与管理

C的内存分布与管理 栈区堆区全局区代码区常量区 栈区 (1)什么是栈区? 栈区(Stack) 是用于存储函数调用,局部变量和函数参数的一种内存区域,它的特性就是先进后出(FILO)。…

Spring底层入门(七)

1、异常处理 在DispatcherServlet中,doDispatch(HttpServletRequest request, HttpServletResponse response) 方法用于进行任务处理: 在捕获到异常后没有立刻进行处理,而是先用一个局部变量dispatchException进行记录,然后统一由…

AI电视起风,三星电视打破“隔代飞跃”,在AI纪元再次领跑

作者 | 曾响铃 文 | 响铃说 要说什么是当下最热的话题,刚落下帷幕的北京车展一定是其中之一,除了各类让人眼花缭乱的新车,纷至沓来的各界行业大佬,也让车展话题度被不断拉高。在此之外,此次车展还刮起了一股“旋风”…

A100 解析:为何它成为 AI 大模型时代的首选?

前言 NVIDIA A100 Tensor Core GPU 可针对 AI、数据分析和 HPC 应用场景,在不同规模下实现出色的加速,有效助力更高性能的弹性数据中心。A100 采用 NVIDIA Ampere 架构,是 NVIDIA 数据中心平台的引擎。A100 的性能比上一代产品提升高达 20 倍…

QT:QT与操作系统

文章目录 信号槽与事件QT多线程概述原理完成倒计时程序 UDP回显服务器服务端客户端 信号槽与事件 在之前的信号槽中,已经有了一个基本的认识,那么对于QT中事件的理解其实就非常的类似,当用户进行某种操作的时候,就会触发事件&…

CCF-Csp算法能力认证,202206-1归一化处理(C++)含解析

前言 推荐书目,在这里推荐那一本《算法笔记》(胡明),需要PDF的话,链接如下 「链接:https://pan.xunlei.com/s/VNvz4BUFYqnx8kJ4BI4v1ywPA1?pwd6vdq# 提取码:6vdq”复制这段内容后打开手机迅雷…

欧洲杯/奥运会-云直播

欧洲杯/奥运会要来了,如何升级自己的网站让你的顾客都能观赏直播已提高用户量呢?! 【功能完善、平滑兼容】 云直播支持 RTMP 推流、 HLS 源站等多种直播源接入方式,提供直播 SDK,支持多终端适配,上行码率…

Unity之ShaderGraph入门简介与配置

前言 ShaderGraph是Unity的一个可视化着色器编辑工具,它允许开发者在不编写代码的情况下创建复杂的着色器效果。ShaderGraph提供了一个直观的图形界面,用户可以通过拖拽节点并连接它们来构建自定义的着色器。用户可以在ShaderGraph中使用各种节点,如数学运算、纹理采样、颜…