CVPR2020 论文解读:具有注意RPN和多关系检测器的少点目标检测

Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector

具有注意RPN和多关系检测器的少点目标检测

目标检测的惯用方法需要大量的训练数据,准备这样高质量的训练数据很费精力的。本文中,提出一种新的少点目标检测网络,只用几个带注释的示例的看不见的类来检测目标。集中到新方法的核心是,注意力RPN,多相关检测器,以及对比训练策略,探索少点支持集和查询集之间的相似性,检测新目标同时抑制背景中的错误检测。

训练网络,提供新数据集,它包含1000类不同的目标,附加高质量的注释信息。众所周知,这是为少点目标检测最好的特定数据集之一。当少点网络训练后,不需要进一步训练和优化,就可以检测看不接见的类。这种方法是通用的,具有广泛的应用潜力。提供少点数据集中新的不同数据集上艺术状态性能。

解决什么问题

少量support的情况,检测全部的属于target目标范畴的前景

本文创新点\贡献

1.       没有反复训练和fine-tune的情况检测新物体,探索物体对的联系。可以在线检测,在proposal前面使用attention模块很有用,联系模块能过滤

2.       大量的数据集,1000个类,每个类只有少量样本,实验表明用这个数据集能达到的效果更好

本文IDEA来源

问题在于新的类别不错的框的分数低

方法

方法概述

在RPN前加一个attention,在检测器之前加了3个attention,然后还是用到了负support训练。

问题定义

给定带有target物体特写的support图片​,包含support中类别物体的query图片​,support中包含K类物体,每类N个样本,所以就是

检测。

Deep Attentioned Few-Shot Detection

权重共享的框架由多个分支组成,分别为support和query服务,support根据输入有多个分支,图片只显示了一个。

query分支是一个FasterRCNN网络,包含RPN和检测器。

利用这个框架来学习support和query之间的匹配关系,更好的学习同类之间的一般知识。

以这个框架为基础,提出了attention RPN,还有多联系检测。

Attention-Based Region Proposal Network

没有support,RPN就没有目标,后面的子分类就搞不清楚这么多的不相关目标。

使用support信息就能过滤掉大部分的背景框,还有那些不是匹配的类别

通过在RPN中用attention机制来引入support信息,来对其他类的proposal进行压制

通过逐深度的方法计算二者特征值的相似性,相似性用来生成proposal

support的特征是

,query的特征是

,相似度定义如下:

其中G是attention特征图,X作为一个卷积核在query的特征图上滑动,以一种逐深度(取平均)的方式。

使用的是RPN的底部特征,ResNet50的res4-6,发现设置S=1表现很好,这说明全局特征能提供一个好的先验

G用3×3的卷积处理,然后接分类和回归层。

Multi-Relation Detector

还是测量相似性的,在query和support的bbox之间,包含三个attention:

global-relation head:学习全局匹配的深度嵌入

local-correlation head:学习support和query的proposal之间的逐像素和逐深度对应

patch-relation head:学习匹配的深度非线性度量

三个head的分析:

第三个patch 并不理想,这个头的模型更复杂,但作者也觉得复杂的联系是难学习的

但是三个一起用效果最好,说明之间还是能相互补充的

Two-way Contrastive Training Strategy

不仅匹配而且区分

训练组

,其中

,是跟query不同的类,训练的时候只有c被标记为前景

背景的proposal很多,所以平衡在query和support中三个不同匹配的比例,保持

前景proposal 和 负[ 图中(2) ]:

背景proposal 和 正

[ 图中(1) ]:

proposal(前或后) 和 负

= 1:2:1

根据匹配的分数选全部的

,选前

,前

根据第一队确定总个数,后面按分数来,什么样的分数?

错误的根据最不匹配分数?

为什么没有proposal(前或后)和positive support pairs

的?

因为这里是算不同吗?

对于每个采样的proposa计算推荐:

​和Faster RCNN一样,

​用的二值化交叉熵

选择训练策略

RPN的选择

和0.5IoU的取前100的RPN对比。表里也显示RPN attention确实有效

CVPR2020 论文解读:少点目标检测的更多相关文章

  1. CVPR2020论文解读:3D Object Detection三维目标检测

    CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...

  2. CVPR2020论文解读:CNN合成的图片鉴别

    CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot... for now> 论文链接:h ...

  3. CVPR2020论文解读:三维语义分割3D Semantic Segmentation

    CVPR2020论文解读:三维语义分割3D Semantic Segmentation xMUDA: Cross-Modal Unsupervised Domain Adaptation  for 3 ...

  4. 图像分类:CVPR2020论文解读

    图像分类:CVPR2020论文解读 Towards Robust Image Classification Using Sequential Attention Models 论文链接:https:// ...

  5. CVPR2020论文解读:OCR场景文本识别

    CVPR2020论文解读:OCR场景文本识别 ABCNet:  Real-time Scene Text Spotting with Adaptive Bezier-Curve Network∗ 论文 ...

  6. CVPR2020论文解读:手绘草图卷积网络语义分割

    CVPR2020论文解读:手绘草图卷积网络语义分割 Sketch GCN: Semantic Sketch Segmentation with Graph Convolutional Networks ...

  7. 【论文解读】[目标检测]retinanet

    作为单阶段网络,retinanet兼具速度和精度(精度是没问题,速度我持疑问),是非常耐用的一个检测器,现在很多单阶段检测器也是以retinanet为baseline,进行各种改进,足见retinan ...

  8. 【论文解读】行人检测:What Can Help Pedestrian Detection?(CVPR'17)

    前言 本篇文章出自CVPR2017,四名作者为Tsinghua University,Peking University, 外加两名来自Megvii(旷视科技)的大佬. 文章中对能够帮助行人检测的ex ...

  9. CVPR2020行人重识别算法论文解读

    CVPR2020行人重识别算法论文解读 Cross-modalityPersonre-identificationwithShared-SpecificFeatureTransfer 具有特定共享特征变换 ...

随机推荐

  1. liunx从0开始部署vue+spring boot项目(包含:安装jdk、mysql、nginx)

    单纯记录,若有不合理不规范的地方请忽略. 0.配置JDK 0.下载liunx的jdk解压到/usr/local目录下. tar -xzvf jdk-8u291-linux-x64.tar.gz -C ...

  2. 路由器逆向分析------Running Debian MIPS Linux in QEMU

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70176583 下面的文章内容主要参考英文博客<Running Debian ...

  3. hdu5253最小生成树

    题意:(中文题,直接粘过来吧)                                                                              连接的管道   ...

  4. UVA11549计算器谜题

    题意:        有一个计算机只能保留数字的前n位,你有一个数字k(k<=9),反复平方后在计算机上显示的最大数字是多少. 思路:       显然这个题目是有循环节的,为什么有循环节?首先 ...

  5. 【JavaScript】【dp】Leetcode每日一题-解码方法

    [JavaScript]Leetcode每日一题-解码方法 [题目描述] 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -& ...

  6. Java常用类详解

    目录 1. String类 1.1 String的特性 1.2 String字面量赋值的内存理解 1.3 String new方式赋值的内存理解 1.4 String 拼接字面量和变量的方式赋值 1. ...

  7. 浅入浅出 MySQL 索引

    简单了解索引 首先,索引(Index)是什么?如果我直接告诉你索引是数据库管理系统中的一个有序的数据结构,你可能会有点懵逼. 为了避免这种情况,我打算举几个例子来帮助你更容易的认识索引. 我们查询字典 ...

  8. Jmeter(一) - 从入门到精通 - 环境搭建(详解教程)

    1.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...

  9. 神奇的不可见空格<200b>导致代码异常

    故事是这样发生的,在做一个JSON对象转化的时候,出现了转化异常:刚开始还是以为是格式错误,后来一步步排除,才发现是不可见空格<200b>导致的解析异常 出现 使用Typora编写文字时, ...

  10. JAVA基础——变量、常量

    变量 java中,变量时最基本的存储单元,其要素包括变量名,变量类型和作用域. 注意事项: 每个变量都有类型,类型可以是基本类型,也可以是引用类型. 变量名必须是合法的标识符 变量声明时一条完整的语句 ...