引言
论文链接:https://arxiv.org/abs/2307.11077
项目地址:https://github.com/liming-ai/AlignDet
这篇论文主要研究目标检测领域的自监督预训练方法。作者首先指出,当前主流的预训练-微调框架在预训练和微调阶段存在数据、模型和任务上的不一致。具体来说
数据不一致预训练通常在分类数据集上进行,如ImageNet,而微调数据集像COCO包含多个目标物体。数据特征和域的差异会导致预训练偏离下游任务。
模型不一致当前预训练方法主要聚焦在模型的部分模块,如骨干网络,而检测器的其他关键模块如RPN和回归头没有进行预训练。
任务不一致现有预训练只将分类作为预训练任务,没有学习到目标相关的位置上下文信息,如proposal生成、目标分配和框回归。
这些不一致性可能导致目标检测性能的局限、泛化能力差和收敛速度慢的问题。为此,作者提出AlignDet框架,可以调适到不同检测器中,以弥合预训练和微调中的差异。
AlignDet将预训练过程解耦为Image-domain预训练和Box-domain预训练两个阶段。Image-domain预训练优化检测网络的骨干提取高层语义特征,Box-domain预训练则学习实例级语义和任务感知的概念,来初始化骨干以外的模块。具体来说
在Image-domain预训练中,可以用分类器对骨干网络进行监督预训练,也可以用最近出现的自监督方法进行无监督预训练。
在Box-domain预训练中,使用选择性搜索生成伪标签,构建两视图进行对比学习和坐标回归损失计算,以适应检测导向的任务。同时固定骨干网络避免过拟合噪声标签。
那么对于数据、模型和任务存在的不一致性,AlignDet都是怎么解决的呢?首先对于数据不一致性方面,AlignDet通过Box-domain预训练直接在目标检测数据集上进行,而不是仅在分类数据集上预训练。这使得预训练过程可以适应目标检测的数据分布, bridge the gap between pre-training and fine-tuning datasets。至于模型不一致性方面,AlignDet可以预训练检测器中的所有模块,而不仅仅是骨干网络。这确保了检测头等关键模块可以得到良好的初始化,有利于迁移到下游任务。从任务不一致性的方面来看,AlignDet构建了检测导向的预训练任务,既包含分类也包含回归。这使得预训练不仅学习语义信息,还学习物体的坐标信息,更贴近目标检测的实际任务。进一步来说,AlignDet通过Image-domain和Box-domain解耦设计,可以充分利用现有预训练的骨干网络,提升预训练效率。同时,它也是第一个支持各种检测器完全自监督预训练的框架。
从实验结果来看,AlignDe