Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector 论文笔记

前言小样本目标检测,即给定一个新类的支持集(support set),该支持集中只有少量的样本,需要在测试集(test set)中检测出所有属于该新类的前景目标。如下图所示,左上角和右上角分别是两个不同类别的支持集样本,自行车和头盔,在下面的查询集(query set)图像中检测出所有属于自行车和头盔这两个类的目标。在目前一些小样本目标检测算法中,bbox可能会漏检一些目标,或者在背景中生成...
摘要由CSDN通过智能技术生成

前言

小样本目标检测,即给定一个新类的支持集(support set),该支持集中只有少量的样本,需要在测试集(test set)中检测出所有属于该新类的前景目标。如下图所示,左上角和右上角分别是两个不同类别的支持集样本,自行车和头盔,在下面的查询集(query set)图像中检测出所有属于自行车和头盔这两个类的目标。
在这里插入图片描述
在目前一些小样本目标检测算法中,bbox可能会漏检一些目标,或者在背景中生成许多错误的检测结果。作者认为这是由于RPN生成的一些优秀的bbox的分数太低了,使得很难检测出属于新类的目标。

本文主要有两方面的贡献:

  • 提出了一种新的小样本目标检测模型,通过精心设计的对比训练策略以及RPN和检测器中加入的attention模块,在一个共享权值的网络中的不同阶段,利用目标间的匹配关系,不需要微调或进一步的适应就能够对新类的目标进行检测。其中,在网络的早期阶段中,attention RPN模块使得proposal的质量显著增强;在后期阶段中,多关系检测器(multi-relation detector)模块能够抑制和过滤在背景中产生的错误的检测结果。
  • 本文还构建了一个拥有1000个类别的标注详细的训练集FSOD,其中每个类别只有少量的样本。本文的模型获得的性能提升有一定程度得益于此训练集。利用该训练集,本文的模型不需要任何微调,就能在其它数据集上获得很好的性能。

FSOD的介绍

目前的一些数据集并不能被直接用于小样本学习的训练,它们有以下几个不足之处:

  • 不同数据集的标签系统是不一致的,一些语义相同的目标在不同的数据集中的标注可能是不同的;
  • 由于不准确和漏标的标签,以及重复的box,使得现有的数据集中出现很多噪声;
  • 训练集和测试集包含的类别是相同的,而在小样本学习中我们希望训练集和测试集拥有不同的类别。

因此,本文构建了一个新的用于小样本目标检测的数据集。构建过程如下:

  1. 首先要总结出一个标签系统。通过将具有相同语义的叶子标签分组,并去掉不属于任何一组的语义,对原始标签树中的叶子标签进行合并;
  2. 然后去掉标签质量不好的图像和box大小不合适的图像,比如一些图像中的box比该图像大小的0.05%还要小,这些图像并不适合作为support样本;
  3. 根据小样本学习的设置,将数据集划分为训练集和测试集,两个数据集中没有重复类别。在构建训练集时,先根据MS COCO数据集中的类别来构建,防止预训练的影响。然后尽量选择与当前训练集差距较大的类别作为测试集,测试集包含200个类。然后将剩下的类别融入训练集中,训练集将总共包含800个类。那么最终该数据集包含1000个类,其中531个类来自ImageNet,469个类来自Open Image。

本文的数据集中大概有66000个图像和182000个bbox,详细的结构分析如下:
在这里插入图片描述
在这里插入图片描述
本文的数据集有以下特征:

  • 类别丰富。数据集包括83个父语义,比如哺乳动物、衣服、武器等,每个语义又可进一步分为1000个叶子类别,标签树如下图所示。
    在这里插入图片描述

  • 具有挑战性的设置。数据集中目标的box的大小和长宽比的变化很大,26.5%的图像至少包含3个目标,并且有大量box的类别并不属于标签系统,即包含大量非目标类别的目标,干扰性很大。


方法实现

给定包含目标特写的support图像 s c s_c sc,和可能包含类别 c c c的query图像 q c q_c qc,小样本检测任务的目标就是在query中找到所有属于类 c c c的目标,并用bbox把它们框起来。如果support set中包含 K K K个类,每个类有 N N N个样本,那么这就是 K K K-way N N N-shot检测。
在这里插入图片描述
本文提出了一种新的attention网络,该网络能够在RPN模块和检测器上学习support set和query set之间通用的匹配关系。上图为网络的整体结构,该网络整体上其实就是一个权值共享的框架,包含两个分支,一个分支用于query set,其它分支用于support set(为方便起见,图中只画了一个support分支)。其中query分支是一个Faster R-CNN网络,包含RPN和检测器。

通过利用这个框架来训练query set和support set之间的匹配关系,从而学习同类别之间的通用知识。除此之外,在这个框架的基础上,还引入了一种新的attention RPN模块和多关系检测器模块,以在query中生成精确的检测结果。

1. attention RPN

在小样本目标检测中,RPN可以生成相关的box用于之后的检测任务。在这里我们希望RPN不仅要分辨出是前景还是背景,并且还应该能过滤掉不属于support类别的样本。但是如果不提供任何support信息,那么RPN会生成许多与support类别无关的proposal,并因此加重之后的分类任务。为了解决这个问题,本文提出了attention RPN模块,如下图所示,它可以利用support信息来过滤掉大多数的背景box和不属于support类别的box,从而得到一个小而精的候选proposal集。
在这里插入图片描述
通过attention机制来向RPN中引入support信息,以产生相关的proposal,抑制不相关proposal的产生。具体的做法是,在depth-wise上计算support特征图与query特征图之间的相似性,然后利用这个相似性特征图进行proposal的生成。 在实际计算中,将support特征图定义为 X ∈ t S × S × C X \in t^{S \times S \times C} XtS×S×C,将query特征图定义为 Y ∈ t H × W × C Y \in t^{H \times W \times C} YtH×W×C,那么相似性被计算为:
在这里插入图片描述
X X X其实可以看作是一个核,在query特征图上滑动,以进行depth-wise卷积,如上图所示。在这里核的大小 S = 1 S=1 S=1,它是通过对support特征图取平均得到的。然后通过一个 3 × 3 3 \times 3 3×3的卷积,后跟objectiveness分类层和box回归层,得到attention特征,最后将attention特征送入RPN中以生成proposal,这里采用的是RPN顶层的特征。attention RPN的loss L r p n L_{rpn} Lrpn和Faster R-CNN共同加入到网络的训练中。

2. 多关系检测器

在R-CNN框架中,RPN模块后面通常会跟一个检测器,这个检测器的作用就是对proposal重新评估和调整。在attention RPN之后,我们也希望有一个具有强大判别能力的检测器能够区分出不同的类别。因此,本文提出了一种新的多关系检测器(multi-relation detector),它能够度量query中的proposal box和support中目标的相似性。如下图所示,这个检测器由3个attention模块组成:
在这里插入图片描述
给定大小都为 7 × 7 × C 的 7 \times 7 \times C的 7×7×Csupport特征 f s

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值