精华内容
下载资源
问答
  • 论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要...

    论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要fine-tune

    来源:晓飞的算法工程笔记 公众号

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

    Introduction


      不同于正常的目标检测任务,few-show目标检测任务需要通过几张新目标类别的图片在测试集中找出所有对应的前景。为了处理好这个任务,论文主要有两个贡献:

    • 提出一个通用的few-show目标检测算法,通过精心设计的对比训练策略以及RPN和检测器中加入的attention模块,该网络能够榨干目标间的匹配关系,不需要fine-tune就可以进行靠谱的新目标检测。实验表明,early stage的attention模块能够显著提升proposal的质量,而后面的多关系检测(multi-relation detector)模块则能有效抑制和过滤错误的背景
    • 提供了一个1000类的少样本训练集FSOD,论文提出的模型的性能提升有一定程度得益于此训练集,是一个前所未有的训练集

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


      尽管目前目标检测的训练集已经非常庞大,但是对于少样本目标检测算法的使用而言,这些训练集的类别都太少了。因此,论文构造了一个少样本目标检测专用的训练集

    Dataset Construction

      新训练集基于ImageNet(选了531类)和Open Images dataset V4(选了469类),但训练集间的类别不同,为了防止合并后存在漏标的情况,先对label进行分析和合并成树状结构,补充标注,然后去掉标注质量差的图片,包括包含目标太小(0.05%\le 0.05\%)的图片。将类别分为训练集和测试集,先用COCO的类别作为基础训练集,防止pretrain的影响,然后尽量选择与当前训练集差距较大的类别作为测试集,共包含200类,再选择另外800类作为训练集

    Dataset Analysis

      新训练集的数据情况如图3和表1,主要有两个特性:

    • High diversity in categories,类别覆盖的领域很多,包括动物、衣服、武器等,且训练集和测试集的类别来自不同的领域
    • Challenging setting,数据集在box大小和宽高比上有很多种,26.5%的图片包含至少3个目标,且有大量非目标类别的物体,干扰性很大

    Our Methodology


    Problem Definition

      给予包含目标特写的辅助图片(support image)scs_c以及可能包含cc类目标的查询图片qcq_c,任务是找出查询图片中所有辅助图片对应的类别目标,并且标记其准确的位置。如果辅助集包含KK个类别,每个类提供NN张图片,则称为K-way N-shot检测

    Deep Attentioned Few-Shot Detection

      论文提出新attention网络,该网络能够在RPN模块和多关系检测模块中学习辅助集与查询集间的通用的匹配关系。网络为包含多分支的权重共享框架,一个分支用于查询集,其它则用于辅助集(为了方便,图4只画了一个分支),对于同类别的辅助分支,使用平均特征图作为辅助特征图。查询分支的权重共享主干为Faster R-CNN(包括RPN),使用这个分支来训练辅助集和查询集的匹配关系,能够学习到同类别的通用知识

    • Attention-Based Region Proposal Network

      在少样本目标检测中,RPN能够产生潜在的相关box用于接下来的检测任务,不仅要分辨前景和背景,还要过滤不属于辅助集的前景。如果没有足够的辅助集信息,RPN将会产生大量不相关的proposal。为了解决这个问题,提出了attention RPN,能够使用辅助图片的信息来过滤背景以及不相关的前景,产生更少但更准的候选目标

      Attention RPN的核心是计算相似度特征图,对于辅助特征图XtS×S×CX\in t^{S\times S\times C}以及查询特征图YtH×W×CY\in t^{H\times W\times C},相似度特征图GG计算如上。辅助特征XX用来作为核在查询特征图上进行类似depth-wise卷积的滑动。在实际中,查询特征采用RPN的输入特征,用于卷积的辅助特征大小为1×11\times 1,由global average产生,在获得attention特征后,使用3×33\times 3卷积进一步提取特征,然后接objectness分类和box预测,attention RPN的loss LrpnL_{rpn}会跟Faster R-CNN一样加入到模型的训练中

    • Multi-Relation Detector

      RPN后面一般会接一个检测器用于对proposal进行重新评估和调整,而论文则希望检测器能够有强大的类别区分能力,提出了多关系检测器(multi-relation detector)来度量相似性.该检测器包含3个attention相似性模块,将3个模块的分数求和作为最终的匹配分数。对于大小均为7×7×C7\times 7\times C的辅助特征fsf_s和查询特征fqf_q

    • global-relation head,用于学习全局匹配的深层embedding。将fsf_sfqf_qconcatenate成特征fcf_c,然后平均池化成1×1×2C1\times 1\times 2C,最后用加ReLU的两层全连接层输出最后的分数
    • local-correlation head,学习pixel-wise和depth-wise的关系,即对应位置的关系。首先使用1×1×C1\times 1\times C卷积分别操作fsf_sfqf_q,使用前面的Attention RPN的相似性计算Gh,w,cG_{h,w,c}进行depth-wise的相似性计算获得相似性特征图,S=H=W=7S=H=W=7,最后用单层全连接层获得分数

    • patch-relation head,用于学习非线性的块匹配,即一对多的关系。将fsf_sfqf_qconcatenate成特征fcf_c,然后输出到表8的块关系模块中,表8的卷积层后面都接ReLU,所有卷积层和池化层都进行0填充,模块将特征图从7×77\times 7下采样为1×11\times 1(这里池化层的s1/p0感觉描述不清楚,等源码放出来再看看),最后同时接两个全连接层,一个全连接产生匹配分数,另外一个产生bbox的预测

      论文对3种head的重要性进行了实验,可以看到这3种head能很好地互补,结合起来能够完整地表达目标间的关系

    Two-way Contrastive Training Strategy

      通常少样本训练策略为每次输入为(qc,sc)(q_c,s_c),论文认为模型应该同时学习识别同类别和区分不同类别,提出2-way对比训练策略

      如图7,该策略每轮随机选择一张查询图片qcq_c、一张辅助图片scs_c以及一张别的类别的辅助图片sns_n组成三元组(qc,sc,sn),cn(q_c, s_c, s_n),c\ne n,查询图片中只有cc类目标标记为前景。在训练时,不仅学习(qc,sc)(q_c,s_c)间的相似性,也学习(qc,sn)(q_c,s_n)间的差异性。由于背景proposal的数量比较大,占据着训练过程,所以(pf,sp)(p_f,s_p)(pb,sp)(p_b,s_p)(pb,sn)(p_b,s_n)控制为1:2:1比例,根据匹配分数从高到低选择。每个proposal的损失为L=Lmatching+LboxL=L_{matching}+L_{box},匹配损失使用二值交叉熵

      论文对不同的训练策略进行了对比,2-way 5-shot对比训练策略效果最优,并且可以看到attention RPN也是有效的,AP50AP_{50}提升了1.9

    Experiments


    Training Details

      查询图片短边为600像素,长边上限1000像素,辅助图片裁剪目标区域加16像素的位置,resize然后0填充至320×320320\times 320,在推理时,相同类别的辅助集使用平均特征集

    Comparison with State-of-the-Art Methods

      这里表格的finetune是指直接在测试集上进行finetune

    Realistic Applications

    More Categories vs More Samples?

    CONCLUSION


      论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要fine-tune



    如果本文对你有帮助,麻烦点个赞或在看呗~
    更多内容请关注 微信公众号【晓飞的算法工程笔记】

    work-life balance.

    展开全文
  • 导读:论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不...

    导读:论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要fine-tune。

    file

    Introduction

    file

    不同于正常的目标检测任务,few-show目标检测任务需要通过几张新目标类别的图片在测试集中找出所有对应的前景。为了处理好这个任务,论文主要有两个贡献:

    • 提出一个通用的few-show目标检测算法,通过精心设计的对比训练策略以及RPN和检测器中加入的attention模块,该网络能够榨干目标间的匹配关系,不需要fine-tune就可以进行靠谱的新目标检测。实验表明,early stage的attention模块能够显著提升proposal的质量,而后面的多关系检测(multi-relation detector)模块则能有效抑制和过滤错误的背景

    • 提供了一个1000类的少样本训练集FSOD,论文提出的模型的性能提升有一定程度得益于此训练集,是一个前所未有的训练集

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

    尽管目前目标检测的训练集已经非常庞大,但是对于少样本目标检测算法的使用而言,这些训练集的类别都太少了。因此,论文构造了一个少样本目标检测专用的训练集

    Dataset Construction

    file

    新训练集基于ImageNet(选了531类)和Open Images dataset V4(选了469类),但训练集间的类别不同,为了防止合并后存在漏标的情况,先对label进行分析和合并成树状结构,补充标注,然后去掉标注质量差的图片,包括包含目标太小()的图片。将类别分为训练集和测试集,先用COCO的类别作为基础训练集,防止pretrain的影响,然后尽量选择与当前训练集差距较大的类别作为测试集,共包含200类,再选择另外800类作为训练集

    Dataset Analysis
    filefile

    新训练集的数据情况如图3和表1,主要有两个特性:

    • High diversity in categories,类别覆盖的领域很多,包括动物、衣服、武器等,且训练集和测试集的类别来自不同的领域

    • Challenging setting,数据集在box大小和宽高比上有很多种,26.5%的图片包含至少3个目标,且有大量非目标类别的物体,干扰性很大

    Our Methodology

    Problem Definition

    给予包含目标特写的辅助图片(support image)以及可能包含类目标的查询图片,任务是找出查询图片中所有辅助图片对应的类别目标,并且标记其准确的位置。如果辅助集包含个类别,每个类提供张图片,则称为K-way N-shot检测

    Deep Attentioned Few-Shot Detection

    file

    论文提出新attention网络,该网络能够在RPN模块和多关系检测模块中学习辅助集与查询集间的通用的匹配关系。网络为包含多分支的权重共享框架,一个分支用于查询集,其它则用于辅助集(为了方便,图4只画了一个分支),对于同类别的辅助分支,使用平均特征图作为辅助特征图。查询分支的权重共享主干为Faster R-CNN(包括RPN),使用这个分支来训练辅助集和查询集的匹配关系,能够学习到同类别的通用知识

    • Attention-Based Region Proposal Network

    file

    在少样本目标检测中,RPN能够产生潜在的相关box用于接下来的检测任务,不仅要分辨前景和背景,还要过滤不属于辅助集的前景。如果没有足够的辅助集信息,RPN将会产生大量不相关的proposal。为了解决这个问题,提出了attention RPN,能够使用辅助图片的信息来过滤背景以及不相关的前景,产生更少但更准的候选目标。

    Attention RPN的核心是计算相似度特征图,对于辅助特征图以及查询特征图,相似度特征图计算如上。辅助特征用来作为核在查询特征图上进行类似depth-wise卷积的滑动。在实际中,查询特征采用RPN的输入特征,用于卷积的辅助特征大小为,由global average产生,在获得attention特征后,使用卷积进一步提取特征,然后接objectness分类和box预测,attention RPN的loss会跟Faster R-CNN一样加入到模型的训练中。

    • Multi-Relation Detector

    file

    RPN后面一般会接一个检测器用于对proposal进行重新评估和调整,而论文则希望检测器能够有强大的类别区分能力,提出了多关系检测器(multi-relation detector)来度量相似性.该检测器包含3个attention相似性模块,将3个模块的分数求和作为最终的匹配分数。对于大小均为的辅助特征和查询特征:

    • global-relation head,用于学习全局匹配的深层embedding。将和concatenate成特征,然后平均池化成,最后用加ReLU的两层全连接层输出最后的分数

    • local-correlation head,学习pixel-wise和depth-wise的关系,即对应位置的关系。首先使用卷积分别操作和,使用前面的Attention RPN的相似性计算进行depth-wise的相似性计算获得相似性特征图,,最后用单层全连接层获得分数

    • patch-relation head,用于学习非线性的块匹配,即一对多的关系。将和concatenate成特征,然后输出到表8的块关系模块中,表8的卷积层后面都接ReLU,所有卷积层和池化层都进行0填充,模块将特征图从下采样为(这里池化层的s1/p0感觉描述不清楚,等源码放出来再看看),最后同时接两个全连接层,一个全连接产生匹配分数,另外一个产生bbox的预测

    论文对3种head的重要性进行了实验,可以看到这3种head能很好地互补,结合起来能够完整地表达目标间的关系

    Two-way Contrastive Training Strategy

    通常少样本训练策略为每次输入为,论文认为模型应该同时学习识别同类别和区分不同类别,提出2-way对比训练策略

    file

    如图7,该策略每轮随机选择一张查询图片、一张辅助图片以及一张别的类别的辅助图片组成三元组,查询图片中只有类目标标记为前景。在训练时,不仅学习间的相似性,也学习间的差异性。由于背景proposal的数量比较大,占据着训练过程,所以、和控制为1:2:1比例,根据匹配分数从高到低选择。每个proposal的损失为,匹配损失使用二值交叉熵

    file

    论文对不同的训练策略进行了对比,2-way 5-shot对比训练策略效果最优,并且可以看到attention RPN也是有效的,提升了1.9

    Experiments

    Training Details

    查询图片短边为600像素,长边上限1000像素,辅助图片裁剪目标区域加16像素的位置,resize然后0填充至,在推理时,相同类别的辅助集使用平均特征集。

    Comparison with State-of-the-Art Methods

    file
    file

    这里表格的finetune是指直接在测试集上进行finetune

    Realistic Applications

    file

    file

    More Categories vs More Samples?

    file

    CONCLUSION

    论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要fine-tune。

    -END-

    推荐阅读:

    展开全文
  • 少样本目标检测任务目的:给定support images,在query image找到所有与support images中种类相同的物体,如下图。 左上角和右上角的叫做support image, 中间大图叫做query image。 本文主要贡献: 提出了一...

    少样本目标检测任务目的:给定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,可以直接用于未知类别。

     

    展开全文
  • 论文提出CoAE少样本目标检测算法,该算法使用non-local block来提取目标图片与查询图片间的对应特征,使得RPN网络能够准确的获取对应类别对象的位置,另外使用类似SE block的squeeze and co-excitation模块来根据...

    论文提出CoAE少样本目标检测算法,该算法使用non-local block来提取目标图片与查询图片间的对应特征,使得RPN网络能够准确的获取对应类别对象的位置,另外使用类似SE block的squeeze and co-excitation模块来根据查询图片加强对应的特征纬度,最后结合margin based ranking loss达到了state-of-the-art,论文创新点满满,值得一读

    论文:One-Shot Object Detection with Co-Attention and Co-Excitation

    Introduction


      论文认为,人类能够在图片中找出模版对应的物体,是因为人类具备将像素分组,提取独特特征比对以及专注定位的能力。因此,论文希望提出一个具备人类视觉功能的网络来解决one-shot目标检测的问题,给予网络一张未见过的查询模版(query image),然后在目标图片(taget image)中找出其位置。论文提出的one-shot目标检测算法的特征主要来自两种上下文信息:

    • 目标图片能够提供空间上下文,对比其它前景物体和背景来找出特殊对象的位置
    • 目标图片和查询图片能够提供类别上下文,而确切的类别层次则是由模版和目标对象的相同属性(颜色,纹理,形状等)决定的

      度量学习(Metric learning)是one-shot分类问题的关键,但不能直接简单地将学习到的度量方法应用到one-shot目标检测中,因为检测器需要先知道哪块区域最有可能包含目标才能进行比较。另外,目标追踪可以认为是少样本目标检测的一个特殊案例,区别在于,少样本目标检测的目标图片中不一定包含查询图片,并且允许图片之间存在明显的外观差异,只要他们有公共的特征进行归类即可。论文推出新的机制squeeze and co-excitation(CoAE)来同时强化新类别对象在查询图片和目标图片上的特征,实验证明,CoAE框架能更好地发掘空间和类别上下文信息,带来很好的性能提醒

    Our method


      定义数据集的类别标签集合为CC,进一步将其分为C=C0C1C=C_0 \cup C_1,分别用于训练和测试。少样本目标检测的流程定义为,给予查询图片pp,为C1C_1集合的一个类别对象,测试就是查找目标图片II所有对应的对象,假设每张可用的图片包含至少一个查询对象

      论文的主要架构如1,主要包含4个部分,分别是前面的基础特征提取,然后是Non-local feature的提取,用于提取共同特征,接着是论文提出的squeeze and co-excitation(CoAE)模块,用于强化目标channel,最后是metric模块,用于最好的分类

    Non-local object proposals

      定义训练集为DD,包含C0C_0类别的bbox,论文采用Faster R-CNN架构进行检测,这会带来一个基础问题,即RPN能否检测出未训练过的类别(C1C_1)的bbox。由于C1C_1类别与C0C_0类别可能存在十分明显的区别,因此,RPN不一定能检测出C1C_1的bbox。为了解决这个问题,论文引入non-local operation来优化卷积特征,non-local operation是一种类似attention的操作,能够根据参考输入来强化目标输入上的特征分布,具体可以看 Non-local neural networks

      让II为目标图片,pp为查询图片,目标图片的主干网络输出为ϕ(I)RN×WI×HI\phi(I) \in \mathbb{R}^{N \times W_I \times H_I},查询图片的输出为ϕ(p)RN×Wp×Hp\phi(p)\in \mathbb{R}^{N\times W_p\times H_p}。将ϕ(p)\phi(p)作为参考输入,ϕ(I)\phi(I)的non-local block输出为φ(I;p)RN×WI×HI\varphi(I;p)\in \mathbb{R}^{N\times W_I\times H_I},同样的,以ϕ(I)\phi(I)作为参考输入,可以得到ϕ(p)\phi(p)φ(p;I)RN×Wp×Hp\varphi(p;I)\in \mathbb{R}^{N\times W_p\times H_p}IIpp之间的相互non-local operations可以认为进行co-attention机制

      两个扩展的特征图可以表示为公式1和公式2,\bigoplus是element-wise sum。由于F(I)F(I)不仅包含了目标图片的特征,还包含了IIpp加权特征,所以将RPN接在这层特征上能够发现更多关于查询图片pp的信息,从而获取更高质量的bbox,即non-local region proposals更适合少样本目标检测

    Squeeze and co-excitation

      除了关联region proposals和查询图片外,co-attention机制产生了channel数一样的两组特征F(I)F(I) F(p)F(p),而这两组特征可以通过论文提出的squeeze-and-co-excitation(SCE)来根据查询图片pp对N个channel进行自适应重新加权。具体地,squeeze步骤通过GAP(global average pooling)概括了每一个特征图,而co-excitation则同时对F(I)F(I)F(p)F(p)进行channel纬度的特征加强,重点加强对最后相似度度量有用的特征。在squeeze层和co-excitation层之间,放置了两个fc/MLP层,跟SE block设计一样

      SCE operation如公式3,F~(p)\tilde{F}(p)F~(I)\tilde{F}(I)为重新加强后的特征图,wRNw\in \mathbb{R}^N是co-excitation向量,而\bigodot表示element-wise product

      通过公式3,查询图片pp可以表示为公式4,同样RPN提取的区域特征rr可以同样得出,例如对F~(I)\tilde{F}(I)的裁剪区域进行channel-wise的GAP

    Proposal ranking

      论文设计了一个两层MLP网络M,以二分类softmax结尾,RPN根据查询图片pp选出K个bbox,K一般为128。在训练阶段,K个bbox会根据IoU是否大于0.5分成前景(label 1)和背景(label 0),接着使用margin-based ranking loss来指导度量学习,使得最相关的bbox出现在bbox列表的前面。因此,论文将每个bbox的特征向量rr分别和查询图片特征rr进行concatenate,标记为x=[rT;qT]R2Nx=[r^T; q^T]\in \mathbb{R}^{2N},网络M的层输出分布2N822N\rightarrow 8\rightarrow 2

      论文定义margin-based ranking loss为公式5,s=M(x)s=M(x)为前景的预测的置信度,[][ \cdot ]为Iverson bracket,括号内为true则输出1,否则输出0,m+m^+为前景的下限,mm^-为背景的上线,在实际中,一般分别设为0.7和0.3
      margin-based loss分为两部分,前部分为限制前景和背景的置信度,前景必须大于0.7,背景必须小于0.3,否则产生loss。而另一部分Δ\Delta则是ranking的loss,初始的顺序是根据RPN的置信度输出。这里可以看出,论文没有设定真正意义的先后顺序,而是限制了正负样本间的置信度差,同类别样本间置信度差要小于0.3,而不同类别样本间置信度差则要大于0.7

      最后的总loss如公式7,前两个loss为交叉熵和Faster R-CNN的回归loss

    Experiments


    Datasets and hyperparameters

      Table1展示了VOC上的seen和unseen类别,而在COCO上,则对80个类进行4等分,然后随机选取3个作为seen类别,剩下一个为unseen类别,如图2所示。训练使用SGD优化器,momentum为0.9,训练10个周期,batch size为128,使用8块v100,学习率为0.01,每4个周期下降10倍,margin-based ranking loss的λ=3\lambda=3

    Generating target and query pairs

      对于VOC,直接裁剪gt bbox作为查询图片,而对于COCO,由于目标太小且对于人也太难辨认,不能直接裁剪,因此,使用预训练的Mask R-CNN去掉过小和过难的目标。另外,实验仅使用Mask R-CNN检测出来的GT。在训练时,对于目标图片,随机获取图片上的seen类别作为查询图片。而在测试时,先使用图片ID作为种子,随机打乱查询图片的顺序,然后选取前五个查询图片,最后计算mAP。打乱顺序能保证获取的5个查询图片上随机的,从而保证验证结果上准确的

    ImageNet pre-training

      为了保证实验的严格性,使用缩减后的ImageNet对ResNet-50进行重新训练,将COCO-related ImageNet类别去掉,大约933052张图片,剩下725类,精度top-1 75.8%,完整的ImageNet包含1284168张图片,共1000类

    Overall performance

      对于VOC,Table1中可以看到,使用缩减的数据集训练的模型依然优于baseline模型,而使用完整的数据集训练的模型则是性能有很明显地提升。unseen类别性能比seen类别好,这是由于部分类别的对象差异较大,比如plant, bottle, chair

      对于COCO,Table2中可以看出,论文的模型在seen类别和unseen类别上优于Siamese Mask-RCNN

    Ablation studies


    • Co-attention, co-excitation, and margin-based ranking loss

      论文研究了不同的策略的共享,如Table3。首先,不使用Co-attention和Co-excitation的模型表现最差,而分别单独加入non-local RPN和SCE在VOC和COCO上能分别能带来6.3/4.4mAP和9.8/8.2AP(%)提升,同时加入则分别进一步带来0.9/1.8mAP(%)和0.3/1.9AP(%)提升,这意味着co-attention和co-exciation对性能表现都很关键,而margin-based ranking loss也是很重要的

    • Visualizing the distribution of non-local object proposals

      为了分析non-local bbox的性能,将bbox分布以heatmap方式可视化, 如Figure3,co-attention模块让RPN更专注于查询图片的相似区域

    • Visualizing the characteristics of co-excitation

      为了分析co-excitation机制是否学习到了不同类别的权重分布,论文收集了测试时不同类别的查询图片的co-excitation权重,最后对其求平均得到类别的单一向量,再用欧式距离计算类别单一向量间的距离。从图4的结果可以看出,co-excitation模块学习到了有意义的权重分布,相似的物体的向量距离比较近,而person类别则远离其它所有类别,表明person类别的权重与其它类别基本不同

    • Analyzing the co-excitation mechanism

      论文进行了两个相反的实验,首先对同一张目标图片使用不同的查询图片,从图5的结果可以看出,p1和p2的颜色与目标相似,而p3和p4则截然不同,从结果来看,结论是前两张图片更注重颜色,而后两张则更注重形状特征。另外一个则是对不同的目标图片使用同一张查询图片,从图6结果可以看出,I1和I2更注重纹理而I3和I4更注重形状特征

    Conclusion


      论文提出CoAE少样本目标检测算法能够根据查询图片提取对应的特征,不依赖于训练数据的标注信息,在COCO和VOC上达到state-of-the-art,未来的工作是将网络推广到k-shot(k$\ge$0)目标检测中

    参考内容

    写作不易,未经允许不得转载~
    更多内容请关注个人微信公众号【晓飞的算法工程笔记】

    work-life balance.

    展开全文
  • 论文提出增量式少样本目标检测算法ONCE,与主流的少样本目标检测算法不太一样,目前很多性能高的方法大都基于比对的方式进行有目标的检测,并且需要大量的数据进行模型训练再应用到新类中,要检测所有的类别则需要...
  • 作者 |VincentLee来源 | 晓飞的算法工程笔记该论文研究了非常有意义的增量式少样本目标检测场景iFSD(Incremental Few-Sh...
  • 作者 |VincentLee来源 |晓飞的算法工程笔记不同于正常的目标检测任务,few-show目标检测任务需要通过几张新目标类别的图片在测试集中找出所有对应的前景。为了处理好这个任...
  • 「免费学习 60+ 节公开课:投票页面,点击讲师头像」作者|VincentLee来源 |晓飞的算法工程笔记(ID: gh_084c810bc839)导读:论文提出CoAE少样本目标...
  • 第一篇研究few-shot 目标检测论文。通过reweighting 模块快速调整元特征,同时用于检测base类和new类目标。 模型三个模块组成:Feature Extractor;Reweighting Module;Prediction Layer Feature Extractor 基于...
  • ECCV 2020 论文大盘点-目标检测

    千次阅读 2020-09-23 23:49:18
    本文盘点ECCV 2020 与目标检测相关的研究,包含目标检测新范式、密集目标检测、点云目标检测、少样本目标检测、水下目标检测、域适应目标检测、弱监督目标检测、训练策略等,总计 41 篇...
  • 少样本目标检测数据集FSOD为例。 FSOD数据集组成 图片部分就不多介绍了,重点来看一下标记部分annotation,对于图片的标记数据一般用json格式保存。 上面的图片是FSOD测试集的标记数据,以字典的形式保存,Keys...
  • 0 前言 OHEM是CVPR2016的文章,它提出一种通过online hard example mining 算法训练Region-based Object Detectors,其优点: 1.对于数据的类别不平衡问题不需要...当我们遇到数据集,且目标检测positive proposa...
  • 样本检测

    千次阅读 2020-04-27 22:17:40
    样本检测的难度在于目标很小,其特征比较浅(如亮度、边缘信息等),语义信息较;另外小目标和背景之间尺寸不均衡,用较小的感受野去关注其特征的话,很难提取全局语义信息;用较大的感受野去关注背景信息的话,...
  • 文章目录一、图片输入层面1. 数据增强策略2....增加包含小目标样本的采样率,缓解了训练过程中包含小目标图片较的这种不均衡; 将小目标在同一张图像中多拷贝几次;增加了匹配到小目标GT的anch
  •    这一点想必大家在做目标检测实验的时候深有体会,当某一类别的样本数特别多的时候,训练出来的网络对该类的检测精度往往会比较高。而当某一类的训练样本数较的时候,模型对该类目标的检测精度就会有所下降,...
  • 3D目标检测 CVPR2020 总结

    千次阅读 2020-06-17 00:25:29
    少样本、跨域的工作也很值得关注,最有意思的可能是伪装目标检测了,值得学习。 大家可以在: http://openaccess.thecvf.com/CVPR2020.py 按照题目下载这些论文。 如果想要下载所有CVPR 2020论文,请点击...
  • 基于视觉超完备机制的图像稀疏表示是一种新的图像表征方法。针对目标检测问题,提出了一种基于视觉稀疏超完备表示...结果表明,该方法与计算机视觉方法比较具有较高的准确率,能够利用少样本实现大交通流量中目标的检测。
  • SFFAI 96 目标检测专题

    2021-01-05 14:39:12
    本期我们邀请了来自清华大学的杨玉宽同学,介绍他在目标检测任务下小样本学习方向的工作。 讲者介绍 杨玉宽,2013级清华大学精仪系本科生,2017级清华大学类脑计算研究中心博士生,2019年~2020年在微软亚洲研
  • 高光谱图像目标检测具有重要的理论研究价值和应用前景,是遥感信息处理领域中的一个热点课题。当前大部分检测算法需要设置一个合适的判决阈值,这个阈值是由人工设置或利用目标与背景信息进行计算得到的。实际中对...
  • NeurIPS 2019 | 基于Co-Attention和Co-Excitation的少样本目标检测 论文提出CoAE少样本目标检测算法,该算法使用non-local block来提取目标图片与查询图片间的对应特征,使得RPN网络能够准确的获取对应类别对象的...
  • 样本检测问题中的小样本就是指shot很。 2.深度注意力小样本检测模型   下面进入模型的第一部分。   这张图展示了深度注意力小样本检测的整体模型,我们构建了一个权重共享网络,它的基础是Faster R-CNN网络...
  • 本文收集了CVPR 2020 关于目标检测相关论文和算法,自动驾驶依然热门,所以带动着3D目标检测论文居多,当然2D目标检测依旧热门,神经架构搜索也开始在应用与目标检测,样本少和跨域的研究也是非常值得关注研究。...
  • 目标检测 | OHEM

    万次阅读 2018-08-17 10:24:17
     从图中可以看出,本文的亮点在于在每次迭代中,较训练样本下,如何hard negative mining,来提升效果。  即针对Fast-RCNN框架,在每次minibatch(1张或者2张)训练时加入在线筛选hard region的策略,达到新的...
  • 弱监分类督通俗来讲就是弱监督的分类有 那为什么要引进弱监督呢 2017年科技部印发的《新一代人工智能发展规划》中强调大数据智能理论重点突破无监督学习 ...为了解决神经网络在部分目标检测任务中应用的局限,目前
  • 目标检测RCNN流程

    2018-08-15 14:58:57
    迁移学习,可解决标注框不多,训练样本少的问题 2、selective search提取候选框(region proposal) 先根据纹理、色彩、直方图等特征将图片划分出不同的区域,分别计算这n个区域的两两相似度,再将相似度最大的两个...
  • 除了这些改进,在小目标检测与大目标检测领域还是有不小的差距。我们在MS COCO上分析了当前SOTA的模型Mask-RCNN。研究成果展示GT目标与预测的anchors的重叠远远小于期望的IoU阈值。我们猜测这可能是由两个情况导致的...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

少样本目标检测