查看原文
其他

【源头活水】FSOD with Attention-RPN and Multi-Relation Detector

The following article is from 洋可喵 Author 洋可

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:洋可喵
Fan Q, Zhuo W, Tang C K, et al. Few-shot object detection with attention-RPN and multi-relation detector[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 4013-4022.

01

文章简介
小样本学习是一个暂时还处于探索的领域,目前大多的研究都只存在于图像分类的理论层面,其目标是通过对测试集Support Set和Query Set构造 N-way K-shot的子任务进行学习,Query这个名词也透露出基于度量学习的方法是小样本学习的一个重要分支。
目标检测的任务目标就是希望检测出一幅图像中的物体类别及其在图片中的位置,这是一个比较成熟的领域,存在anchor free和anchor based等方法,经典的方法比如YOLO,Fast RCNN系列,CenterNet,CornerNet等等。传统的目标检测分为two stage和one stage,two stage方法通过RPN框架去提取可能含有目标的proposal,然后由下游的检测器去判断是否存在目标以及目标位置。
基于海量数据的目标检测已经很成熟了,怎么在样本量较少的情况下来做这个事情呢?传统目标检测会出现误检背景为前景,同时也很容易出现漏检没见过的物体。作者认为这个问题出自RPN网络的region proposal上,基于此,这篇文章的主要做了:
1. 提出了一个小样本目标检测模型(创新包含一个基于注意力的RPN模块,一个多关系检测器,对比训练策略),并通过实验证明了注意力的RPN能够提高proposal的质量,多关系检测器能够过滤掉误检的proposal。
2. 提出了一个小样本目标检测的数据集FSOD(Few-Shot Object Detection Dataset)。


02

FSOD数据集
这个数据集的样本是作者从其他的数据集中提取来的,作者为什么不直接使用其他的数据集呢,主要是有几个方面的原因:
1. 小样本学习模型要解决的两个核心问题就是表征泛化或者表征鲁棒的问题,因为由于样本比较小,模型表征很容易受到噪声样本的影响, 而现有的数据集有很多误标、漏标、不精确等问题。
2. 其也不适合小样本学习,小样本学习训练空间和测试空间的样本集互斥,而现有的目标检测数据集基本都不满足。
3. 现有不同数据集的标注系统并不一致,有部分具有相同语义信息的物体被标注到不同的类别中。
解决问题3的方案就是在建造之初统一标签,本文构造如下的标签树。然后去除问题1中的噪声样本,移除大小小于图片大小0.05%的包围框(这里不应该算这种框为小物体,仔细算算,如果大小为图像大小的0.05%的大可能就是一个噪声)。然后作者从MS COCO里构造训练集,并选取里训练集距离最远的200类别作为测试集,剩下的类别放入训练集(共800个类别),下图展示了该数据集的一些统计学特性。相比于MS COCO来说,该数据集还是很小的。
标签空间

数据集统

作者提出的数据集


03

Methodology
整个模型的architecture如下,由权重共享网络先对输入和输出图像进行处理,然后Attentioned—RPN提取region proposal,并过滤掉不是support set类别的proposals,然后交由多关系检测器对原始图像和检测图像进行匹配(我在翻译一些什么烂词)。图上展示的1 way-1 shot的任务,实际处理时,每个support branch分支的attention RPN、detector不共享。而多个shot时,计算每一个类别的support feature是取了所有feature的平均。
model structure

Problem Definition

作者将小样本目标检测目标定义为:给定少量包含novel object的support集合,需要检测出包含所有该novel object category的前景图像。针对小样本目标检测任务构造N way-K Shot任务,对一个N way-K Shot的Support Set来说,任务需要检测出Query Set图像中所有可能包含Support Set类别的物体及其对应的包围框。

Attention-Based Region Proposal Network

本文的RPN是完全放到了闭合世界假设下来做的,这个RPN承担了两个任务:1. 判别前景和背景;2. 判别物体是不是在support set出现过。下图是Attention-RPN结构示意图。作者在channel维度上将support feature和query feature相乘的similarity作为attention,并用于后续的region proposal生成。
Attention-RPN

Multi-Relation Detector

Multi-Relation Detector

这是多关系检测器的示意图,这个多关系的多就指的是本文用了patch、local和global三种信息,作者并展示了这三种关系的互补性能,如下: 
image-20210812210119235

Two-way Contrastive Training Strategy

这里本文采用triplet loss的思路:本文认为一个好的模型不仅需要能够匹配同样的类别,还要对不同的类别具有区分度。因此作者采用了一个两路对比训练。对比就需要构造样本对,作者构造了一个的三元对(分别是c类的查询集样本,c类的支持集样本,n类的支持集样本),模型需要最小化的距离,最大化其他的距离。这是两路对比训练的示意图:
Two-way Contrastive Training Strategy
出于和Focal Loss一样的问题,背景过多主导了训练过程,故本文控制了前景proposal和正支持集样本对、背景proposal和正支持集对、proposal和负支持集对之间的比例为1:2:1。然后采用作为loss。作者也展示了两路对比训练和Attention RPN的优势:
image-20210812212209055


04

实验
实验结果如下
image-20210812212440239


05

My Comment
这篇发表在CVPR 2020上的工作很简单,行为很清晰。我觉得整体工作的亮点有两个地方,一个是体现工作量的数据集提出,对于label空间的合并的思考也很细致;二是对于闭合世界假设下的检测任务的假设,整个故事很完整。文章本身提出的模型比较简单有效,我认为整个工作更偏向于一个baseline的工作,提供了一个基点可以往下做,也是我看的小样本图像检测的第一篇工作,给了我一些启发。(其实这后面写的就很草率了,主要是摸鱼人要下班了!)周末再来看看它的实验代码,拜拜!

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存