【计算机视觉 | 目标检测】CORA: Adapting CLIP for Open-Vocabulary Detection with Region Prompting and Anchor

基于区域提示和锚点预匹配的开放词汇检测。

CORA 在目标检测任务中提出了一种新的 CLIP 预训练模型适配方法,主要包括 Region Prompting 和 Anchor Pre-Matching 两部分。

这种方法能够让 CLIP 模型适应目标检测的任务,能够识别出图像中的对象,并提供准确的分类和定位信息。

一、摘要

开放词汇目标检测是一种目标检测任务,旨在检测超出检测器所训练的基本类别的新类别的对象。(检测新类的能力)

最近的OVD方法依赖于大规模的视觉语言预训练模型,如CLIP,用于识别新对象。

确定了将这些模型纳入检测器训练时需要解决的两个核心障碍:

  1. 将在整个图像上训练的VL模型应用于区域识别任务时发生的分布不匹配;
  2. 未见过类对象的定位难度。(the difficulty of localizing objects of unseen classes)

问题1的一个简单理解:

当使用在整个图像上训练的视觉语言(VL)模型来执行区域识别任务时,会发生分布不匹配的问题。这种不匹配指的是,在图像级别训练的VL模型在识别特定区域时可能会失效,因为该区域在整个图像中并没有得到充分的表示或者VL模型无法对该区域进行有效的处理。

在目标检测中,这种问题会导致模型无法准确地检测到目标物体的位置和形状,从而降低模型的性能和精度。为了解决这个问题,需要针对区域级别进行训练和优化,以确保VL模型能够在识别特定区域时表现出更好的性能。

问题2的一个简单理解:

这句话指的是在目标检测任务中,如果目标中的某个类别没有出现在训练集中,那么定位这个类别的目标就会非常困难。因为模型在训练时没有接触到这个类别,它就无法对其进行有效的分类和定位。这种情况通常被称为“未见过类(zero-shot)”问题。

这个问题在实际应用中很常见。例如,如果你在训练一个猫狗分类器,但是训练集中只有猫和狗的图像,而在测试时出现了其他动物,如狮子、老虎等,那么模型就无法有效地进行分类和定位。

为了解决这个问题,可以使用迁移学习或零样本学习等技术来处理未见过类的目标。这些技术可以通过将模型从已有的类别迁移到新的类别,来实现对未见过类的目标的识别和定位。

为了克服这些障碍,我们提出了CORA,这是一个 DETR 风格的框架,它通过区域提示(Region prompting)和锚点预匹配(Anchor pre-matching)适应 CLIP 进行开放词汇表检测。

DETR 风格的框架解释如下:

DETR是一种基于Transformer的目标检测框架,它使用端到端的方式同时预测物体的类别和位置。DETR的设计采用了类似于自然语言处理(NLP)中的编码器-解码器(encoder-decoder)架构,其中编码器和解码器都由Transformer组件构成。

在DETR中,编码器将输入图像转换为一系列特征向量序列,其中每个特征向量代表图像中的一个位置。这些特征向量序列被输入到解码器,以生成对图像中对象的预测。解码器使用自注意力机制来处理这些特征向量,将其关联到生成的目标类别和边界框的预测中。

与传统的目标检测框架不同,DETR不需要使用先验框或区域提取算法来生成候选框。它使用一个特殊的类别,称为“无物体”(no-object),来表示图像中不存在物体的区域。这样,DETR可以在不需要额外计算的情况下对整个图像进行预测。

  • 区域提示:通过提示基于 CLIP 的区域分类器的区域特征来缓解整体与区域的分布差距。
  • 锚点预匹配:通过类感知匹配机制帮助学习可泛化对象定位。

我们在 COCO OVD 基准上评估 CORA,在新类别上我们达到了41.7 A P 50 AP_{50} AP50,即使不借助额外的训练数据,也比之前的 SOTA 高出2.4 A P 50 AP_{50} AP50。当额外的训练数据可用时,我们在 CORA 计算的真实基础类别注释和额外的伪边界框标签上训练 CORA+。CORA+ 在COCO OVD基准上达到 43.1 A P 50 AP_{50} AP50,在 LVIS OVD 基准上达到 28.1 box A P r AP_r APr

二、介绍

新类别上没有冗长的注释,甚至从新类别中检测对象,目前称为开放词汇表检测(OVD),受到广大关注。

大规模视觉语言预训练模型(如 CLIP )的最新进展为解决 OVD 提供了新的解决方案。CLIP 从大规模的图像-文本数据集中学习图像和文本的联合嵌入空间,在视觉识别任务中表现出出色的能力。

将 CLIP 应用于 OVD 的一般思想是将其视为开放词汇表分类器。然而,有两个障碍阻碍了 CLIP 在治疗 OVD 方面的有效使用。

2.1 如何为区域级任务调整 CLIP ?

一种简单的解决方案是裁剪区域,并将其视为单独的图像,这已被近期的多个作品所采用。但图像区域与完整图像之间的分布差距导致分类精度较低。

MEDet 通过用图像特征增强文本特征来缓解这个问题。然而,它需要额外的图像-文本对,以防止过度拟合到训练中看到的所谓 “基础” 类。 RegionCLIP 通过 RoI Align 直接获取区域特征,效率更高,但不进行微调不能很好地泛化到新类。当采用更大的 CLIP 模型时,调整成本很高。

RegionCLIP使用了RoI Align来获取区域特征。RoI Align是一种常用的图像处理技术,用于在卷积神经网络中从任意大小的图像区域中提取固定大小的特征。具体地,对于每个待检测的区域,RegionCLIP将其坐标归一化到 [ 0 , 1 ] [0,1] [0,1]的范围内,并将其分割成 n × n n\times n n×n个子区域(例如 n = 7 n=7 n=7),然后在每个子区域内进行双线性插值以获取子区域内的特征。最后,将这些子区域内的特征拼接成一个固定大小的特征向量作为该区域的表示。

具体来说,RoI Align的步骤如下:

  1. 将待检测的区域的坐标归一化到 [ 0 , 1 ] [0,1] [0,1]的范围内,即将原始图像上的坐标映射到特征图上的坐标。
  2. 将归一化后的区域分割成 n × n n\times n n×n个子区域,每个子区域的大小为区域宽度 / 高度除以 n n n
  3. 对于每个子区域,根据其位置和大小在特征图上采样出相应的特征。
  4. 对于每个采样点,使用双线性插值方法在其周围4个特征点上进行插值,得到该采样点的特征。
  5. 将所有采样点的特征拼接成一个特征向量,并作为该区域的表示。

通过RoI Align,RegionCLIP可以从任意大小的图像区域中提取固定大小的特征,从而方便地将区域信息与文本信息结合起来进行检测和识别任务。

2.2 如何学习可推广的对象建议?

ViLD,OV -DETR,Object - Centric - OVD,RegionCLIP 需要 RPN 或类不可知对象检测器来挖掘潜在的新类对象。然而,这些 RPN 强烈偏向于训练它们的基类,而在新类上表现不佳。

类不可知对象检测器(Class-Agnostic Object Detector,CAOD)是一种目标检测器,它不需要预先定义目标类别,而是只需要检测出图像中存在的物体。

传统的目标检测器需要预先定义目标类别,并在训练过程中学习区分这些类别的特征。但是,在一些实际应用中,目标类别可能是未知的或不确定的,例如,对于监控摄像头拍摄的视频,我们可能只想检测出人、车等物体,而不关心它们的具体类型。此时,CAOD就能够发挥作用。

CAOD的基本思路是在检测器中引入一些可调节的参数,以便检测器可以自适应地检测出各种不同的物体。这些参数可以是一些形状和大小的参数,或者是一些特征映射的权重参数。通过调节这些参数,检测器可以学习到一些通用的物体特征,并且能够检测出任意类别的物体。

目前,一些最新的目标检测器都采用了类不可知的方法,例如 YOLOv4、EfficientDet等。这些方法不仅可以用于未知类别的检测,还可以在一些多任务学习的场景中发挥作用。

MEDet 和 VL-PLM 确定了这个问题,并采用了一些手工策略来排除或合并低质量的边界框,但性能仍然受到冻结的RPN的限制。OV -DETR 通过在类名嵌入上调节边界框回归来学习可推广的对象定位,但以重复的每类推理所引起的效率问题为代价。

具体来说,我们使用 DETR 风格的对象定位器进行类感知对象定位,预测框通过池化 CLIP 图像编码器的中间特征映射进行编码,这些框由 CLIP 文本编码器使用类名进行分类。

类感知对象定位是指在一张图片中,既能识别出图片中的物体所属的类别,又能够确定物体的具体位置信息。

与目标检测不同的是,类感知对象定位不需要对所有物体进行检测和分类,而只需对指定类别的物体进行定位。

在类感知对象定位中,通常会使用一个定位器(localizer)来预测目标物体的位置。定位器可以是一种特殊的神经网络模型,它可以在输入图片中生成一个边界框或者像素级的掩码,来定位指定类别的物体。

类感知对象定位通常应用于需要对物体位置信息进行更精细的理解和分析的任务,比如目标跟踪、自动驾驶、机器人视觉等。

但是,CLIP 原始视觉编码器的整体图像特征与新合并的区域特征之间存在分布差距,导致分类精度较低。

因此,我们提出了区域提示来适应 CLIP 图像编码器,提高了分类性能,也表现出比现有方法更好的泛化能力。我们采用 DAB-DETR 作为定位器,其中对象查询与动态锚框相关联。通过在框回归之前将动态锚框与输入类别进行预匹配(锚点预匹配),可以实现类感知回归,而无需重复的每个类推理。

DAB-DETR是一种目标检测方法,是在DETR(Detection Transformer)的基础上提出的改进方法。DAB指的是“Detection-Aware Box”,是一种可变形的检测框,用于解决传统的矩形检测框无法很好地适应目标形状的问题。

DAB由四个顶点和四个边界向量组成,可以根据目标形状自适应地变形。

DAB-DETR将DAB引入到DETR中,用DAB替代了传统的矩形检测框,同时通过增加一个可变形注意力机制来自适应地调整DAB的形状和位置,从而提高了目标检测的精度和鲁棒性。

除此之外,DAB-DETR还引入了一种新的采样机制,称为“soft
sampling”,用于解决训练时类别不平衡的问题,进一步提高了模型的性能。

我们在 COCO 和 LVIS v1.0 OVD 基准上验证了我们的方法。在 COCO OVD 基准上,我们的方法在没有额外数据训练的情况下,将新类别的 A P 50 AP_{50} AP50 比之前的最佳方法提高了2.4 A P 50 AP_{50} AP50,并在不同尺度的 CLIP 模型上实现了一致的增益。

当在更公平的设置下与额外的训练数据进行比较时,我们的方法在新类别上显著优于现有方法3.8 A P 50 AP_{50} AP50,并在基本类别上实现了相当的性能。

在 LVIS OVD 基准测试中,我们的方法在/w.o条件下实现了22.2 / 28.1 A P r AP_r APr。额外的数据,这大大优于现有的方法,也用 / w.o 训练。额外的数据。在 COCO 的基类上应用区域提示,对新类的分类性能从 63.9% 提高到 74.1%,而其他提示或自适应方法容易偏向基类。

本工作的贡献主要体现在:

  1. 我们提出的区域提示有效地缩小了图像整体特征与区域特征之间的差距,并且在开放词汇设置下具有很好的泛化能力;

  2. 锚点预匹配使可推广对象定位的 DETR 高效;

  3. 我们在 COCO 和 LVIS OVD 基准上实现了最先进的性能。

三、相关工作

3.1 相关工作

DETR 是一种基于 transformers 的对象检测体系结构,它将对象检测描述为集对集匹配问题,极大地简化了 pipeline。

DETR (Detection Transformer) 是由 Facebook AI Research 提出的一种全新的目标检测框架,它使用 Transformer 架构进行对象检测,该框架摒弃了传统目标检测方法中大量使用的手工特征和锚框的设计,完全基于注意力机制来实现目标检测任务。

DETR 的主要思想是把对象检测问题转化为一个 set prediction
问题,即将每个图像中的所有目标作为一个集合,并直接在集合上进行目标检测。为了实现这一点,DETR 采用了 Transformer
模型中的自注意力机制来对集合中的元素进行编码,并通过一个全局的 Transformer 解码器来预测这个集合的类别和边界框。

DETR 的一个重要特点是它不需要使用锚框或者其他的手工设计的先验框,因为所有的检测边界框都是由 Transformer
解码器输出的。此外,DETR 还使用了一种新颖的损失函数设计,即匈牙利算法损失,这种损失函数能够直接优化预测框与目标框之间的
IoU(交并比),而不需要使用任何阈值或者先验知识。

DETR 在很多公共数据集上取得了非常优秀的检测结果,表明了基于注意力机制的对象检测方法的潜力和前景。

3.2 Prompt Tuning

提示源于NLP,它是指在输入序列之前预先存在任务指令,给语言模型关于任务的提示。后来的作品探讨了在可用的 few-shot 数据时调整连续提示向量。VPT,Visual prompts 探索像素空间中的提示。最近的研究表明,提示调优是一种有效的、参数高效的方法,可以使大规模预训练模型适应下游任务。

Prompt Tuning是一种自然语言处理模型的微调方法,旨在通过在模型的输入中插入提示来提高模型的性能。这些提示可以是关键词、短语、句子或段落,它们被设计成引导模型更准确地生成预测结果。

Prompt Tuning通常在预训练的语言模型上应用,这些模型已经学会了理解自然语言中的语法和语义。在微调过程中,提示被添加到模型的输入中,以便帮助模型更好地理解输入的上下文,并减少由于训练数据的限制而导致的错误预测。提示的使用可以提高模型的准确性,并减少模型的推理时间。

Prompt Tuning是一种灵活的方法,可以应用于各种自然语言处理任务,例如文本分类、命名实体识别、语义角色标注等。这种方法已被证明在多个NLP任务中取得了比传统微调方法更好的效果,并且可以轻松地与其他技术,如知识蒸馏和迁移学习相结合。

四、方法

4.1 模型引入

开放词汇表检测(OVD)是一种目标检测任务,旨在检测超出检测器所训练的基本类别的新类别的对象。

形式上,检测器在带有基类 C B C^B CB框标注的检测数据集上进行训练,并在新的输入图像上进行测试,以检测属于新类别集 C N C^N CN的对象,其中 C B C^B CB C N C^N CN = ∅ \emptyset

在本节中,我们将介绍 CORA,这是一个通过区域提示锚点预匹配来适应 OVD 任务的 CLIP 框架。为了与现有方法进行更公平的比较,我们还实验了一个更广泛的设置,其中有额外的数据,这被称为 CORA+,并将与实验一起引入。

方法概述:

在这里插入图片描述
图像被 CLIP 图像编码器编码成特征图,用于定位和分类。通过对特征映射进行池化,提取区域特征,并根据 CLIP 类名嵌入进行分类。在解码之前,锚框预先匹配并以类为条件。训练期间,每个类别进行后配。在推理过程中,由区域分类器对盒子预测进行分类。

4.2 Overview

给定一个图像作为输入,我们从预训练的 CLIP 图像编码器中使用 ResNet 骨干获取空间特征图,该骨干由区域分类和物体定位分支共享。与传统检测器不同,在我们的框架中,定位和分类是解耦的,并按顺序进行的,以更好地适应 OVD 问题的特征。我们训练了一个DETR 风格的对象本地化器,它细化了一组 object queries 及其相关的锚框,以定位对象,然后由来自 CLIP 的区域分类器对对象进行分类。

4.2.1 Region Classification

给定一个要分类的区域(锚框或框预测),我们采用 RoI Align 获取区域特征,然后使用 CLIP 的注意力池模块生成区域嵌入,可以通过 CLIP 文本编码器获得的类嵌入进行分类,就像在 CLIP 中一样。我们将这个模块命名为基于 CLIP 的区域分类器。(a)

4.2.2 Object Localization

视觉特征图首先由类 DETR 编码器细化,然后输入类 DETR 解码器。首先使用基于 CLIP 的区域分类器对锚框查询进行分类,在由 DETR 类解码器迭代细化之前,以他们预测的标签为条件,以更好地定位。解码器还估计 queries 与先前预测的标签的匹配性。在训练过程中,预测框与具有相同标签的 ground truth boxes 进行一对一匹配(b),并按照 DETR 进行训练。在推理阶段,通过基于 CLIP 的区域分类器调整 box 的类标签。

在DETR模型中,图像被传递到编码器中,编码器使用一系列的Transformer模块来处理图像,得到一组高维特征向量表示。这些特征向量捕捉了图像中物体的位置和上下文信息,并用于预测目标框和类别。

DETR编码器的主要作用是从图像中提取高质量的特征表示,以供后续的目标检测任务使用。编码器中的Transformer模块可以有效地捕捉到图像中不同物体之间的关系和空间上下文信息,进而提高目标检测的精度。

如第1节所述,有两个障碍需要解决:

  1. 物体检测在图像区域上进行识别,而 CLIP 模型在整个图像输入上进行训练,导致分布差距,阻碍了分类性能;
  2. 检测器需要学习新类的对象定位,而我们只有有限数量的基类上的注释。

为了解决第一个障碍,我们提出了区域提示来调制区域特征,以获得更好的泛化区域嵌入。

为了解决第二个障碍,我们提出了锚点预匹配,以鼓励在推理过程中可以泛化到新类的类感知对象定位。

4.2.3 Region Prompting

OVD 要求检测器将图像区域分类到给定的类别列表中。

本文中,我们将详细说明如何进行采用预训练的 CLIP 模型来制定基于 CLIP 的区域分类器。给定 CLIP 模型,可以通过比较 CLIP 图像编码器的区域嵌入和 CLIP 文本编码器的类名嵌入之间的相似性来实现区域分类。(有重叠的时候效果不好)

在这里插入图片描述

基于 CLIP 的区域分类器与 Vanilla pipeline 的比较。我们从特征图中汇集区域特征,而不是裁剪区域补丁并将它们分类为单独的图像。

Vanilla pipeline通常是指机器学习中最基本的流程或方法,其不包含任何高级技术或特殊的优化。

通常,Vanilla pipeline 可以用来作为一个基准模型或方法,以便更好地理解和比较其他更高级的模型或方法的效果和优化。

例如,在计算机视觉中,Vanilla pipeline 可能包括以下步骤:

1.数据准备:准备图像数据集和标注。
2.特征提取:使用传统的图像处理技术(如边缘检测、角点检测等)或深度学习方法(如卷积神经网络)提取图像特征。
3.特征匹配:使用传统的图像处理技术(如SIFT、SURF等)或深度学习方法(如双向循环神经网络)对图像特征进行匹配。
4.目标检测:使用传统的机器学习方法(如支持向量机)或深度学习方法(如YOLO、Faster R-CNN等)对图像中的目标进行检测和识别。
5.后处理:对检测结果进行优化和过滤,如非极大值抑制(NMS)。

这些步骤通常都是基于传统的计算机视觉技术和机器学习方法,而没有采用最新的高级技术和优化。

给定一幅图像和一组感兴趣区域( RoI ),我们首先通过 CLIP 编码器的前3个块将整幅图像编码成一个特征映射,然后由 RoI Align 根据锚框或预测框将其合并成区域特征,然后由 CLIP 图像编码器骨干的最后一个块进行编码。CLIP 图像编码器的全图像特征图与合并的区域特征之间存在分布差距。我们提出了区域提示,通过使用可学习提示 p ∈ R S × S × C p \in \R^{S \times S \times C} pRS×S×C来增强区域特征,其中 S 是区域特征的空间大小, C 是区域特征的维数。

针对输入区域特征 f r e g i o n f_{region} fregion,进行区域提示:

在这里插入图片描述
其中⊕表示按元素相加,P 为 CLIP 可视编码器的注意力池模块。

4.2.4 Optimizing Region Prompts

我们用基类注释在检测数据集上训练区域提示。类名嵌入由 CLIP 文本编码器预先计算,稍后用作分类器权重。

我们用一个标准的交叉熵损失来训练提示符,用它们的池化区域特征对 GT 框进行分类。在优化区域提示时,我们保持其他模型权重不变,只让区域提示学习。

在目标检测中,Optimizing Region Prompts 指的是对于每个感兴趣区域(RoI),通过优化生成最佳的文本提示(即region prompt)来激发目标检测器(如CORA)对于该区域的预测。

这里的文本提示是指一段描述该区域内容的自然语言文本,可以通过生成模型或其他方式生成。

优化的目标是使得生成的提示能够最大限度地激发目标检测器对于该区域的预测,从而提高检测器的准确率。

具体而言,可以通过对于每个RoI,使用梯度下降等方法来调整生成的提示,使其最大化检测器在该RoI上的得分。这样的优化可以在训练阶段进行,也可以在推断阶段进行。

4.2.5 Anchor Pre-Matching

区域提示有助于解决区域分类问题。目标定位是目标检测的另一个关键子任务。考虑到预训练的RPN在新类上的性能较差,我们引入一个类感知的基于查询的对象定位器,它对不可见的类展示了更好的泛化能力。

在目标检测中,Anchor Pre-Matching(锚点预匹配)是一种预处理技术,旨在将一组锚点(anchors)与其对应的目标进行匹配,从而生成训练样本。锚点是在不同位置、尺度和长宽比的情况下生成的候选框,用于对目标进行预测。

具体来说,锚点预匹配是将每个ground truth目标与最接近的一组锚点进行匹配,以确定哪些锚点应该被视为正样本,哪些应该被视为负样本。这个匹配过程通常是基于 IoU(交并比)进行的,如果锚点与目标的 IoU 超过一个预定义的阈值,则将其视为正样本,否则将其视为负样本。

在 DETR 模型中,Anchor Pre-Matching 技术用于将一组锚点与目标进行匹配,从而为模型生成训练样本。这些样本包括正样本和负样本,用于训练模型的分类和回归任务。通过使用 Anchor Pre-Matching ,DETR 模型可以生成更准确的训练样本,从而提高模型的性能和鲁棒性。

Anchor Pre-Matching是指在检测网络的训练中,提前将预测框(proposal)与真实目标框进行匹配,为每个proposal指定一个类别和回归目标,使得在后续的训练中可以更快地学习到准确的类别和位置信息。

这个过程通常是通过计算每个proposal与所有真实目标框的IoU(Intersection over
Union)来实现的,如果IoU大于某个预设的阈值,则将该proposal与对应的真实目标框进行匹配。Anchor
Pre-Matching通常用于一些基于Anchor的目标检测算法,如Faster R-CNN等。

4.2.6 Comparison with Conditional Matching

在这里插入图片描述
锚点预匹配与 Conditional Matching 的比较:锚点预匹配解码恒定数量的 object queries ,并根据图像内容分配不同数量的 object queries,避免了条件匹配中的重复解码。

Conditional Matching 是一种目标检测中的匹配方法,它使用一种基于条件的匹配方式,以便更好地匹配目标和检测框之间的特征。

在传统的目标检测中,通常使用锚框预匹配的方法,即将锚框和目标进行匹配,以便对锚框进行分类和回归。这种方法的问题在于,它不能很好地处理目标与锚框之间存在的长宽比不匹配和尺度不匹配的情况,从而导致误检和漏检。

相比之下,Conditional Matching 方法采用一种更加灵活的方式来匹配目标和检测框之间的特征。它使用了条件语句来判断一个检测框是否与目标匹配。具体来说,对于每一个检测框,模型会计算它与目标之间的匹配得分,并通过一个条件语句来判断该得分是否高于阈值。如果得分高于阈值,则将该检测框视为匹配的目标;否则将其视为背景。

这种条件式的匹配方式具有更高的灵活性和鲁棒性,能够更好地处理目标与检测框之间的尺度和长宽比不匹配的情况,从而提高了目标检测的性能。

具体而言,如上图所示, C N C^N CN中的每个类都需要用同一组 queries 单独本地化,这意味着计算量和内存消耗都随词汇量的大小线性增长。在训练过程中,由于内存限制,每次迭代中采样的负类数量是有限的,这阻碍了收敛。

在推理过程中,需要对每个类重复解码,导致推理效率低下,特别是当词汇量较大时。

与 Conditional Matching 相反,我们的锚点预匹配机制根据图像内容自适应地为不同的类分配锚点框,确保了与类别大小解耦的常量查询数。通过锚点预匹配,所有的类都可以在一次传递中一起解码,从而消除了对每个类重复解码的需要。

为了提高带有锚点预匹配的开放词汇检测器的泛化能力和训练收敛性,我们还引入了两种有效的训练技术,即 “Drop Class” 和 “CLIP-Alsigned Labeling”。

4.2.7 Class Dropout

在训练过程中随机丢弃类别可以进一步提高模型的泛化能力。

由于我们的目标是训练一个检测器,它可以从用户指定的类别列表中检测对象,在固定的类别列表上训练会导致偏差。我们通过在训练期间随机删除基本类别来减轻这种偏见。

为了提高效率,我们通过将基类分成两个互补的组来实现这一思想,并在两个组上进行训练,而不是在一个组上训练而放弃另一个组。具体来说,在每个训练迭代中,我们以 p p p的概率分割 C B C^B CB 和 GT ,并用两组互补的类别在同一图像上训练检测器。它强制模型根据查询类别对其预测进行调整。

由于一组中的基本真理框不会出现在另一组中,因此模型需要知道不同的类别,以便对两组注释进行区别对待。

在目标检测中,Class Dropout是一种正则化技术,用于减少模型对某些特定类别的依赖性,以提高模型的泛化能力和鲁棒性。具体来说,Class Dropout会在训练过程中以一定的概率随机丢弃某些类别的信息,从而迫使模型学习到对所有类别的检测结果都具有鲁棒性。

在实现上,Class Dropout通常是通过在分类器层添加一个dropout层来实现的。在dropout层中,每个类别都有一定的概率被丢弃,而其余的类别则保留。这种方法可以有效地降低模型对某些类别的过拟合,从而提高模型的泛化性能。

需要注意的是,Class Dropout并不适用于所有的目标检测任务。对于一些较为简单的任务,如物体识别,可能会使模型性能下降。因此,在应用Class
Dropout时,需要根据具体的任务进行实验和调参,以取得最佳的效果。

4.2.8 CLIP-Aligned Labeling

直接在原始 COCO 数据集上训练本地化人员会遇到收敛问题。

通过锚点预匹配机制,只有当至少有一个具有相同预匹配标签的 query 存在时,一个 ground truth box 才包含训练。否则,它将被忽略,这将阻碍收敛。此问题的部分原因是锚框不准确。

但是,即使 GT 框具有准确的锚框,由于区域分类器的识别精度限制有限,仍然可能被忽略,或者换句话说,地面 GT 框标签没有与用于预匹配的 CLIP 区域分类器对齐。因此,我们用区域分类器重新标记训练数据集中的 box,我们称之为 CLIP-Aligned 标记。使用这种技术,可以匹配更多的 GT 框。

CLIP-Aligned Labeling 是一种基于 CLIP 模型的目标检测标注方法,其目的是为了提高标注的准确性和效率。

CLIP 是一种可以同时理解图像和文本的预训练模型,它可以将图像和对应的文本嵌入到同一个向量空间中,从而实现跨模态的语义理解。

在 CLIP-Aligned Labeling 中,标注人员会根据图像和文本的语义来确定物体的类别和位置。具体来说,标注人员会先根据图像中物体的外观、形状、颜色等特征,选取一个适当的文本描述该物体。然后,使用 CLIP 模型将文本和图像嵌入到同一向量空间中,并在该空间中找到最匹配的标签。最后,标注人员再通过鼠标在图像上框选出物体的位置,将位置信息和匹配的标签一起保存下来。

相较于传统的目标检测标注方法,CLIP-Aligned Labeling 的优点在于它可以借助 CLIP 模型的语义理解能力,使得标注结果更加准确、语义更加丰富。同时,由于标注人员不需要手动输入标签,标注效率也得到了显著提高。

在目标检测中,CLIP-Aligned Labeling 是一种基于视觉-文本对齐的标注方式。传统的目标检测任务中,标注框通常是在图像中手工标注的,但是这种标注方式需要人工成本高,并且可能会存在主观性和不准确性等问题。而 CLIP-Aligned Labeling 的方法则是将文本描述和图像对齐,然后使用文本描述来生成标注框。具体来说,它使用 CLIP 模型对图像和文本进行编码,然后通过计算它们之间的相似度来选择最能描述目标的文本,最后通过解码生成标注框。

相对于传统的手工标注方式,CLIP-Aligned Labeling 的好处是减少了人工成本,同时也可以减少标注的主观性和不准确性等问题。另外,使用文本描述来生成标注框还可以使得模型更具有泛化性,因为文本描述更加抽象和语义化,能够更好地描述目标的本质特征,避免了标注框的精细化和过拟合问题。

五、Experiments

5.1 Dataset & Training & Evaluation

按照提出的 COCO OVD 基准的惯例,COCO 数据集类中的80个类被分为48个基类和17个新类。

该模型在48个基类上进行训练,其中包含 107,761 张图像和 665,387 个实例。

然后在新类的验证集上对模型进行评估,该验证集包含来自 48 个基类和 17 个新类的 4,836 张图像和 3,152个 实例。

我们还在 LVIS v1.0 数据集上进行了实验。在 LVIS 数据集上,对 461 个公共类和 405 个频繁类进行训练,其中包含 100,170 张图像和 1,264,883 个实例。

训练后,模型在LVIS验证集上进行评估,该验证集包含 19,809 张图像和 244,707 个实例。

为了与其他方法进行更公平的比较,我们提出 CORA+,它利用额外的数据集或目标新类名。

CORA+ 是对 CORA 方法的扩展,目的是为了更公平地比较不同方法的性能。具体而言,CORA+ 在 CORA 的基础上引入了额外的数据集或目标新类别。这些额外的数据可以是其他现有数据集或者从网络上搜集的数据。通过增加数据,CORA+ 可以更好地评估一个方法对于新类别的泛化能力,从而更公平地比较不同方法的性能。

CORA+ 是一个检测器,它同时训练了 ground-truth base-category 注释和额外的伪边界框标签。

当提供目标类名时,我们使用 CORA 在基础训练数据集中生成新类的伪 box ,当有额外的 image text 数据集(文本可以是标题或类名)时,生成对应文本提到的所有对象的伪 box。我们使用标准的检测器结构和训练目标来训练CORA+。COCO 上的实验使用 SAM DETR , LVIS上的实验使用 CenterNet2。

SAM DETR是一种基于DETR (Detection Transformer) 的目标检测方法,其中SAM指的是"Spatial Attention Module"。相较于传统的DETR,SAM DETR添加了一个空间注意力模块,以更好地利用输入图像中不同区域之间的关系。该模块在编码器的输出上进行操作,以获取重要的区域并对它们进行特别处理。通过这种方式,SAM DETR可以更好地捕捉目标之间的关系,从而提高检测性能。SAM DETR的性能已在一些常见的目标检测基准数据集上得到证明,例如COCO。

在 COCO 基准上,我们将 AP50 作为我们的评估指标,然后在所有类中求平均值。

对于 LVIS OVD 基准测试,我们在完整的验证数据集上进行评估,并报告来自新类的盒子的平均 AP,以与之前的工作进行比较。对于区域分类任务,我们让模型对 COCO 数据集中的 GT 盒进行分类,并根据 mAP 来评估其性能。

5.2 实验细节

我们使用 DAB-DETR 作为对象定位器。具体来说,本地化器配置为具有1,000个 Object queries 、3个编码器层和6个解码器层。

我们使用带有128个隐藏神经元的多层感知器(MLP)将类名嵌入转换为 Object queries 。在 CLIP 之后,每个类嵌入都计算为类名在80个上下文提示符上的平均文本嵌入。在 class dropout 中,每个类别被随机分配到两个概率相等的组中的一个。

在 LVIS 上采用区域提示时,对常见组和频繁组中的类进行等权抽样,即对频率较低的类中的对象进行过采样。

当在 LVIS 上训练我们的方法时,我们在每次迭代中采样100个类别(包括 ground truth 类别)。由于 LVIS 数据集的类数量远远大于 COCO 数据集,因此我们在锚点预匹配中放宽了匹配约束,使 ground truth 框可以后匹配到标签相似的锚点框。具体来说,余弦相似度大于 0.7 的类被认为是相似的。

5.2.1 Comparison with State-of-the-Art Methods

由于预先训练的模型对检测器的开放词汇表能力至关重要,我们将我们的方法与使用相同 CLIP 模型训练的基线方法进行比较。与在 CLIP RN50上训练的方法相比,CORA 在新类上优于 VL-PLM 0.7 AP50。

在这里插入图片描述
COCO OVD基准的主要结果:我们报告AP50作为评价指标。基线方法根据预先训练的模型进行分组。我们还列出了每个方法的额外数据集需求,以及它们是否需要在训练期间提供新类。

5.2.2 Results on the LVIS OVD benchmark

在这里插入图片描述

5.2.3 我们的方法与原始CLIP区域分类器和其他基线方法进行比较:(mAP)

在这里插入图片描述
请注意,在基线方法中,VL-PLM , ViLD 和 OV -DETR 在训练过程中使用新类名,以识别潜在的新对象并为其分配伪标签。因此,每当有一组新的类别要检测时,就需要训练一个新的检测器。一旦训练,CORA 可以泛化到任何新类别的组合,而无需繁琐的重新训练。

其他依赖于 CLIP 的比较方法需要在训练过程中从语言描述中提取图像标签注释或图像标签。我们认为额外的注释并不能在 CLIP 上提供额外的信息。相反,它们充当将知识从 CLIP 转移到检测器的媒介。该方法直接采用 CLIP 模型获取区域分类器,不需要额外的图像-文本数据。

六、总结

开放词汇检测的核心挑战是如何有效地将从基类中学习到的知识转移到看不见的新类中进行评估。

在这项工作中,我们直接将 CLIP 改编为区域分类器,并通过区域提示来缩小整个图像特征与区域特征之间的分布差距,成功地推广到新类别中。与以往依赖固定 RPN 进行新类定位的工作不同,我们通过提出的锚点预匹配机制实现了高效的类感知定位。

实验表明,该方法能较好地将知识从基类转移到未见过的新类,且间隔较小。我们希望我们的工作可以帮助其他研究人员更好地了解 OVD 问题,并开发更好的开放词汇表检测器。

猜你喜欢

转载自blog.csdn.net/wzk4869/article/details/129945705