Frustratingly Simple Few-Shot Object Detection
1. Motivation
- 在没有大量标注数据的情况下训练模型,其归纳新概念的能力还是不能令人满意。
- 基于微调的小样本学习方法研究少。
- 小样本数据少,样本的高方差容易使现有基准不可靠。
2. Contribution
- 提出了一个基于两阶段微调的方法,该方法比现有的基于元学习的方法还要简单高效(在PASCAL VOC和COCO数据集上都要高出2-20个点)。
- 在PASCAL VOC、COCO和LVIS这三个数据集上建立了新的评价基准。
3. Method
3.1 Setup
- C b C_b Cb:基类,有许多实例
- C n C_n Cn:新类,只有K个(通常小于10个)实例
- D = { ( x , y ) , x ∈ X , y ∈ Y } D = \{(x,y),x \in X, y \in Y\} D={(x,y),x∈X,y∈Y}:目标检测数据集,x为输入图像,y为标签
- y = { ( c i , I i ) , i = 1 , . . , N } y = \{(c_i,I_i),i = 1,..,N\} y={(ci,Ii),i=1,..,N},c表示类别信息, c ∈ C b ∪ C n , I c \in C_b \cup C_n, I c∈Cb∪Cn,I表示图像x中对象实例的边界框坐标。
- 小样本检测器在基类和新类的测试集上进行评估。
3.2 Two-stage fine-tuning approach
- 在基础训练阶段,在基类上联合训练整个目标检测器,包括特征提取器F和框预测器。
- 在少镜头微调阶段,固定特征提取器组件,只在基类和新类组成的平衡子集上微调框预测器。
- backbone以及RPN部分是类别无关组建,可以从基类学习到参数直接转移到新类上去。
Base Training
-
loss:
-
- L r p n L_{rpn} Lrpn用于RPN输出,以区分前景和背景, L c l s L_{cls} Lcls是框分类器C的交叉熵损失, L l o c L_{loc} Lloc是框回归器R的Smooth L1损失。
Few-shot fine-tuning
- 创建一个小的balanced训练集,每个类有K个镜头,包含基类和新类。
- 为新类别的框预测网络分配随机初始化权值,只微调框的分类和回归网络,即检测模型的最后一层,
- 同时保持整个特征提取器F固定。
Cosine similarity for box classifier
基于余弦相似度的盒分类器:
-
和分类器C的权重矩阵可以写成: W ∈ R d × c , W = [ w 1 , w 2 , . . . , w c ] , W \in R^{d \times c},\quad W = [w_1,w_2,...,w_c], W∈Rd×c,W=[w1,w2,...,wc],其中 w c ∈ R d w_c \in R^d wc∈Rd是每个类的权重向量。
-
输出的类别C是输入特征F(x)和不同类别的权重向量的比例相似度分数S。
-
- s i , j s_{i,j} si,j是输入x的第i个对象提议与j类权向量的相似度得分。
-
- α 是 比 例 因 子 , 论 文 里 面 是 20 \alpha是比例因子,论文里面是20 α是比例因子,论文里面是20
3.3 Meta-learning based approaches
基于元学习的训练方法包括FSRW,MetaDet。流程如图所示:
- 通过学习一个特征重加权(如FSRW和meta R-CNN)或权重生成(如MetaDet)来帮助模型推广到新的类。(支持图像和标注对象的二值掩码作为元学习器的输入,生成类重加权向量来调节查询图像的特征表示。)
- 训练过程也被分为元训练阶段,其中模型只在基类的数据上训练,以及元微调阶段,其中支持集包括新类的少数示例和基类示例的子集。
- 本文微调方法只对网络的最后几层进行微调,采用正常的批量训练方案,这样做效率更高。
4. Experiment
4.1 Existing few-shot object detection benchmark
- 数据集: PASCAL VOC 2007+2012 、 COCO。
- PASCAL VOC随机分为15个基类和5个新类,新类分别做K-shot抽样(k=1,2,3,5,10)。
- 将与PASCAL VOC不相交的60个类作为基类,其余20个类作为新类,K = 10,30。
Result on PASCAL VOC
- FRCN+joint:基类和新类在第一阶段共同训练,并微调整个模型。
- FRCN / YOLO + ft-full:特征抽取器F和盒预测器(C和R)共同在第二微调阶段调整,直到收敛。
- FRCN简称为Faster R-CNN,FRCN/YOLO+ft表示的更少迭代的微调。
- TFA +w/cos:基于余弦相似度的盒子分类器,TFA +w/fc:基于普通fc的分类器。
- 在基类上的表现:
Results on COCO
4.2 Generalized few-shot object detection benchmark
以前的评估方法存在的问题:
- 以前的评估协议只关注新类的性能。这忽略了基类的潜在性能下降,从而忽略了网络的整体性能。
- 由于用于训练的样本较少,样本方差较大。这使得很难与其他方法的比较中得出结论,因为方差带来的误差影响着网络的精度,也就是分不清性能的提升是方差带来的还是网络自身的提高。
解决方案:
- 本文报告基类AP(bAP)和整体AP以及新类AP(nAP)。
- 本文在不同的随机训练样本上对模型进行多次训练,以获得平均数和置信区间。
- 使用PASCAL VOC的第一次拆分累计平均值和95%置信区间,在K = 1,3,5,10的40次重复运行中。虽然在第一个随机样本上的性能很高,但随着使用更多样本,平均性能显著下降。
Result on LVIS
-
LVIS具有长尾分布的特点,常见的类作为基类,把少见的类作为新类。
-
两阶段微调方案能够解决严重的数据不平衡问题,而不需要重复采样。