1 写在前面
论文解读系列断更很久了,感觉自己还是挺喜欢文字的,这次先从介绍我们自己发表在ECCV24工作开始恢复一下~
主要信息
- 文章:https://arxiv.org/pdf/2402.03094
- 任务:跨域小样本物体检测(Cross-Domain Few-Shot Object Detection,简称CD-FSOD)
- 标题:Cross-Domain Few-Shot Object Detection via Enhanced Open-Set Object Detector
这篇文章主要是针对目前大多数跨域小样本学习方法均集中于研究分类任务而忽略了目标检测,因而提出了研究跨域小样本物体检测任务, 文章中提出了一个用于算法评测的CD-FSOD数据集及用于衡量领域差异的style、ICV、IB数据集指标,对现有目标检测算法进行了广泛实验评估,以及基于优化一个在经典FSOD上达到SOTA的开放域物体检测器得到的CD-ViTO新方法。
2 Motivation
首先介绍一个跨域小样本学习任务(Cross-Domain Few-Shot Learning,CD-FSL), CD-FSL解决的是源域与目标域存在领域差异情况下的小样本学习任务,即集合了小样本学习与跨域两个任务的难点问题:1)源域S与目标域T类别集合完全不同,且目标域T中的类别仅存在少量标注样本,例如1shot,5shot;2)S与T属于两个不同领域,例如从自然图像迁移到医疗图像。
大多数的现有方法均集中于研究分类问题,即Cross-Domain Few-Shot Classification, 但是同样很重要的物体检测任务(Object Detection,OD)却很少被研究,这促使了我们想要探究OD问题在跨域小样本的情况下是否也会遭遇挑战,以及是否会存在跟分类任务表现出不同的特性。
与CD-FSL是FSL在跨域下的分支类似,跨域小样本物体检测(Cross-Domain Few-Shot Object Detection,CD-FSOD)同样也可以堪称是FSOD在跨域下的分支任务,所以我们先从经典的FSOD开始分析: 大多数的FSOD方法都可以被粗略地划分为1)meta-learning based,典型方法包括Meta-RCNN;2)finetuning based,例如TFA,FSCE,DeFRCN,然而近期一个名为DE-ViT的开放域方法通过基于DINOv2构建物体检测器同时在FSOD以及开放域物体检测(OVD)上都达到了SOTA的效果,性能明显高于其他的FSOD方法,因此这引发了我们思考:
1. 现有的FSOD方法,尤其是SOTA的DE-ViT open-set detector能不能在跨域的情况下仍表现优异?
2. 如果不能,什么是难点问题,以及我们是否有办法能够提升open-set detector的性能?
我们先用以下的图来揭示一下两个问题的答案:
- 左图: 哪怕是SOTA的open-set detector DE-ViT (绿色星形) 在跨域泛化的情况下性能也会出现急剧下降;
- 左图: 我们基于DE-ViT搭建的CD-ViTO方法 (橙色星形) 能够使原本性能下降的模型得以进一步提升。
- 右图:相比于in-domain的小样本物体检测,跨域小样本物体检测通常会面临三个问题:1)目标域T的类间距离(ICV)通常较少;2)目标域的图像可能会出现前景与背景边界模糊(Indifinable Boundary,IB);3)目标域T得图像相交于源域S而言视觉风格(style)发生变化。
ICV、IB、Style也成为了我们用于衡量不同数据集在跨域下的特性。
3 Contribution
首先总结一下我们在解答两个问题的过程中的主要工作及贡献:
3.1 benchmark, metrics, and extensive study:
为了回答问题1,即研究现有的物体检测器能不能泛化至跨域小样本物体检测任务中,
- 我们研究了CD-FSOD任务下的三个影响跨域的数据集特性:Style, ICV, IB;
- 我们提出了一个CD-FSOD算法评测数据集,该数据集包含多样的style,ICV,IB;
- 我们对现有物体检测器进行了广泛研究,揭示了 CD-FSOD 带来的挑战。
3.2 new CD-ViTO method:
为了回答问题2,即进一步提升基础DE-ViT在CD-FSOD下的性能,我们提出了一个新的CD-ViTO方法,该方法提出三个新的模块以解决跨域下的small ICV, indefinable boundary, 以及changing styles问题。
- Learnable Instance Features:通过将初始固定的图像特征与目标类别之间进行对齐,通过增强特征可分辨程度来解决目标域ICV距离小的问题 。
- Instance Reweighting Module: 通过给不同的图像设置不同的权重,使得严具有轻微 IB 的高质量实例分配更高的重要性,从而缓解显著的 IB 问题;
- Domain Prompter: 通过合成虚拟领域而不改变语义内容来鼓励模型提升对不同style的鲁棒性。
4 CD-FSOD数据集 & Extensive Study
4.1 CD-FSOD数据集
如下图所示为我们构建的CD-FSOD数据集,该数据集以MS-COCO作为源域S,以ArTaxOr、Clipart1K,DIOR,DeepFish,NEU-DET,UODD作为六个不同的目标域T;
我们也分析并在图中标注了每个数据集的Style,ICV,IB特征,每个数据与数据之间也展现了不同的数据集特性。
所有的数据集都整理成了统一的格式,并提供1shot、5shot、10shot用于模型测评。
数据集更多的介绍,比如数据类别数,样本数等可以在论文中找到细节。
4.2 Extensive Study
我们对现有的四类目标检测器进行了实验,包括:
1) 典型的FSOD方法: Meta-RCNN、TFA、FSCE、DeFRCN
2) 现有的CD-FSOD方法: Distill-cdfsod
3) 基于ViT的方法:ViTDeT-FT
4) 开放域方法: Detic(-FT), DE-ViT(-FT) (其中DE-ViT是仅依靠视觉信息,Deti则依赖视觉-文本相似性)
其中“-FT”表示我们用目标域T的少量样本对方法进行了微调。
我们结合实验结果对这个任务以及相关方法展开了详细的分析,主要有以下这几点结论:
- 现有FSOD方法可以泛化到跨域问题吗? A:不能
- 基于ViT的方法会比基于ResNet的方法好吗?A:看情况
- 开放域方法能够直接用于应对CD-FSOD问题?A:不能
- 开放域方法的性能可以进一步得到提升吗?A:可以
- 不同的开放域方法是否呈现不同的特性? A:是的
- Style,ICV,IB是如何影响domain gap的?A:在分类里影响巨大的style对于OD任务而言影响相对较少;ICV有较大影响但是可以被有效缓解;IB是这三者中最具挑战的。
(详细的分析就不在这里展开了,感兴趣的朋友可以去看看文章
5 CD-ViTO 方法 & 主要实验
我们方法的整体框架结构图如下所示:
整体来看,我们的方法是基于DE-ViT搭建的(图中蓝色块), 我们首先将DE-ViT方法简化为图中所示的几个模块主要包括Pretrained DINOv2 ViT, RPN,ROI Align, Instance Features, Dection Head,One-vs-Rest Classification Head。DE-ViT的核心想法是利用DINOv2提取出来的视觉特征对query image boxes与support images中所构建出来的类别prototypes进行比较,从来进行分类和定位。
基于DE-ViT方法,我们提出了三个新的模块(图中黄色块)以及finetune(图中火苗)以搭建我们的CD-ViTO。如contribution章节所描述,每个模块都各自对应解决CD-FSOD下存在的一个挑战。
5.1 Learnable Instance Features
原本的DE-ViT首先利用DINOv2获取instance features,然后简单对同类特征求和的方式得到support的class prototypes。 然而在面对目标域类别之间可能很相似的情况,直接使用这种预训练的模型所提取出的特征会导致难以区分不同类别。
因此我们提出将原本固定的特征设置为可学习参数,并通过结合finetune方法将其显式地映射到目标域类别中,以此增加不同类之间的特征差异程度,缓解ICV问题。
我们对比了使用该模块前后的类间cosine相似性,结果说明我们的模块可以降低类间相似度,从而提升ICV。
5.2 Instance Reweighting Module
图像模糊边界的问题本身很难得到解决,这个模块的主要想法是通过学习可调整的权重给不同质量的样本赋不同的权重,使得严重IB的图像被抑制,没有或者轻微IB地图像被鼓励。
模块的设计如框架图右上所示,主要包含一个可学习的MLP。同样的,我们也对该模块做了可视化分析,我们按照所分配到的权重从高到低给图像排序,得到如下结果。从图中可见,前后景边缘模糊的图像得到的权重要低于边缘清晰的图像。
5.3 Domain Prompter
Domain Prompter的设计主要是希望方法能够对不同的domain鲁棒,如框架图右下所示,在原有object prototype的基础上,我们额外引入数量为维度为D(等于prototype维度)的虚拟domains变量作为可学习参数。 通过学习和利用这些domains,我们希望最终达到:
1) 不同domain之间相互远离,增加多样性 (domain diversity loss)
2) 添加不同domain至同一类别prototype所生成得到的两个变种仍为正样本,添加不同domain至不同类别prototype生成得到的两个变种为负样本 (prototype consistency loss)
两个loss与finetuning所产生的loss叠加使用进行网络的整体训练。
Finetuning:
作为简单但有效的迁移学习方法,我们也采用了在目标域T上对模型进行微调的思路,文章附录部分有提供不同finetune策略的不同性能表现,我们主方法里采用的是仅微调两个头部。
5.4 主要实验
我们在1/5/10shot上与其他方法进行了对比实验,实验说明经过优化后的CD-ViTO方法在大多数情况下都优于其他的对比方法,达到了对基本DE-ViT的有效提升,构建了这个任务的新SOTA。
6 写在最后
陆陆续续终于写完了,博客尽量覆盖了文章的主要内容,但还是会有覆盖不到的地方,对我们这个工作感兴趣的朋友们欢迎后续通过邮件等方式联系。
这篇文章里的所有数据集、代码、以及相关资源都已开源:
- code:https://github.com/lovelyqian/CDFSOD-benchmark
- project page:http://yuqianfu.com/CDFSOD-benchmark/
- 中文讲解视频: https://www.bilibili.com/video/BV11etbenET7/?spm_id_from=333.999.0.0
- 英文讲解视频:https://www.bilibili.com/video/BV17v4UetEdF/?vd_source=668a0bb77d7d7b855bde68ecea1232e7#reply113142138936707
最后感谢大家关注。