本文中,来自华为诺亚方舟实验室、中山大学、香港科技大学的研究者对开放域检测问题进行了研究,他们提出了一种针对多数据源联合高效的并行训练框架,同时构建了额外的知识库来提供类别间的隐式关系。
开放域检测问题,指的是在上游利用大量网上爬取的图文对或一定类别的人工标注数据进行训练,如何在下游场景上实现任意类别检测的问题。开放域检测方法在产业界的应用主要包括自动驾驶系统路面物体检测,云端全场景检测等。
论文地址:https://arxiv.org/abs/2209.09407
本篇分享的是 NeurIPS 2022 入选论文《DetCLIP: Dictionary-Enriched Visual-Concept Paralleled Pre-training for Open-world Detection》,该论文对开放域检测问题提出了一种针对多数据源联合高效的并行训练框架,同时构建了额外的知识库来提供类别间的隐式关系。同时 DetCLIP 在微软举办的 ECCV2022 OdinW (Object Detection in the Wild[1]) 比赛上以 24.9% 的平均检测指标取得了 zero-shot 检测赛道第一名。
问题介绍
随着使用基于网上爬取的图片文本对训练的多模态预训练模型 (如 CLIP) 的流行,以及其在 zero-shot 分类领域体现出的卓越性能,越来越多的方法尝试将这种能力迁移至开放域的 dense 预测 (如任意类别检测、分割等)。现有方法往往使用预训练好的分类大模型进行特征层面的蒸馏[1] 或通过对 caption 打伪标签加自训练的方式进行学习[2],但这样往往会受限制于分类大模型的性能以及 caption 标注不完全的问题。
现有 SOTA 开放域检测模型 GLIP[3]通过将检测数据的格式转化为 Grounding 数据的格式进行多数据源的联合训练,充分利用不同数据源的优势(检测数据集对常见类别有较为完全的标注,而 Grounding 数据集对类别 cover 区间的范围更大)。然而,我们发现将类别名词简拼接的方式导致模型整体的学习效率降低,同时直接使用类别单词作为文本输入无法提供细粒度的类别之间的先验关系。
图 1:多数据源联合预训练开放域检测模型 pipeline
模型框架
如下图所示,基于 ATSS[4]单阶段检测模型搭建,DetCLIP 包含了一个图像编码器来获得检测框的图像特征,以及一个文本编码器来获得类别的文本特征。然后基于上述图像特征及文本特征来计算对应的分类对齐损失、中心点损失以及回归损失。
图 2:DetCLIP 模型框架
如图 2 右上及左上所示,本文的主要创新点是 1)提出以并行输入处理多数据源物体 - 文本联合训练的框架,优化训练效率;2)构建一个额外的物体知识库辅助开放域检测训练。
多数据源并行输入预训练框架
相对于 GLIP 中将 detection 数据通过拼接类别名词的方式转化为 grounding 形式(串行),我们通过将 grounding 数据中的对应名词词组抽取出来和 detection 中的类别作为独立的输入,输入到 text encoder 中(并行),避免不必要的 attention 计算,实现更高的训练效率。
图 3:DetCLIP 并行输入预训练框架与 GLIP 对比
物体知识库
为了解决不同数据源的类别空间不统一问题 (同样类别名称不同,或类别包含等) 以及为类别之间的关系提供先验信息,我们构建了物体知识库来实现更高效的训练。
构建:我们同时综合检测数据中的类别、image-text pair 中的名词词组以及对应定义来构建物体知识库。
使用:1. 我们使用物体知识库的定义对现有的检测数据中的类别单词进行扩充,以提供类别之间关系的先验信息(Concept Enrichment)。
图 4:使用物体知识库对类别单词释义扩充示例
2. 由于 grounding 数据以及 image-caption 中数据存在 caption 标注不完全的问题(图片上出现的类别在 caption 中并没有出现),导致训练这些图片的时候可以作为负样本的类别数目极少,进而使得模型对于一些不常见类别的区分度较少。因此我们从物体知识库中随机选取物体名词作为负样本类别,提升模型对稀少类别特征的区分度(+Negative Samples)。
图 5:引入物体知识库中的类别作为负样本类别
3. 对于无框标注的 image-text pair 数据,我们通过华为诺亚自研大模型 FILIP[5]和预训练好的 RPN 对其进行标注,使其可以转化为正常的 grounding 数据进行训练。同时为了缓解 caption 中对图片上物体不完全标注的问题,我们使用了物体知识库的所有类别词组作为打伪标签的候选类别 (第二行),与仅仅使用 caption 中的类别标注效果(第一行) 对比如下:
图 7:引入物体知识库中的类别作为打伪标签候选类别
实验结果
我们在下游 LVIS 检测数据集 (1203 类) 上验证了所提方法的开放域检测性能,可以看出在基于 swin-t backbone 的架构上,DetCLIP 相对于现有 SOTA 模型 GLIP 取得了 9.9% AP 提升,在 Rare 类别上更是提升了 12.4% AP,尽管相对于 GLIP 我们只使用了少于其一半的数据量,注意训练集中未包含 LVIS 中任何图片。
表 1:LVIS 上不同方法 Zero-shot transfer performance 比较
在训练效率上,基于相同 32 张 V100 的硬件条件,GLIP-T 的训练时间是 DetCLIP-T 的 5 倍(10.7K GPU hrs vs. 2.0K GPU hrs)。在测试效率上,基于单张 V100,DetCLIP-T 的推理效率 2.3 FPS (0.4 秒每张图)是 GLIP-T 的 0.12 FPS (8.6 秒每张图)的 20 倍。我们同时单独研究了 DetCLIP 的关键创新 (并行框架和物体知识库) 对精度的影响。
表 3:DetCLIP 在 LVIS 数据集上的消融研究结果
可视化结果
如下图所示,基于相同的 swin-t backbone,在 LVIS 数据集上的可视化效果相对于 GLIP 来说有了明显的提升,尤其是在稀有类别的标注以及标注的完整程度。
图 6:DetCLIP 与 GLIP 在 LVIS 数据集上预测结果的可视化对比
参考文献:
[1] Gu, Xiuye, et al. "Open-vocabulary Object Detection via Vision and Language Knowledge Distillation." International Conference on Learning Representations. 2021.
[2] Gao, Mingfei, et al. "Towards Open Vocabulary Object Detection without Human-provided Bounding Boxes." arXiv preprint arXiv:2111.09452 (2021).
[3] Li, Liunian Harold, et al. "Grounded language-image pre-training." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
[4] Zhang, Shifeng, et al. "Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020.
[5] Yao, Lewei, et al. "FILIP: Fine-grained Interactive Language-Image Pre-Training." International Conference on Learning Representations. 2021.