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. B - 抽屉 POJ - 2356 (容斥原理)

    The input contains N natural (i.e. positive integer) numbers ( N <= 10000 ). Each of that numbers ...

  2. 官宣 MAUI 在.NET Preview 3的最新进展

    我们在.NET 6 Preview 3中交付了.NET多平台应用UI的移动和桌面开发的最新进展.此版本添加了Windows平台和WinUI 3,改进了基本应用程序和启动构建器,添加了原生生命周期事件, ...

  3. Python中的socket网络模块

    目录 Socket 服务端(server.py) 客户端(client.py) socket中的一些常用方法 Socket 对象(内建)方法 Python Internet 模块 Python3 提供 ...

  4. AsSystemRum 系统提权工具 实现思路及其源码

    名字:     AsSystemRun 功能:     用system权限启动一个进程. 开发语言:   C++,C# 作者:     Ack-Code 开发时间: 2016.9.15 实现原理: w ...

  5. php isset()与empty()的使用

    PHP isset函数作用 isset函数是检测变量是否设置. 格式:bool isset( mixed var [, mixed var [, ...]] ) 返回值: 若变量不存在则返回FALSE ...

  6. 学习Canvas绘图与动画基础 canvas入门(一)

    一.创建canvas 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta char ...

  7. Linux安装Redis报错`cc:命令未找到`

    缺少gcc和gcc-c++的编译环境,安装即可. 可以联网情况下使用命令 yum install gcc yum install gcc-c++ 然后清理原来的残余文件 make distclean ...

  8. selenium之利用cookie绕过验证登录

    方法一 第一步 2.第二步 方法二.重点:1.打开验证码页(登录页面):2.首次登录等待三十秒手工输入账密:3.保存cookie至excel后利用cookie脚本登录 1.导入第三方模块xlwt 2. ...

  9. MySQL5.7升级到8.0过程详解

    前言: 不知不觉,MySQL8.0已经发布好多个GA小版本了.目前互联网上也有很多关于MySQL8.0的内容了,MySQL8.0版本基本已到稳定期,相信很多小伙伴已经在接触8.0了.本篇文章主要介绍从 ...

  10. 前端实操案例丨如何实现JS向Vue传值

    摘要:项目开发过程中,组件通过render()函数渲染生成,并在组件内部定义了自定义拖拽指令.自定义拖拽指令规定了根据用户可以进行元素拖拽.缩放等一系列逻辑处理的动作. 本文分享自华为云社区<[ ...