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 检测器的训练。由于检测器和字幕生成器都已进行预训练,因此模型可以在几个周期内有效适应。