论文提出了新的少样本目标检测算法,创新点包括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进行分析和合并成树状结构,补充标注,然后去掉标注质量差的图片,包括包含目标太小($\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)$s_c$以及可能包含$c$类目标的查询图片$q_c$,任务是找出查询图片中所有辅助图片对应的类别目标,并且标记其准确的位置。如果辅助集包含$K$个类别,每个类提供$N$张图片,则称为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的核心是计算相似度特征图,对于辅助特征图$X\in t^{S\times S\times C}$以及查询特征图$Y\in t^{H\times W\times C}$,相似度特征图$G$计算如上。辅助特征$X$用来作为核在查询特征图上进行类似depth-wise卷积的滑动。在实际中,查询特征采用RPN的输入特征,用于卷积的辅助特征大小为$1\times 1$,由global average产生,在获得attention特征后,使用$3\times 3$卷积进一步提取特征,然后接objectness分类和box预测,attention RPN的loss $L_{rpn}$会跟Faster R-CNN一样加入到模型的训练中

  • Multi-Relation Detector

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

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

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

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

Two-way Contrastive Training Strategy

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

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

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

Experiments


Training Details

  查询图片短边为600像素,长边上限1000像素,辅助图片裁剪目标区域加16像素的位置,resize然后0填充至$320\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





如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

腾讯推出超强少样本目标检测算法,公开千类少样本检测训练集FSOD | CVPR 2020的更多相关文章

  1. 目标检测--Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)

    Rich feature hierarchies for accurate object detection and semantic segmentation 作者: Ross Girshick J ...

  2. 重磅!刷新两项世界纪录的腾讯优图人脸检测算法DSFD开源了!

    近日,知名开源社区Github上有个名为DSFD(Dual Shot Face Detector)的算法引起了业内关注,它正是来自于腾讯优图.目前,该算法已经被计算机视觉顶级会议CVPR 2019接收 ...

  3. [OpenCV]基于特征匹配的实时平面目标检测算法

    一直想基于传统图像匹配方式做一个融合Demo,也算是对上个阶段学习的一个总结. 由此,便采购了一个摄像头,在此基础上做了实时检测平面目标的特征匹配算法. 代码如下: # coding: utf-8 ' ...

  4. Python机器学习笔记 异常点检测算法——Isolation Forest

    Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolat ...

  5. [转]Python机器学习笔记 异常点检测算法——Isolation Forest

    Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolat ...

  6. 3D空间中射线与三角形的交叉检测算法【转】

    引言 射线Ray,在3D图形学中有很多重要的应用.比如,pick操作就是使用射线Ray来实现的,还有诸如子弹射线的碰撞检测等等都可以使用射线Ray来完成.所以,在本次博客中,将会简单的像大家介绍下,如 ...

  7. 机器学习: Viola-Jones 人脸检测算法解析(一)

    在计算机视觉领域中,人脸检测或者物体检测一直是一个非常受关注的领域,而在人脸检测中,Viola-Jones人脸检测算法可以说是非常经典的一个算法,所有从事人脸检测研究的人,都会熟悉了解这个算法,Vio ...

  8. NeurIPS 2019 | 基于Co-Attention和Co-Excitation的少样本目标检测

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

  9. 增量学习不只有finetune,三星AI提出增量式少样本目标检测算法ONCE | CVPR 2020

    论文提出增量式少样本目标检测算法ONCE,与主流的少样本目标检测算法不太一样,目前很多性能高的方法大都基于比对的方式进行有目标的检测,并且需要大量的数据进行模型训练再应用到新类中,要检测所有的类别则需 ...

随机推荐

  1. nginx openssl升级支持http2

    阿里云openssl升级,实现nginx主动推送 nginx主动推送能够有效减少不必要的报文传输,减少用户请求次数,以达到更快访问速度 现有版本检查 [root@node3 ~]# openssl v ...

  2. Java基础语法(7)-数组

    title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并 ...

  3. 在dev分支上修改了文件,但是并没有执行git add. 和git commit命令,然后切换到master分支,仍然能看到dev分支的改动现象

    当我们创建一个新的分支dev,并且在新分支上修改了原文件,在我们没有提交到仓库的前提下,将分支再切换到master分支上,执行git status ,可以看到dev操作的状态: (1)因为未add的内 ...

  4. A TensorBoard plugin for visualizing arbitrary tensors in a video as your network trains.

    Beholder is a TensorBoard plugin for viewing frames of a video while your model trains. It comes wit ...

  5. DNS 域名解析

    DNS域名解析 整个过程大体描述如下,其中前两个步骤是在本机完成的,后8个步骤涉及到真正的域名解析服务器:1.浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就结束. ...

  6. [vios1023]维多利亚的舞会3<强联通分量tarjan>

    题目链接:https://vijos.org/p/1023 最近在练强联通分量,当然学的是tarjan算法 而这一道题虽然打着难度为3,且是tarjan算法的裸题出没在vijos里面 但其实并不是纯粹 ...

  7. [vijos1574]摇钱树<dp+贪心>

    题目链接:https://vijos.org/p/1574 这道题是昨晚一个叫Ztravellers的大佬推荐的,确实觉得这是一道很有意思的题,很多方面都很有意思: 初见这道题,估计想法都是贪心,因为 ...

  8. MySQL手工注入进阶篇——突破过滤危险字符问题

    当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题.下面是我的实战过程.这里使用的是墨者学院的在线靶场.咱们直接开始. 第一步,判断注入点. 通过测试发 ...

  9. Keil5新建STM32工程(库函数版本)

    1.下载keil5教程参考:https://blog.csdn.net/qq_36854651/article/details/82632931 2.安装完keil5后,创建一个空的目录存放工程 3. ...

  10. eclipse常用功能及快捷键

    1.更改默认字体 Window->Preferences->General->Appearance->Colorsand Fonts ->Basics->Text ...