论文提出了一种可扩展的多数据集目标检测器(
ScaleDet
),可通过增加训练数据集来扩大其跨数据集的泛化能力。与现有的主要依靠手动重新标记或复杂的优化来统一跨数据集标签的多数据集学习器不同,论文引入简单且可扩展的公式来为多数据集训练产生语义统一的标签空间,通过视觉文本对齐进行训练,能够学习跨数据集的标签语义相似性来进行标签分配。经过训练后,ScaleDet
可以很好地泛化任意具有可见和不可见类的上游和下游数据集来源:晓飞的算法工程笔记 公众号
论文: Training data-efficient image transformers & distillation through attention
计算机视觉的重大进步是由大规模数据集推动的,大规模数据集对于训练具有良好泛化能力的识别模型至关重要。但收集大量带标注的数据集既费钱又费时,为了在没有额外标注成本的情况下利用更多训练数据,最近的研究集中于统一多个数据集。从更多视觉类别和更多样化的视觉领域中学习,然后进行检测和分割。
要跨多个数据集训练目标检测器,需要应对几个挑战:
为了解决上述挑战,现有研究大多手动重新标记类或训练多个特定于数据集的分类器。但这些方法缺乏可扩展性,随着数据集的增加,手动重新标记工作量和训练多个分类器的复杂性迅速增加。
与上述研究不同,ScaleDet
是可扩展的多数据集目标检测器,主要有两个创新点:
总体而言,论文的贡献如下:
ScaleDet
在多数据集训练中具有令人信服的可扩展性、通用性以及性能。ScaleDet
在具有挑战性的Object Detection in the Wild
基准上的可转移性,证明其在下游数据集上具有不错的泛化能力。 ScaleDet
通过统一不同的标签集以形成统一的标签语义空间(图2顶部)进行跨数据集学习,并通过硬标签和软标签分配实现视觉文本对齐来进行训练(图2底部)。
典型的对象检测器旨在预测对象的\(b_{i}\in{\mathbf{R}}^{4}\)边界位置以及在给定\(n\)个类中的类标签\(c_i \in \mathbb{R}^n\)。给定图像 \(I\) ,检测器的图像编码器(例如 CNN 或 Transformer)提取框特征和视觉特征,将其送到边界框回归器 \(B\) 和视觉分类器 \(C\)进行预测。检测器通过最小化边界框损失 \(\mathcal{L}_{b b o x}\) 和分类损失 \(\mathcal{L}_{cls}\) 来学习边界框的预测以及框特征和视觉特征对应的类标签,即,
现有的目标检测器通常采用一级或二级框架,其中可能包含额外损失项。单级检测器使用回归损失来回归对象位置的属性,如中心性,两阶段检测器则改为使用包含专用损失函数的RPN
网络来预测每个框是目标的概率。
在这项工作中,论文专注于重新制定分类损失\(\mathcal{L}_{cls}\),在两级检测器之上解决多数据集训练问题。
给定一组\(K\) 数据集 \(\{D_1, D_2, \dots, D_K\}\) 及标签空间 \(\{L_{1},L_{2},\dots,L_{K}\}.\) ,论文的目标是训练一个可扩展的多数据集检测器,该检测器可以很好地泛化上游和下游检测数据集。
之前的多数据集学习器手动将跨数据集的相似标签关联或合并到联合标签,而论文提出了一个简单但可扩展的公式来进行标签统一,无需手动合并任何标签。
如图2上部分所示,每次训练都从多个训练集中随机抽取一小批图像一起提取视觉特征 \(\{v_1, v_2, \ldots, v_j\}\),其中 \(v_{i}\in{\mathbf{R}}^{D}\) 是 \(D\) 维向量。每个视觉特征 $ v_{i}$ 通过标签分配与一组文本编码 \(\{t_{1},t_{2},\ldots,t_{n}\}\) 进行匹配。
论文用扩展的文本提示来表示每个类标签\(l_{i}\),例如,标签 人
可以用文本提示 一个人的照片
来表示。论文从预训练的 CLIP
或 OpenCLIP
的文本编码器中提取提示文本的编码\(t_{i}\),然后将所有文本编码进行均值操作。
给定来自所有数据集的类标签的文本编码,多数据集训练的一个关键问题是统一不相同的标签空间\(\{L_{1},L_{2},\ldots,L_{K}\}\),这可以通过将相似的标签关联并合并来解决。然而,如果没有仔细的人工检查,标签定义的模糊性会导致模型训练中传播错误的风险。因此,论文不进行跨数据集的标签合并,而是先直接通过并集来统一不同的标签空间:
其中 \(\coprod\) 表示并集,\(l_{k,i}\) 是来自数据集 \(k\) 的标签 \(i\)。除了简单之外,这个统一语义标签空间 \(L\) 最大限度地保留了所有标签的语义,从而为训练提供了更丰富的词汇。
当使用文本编码来表示类标签时,可以在统一标签空间中关联相似语义的标签。为了展示跨数据集的标签关系,论文基于提示文本编码来计算语义相似性。对于给定的类标签 \(l_{i}\) ,用余弦相似性计算与所有标签的语义相似性,并在 0
和 1
之间归一化:
其中 \(\operatorname*{sim}(l_{i},l_{j})\) 是两个标签 \(l_{i},l_{j}\) 的文本编码 \(t_{i},t_{j}\) 之间的语义相似度。
编码所有类标签之间的标签关系,得到标签语义相似度矩阵 \(S\):
其中\(S\)是一个\(n \times n\)矩阵,每个行向量\(\mathbf{S}_{i}\)编码标签\(l_{i}\)相对于所有 \(n\) 类标签的语义关系。
有了这些标签语义相似性,论文可以引入显式约束,使检测器能够在具有编码标签语义相似性的统一语义标签空间上学习。重要的是,相似性和标签空间都是离线计算的,这不会为训练和推理增加任何计算成本,在扩大训练数据集的数量时也不需要重新制定模型。
为了在统一语义标签空间 \(\{l_1, l_2,\ldots, l_n\}\)上进行训练,论文通过硬标签和软标签分配将视觉特征与文本编码 \(\left\{t_{1},t_{2},\ldots,t_{n}\right\}\) 对齐。
给定对象区域提案的视觉特征\(v_{i}\),论文首先计算 \(v_{i}\) 和所有文本编码\(\{t_{1},t_{2},\ldots,t_{n}\}\)之间的余弦相似度:
有了这些相似度分数,论文可以根据以下损失项将视觉特征 \(v_i\) 与的文本编码对齐。
每个视觉特征 \(v_{i}\) 都有其真实标签 \(l_{i}\) ,因此可以通过硬标签分配与的文本编码 \(t_{i}\)匹配:
其中 \(\mathrm{BCE}(\cdot)\) 是二元交叉熵损失,\(\sigma_{s g}{\big(}\cdot)\) 是 sigmoid 激活函数,\(\tau\) 是温度超参数。
上述公式虽然确保视觉特征 \(v_{i}\) 与文本嵌入\(t_{i}\) 对齐,但没有明确地学习跨数据集的标签关系。因此,论文引入软标签分配来学习语义标签关系。
论文通过语义相似度分数将单个标签与所有标签关联,同样地,视觉特征也可以通过使用语义相似度分数与所有文本编码关联。为此,论文在视觉特征\(v_{i}\) 上引入了软标签分配:
其中,\(\mathrm{MSE}(\cdot)\) 是均方误差,\(\mathbf{s}_{i}\) 表示标签 \(l_{i}\) 和所有 \(n\) 类标签之间的语义相似性(标签语义相似性矩阵 \(S\) 的第 \(i\) 行)。
硬标签分配可以在概率空间消除不同类别标签的歧义,而软标签分配则可以在语义相似性空间中将每个视觉特征以不同的语义相似度分配给不同的文本编码,充当正则化器来关联跨数据集的相似类标签。
基于硬标签和软标签分配,论文通过将视觉特征与统一语义标签空间中的文本编码对齐来对不同区域提议进行分类,从而训练检测器。即将原来检测器中的分类损失 \(\mathcal{L}_{c l,s}\) 被替换为:
其中\(\lambda\) 是平衡超参数。由于上述损失使用语言监督将图像映射到文本,可以实现对不可见标签的零样本检测。
论文不改变原检测器中的检测损失\(\mathcal{L}_{b b o x}\),训练 ScaleDet
的总体目标是:
使用 \(\mathcal{L}_{S c a l e D e t}\) 进行训练后,ScaleDet
可部署在包含可见或未见类的任何上游或下游数据集上。对于任何给定的测试数据集的标签空间,替换统一标签空间 \(L\) 后,ScaleDet
可以根据视觉语言相似性分配标签。当测试数据集包含未见过的类时,整体评估设置即为zero-shot
检测或open-vocabulary
对象检测。在任何给定的数据集上进行测试时,可以直接评估 ScaleDet
或在评估之前对其进行微调。
表 1 展示了在增加数据集数量时对上游数据集的影响:1) 增加训练数据集的数量始终会带来更好的模型性能。2)多数据集使用 ScaleDet
进行训练通常优于单数据集训练。这表明 ScaleDet
在异构标签空间、不同数据集的不同领域中学习得很好,并且不会过度拟合任何特定数据集。
图 3 展示了在 ODinW
基准测试中直接迁移的性能。值得注意的是,扩大 ScaleDet
训练数据集的数量显着提高了下游数据集的准确性。
图 4 进一步可视化了 ScaleDet
在 ODinW
中的一些下游数据集上的性能。这些数据集要么包含看不见的类,要么来自与用于训练的那些非常不同的视觉域。重要的是,ScaleDet
在这两种情况下都表现良好。
表 2 展示了使用不同的骨干和文本编码的测试结果。
表 3 展示了遵循 UniDet
的设置并在相同的数据集上训练 ScaleDet
的性能。UniDet
训练了多个特定于数据集的分类器,而 ScaleDet
则由一个分类器使用语义标签进行训练。
在表 4 展示了遵循 Detic
的设置执行多数据集训练的性能对比。在 Detic
中,LVIS
和 COCO
的统一标签空间包含 1203
个类标签,通过将两个标签集与 wordnet
同义词集合并获得,而 ScaleDet
将它们的标签(1203+80
)“扁平化”为 1283
。
表 5 展示了基于 LVIS
、COCO
、O365
、OID
训练论文的 ScaleDet
与其他模型的检测性能对比,其中所有模型都使用 ResNet50
主干训练。
表 6 展示了使用 Swin Transformers
作为主干网络的性能对比。
表 7 展示了 3 种检测器在 ODinW
上的性能比较。
表 8 展示了 ScaleDet
的组件的消融实验结果。
论文介绍了一种简单但可扩展且有效的多数据集目标检测训练方法ScaleDet
,在统一的语义标签空间中跨多个数据集学习,通过硬标签和软标签分配进行优化以对齐视觉和文本编码。 ScaleDet
在多个上游数据集(LVIS
、COCO
、Objects365
、OpenImages
)和下游数据集(ODinW
)上实现了最新的性能。
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】