FSCE: Few-Shot Object Detection via Contrastive Proposal Encoding

FSCE: Few-Shot Object Detection via Contrastive Proposal Encoding

论文:Few-Shot Object Detection via Contrastive Proposal Encoding (CVPR2021)

Introduction

  • 深度卷积网络的学习一般都需要大量的标记数据进行训练,但是对于人来说,通过几张新类别图片就可以快速学习到新类别并进行识别。
  • 两阶段的微调方法(TFA)在少样本目标检测上有着比较大的潜力,TFA只是简单地冻结在基础类别上学习网络参数,然后在新数据上进行微调(fine-tuning),却取得了比元学习器更好的效果。

论文:Frustratingly Simple Few-Shot Object Detection

在这里插入图片描述

  • 少样本目标检测的方法存在的不足,定位可以很准确,但是会很容易将目标的类别识别错误,如下图所示:
    在这里插入图片描述
  • 左边表达了分类学习到了目标之间的相似度,右边表示了RPN生成的建议框是比较好的,但是分类器会将新类别识别为基础类别。本文的目标就是减少不同类别中相似物体之间的相似性,学习一个较好的特征表示。
  • 为了实现上述目标,本文在两阶段微调的方法上引入了对比学习的方法,用来减小类内差异,增大类间差异。一般的对比学习方法采用类别等级的方法来学习一个好的边界,但是对于数据缺少的情况下,本文采用实例等级的方法来学习一个好的边界,即使用同一个目标不同IOU建议框来增强正样本对,如下图所示。
    在这里插入图片描述

Method

Basic Architecture

​ 采用 Faster RCNN 作为少样本目标检测的基本框架,采用两阶段的训练方法——第一阶段的训练集是大量标注的基本类别数据,第二阶段采用少量的基础类别新类别进行微调。在 Faster RCNN 的 RoI feature extractor 后除了回归和分类损失,还添加了一个建议框对比编码(CPE)损失,整体结构图如下所示。
在这里插入图片描述

Strong Baseline

​ 传统的 TFA 方法只微调最后最后两个全连接层(分类和边框回归),其他的结构全部是冻结的。但是作者发现不用冻结FPN、RPN以及RoI feature extractor,加上合适的训练也能取得比较好的结果。

通过实验观察到:微调阶段的正样本的建议框数量只有基础训练时的1/4,许多包含新类别的建议框的置信度很低,会被NMS过滤掉,导致前景建议框的数量也随之减少,网络学习新类别的机会变少。
在这里插入图片描述
因此在解冻RPN和ROI模块的同时应用了以下的两个策略:

  • 使得经过NMS的建议框的最大数量加倍
  • 减半RoI head中采样的建议框的数量用来计算损失,微调阶段一半的建议框都是背景

通过以上策略取得检测效果如下表所示:
在这里插入图片描述

Contrastive Object Proposal encoding

​ 在Faster RCNN中,RPN模块将输入的backbone特征图转化为建议框,RoI模块利用建议框会生成1*1024的向量表示,称为RoI特征,用于后续的分类和边框回归。但是这样的方法生成的向量表示对于少样本来说是不够健壮的,所以本文应用了batch contrastive learning来建模实例级别的类内相似性和类间区分性。
在这里插入图片描述
​ 本文的做法是在RoI head后加一个对比特征表示学习的分支,添加一层神经网络将1x1024的特征转化为1x128的特征,计算特征的相似性并添加对比损失函数来增加相同类别建议框的认同和不同类别之间的区分。

采用余弦相似度函数来进行边框分类,表示如下(根据实验,α设置为20):
在这里插入图片描述
xi为RoI特征,wj为高维空间类别权重

Contrastive Proposal Encoding (CPE) Loss

​ 受有监督的对比目标分类的和识别的启发,本文的CPE loss的设计如下:

​ 对于一个mini-batch来说,包含N个RoI box features {zi,ui,yi}Ni=1, zi表示contrastive head编码的特征向量,ui表示建议框和真实框的IOU分数,yi表示真实框的标记,CPE损失表示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Nyi 是具有相同标签 yi 的建议框的数量,τ 为超参数。

建议框一致性控制:

在训练时,使用IOU来控制用于对比训练的建议框的一致性,减少偏离目标过多的建议框的数目。上面损失函数中f(ui)作用就是控制建议框的一致性:
在这里插入图片描述
∅为IOU阈值,g(ui)为权重分配函数,为不同的IOU赋予不同的权重。

整体损失函数
在这里插入图片描述

Experiments

VOC数据集上实验

在这里插入图片描述

COCO数据集上实验

在这里插入图片描述

CPE loss的效果
在这里插入图片描述

Conclusion

  • 本文的创新点是将对比学习的方法引入建议框编码中,减少了目标误分类的出现,提高了少样本目标检测的准确度
  • 说明了少样本目标检测中,分类任务相对回归任务的错误率更高。
  • 在两阶段的少样本目标方法上建立了一个更好的baseline
  • 验证了对比学习方法融入少样本目标检测框架的合理性

版权声明:本文为CSDN博主「没拖拉机的斯基」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40096160/article/details/117748049

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

YOLO-V3-SPP详细解析

YOLO-V3-SPP 继前两篇简单的YOLO博文 YOLO-V1 论文理解《You Only Look Once: Unified, Real-Time Object Detection》YOLO-V2论文理解《YOLO9000: Bet