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

2023-05-16

文章目录

  • 文章贡献
  • 1.绪论
  • 2. 有关研究
    • 2.1 General Object Detection
    • 2.2 Few-shot learning
  • 3. FSOD: A Highly-Diverse Few-Shot Object Detection Dataset
  • 4. Methodology
    • 4.1 问题定义
    • 4.2 Attention-Based Region Proposal Network
      • 4.2.1 Attention-Based Region Proposal Network
      • 4.2.2 Multi-Relation Detector
    • 4.3 Two-way Contrastive Training Strategy
  • 5 实验
    • 5.1 Training Details

文章贡献

  • 提出了一个小样本目标检测网络模型FSOD,利用只有少量图片的support set与query set之间的相似性进行目标检测,作者表示该网络在一旦模型训练好,它可以检测未曾遇到过的物体类别,不需要进一步的训练或调整。https://github.com/fanq15/FSOD-code
  • 一个大型的标注数据集:带有1000类物体以及每一类对应的少量examples。 https://github.com/fanq15/Few-Shot-Object-Detection-Dataset一个目标物体的特写图像 S c S_c Sc​(也就是support image);
    另外有一个需要检测的图像 Q c Q_c Qc​(也就是query image),图像包含了support image中的目标物体c;
    **task:给定一个sup

1.绪论

现实世界中物体的光照、纹理、形状差别非常大,给小样本学习任务带来巨大的挑战;近年来在小样本学习中取得重要进展的论文都集中在image classification任务,少有触及object detection任务的,最主要的可能性应该是:从小样本(图像)分类转移到小样本目标识别是一个不简单、不平凡的任务。

作者提到在image classification任务取得重要进展的几篇论文:

  • [1] Jake Snell, Kevin Swersky, and Richard Zemel. Prototypical networks for few-shot learning. In NeurIPS, 2017.
  • [2] Sachin Ravi and Hugo Larochelle. Optimization as a model for few-shot learning. In ICLR, 2017.
  • [3] Adam Santoro, Sergey Bartunov, Matthew Botvinick, Daan Wierstra, and Timothy Lillicrap. Meta-learning with memory-augmented neural networks. In ICML, 2016.
  • [4] Oriol Vinyals, Charles Blundell, Tim Lillicrap, Daan Wier- stra, et al. Matching networks for one shot learning. In NeurIPS, 2016.
  • [5] Chelsea Finn, Pieter Abbeel, and Sergey Levine. Model- agnostic meta-learning for fast adaptation of deep networks. In ICML, 2017.
  • [6] Qi Cai, Yingwei Pan, Ting Yao, Chenggang Yan, and Tao Mei. Memory matching networks for one-shot image recognition. In CVPR, 2018.
  • [7] Spyros Gidaris and Nikos Komodakis. Dynamic few-shot visual learning without forgetting. In CVPR, 2018.
  • [8] Flood Sung Yongxin Yang, Li Zhang, Tao Xiang, Philip HS Torr, and Timothy M Hospedales. Learning to compare: Relation network for few-shot learning. In CVPR, 2018.

小样本目标识别的主要挑战是:如何在杂乱的环境中,定位未曾遇到的物体。事后看来这是一个只有少量标签的新类别目标定位问题。

在这里插入图片描述
作者的目的:对于一张带有support images(左上角的自行车,右上角的头盔)的图片,support images都属于新的目标类别,检测出测试集中所有属于新目标类别的前景物体。

2. 有关研究

2.1 General Object Detection

早期传统方法利用人工设计的特征进行检测;近年来基于CNN的Object Detection方法可以分为:proposal-free detectors(YOLO,YOLO9000,SSD,RetinaNet等)和proposal-based detectors(R-CNN家族)。利用了RPN的检测网络通常比那些没有利用的网络表现得好一些。但目前这些模型都是在很强的“监督”下工作的,在仅有几个样本的情况下很难拓展到新类别中。

2.2 Few-shot learning

小样本学习对于传统的机器学习算法是很艰难的。早期的研究着眼于学习具有共性的、能跨类别的特征,比如人工设计的strokes或parts。有些研究着眼于对人工设计的不同类别之间的距离公式的度量进行学习。更近的趋势在于设计一个agent或者策略以对各个任务进行“监督”学习。——这个研究方向称为元学习,在这个领域中,孪生神经网络siamese network利用匹配(matching)的策略捕捉support(也就是学习样本)与query(测试样本)之间的内在变化,对于物品的类别不关心。
在利用matching这一思想的范畴中,随后的研究有

  • 着眼于增强特征嵌入的,一个子方向是建立一个记忆模块以捕捉各个学习样本之间的全局语义关系;
  • 利用局部描述子来从小样本中获取额外知识的;
  • 利用图网络建立不同类别之间的关系的;
  • 在小样本集合中反复横跳让在高维空间中的metric learning更有效;
  • 其他的致力于学习一个general agent来进行参数优化的。

作者的研究是基于该论文:
Gregory Koch, Richard Zemel, and Ruslan Salakhutdinov. Siamese neural networks for one-shot image recognition. In ICML Workshop, 2015.

Our work is motivated by the research line pioneered by the matching network. We propose a general few-shot object detection network that learns the matching metric between image pairs based on the Faster R-CNN framework equipped with our novel attention RPN and multi-relation detector trained using our contrastive training strategy.

概况:基于Faster R-CNN的框架上新增了

  • attention RPN
  • multi-relation detector(trained using our contrastive training strategy)

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

Next, we follow the few-shot learning setting to split our data into training set and test set without overlapping categories.

Challenging setting: Our dataset contains objects with large variance on box size and aspect ratios, consisting of 26.5% images with no less than three objects in the test set.
Our test set contains a large number of boxes of categories not included in our label system, thus presenting great challenges for a few-shot model.
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4. Methodology

4.1 问题定义

  • 已有一个目标物体的特写图像 S c S_c Sc(也就是support image);
  • 另外有一个需要检测的图像 Q c Q_c Qc(也就是query image),图像包含了support image中的目标物体c;
  • **task:给定一个support image,找出query image中所有的目标,并且对所有检测出来的目标打上标签;**如果support set有N类,每一类有K个examples,这个问题就是N-way K-shot detection;

4.2 Attention-Based Region Proposal Network

weight-shared framework包括两种分支,分别用来处理query set和support set,可以有多个处理support set的分支;处理query set的分支是Faster R-CNN网络(带有RPN和detector);
在这里插入图片描述

4.2.1 Attention-Based Region Proposal Network

RPN网络用于产生与(所有)物体相关的bounding box(用于后面的detection),在有support image的情况下,RPN可以产生和support image相关的bounding box,而不是漫无目的地生成很多bounding box。为了引导RPN生成与support image中的物体类别相关的bounding box,并忽略其他类别的物体,作者提出了attention RPN:(让RPN的attention 集中在support image中的类别)

  • support feature map:由support image经过卷积得到,随后support feature经过平均池化,大小为 X ∈ t S × S × C X∈t^{S × S× C} XtS×S×C(在本文的情况中作者发现S=1模型的表现较好);
  • query feature map:由query image经过卷积得到,作者取的是ResNet50比较靠前的层res4_6的输出,大小为 Y ∈ t H × W × C Y∈t^{H × W× C} YtH×W×C
  • 相似性(similarity)的定义为: G h , w , c = ∑ i , j X i , j , c ⋅ Y h + i − 1 , w + j − 1 , 其 中 i , j ∈ { 1 , . . . , S } G_{h,w,c}=\sum\limits_{i,j}X_{i,j,c}·Y_{h+i-1,w+j-1}, 其中i,j∈ \{1, ..., S\} Gh,w,c=i,jXi,j,cYh+i1,w+j1,i,j{1,...,S}
    得到的G就是attention feature map,随后输入到RPN网络中进行下一步(RPN带有objectiveness classification layer以及box regression layer)。
    在这里插入图片描述

4.2.2 Multi-Relation Detector

在经典的R-CNN系列网络中,RPN网络模块后面通常接一个detector,detector的角色是对RPN网络生成的bounding box打分并识别box框中的类别。因此detector需要具有很强的区分各个类别的能力,作者提出了以下这个Multi-Relation Detector具有三个组成部分:

  • global-relation head
  • local-correlation head
  • patch-relation head
    在这里插入图片描述

4.3 Two-way Contrastive Training Strategy

5 实验

5.1 Training Details

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2020论文阅读:Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector 的相关文章

  • 如何获取Python对象父级?

    所以 我试图获取自定义对象 内部 的对象 这是一个例子 假设 o 是一个对象 无论是什么类型 它都可以存储变量 o Object class Test def init self self parent o This is where I
  • Objects.deepToString(Object o) 方法

    班上java util Objects包含deepEquals Object a Object b 可用于比较任何类型的对象 包括数组和空引用 的方法 但不包含类似的方法deepToString Object o 这令人失望 顺便说一下 这
  • Java 中序列化的目的是什么?

    我读过很多关于序列化的文章 以及它如何如此美好和伟大 但没有一个论点足够令人信服 我想知道是否有人能真正告诉我通过序列化一个类我们真正可以实现什么 让我们先定义序列化 然后我们才能讨论它为什么如此有用 序列化只是将现有对象转换为字节数组 该
  • 如何使用 new 干净地初始化 Ruby 中的属性?

    class Foo attr accessor name age email gender height def initalize params name params name age params age email params e
  • 使用 Object.create(null) 创建空对象的影响和好处

    首先 我做了一个快速的 jsperf 测试用例来展示显而易见的内容 Object create null 比使用创建对象慢得多 syntax http jsperf com js object creation null proto htt
  • ASP.NET MVC:如何将多个对象传输到 View 方法?

    我完成了 NerdDinner 教程 现在我正在玩一些项目 索引页显示所有即将举行的晚餐 public ActionResult Index var dinners dinnerRepository FindUpComingDinners
  • Excel 对象库文件在哪里

    我正在寻找 Excel 对象库文件以将其导入 LabVIEW 我安装了 MS Office 2013 可以找到 MSACC olb MSOUTL olb MSPPT olb 和 MSWORD olb 但无法确定要导入哪个文件 olb 或 d
  • empty() 在对象的非空属性上返回 TRUE

    我遇到了一个非常奇怪且意想不到的问题 empty 正在返回TRUE由于我不知道的原因 在一处非空的房产上 class MyObject private property public function construct property
  • C#中如何将委托转换为对象?

    我正在使用反射类来调用其他 dll 上的一些方法 方法的参数之一是委托类型 我想通过使用反射来调用这个方法 所以我需要将函数参数作为对象数组传递 但我找不到任何关于 如何将委托转换为对象 提前致谢 委托是一个对象 只需像平常一样创建预期的委
  • JavaScript 中的字符串基元和字符串对象有什么区别?

    取自 字符串文字 用双引号或单引号表示 和字符串 从非构造函数上下文中的 String 调用返回 即 没有 使用 new 关键字 是原始字符串 自动 JavaScript 将基元转换为 String 对象 以便可以使用 原始字符串的字符串对
  • 如何在 C++ 中使用 for 循环创建多个对象?

    我正在尝试使用 for 循环创建多个对象 因为最终我希望该程序根据我的输入创建不同数量的类 我尝试使用之前的答案来写这个question https stackoverflow com questions 5226352 declare a
  • Typescript 继承:扩展基类对象属性

    当扩展一个类时 我可以轻松地向它添加一些新属性 但是 如果当我扩展基类时 我想向基类的对象 简单对象的属性 添加新属性怎么办 这是一个带有一些代码的示例 基类 type HumanOptions alive boolean age numb
  • 当我尝试在 PHP 中访问类变量时,类变量为 null

    好吧 这是我的主要代码 require checkpassword php require mysqllogininfo php Validate password if validatePassword GET password retu
  • 按值数组过滤对象数组中的嵌套数组

    考虑以下对象数组 guid j5Dc9Z courses id 1 name foo guid a5gdfS courses id 2 name bar
  • 将文本文件扫描到对象数组中

    我有一个逗号分隔的文本文件 其信 息格式如下 名字 姓氏 餐1 餐2 餐3 餐4 每个新学生都在新的一行 我有以下学生对象 public class Student private String first null private Str
  • 理解“窗口”对象[重复]

    这个问题在这里已经有答案了 可能的重复 JS 窗口全局对象 https stackoverflow com questions 10035771 js window global object 如何window对象工作 我知道它是顶级对象并
  • 在Python中将字典转换为以键作为对象名称的对象

    我有一本这样的字典 d item1 Hi 150 495 item2 Hola 590 40 我想将其转换为对象 如果可能的话递归地 我有一堂课 class Item def init self thetuple self greeting
  • Opencv C++ 检测并裁剪图像上的白色区域

    我在网上搜索过 已经找到了一些方法来完成我想要的事情 但是与我需要的相比 这些方法的效率较低 我有一个 kinect 使用 Microsoft SDK 当前正在获取一个移除背景的人 将结果保存在 3 通道 Mat 中 并将该人从背景中移除
  • R:将 readRDS 应用于 .Rds 文件名的列表对象

    我有几个包含数据帧对象的 Rds 文件 我想对每个文件应用一个函数并将数据帧绑定到单个数据帧中 但是 当我尝试从文件名列表中读取多个 Rds 文件时 我收到错误 FUN X i 中的错误 从连接读取时出错 readRDS 不适用于列表吗 R
  • JavaScript:预期的赋值或函数调用,却看到了一个表达式

    我正在使用 JSHint 来确保我的 JavaScript 是 严格的 但我收到以下错误 预期是赋值或函数调用 但看到的是表达式 关于以下代码 var str A B C D var data var strArr str split fo

随机推荐

  • FGSM(Fast Gradient Sign Method)_学习笔记+代码实现

    前言 本篇博客出于学习交流目的 xff0c 主要是用来记录自己学习中遇到的问题和心路历程 xff0c 方便之后回顾 过程中可能引用其他大牛的博客 xff0c 文末会给出相应链接 xff0c 侵删 xff01 FGSM xff08 Fast
  • DeepFool对抗算法_学习笔记

    前言 本篇博客出于学习交流目的 xff0c 主要是用来记录自己学习中遇到的问题和心路历程 xff0c 方便之后回顾 过程中可能引用其他大牛的博客 xff0c 文末会给出相应链接 xff0c 侵删 xff01 DeepFool算法 特点 xf
  • 对抗样本黑箱攻击UPSET、ANGRI_学习笔记

    前言 本篇博客出于学习交流目的 xff0c 主要是用来记录自己学习中遇到的问题和心路历程 xff0c 方便之后回顾 过程中可能引用其他大牛的博客 xff0c 文末会给出相应链接 xff0c 侵删 xff01 DeepFool算法 特点 xf
  • One pixel 对抗攻击_学习笔记

    前言 本篇博客出于学习交流目的 xff0c 主要是用来记录自己学习中遇到的问题和心路历程 xff0c 方便之后回顾 过程中可能引用其他大牛的博客 xff0c 文末会给出相应链接 xff0c 侵删 xff01 One pixel 对抗攻击算法
  • 对抗样本可转移性与黑盒攻击_学习笔记

    前言 本篇博客出于学习交流目的 xff0c 主要是用来记录自己学习中遇到的问题和心路历程 xff0c 方便之后回顾 过程中可能引用其他大牛的博客 xff0c 文末会给出相应链接 xff0c 侵删 xff01 对抗样本可转移性与黑盒攻击深入研
  • VNC安装记录

    又是一次痛苦的安装过程 xff0c 记录一下避免再次踩坑 sudo apt get install tightvncserver 我安装的是tightvncserver 这个版本 xff0c 网上也有很多是vnc4server xff0c
  • ubuntu升级python版本

    Ubuntu16 04默认安装了Python2 7和3 5 请注意 xff0c 系统自带的python千万不能卸载 xff01 输入命令python 按Ctrl 43 D退出python命令行 输入命令sudo add apt reposi
  • Python microseconds 显示问题,及毫秒显示方法

    系统环境Ubuntu14 04 Python3 5 问题由来 xff1a 优化程序函数运行时间 xff0c 由于输入数据量比较大 xff0c 所以恰好且与1秒左右 xff0c 之前数据量小的数据集测试时用微秒 xff08 microseco
  • 关于ssh: connect to host XXX port 22: Connection timed out的解决办法

    今天想试着建立一个ss xff0c 结果犯了很多人在这里都会出现的错误 xff0c SSH连接不上 下面展现了笔者解决这个问题的流程 一 xff1a 查看master和data1 3的IP地址 当直接对data1 data2 data3进行
  • Matlab 应用GPU加速

    由于GPU近几年地迅速发展 xff0c GPU在多线程计算等方面逐渐超越CPU成为计算的主力军 而Matlab是常用的数学应用软件 xff0c 现在讲解一下如何在Matlab中使用GPU加速计算 文章目录 0 必要条件1 给GPU传输数据1
  • crt + xManager 远程打开linux 图形界面

    因为想要使用eclipse所以看了一下如何远程显示图形界面 1 安装eclipse c 43 43 xff1a sudo apt get install eclipse sudo apt get install eclipse cdt 2
  • keras.layers.upsampling2d

    span class token keyword from span keras span class token punctuation span layers span class token keyword import span U
  • (二)MapReduce整体流程

    1 MapReduce工作流程 1 MapReduce核心思想 图6 xff1a 采用 分而治之 思想 xff0c 将大数据集拆分到多个小数据块 xff0c 再转到多台机器上并行处理 总的来说Map任务独立执行被分割的数据 xff0c Re
  • 在 Linux 系统下使用badblocks检测硬盘上的坏道和坏块

    让我们从坏道和坏块的定义开始说起 xff0c 它们是一块磁盘或闪存上不再能够被读写的部分 xff0c 一般是由于磁盘表面特定的物理损坏或闪存晶体管失效导致的 随着坏道的继续积累 xff0c 它们会对你的磁盘或闪存容量产生令人不快或破坏性的影
  • 【已解决】NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 的报错

    问题描述 基于ubuntu16 04 xff0c 本人在更换一次系统下载源后 xff0c 误操作进行了内核升级 执行以下查看cuda命令 xff1a nvidia smi 出现如下提示 xff1a NVIDIA SMI has failed
  • python在图片上画矩形

    python在图片上画矩形 image path 61 39 39 image 61 cv2 imread image path first point 61 100 100 last point 61 100 100 cv2 rectan
  • Java中的线程池(3)----SingleThreadExecutor

    本文简单介绍Java中的另一种线程池 SingleThreadExecutor 创建SingleThreadExecutor的静态方法 首先还是先看一下创建SingleThreadExecutor的Executors下的静态方法 xff1a
  • ros运行catkin_make报警:No module named em......

    ros运行catkin make报警 xff1a No module named em 问题描述我的解决方法待续参考链接 问题描述 在跟着ros教程学习 创建ros消息和ros服务 http wiki ros org cn ROS Tuto
  • 2019论文阅读:SIMCO: SIMILARITY-BASED OBJECT COUNTING

    发表于CVPR2019 文章目录 文章贡献1 绪论2 SIMCO的两个阶段2 1 SIMCO detectionInShape数据集网络结构 xff1a 2 2 SIMCO clustering 3 实验及结果4 总结 文章贡献 提出了SI
  • 2020论文阅读:Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector

    文章目录 文章贡献1 绪论2 有关研究2 1 General Object Detection2 2 Few shot learning 3 FSOD A Highly Diverse Few Shot Object Detection D