CapDet:融合密集字幕生成与开放世界检测预训练
代码:未开源
传统的目标检测方法通常依赖于密集标注的数据集,但这限制了模型只能识别训练集中存在的类别。然而,在现实世界中,新概念和稀有类别的出现使得传统方法面临挑战。
为了应对这一挑战,作者提出了CapDet框架,这是一个开放世界目标检测框架。它不仅能够在给定的类别列表中准确检测和识别常见的对象类别,还可以为新概念对象或稀有对象类别生成相应的自然语言描述。
为了实现这一目标,CapDet将密集字幕任务(dense captioning tasks)和开放世界目标检测预训练任务(open world object detection)统一到一个训练框架中,使得模型在目标检测性能方面具有更好的泛化能力。
dense captioning:密集字幕任务
dense captioning,就是要描述的对象不再是一幅简单的图片,而是要将图片中的许多局部细节都都用自然语言描述出来。
**open-vocabulary object detection (OVD)**:开放词汇目标检测任务
OVD是在论文“Open-Vocabulary Object Detection Using Captions”(OVR-CNN)中首次被提出,其出发点是制定一种更加通用的目标检测问题,目的是借助于大量的image-caption数据来覆盖更多的目标检测类别,使得目标检测不再受限于带标注(具有真实边界框标签)的数据的少数类别,从而实现更加泛化的目标检测,识别出更多的未知目标类别[1]。
Open World Object Detection:开放世界目标检测任务
该任务定义为[2]:
测试集中可能出现未知类别的目标,网络需将其识别为unknown类别
如果之后给出某个未知的标签,需要网络能够增量学习新的类别
提出了CapDet框架,该框架能够同时进行目标检测、识别和生成密集字幕描述,更符合实际世界和开放性场景的需求。
将密集字幕任务和开放世界目标检测预训练任务统一到一个框架中,两个任务之间相互受益。
在实验中展示,通过统一密集字幕任务和检测任务,CapDet在开放词汇的目标检测任务(Open-Vocabulary Object Detection)中取得了显著的性能改进,同时在密集字幕任务上也取得了最先进的性能。
这一领域目前备受关注,其在各种下游视觉和跨模态任务中表现出了强大的性能和泛化能力。其中,CLIP和ALIGN等双流方法利用互联网上的大规模图像-文本对进行跨模态对比学习,以获得出色的零样本分类能力。单流方法将视觉和文本嵌入统一到单一基于Transformer的模型中,可以执行图像字幕和视觉问题回答等文本生成任务。
一些混合架构结合了单流和双流方法,以探索视觉-语言理解和生成的统一方式。然而,这些方法通常将低分辨率图像作为输入,并主要用于分类和检索任务,不能直接应用于纯计算机视觉任务,如目标检测。
目标检测是计算机视觉的核心任务,旨在使用边界框定位和分类对象。然而,如何将这些方法推广到现实世界中的稀有类别和新概念是一项挑战。
为了解决这一问题,研究领域出现了一些针对开放世界场景的目标检测方法。这些方法根据是否检测未知类别的类别来分为两个任务,分别称为开放世界目标检测和开放词汇目标检测。
开放世界目标检测任务旨在辅助识别未知建议,而开放词汇目标检测任务则要求模型在给定的类别列表内学习,并推广到新类别。与这些方法不同,CapDet能够生成每个区域建议的开放式字幕,以涵盖新对象实例的语义不在给定的类别列表中的情况。
密集字幕任务旨在为局部区域生成详细的描述。先前的方法使用了不同的技术,如全卷积定位网络、LSTM和Transformer,来实现密集字幕生成。这些方法通常需要将视觉区域与语义信息进行对应,并为这些区域生成字幕。与这些方法不同,CapDet提出了一种基于Transformer的字幕生成头部,可以使用单阶段检测器ATSS来同时实现开放世界检测和密集字幕生成。
为不同来源的每个样本定义一个统一的三元组数据格式:
y 代表密集字幕数据中的区域相关字幕
举个例子,对于检测数据中的图像x,yi可以是:
利用三元组数据格式,我们可以在检测数据和密集字幕数据上学习统一的图像-文本对齐目标。
CapDet包含一个双编码器——图像编码器和文本编码器,将三元组(x,{bi} Ni=1,yi M =1)作为输入。
区域和文本的对齐分数矩阵 S 的计算方法为:
采用图像-文本对齐损失Lalign来最大化匹配正确的区域和概念,此外,还应用了用于区域定位和识别的损失,如中心度损失Lcen和边界框回归损失Lreg。
本文提出了一个密集字幕头Φc,用于为预测的提议生成带有自然语言的语义丰富的概念。在密集字幕任务中,模型接收一幅图像并生成一组区域及其对应的字幕。密集字幕头是一个跨模态解码器,将由图像编码器生成的c个预测区域特征O作为输入。
字幕(即语言建模)损失通过以下方式计算:
总损失函数:
此处的Ldet应该是检测器(detection)损失
开放世界检测结果
CapDet模型在零样本目标检测任务上表现出色,特别是在稀有类别方面,超越了全监督模型ATSS约9.9%的性能。
与DetCLIP-T(C)模型相比,CapDet模型在相同数据规模和骨干网络下表现更好,即使CapDet只多了一个简单的字幕头部。
在实际的检测结果可视化中,CapDet模型能够更准确地检测稀有类别,这些类别包括“kitchen table”、“horse buggy”和“fishbowl”等。
密集的字幕结果
密集字幕头对不同基线的影响:密集字幕头的引入对模型具有显著的泛化效果,并且这一效果在不同基线模型上都适用,表明密集字幕头的设计是有效的。
密集字幕数据的影响:将密集字幕数据引入训练可以显著提高模型性能,即使只添加了少量数据,也能取得显著的性能提升。这表明密集字幕数据对模型的性能有重要的贡献。
密集字幕训练策略和数据来源的影响:密集字幕任务的性能不仅与数据源有关,还与训练策略有关。预训练模型在检测数据上的性能有助于密集字幕任务的性能,但需要注意不同数据源之间的边界框类型差异。
本文提出了一种名为CapDet的新型开放世界目标检测方法。所提出的CapDet在开放世界和真实场景中更加实用。具体来说,CapDet引入了一个统一的训练框架,包括开放世界目标检测预训练和密集字幕。这种统一使得 CapDet 能够定位和识别给定类别列表中的概念,或者直接为预测的新概念对象生成文本描述。
实验证明,这种统一的设计对于开放世界目标检测任务和密集字幕任务都是有益的。在未来,CapDet可以轻松应用于任何开放世界和真实场景任务中。这个统一的框架还可以集成到任何其他OWD/OVD方法中,以为未知/新颖对象生成语义丰富的概念。
(1) 尽管我们的统一训练范式在开放词汇目标检测和密集字幕任务中效果良好,但密集字幕生成的训练成本较高。
(2) 此外,现有的密集字幕数据采集成本较高。我们将研究如何通过自动注释来收集大规模的密集字幕数据,并通过扩大数据规模来提高性能。
[1] https://zhuanlan.zhihu.com/p/610639148
[2] https://zhuanlan.zhihu.com/p/365741068