基于Attention-RPN和Multi-Relation Detector的少样本目标检测

基于Attention-RPN和Multi-Relation Detector的少样本目标检测

基于Attention-RPN和Multi-Relation Detector的少样本目标检测

腾讯优图cvpr2020最新少样本目标检测《Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector》论文解读

论文链接:https://arxiv.org/abs/1908.01998

少样本目标检测任务目的:给定support images,在query image找到所有与support images中种类相同的物体,如下图。

左上角和右上角的叫做support image, 中间大图叫做query image。

本文主要贡献:

  1. 提出了一个新的适合于few-shot目标检测的数据集FSOD,这个数据集能够提高少样本目标检测效果,本文能够取得好效果也离不开这个数据集的功劳。
  2. 提出了一种新的few-shot目标检测算法,该算法不需要fine-tune,可以直接对未知类别进行少样本目标检测,例如假设训练数据集中没有头盔,该算法也能够对头盔进行目标检测,如上图。

首先介绍的是FSOD数据集。

FSOD: A Highly-Diverse Few-Shot Object Detection Dataset

主要是混合ImageNetOpen Image两个数据集,进行了标签的统一工作,并划分了训练集和测试集,数据集详情如图。

构造过程:

  1. 统一标签,比如在两个数据集中,分别有ice bear和polar bear,但这两个类别完全就是同一种类,因此在这里将类似的同语意标签进行合并。
  2. 移除面积小于图片尺寸0.05%的框。
  3. 划分训练集测试集,并且保证不会出现标签泄露的情况。具体做法如下:首先选取MS COCO数据集中的标签作为训练标签,因为很多情况下需要预训练网络,而这些预训练网络往往是在MS COCO中训练的;之后选取与COCO数据集差距最大的200个种类作为测试集;最后将剩下的所有种类加入到训练集中。

接下来重点介绍本文提出的算法,本文的总体框架以Faster R-CNN为基础,模型主要创新点在于提出一个新的RPN结构Attention-RPN和detector头网络Multi-Relation Detector,同时还提出了一种新的训练策略Two-way Contrastive Training Strategy。下图为整体网络结构图。

我会按顺序介绍介绍上述三点创新点,绝对通俗易懂。

Attention-Based Region Proposal Network

首先我们谈一谈原始的RPN(对这块知识不了解的同学请复习一下Faster R-CNN),原始的RPN主要用于对anchor的前景背景进行分类,并不区分anchor的具体种类,因此,如果不引入support image的信息,那么RPN会对所有的前景anchor给出高置信度,这样有两个坏处:

第一,众所周知,在训练阶段,RPN会随机选取一定数量的正负样本ROI(Region of Proposal)送入下一阶段进行分类,如果对所有前景都给出高置信度,那么送入下一阶段的roi会包含许多与support image无关的类别,极端一点的情况甚至可能没有support image种类的ROI,那么后续的网络害怎么训练???

第二,在测试阶段的RPN会选取高于一定阈值的ROI送入下一阶段进行分类和回归,同样这时候也会送入一堆无关support image种类的ROI,关键这玩意又没用又浪费算力,这不是为难我后续的网络嘛。你说原来RPN网络这么设计是为了提高召回率,因为你也不知道要检测啥类别物体,我干脆都给你整出来,但现在我都知道你要找啥,还给你一股脑扔过去,那就有点问题了。

举个例子:训练阶段,RPN会对anchor进行分类以及回归,之后以正样本:负样本=1:3的比例随机选取512个ROI(注意anchor位移之后并被选中进入下一阶段的情况下才叫做ROI)。 我们具体以图1的support image和query image为例,我们所要查询的物体只是头盔,但是在query image中,以原始RPN的德行,它会把头盔、人和车都当做前景,这时候我们极端一点,假设本次RPN选取的128个正样本ROI,全是跟人和车有关,那么后续的网络根本接触不到马的信息,那还学个锤子。

因此作者提出了这个模块,最主要的目的就是提纯,让后续网络接收到的ROI更加纯净,也就是说尽可能的与support image种类有关。

那么怎么做,如下图。

在了解这个模块之前,我推荐各位首先了解一下Siamese-fc,这是将siamese结构用于目标追踪的算法,并且目前在目标追踪领域也算是占据非常重要的地位。在了解之后再来看这个结构就能一目了然,网上有许多关于Siamese-fc的博客,我主要简单说一下核心思想,很简单,就是把support image想象成一个巨大的卷积核,在query image上进行卷积,那么很容易就能想到,在query image上与support image长得像的区域,激活值就会很高,这样就很容易找到query image上的高度疑似区域。同样,这里也是采取了这样一个思想,并且采用了SiamRPN++中的depth-wise思想以及将X这个大卷积核的大小变为1(这个1是作者做实验得出的),反正不要太纠结,你只需要把这一步当成用一个大卷积核X在Y上做depth-wise卷积就完事了。

得到attention feature map G之后接一个正常的3X3卷积,有点类似于Separable Convolution(误??一般的separable convolution先depth-wise再channel-wise,只不过一般的channel wise卷积核大小为1x1),不用纠结于这个细节。

总而言之,这部分做的工作就是提纯,让X这个大卷积核在Y上卷积,找出高响应区域,这些高响应区域往往对应着support image种类的ROI,这样可以提高后续分类网络的效率。现在我们可以进入下一阶段

Multi-Relation Detector

在R-CNN网络中,我们知道RPN选取的ROI经过roi-pooling操作,会得到固定大小的特征图,这些特征图会被送入到头网络进行具体种类的精细分类以及回归。在本文中,我们前一步修改的rpn已经产生了进行提纯后roi,所以我们希望这一部分能够对那些roi进一步提纯,也就是再进一步从这些roi中选出与support image种类一致的预测,这不就是二阶段检测网络的一大好处嘛,用第二阶段来强化第一阶段的结果。因此记住这一模块设计的目的:进一步提纯,或者说细提纯,而前一步对应的也就是粗提纯

该模块结构如下图所示,想必大家看了肯定很困惑,这啥玩意?不用紧张,我第一眼看也不知道这是啥玩意,下面就来介绍一下该部分的具体实现以及意义。

我们看之前的整体网络结构图可以发现,最后的Multi-Relation Detector的输入是两部分的roi-pooling得到的特征图,分别来自support image和query image,为了更好的提纯,我们肯定需要计算support image中的特征与query image中的特征的相似性,然后留下相似性高的roi区域,剔除相似性低的roi区域,这不就轻松的完成了提纯的工作嘛,那么怎么计算呢?成了,这就是本模块的设计理念,计算相似性

本模块有三个结构,并行计算相似度,也就是三个结构分别会对query image中每一个ROI计算出一个相似度,这时候每一个ROI区域就有三个置信度,将三个置信度结合起来,作者没说怎么结合,我估计就是简单的相加取平均,就得到了这个ROI最终的置信度。这时候我们就可以通过阈值大法,留下置信度阈值之上的框从而得到最终的预测结果。

接下来我会一个个介绍这三部分的具体实现。

Global Relation:用于学习我们先假设送过来的ROI特征图大小固定为7x7xC,C是通道数。这时候我们有两个ROI特征图,一个叫S来自support,一个叫Q来自query(当然query中可能有多个roi特征图,我们这里只以一个为例)。我们首先将这两个特征图concatenate,这时候就变成了7x7x2C,在经过一次全局平均池化,变成1x1x2C,相当于获取了全局信息。这时候就可以通过一系列全连接操作输出得到一个数值(从2C降维到1),该数值就是两ROI特征图相似性。

Local Relation: 先对两个ROI特征图分别用weight-share的1x1卷积进行channel-wise操作,然后再进行类似于Attention RPN的操作,如Fig.5所示,区别在于support image的ROI特征图不需要全局池化到1x1,而是直接以7x7的大小作为一个卷积核在query image的ROI特征图上进行channel-wise卷积,变成1x1xC,最后同样使用fc层得到预测相似度。

Patch Relation:我们首先将两个ROI特征图进行concatenate,变成7x7x2C,然后经过一系列结构如下图所示。注意图中的卷积结构后面都会跟一个RELU用来获得非线性,并且pooling和卷积结构都是stride=1以及padding=0,这样在经过这些操作之后,ROI特征图的大小会变为1x1x2C,这时候后面接一个全连接层用来获得相似度,除了相似度之外,还并行接了一个全连接层,作者说是产生bounding box predictions,我估计就是回归值,因为毕竟头网络会对ROI进行第二次回归。

同时作者还对这三个Relation Detector做了消融实验,结果如下。可以看出不同的Relation Detector结果会有较大的差异,但是三者结合起来,效果是最好。

 

这时候,相信各位对整体的模型有了一个了解,下面介绍一下训练策略。

Two-way Contrastive Training Strategy

在说训练策略之前,首先要提一下K-way N-shot,意思是说support images有K个种类,每个种类有N个实例。下面结合具体的例子解释一下。

在本文中,作者首先说,如果按照常规的思路,训练的时候网络需要输入两张图片,分别是query image和support image,而且需要保证query image中出现support image中的物体种类。

补充一点:如何构造support image呢?首先根据要查询的物体找到其对应的gt框,这时候并不是直接crop gt框内的内容,而是在gt框外面额外扩充16个像素(上下左右四个方向),并且还要进行0值padding,为什么要进行padding呢,原因很简单,因为我们最终需要保证输入的support image是一个正方形图片,在本文中是320X320,如果你需要查询的物体外形是一个长方形,那么直接crop之后resize到正方形,会造成形状形变,为了保证物体形状不变,所以需要使用0值填充,将刚才选定的gt+16个像素的区域根据长边填充到正方形,再进行resize,这样物体形状就不会变啦。

回到刚才的话题,这时候我们有了一张support 图片,因为只有一个查询物体,同样也只有一个种类,那么我们称之为1-way 1-shot。但是作者觉得,你训练的时候只提供一个support image,确实,网络经过这样的训练能够很好的在query image中找到要support image中的物体,但是,你也就召回率高点,你准确率呢?比如我需要查询的物体是马,你确实把马都给找到了,但你还给我找了一些羊是几个意思。所以作者想,不行,不能只给一个种类的support image给网络训练,我们还需要引入额外的support image,并且这个额外的support image中的物体种类还不能和之前的一样,比如再提供一张羊的图片作为训练数据,这个羊样本需要作为负样本,而马对应的则是正样本,这样可以提高网络的辨别能力。

这时候我们把马对应的support image叫做positive support,把羊对应的叫做negative support,如下图所示。现在我们的问题就变成了2-way, 1-shot。也就是本段的标题,Two-way Contrastive Training Strategy。那么这种情况我们怎么训练呢。这个问题很好。对于K-way 的training过程,作者的做法是对于每一个种类,都有专属于自己的支路,也就是专属的Attention RPN和Multi-Relation Detector,当然权重肯定是共享的,不然你支路学了也每没意义啊。这种策略也很好理解,对于positive support支路,网络就玩命的让他高召回,而对与negative support支路,网络就玩命的提高自己的辨别能力。

这里有一个细节,由于RPN的目的是选取ROI送入下一阶段,那么怎么选,选哪些ROI到下一阶段就非常有考究。如果不加以限定,那么很有可能产生大量的背景ROI(注意这里的前景背景roi不是传统意义上的前景,而是说将与positive support image中种类对应的ROI叫做前景,其他的全部叫做背景,比如上图中的人就是背景,而马是前景),尤其在这种2-way训练方法中,这种情况肯定会更加明显,这样肯定是不利于网络的训练的。因此作者这里人为限定了采样策略(就像在Faster R-CNN中一样,也是按照一定比例选取正负ROI送到下一阶段学习,否则负样本框会占据主导地位),在这里,我们首先定义以下几种配对的情况:

(1)前景ROI和positive support image(如上图中第一行)

(2)背景ROI和positive support image(如上图中第二行)

(3)ROI和negative support image(如上图中第三行第四行)

本文以1:2:1的固定比例对上述三种配对情况进行ROI采样,具体做法: 首先选取所有的(1)类型的ROI,假设有N个,这时候再选取top 2N的(2)类型ROI,同理,最后选取top N的(3)类型ROI,这里的排序规则是根据他们matching score,也就是这个框在RPN阶段对应的置信度。

这样很明显带来两个好处:

  1. 下一阶段网络训练的时候样本平衡,不会让背景ROI占据绝对主导地位
  2. 网络同时引入positive和negative support image,即能准确找到positive support image中的物体,也能与其他类别物体区别开。

作者通过实验发现这种做法能明显提高网络效果,那么既然多way能够提高效果,那么多shot呢。

我们首先了解一下多shot的实现,对于每个种类,如果同时输入N张support image,那么就是N-shot,作者的处理方法很简单,就是每张图片经过weight-share network之后都有一个特征图,简单的将这N张特征图相加取平均,之后就按照之前的1-shot套路走就完事了。下图是作者的k-way n-shot实验结果图,可以看过影响还是蛮大的。

 

总结:

  1. 提出了一个包含1000类别的少样本目标检测数据集FSOD
  2. 提出了一个新的少样本目标检测算法,并且该算法不需要fine-tune,可以直接用于未知类别。

 

转载:https://zhuanlan.zhihu.com/p/121062401

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "few-shot object detection with attention-rpn and multi-relation detector" 是一种使用注意力机制的样本目标检测方法。它通过使用 Attention-RPN(Region Proposal Network)和 Multi-Relation Detector 来实现对目标的检测。 Attention-RPN 可以在提议区域中识别关键部位,而 Multi-Relation Detector 则可以在样本中识别目标并定位它们。这种方法在训练和测试时都需要样本,因此可以减模型的训练时间和资源消耗。 ### 回答2: 随着人工智能技术的不断发展,目标检测的研究也得到了越来越多的关注。其中,Few-shot object detection with attention-rpn and multi-relation detector是目前在目标检测领域上的一个最新研究成果。那这个算法是什么呢? 针对目前目标检测领域中的一大难点——样本学习,此研究提出了一种基于RPN(region proposal network)和注意力机制的多关系检测算法,使得模型只需使用量的训练数据,就能在未见过的类别中达到较高的检测准确率。 具体来说,该算法通过在RPN中引入注意力交互模块来提供精细的检测区域,同时通过设计多组关系特征提取器,能够有效处理不同目标类别之间的相互关系。在训练阶段,该算法将训练数据集划分为meta-train和meta-test集合,然后在较小的meta-train集合中学习关系特征提取器和注意力交互模块,最后在meta-test集合的未知类别中进行目标检测。 综合以上基本思路,该算法通过引入注意力机制和多关系特征提取器来实现Few-shot object detection。该算法在目前的Few-shot目标检测基准测试数据集上进行了实验证明,实现了较高的检测准确率,在很大程度上解决了样本学习的问题。未来,这个技术还需要进一步实践和推广,使得得到更广泛的使用。 ### 回答3: 本文介绍了一种基于注意力机制RPNAttention-RPN)和多关系检测器(Multi-Relation Detector)的小样本目标检测技术(Few-shot Object Detection)。该技术可以利用预训练的模型来辅助小样本检测任务,并可以适应新的目标类别。 本文中的Attention-RPN是一种针对小样本学习的改进版本,它可以通过选择性的关注训练数据中的重要区域来提高小样本的性能。同时,Attention-RPN还可以利用先前训练模型的知识来指导小样本的训练过程,从而提高检测结果的准确性。 而多关系检测器则是一种可以检测目标之间关系的模型。通过学习目标之间的关系,可以更好地理解图像中的场景,并且可以更准确地定位和分类目标。本文中的多关系检测器采用了一种新的模型结构,其中用到了一种称为Transformers的自注意力机制,它可以自适应地聚焦于任务中的关键区域,从而提高检测性能。 在实验中,本文采用了COCO、VOC和miniImagenet等数据集进行测试。结果表明,本文所提出的Few-shot Object Detection技术可以在样本的情况下取得好的检测结果。同时,Attention-RPNMulti-Relation Detector也能分别提高小样本和多样本的检测性能,证明它们是十分有效的模型改进方式。 综上所述,本文提出了一种新的小样本目标检测技术,并通过Attention-RPNMulti-Relation Detector的改进来提高检测性能。该技术对于具有高效率和精度要求的目标检测任务具有十分重要的意义,可能对未来的计算机视觉研究和工业应用产生积极的影响。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值