论文提出了新的少样本目标检测算法,创新点包括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. Hive常用命令及作用

    1-创建表 -- 内部表 create table aa(col1 string,col2 int) partitioned by(statdate int) ROW FORMAT DELIMITED ...

  2. R语言基本操作

    is.na and is.element is.na can use which, it finds specific rows, is.element can't, it is designed t ...

  3. TensorFlow系列专题(八):七步带你实现RNN循环神经网络小示例

    欢迎大家关注我们的网站和系列教程:http://panchuang.net/ ,学习更多的机器学习.深度学习的知识! [前言]:在前面的内容里,我们已经学习了循环神经网络的基本结构和运算过程,这一小节 ...

  4. Oracle如何查询不等于某数值

    前言 今天在使用Oracle查询“不等于”的时候,发现得到的数据与期望中的不一样,进一步查找资料才有发现. 1.Oracle的不等于 在Oracle中,"<>".&qu ...

  5. jQuery学习笔记01

    1.jQuery介绍 1.1什么是jQuery ? jQuery,顾名思义,也就是JavaScript和查询(Query),它就是辅助JavaScript开发的js类库. 1.2 jQuery核心思想 ...

  6. 基于 HTML5 WebGL 的楼宇智能化集成系统(二)

    前言       一套完整的可视化操作交互上,必不可少 2D/3D 的融合,在上期我们介绍了有关 3D 场景的环视漫游.巡视漫游以及动画效果,还包括了冷站场景.热站场景以及智慧末端的实现原理,本期主要 ...

  7. C/C++知识总结 一 C/C++常识概述

    C/C++常识概述 程序与计算机语言 C/C++简介与发展 C/C++异同 C/C++编译特点 学习编程建议 程序与计算机语言 程序:是一组计算机能识别和执行.预先编好的一些指令操作合集. 计算机语言 ...

  8. 【Java技术系列】爱情36技之追美妹的技术

    1. 在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些,超过了外星人设置的阈值,立刻拉响了人类即将产生文明的警报.因为外星人认为,人类已经产生了对宇宙的好奇心,文明的产生,科技 ...

  9. MTK Android SwitchPreference(设置-智能辅助-导航栏-导航栏可隐藏)

    1.界面布局文件 packages/apps/PrizeSettings/res/xml/navigation_bar_prize.xml ------------------------------ ...

  10. 使用Maven Archetype创建Java项目模板

    1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...