当前位置: 代码迷 >> 综合 >> Frustratingly Simple Few-Shot Object Detection (2020 ICML)
  详细解决方案

Frustratingly Simple Few-Shot Object Detection (2020 ICML)

热度:101   发布时间:2023-11-04 15:48:33.0

1. 出处

2020 ICML

2. 创新点

  • 采用的微调技术
  • 采用instance-level feature normalization (很多论文用过这个方法)
  • 改进了评估方法,不仅考虑novel class检测的准确率,而且考虑对于base class知识的保留

3. Motivation

已有的工作表明meta-learning是一种有效的方法,但fine-tuning技术不怎么被关注,而且大多数工作都专注于基础的图像分类任务,对目标检测关注较少。作者发现对于稀少的类别微调已有检测器的最后几层,对于小样本目标检测任务至关重要。

少量样本之间的巨大差异导致已有benchmarks的不可靠性。当前的评估策略在统计上是不可靠的,而且baseline方法尤其简单的微调,其准确率是不一致的。

4. Solution

作者通过取样多组训练样本来获得稳定的比较。

采取两阶段的训练模式,首先训练整个目标检测器,比如Faster R-CNN,然后在small balanced由base class和novel class组成的训练集上微调检测器的最后几层。

在微调阶段,引入instance-level特征标准化到box classifier。

5. 整体结构

5.1 小样本目标检测设置

C_b个基础类别,每类有很多instances;
C_n个novel classes,每类只有K个(少于10)instances

考虑两类数据集:

  1. 合成数据集

    PASCAL VOC
    COCO
    训练集中的novel set是均衡的,每类有相同数量的标注目标(K-shot)

  2. 自然数据集

    LVIS:有自然的长尾分布,没有人工进行的k-shot划分

小样本检测器在包括base classes和novel class的测试集上进行评估

5.2 两阶段微调方法

在这里插入图片描述
采用的基础检测模型:Faster R-CNN

作者直觉上认为backbone特征和RPN特征是class-agnostic,所以在base classes上学到的特征更可能迁移到novel classes上,无需进一步参数更新。

作者方法的关键部分就是将特征表示学习和box预测分为两个阶段。

  • 基础模型训练

    在base classes上训练特征提取器和box预测器,损失函数:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WYs08Pth-1635595493638)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20211030181708396.png)]

    L_rpn:对RPN的输出计算损失,区分前景和背景,并修正anchors

  • 小样本微调

    作者构建了小的均衡的数据集,每类K shots,包含base classes和novel classes。用于novel classes的box预测网络赋予随机初始化的权重,仅微调box分类和回归网络,固定整个特征提取部分。

    此阶段的损失函数与第一阶段相同,但学习率更小

  • 余弦相似度

    在微调阶段使用基于余弦相似度的分类器,box分类器的输出是调整后的输入特征的相似度分数和不同类的权值向量。

    作者发现instance-level特征标准化用在基于余弦相似度的分类器中,能够减少类内差距

5.3 与基于元学习的模型的比较

在这里插入图片描述
在元学习方法中,除了基础目标检测模型,元学习器被提出来获取class-level元知识,并帮助模型通过feature re-weighting泛化到novel classes。

训练过程:也被划分为元训练阶段和元微调阶段,元训练阶段模型只在base classes上进行训练,元微调阶段support set包括novel classes的少了样本和base classes的样本子集。

  相关解决方案