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

(1)Author

  • 作 者
    Qi Fan,Wei Zhuo,Chi-Keung Tang,Yu-Wing Tai
  • 机 构
    HKUST
    Tencent
  • 时 间
    2020年

(2)Abstract

  • 传统的目标检测算法需要大量高质量的标注数据来训练模型,而数据标注非常耗费人力物力,因此本文中提出了一种“小样本”的目标检测网络,旨在通过少量的标记数据就能让模型有效检测那些从未见过的目标;
  • 该算法的核心有三点:Attention-RPN, Multi-Relation Detector, Contrastive, Training strategy,能够利用小样本的support set和query set的相似性来检测新的目标同时抑制background中的错误检测;
  • 这个团队还自己建立了一个包含1000种目标的数据集,这是第一个专为“小样本”目标检测设计的数据集,数据集地址(https://github.com/fanq15/Few-Shot-Object-Detection-Dataset);

(3)Conclusion

  • 提出了一个“few-shot”的目标检测框架,该算法的核心有三点:Attention-RPN, Multi-Relation Detector, Contrastive, Training strategy;
  • 建立了一个专为“few-shot”目标检测而生的数据集。

(4)Introduction

  • 现存的目标检测算法依赖大量的数据进行训练,这促使学界转向小样本学习的研究,但大多数研究集中在图像分类上,对于小样本目标检测问题的研究还是颇少;
  • “小样本”检测算法要让模型检测到那些在训练中并未见过的目标(以下简称unseen object),而bounding box很容易错过那些unseen object,或者在背景区域产生大量错误的检测,作者认为这是由于RPN网络没有给这些好的bounding box一个应得的score,最终导致新的目标很难被检测到;
  • 本文主要有两个贡献,一是提出了一个通用的小样本目标检测模型,不需要重新训练或者fine-tuning就能识别新种类的目标,二是建立了一个新的数据集;

(5)FSOD:A Highly-Diverse Few-Shot Object Detection Dataset

  • 数据集的种类分布
    在这里插入图片描述

(6)Our Methodology

(6.1)Problem Definition

  • 作者首先对本文的任务做出了定义,提到两个概念——support image和query image,support image包含了对需要检测的目标的特写(见下图的左右上角,分别是对头盔和自行车的特写),而query image是我们要检测的目标,它可能包含了support image当中的目标,而我们的任务就是要在query image中把这些目标都找出来。如果support set包含了K个种类和N个对应的目标实例,这个问题被称为K-way N-shot detection

(6.2)Deep Attentioned FewShot Detection

  • 下图是本文算法的框架:
    在这里插入图片描述
  • 文中算法建立了一个新奇的注意力网络,能在RPN模块和Detector上学习support set和query set之间的联系;
  • 图中的weight shared network有多个分支,可以分为两类,一类用于query set,另一类用于support set(support set的分支可以有多个,用来输入不同的support图像,图中只画了一个),query set的分支就是一个Faster RCNN的结构;

(6.2.1)Attention-Based Region Proposal Network

  • 作者认为RPN不仅应该区分objects和non-objects,而且还应该过滤掉不属于support set的目标,但在没有support image的信息支持下,RPN会给出很多得分很高但并不属于support set的proposal,这给后续的detector带来了很大负担,因此,作者提出了Attention RPN来解决这个问题;
    在这里插入图片描述
  • 将通过weight shared network提取的support image和query image的feature按照下式定义的similarity进行计算得到最终的Attention feature map
    在这里插入图片描述

(6.2.2)Multi-Relation Detector

  • 为了使detector更好地分辨不同的种类,作者提出了下图所示的muti-relation detector:
    在这里插入图片描述
  • 分别可以从全局、局部、patch三个角度来进行support image和query image间的匹配(说到底这一部分还是用来测量相似性的),作者也指出这三种模块可以互相结合以获得更好的性能,实验对比见下表:
    在这里插入图片描述

(6.3)Two-way Contrastive Training Strategy

  • 一种简单的训练策略是通过构造一个训练对(qc,sc)来匹配相同的类别对象,其中查询图像qc和支持图像sc都在同一个c-th类别对象中。作者认为一个好的模型不仅要匹配相同的类别对象,还要区分不同的类别,因此提出了一种新颖的双向对比训练策略。
  • 具体做法是:随机地选择一张query image——qc,一张support image——sc,它两对应第c类目标,再选择一张包含第n类(n≠c)的support image来组成一个三元训练组,其中只有第c类的目标被标记为前景区域,其他的都被当做背景区域;
    在这里插入图片描述
  • 训练中会产生大量的背景proposal,特别是在negative support的图片上,因此作者为三种匹配对设定了一个比率,即:
    ratio as 1:2:1 for the
    foreground proposal and positive support pairs (pf ; sp),
    background proposal and positive support pairs (pb; sp), and
    proposal (foreground or background) and negative support pairs (p; sn)
  • 在训练时,使用multi-task的loss function:
    在这里插入图片描述
  • 作者还对比了各种训练策略的效果:
    在这里插入图片描述
    这的几way等于你选取几个negative support category + 1,几shot就是同一种类有几个模板;

(7)Experiments

  • 效果还是很不错的:
    在这里插入图片描述
    在这里插入图片描述

(8)个人总结

  • 无论是目标检测还是当今CV领域的其他任务,当前的算法总是要依赖large-scale的数据集,因此不管算法多花哨,模型都是totally data-based的,小样本的模型是以后的发展方向;
  • 文中的团队特意为本次的研究建立了一个数据集,相信这花费了大量的人力物力,为后续的研究提供了方便,这必须要点一个大大的赞;
  • 文中的算法,更像是一个匹配算法,这让我想起了传统图像处理的模板匹配算法,support set是模板,而我们要从query image中找出符合模板的目标,所以这里就有一个问题,那就是template的选取是否合理,这极大地关系到匹配的performance,文中并未对此作出对应的解释;
  • 文中的算法的核心,我认为是“similarity”,无论是Attention RPN还是Muti-Relation Detector都是为了更好地去判断query image和support image的匹配度,但个人认为这里的Attention RPN的Attention主要还是集中在RPN网络的输入上,通过一个Attention的feature map来得到一个Attention的结果,我一开始读的时候以为是从channel的角度来实现attention,所以还是有点失望的 (仅对于我)
  • Muti-Relation detector最终match的指标是二元交叉熵,bounding box的loss参考了Fast RCNN;
  • 每一个support branch都有一个自己的attention RPN,算法结构比较复杂;
  • Muti-Relation detector在进行匹配的时候计算量很大,文中也没有出现具体的单步推理时间;
  • 训练起来也比较麻烦,一是选定一个sc后其他的negative support怎么选取,二是怎么去遍历这些种类才算合理,这都是很值得讨论的问题。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字50 设计师:CSDN官方博客 返回首页