标题:DetCLIPv3: Towards Versatile Generative Open-vocabulary Object Detection
论文:https://arxiv.org/pdf/2404.09216.pdf
导读
Open-Vocabulary object Detection, OVD
,即开放词汇目标检测,旨在识别和定位图像中多样化的对象类别,而不限于固定数量的预定义类别。
同 Zero-Shot Learning, ZSL
即零样本学习类似,其核心思想均是在可见类(base class
)上的数据训练,然后对不可见类(unseen class
)的数据进行预测。
其中,以 GroundingDINO
和 GLIP
为代表的 OVD 模型展示了巨大的潜力。
然而,这些模型在推理时仍然依赖于预定义的类别列表,这极大限制了它们在实际场景中的应用。
另一方面,人类却能够很轻松地从不同的粒度级别以层次化的方式理解物体,这种多层次识别能力展示了人类所拥有的丰富视觉理解能力,而这是当代OVD系统尚未实现的。
这里,我们先给定一个例子:
第一行:展示了传统的 OVD 算法效果,即当用户提供一个文本描述时,诸如 Grounding DINO 的模型会根据预置的解析器,从中提取出对应的名词短语作为输入;虽然可以支持指代表达,但整体的长本文或者说多粒度级别的解析能力很弱。
第二行:展示了 DetCLIPv3 的能力,可以看出其在没有预定义类别作为输入的情况下,不仅能够检测出潜在的对象,并能为它们生成多粒度的层次化标签。
这些标签被格式化为“短语 | 类别 | 父类别”,例如,一个对象可能被标记为:
Goat holding a bouquet of flowers | Goat | Animal这表明模型不仅能够识别出图像中的特定对象,还能生成描述该对象的短语,并将其归类到更广泛的类别中。
这意味着,即使输入的是自然语言描述,模型也能够理解和定位图像中相应的对象或概念。
简单来说,DetCLIPv3 具备以下三个优势:
- 多功能模型架构:基于一个强大的开放词汇表(OV)检测器,进一步增强了生成能力,通过集成一个对象标题生成器。
- 高信息密度数据:开发了一个自动标注流程,利用视觉大型语言模型来改进大规模图像-文本对的标题,提供丰富的、多细粒度的对象标签以增强训练。
- 高效的多阶段训练策略:提出了一种有效的多阶段对齐训练策略,该策略最初利用大规模、低分辨率的图像-文本数据集,然后通过在高质量、细粒度、高分辨率的数据上进行微调来进一步提升检测性能。
最终的实验结果表明,本文方法不仅在 LVIS minival 基准测试中取得了显著的零样本固定AP,并在 VG 数据集上密集字幕任务中同样也达到了最先进的AP,展示了其强大的生成能力。
不仅如此,DetCLIPv3 在领域泛化和下游迁移性方面也表现出色,详见后续实验分析。
方法
1. 模型架构 (Model Architecture)
那么,DetCLIPv3 是如何实现的呢?让我们先看下整体的框架图:
如上图所示,模型主要分为两大块,即开放词汇检测器(OVD)以及对象标题生成器(OV)。
开放词汇表检测器 (Open Vocabulary Detector)
检测器是一个双路径模型,包括一个视觉对象检测器和一个文本编码器。视觉对象检测器采用基于 Transformer 的检测架构,负责提取视觉特征、进行细粒度特征融合,并为解码器提出候选对象查询。
对象标题生成器 (Object Captioner)
对象标题生成器使 DetCLIPv3 能够为对象生成详细和层次化的标签。设计灵感来自 Qformer,采用多模态 Transformer 架构,输入包括视觉(对象或图像)查询和文本标记。
据论文介绍,该模型能够在两种模式下工作:
- 当提供预定义的类别词汇表时,DetCLIPv3 直接预测列表中提到的对象的位置。
- 在没有词汇表的情况下,DetCLIPv3 能够定位对象并为每个对象生成层次化标签。
2. 自动标注数据流水线 (AutoAnnotation Data Pipeline)
为了提高开放词汇表对象检测器的泛化能力,作者提出了一个自动化的注释流水线,利用大规模的图像-文本对数据。流水线包括以下步骤:
- 使用 VLLM 对 240k 图像-文本对进行重新标注。
- 使用 GPT-4 处理实体信息,从经过精炼的标题中提取对象实体。
- 对 VLLM 进行指令调整,以生成大规模数据集的注释。
- 自动标注边界框,使用预训练的开放词汇表对象检测器为图像-文本对数据分配伪边界框标签。
可以看下提取的效果:
此外,DetCLIPv3 的训练利用了多种来源的数据集,包括检测、定位和图像-文本对数据,这些数据包含边界框伪标签。每个输入样本被结构化为一个三元组,包括输入图像、一组边界框和一组概念文本。
3. 训练策略 (Training Strategy)
为了解决高分辨率输入的计算成本问题,作者提出了一个基于“预训练+微调”的多阶段训练策略,包括:
- 预训练对象标题生成器 (Stage 2),使用较低分辨率的输入以提高效率。
- 整体微调 (Stage 3),旨在使标题生成器适应高分辨率输入,同时改进开放词汇表检测器。
通过这些设计,DetCLIPv3 在开放词汇表检测性能上取得了显著的成果,例如,在 LVIS minival 基准测试中,使用 Swin-T 骨干模型取得了 47.0 的零样本固定 AP,显著优于以前的工作。
上图展示了通过阶段1训练后的模型预打标效果,可以看出已经具备很强的检测性能了。
实验
实验细节披露,作者训练了两个模型,分别使用了Swin-T和Swin-L作为骨干网络。训练分为三个阶段,使用了不同的GPU数量和训练时间。
首先,我们看下在LVIS数据集上评估了模型的零样本性能,即模型的零样本开放词汇表对象检测能力如何:
可以看出,通过使用固定AP(Average Precision)作为评价指标,DetCLIPv3 在 LVIS minival 上取得了 47.0 和 48.8 的AP,显著优于先前的方法,包括但不仅限于 GD 和 GLIP。
其次,对于对象标题生成器的评估,可以通过零样本生成对象检测和密集标题生成任务来评估对象标题生成器的性能:
上面主要是在COCO数据集上进行了评估,并引入了一些后处理技术来处理生成的类别和数据集中的类别名称可能不匹配的问题。
此外,作者使用COCO-O数据集来研究模型对分布偏移的鲁棒性:
不难发现,DetCLIPv3 在 COCO-O 上的表现同样超过了专门针对COCO训练的检测器,这一点确实阔以。
紧接着,通过在下游数据集LVIS minival和ODinW上进行微调,文中进一步探索了DetCLIPv3的迁移能力。
不出意外,DetCLIPv3 在所有设置中一致性地超越了其对应版本。
最后,我们重点关注下消融实验部分:
上表展示了DetCLIPv3从基线模型到最终版本的演变过程。研究了多种因素对模型性能的影响,包括不同阶段训练数据的引入、对象标题生成器的集成、以及预训练阶段的设计。
通过在OV检测和对象标签生成上的可视化结果,展示了模型在检测和生成广泛视觉概念上的杰出能力。
更多实验细节,欢迎参考原论文。
总结
尽管 DetCLIPv3 表现强劲,但仍存在一些问题:
评估生成能力的不足:现有的基准测试(benchmarks)并不能有效地评估DetCLIPv3的生成检测(generative detection)结果。这意味着目前还缺乏足够的工具和标准来全面衡量模型在生成未知类别对象标签方面的表现。
缺乏指令控制支持:DetCLIPv3的检测过程目前还不支持通过指令(instructions)进行控制。这限制了模型响应特定用户指令或条件的能力,这在某些应用场景中可能是必需的。
为此,作者总结了DetCLIPv3的主要贡献,并对未来的研究方向提出了展望:
创新的开放词汇表检测器:DetCLIPv3是一个创新的开放词汇表(OV)检测器,它不仅能够根据类别名称定位对象,还能生成具有层次结构和多粒度(multi-granular)的对象标签。
增强的视觉理解:这种增强的视觉能力使得DetCLIPv3能够实现更全面的细粒度(fine-grained)视觉理解,从而扩展了开放词汇表检测(OVD)模型的应用场景。
未来研究方向:作者希望DetCLIPv3的方法能为未来视觉认知系统的发展提供洞见,并指出了未来研究的重要方向,包括开发全面的评估指标来评价生成型开放词汇表检测器的性能,以及整合大型语言模型(LLMs)以实现基于指令控制的开放词汇表检测。
写在最后
如果你对本文有任何的观点或疑问,欢迎评论区下方留言讨论。同时也欢迎对前沿AI技术感兴趣的同学扫添加微信好友: cv_huber,备注“交流学习”即可。