背景

  Fast R-CNN中的region proposal阶段所采用的SS算法成为了检测网络的速度瓶颈,本文是在Fast R-CNN基础上采用RPN(Region Proposal Networks)代替SS。

方法

  

  从图中我们可以看到,RPN的输入为最后一个Conv层输出的feature map,输出为一系列ROI,后面的过程就跟Fast R-CNN一样了。

  所以在这里我们只需要了解RPN是如何工作的。

   

  论文里有这样一张图,讲解了RPN的过程(注意后面的k不是千,而是代表每个特征点要预测的anchors个数)。但我觉得可能很多人看到这张图都难以理解,本人也是结合模型的网络结构才理解的,所以我在这里更通俗地解释一下。

  

  论文上的图有点抽象,屏蔽了很多细节部分,初学者看的话可能会似懂非懂,从网络结构上看的话那么RPN的原理就非常清晰了。

  假设每个点预测9个Anchor,即k=9

  (1)首先,原图片经过一系列卷积,会得到一个feature map,即左下角的256*h*w的FM,作为ROI pooling和RPN的输入;

  (2)RPN网络中,256*h*w的FM,先经过256*3*3 Conv+Relu,得到一个新的256*h*w的FM(注意:这里pad=1,所以h和w不变),这个步骤对应论文图中的3*3的sliding window;

  (3)新的256*h*w的FM经两个分支,一个是18*1*1 Conv,代表前背景分类分支,输出一个18*h*w的FM,用来预测特征图的每个点所对应的Anchors是为前景还是背景;

  (4)另一个是36*1*1 Conv,代表坐标回归分支,输出一个36*h*w的FM,用来预测特征图的每个点所对应的9个Anchors坐标需要调整的大小;

  (5)把上面两种预测综合一下,就能得到预测的候选框了,后面的步骤就跟Fast R-CNN一样了。

总结

  Faster R-CNN = RPN + Fast R-CNN

目标检测论文解读4——Faster R-CNN的更多相关文章

  1. AAAI2019 | 基于区域分解集成的目标检测 论文解读

    Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...

  2. 目标检测论文解读3——Fast R-CNN

    背景 deep ConvNet兴起,VGG16应用在图像分类任务上表现良好,本文用VGG16来解决检测任务.SPP NET存在CNN层不能fine tuning的缺点,且之前的方法训练都是分为多个阶段 ...

  3. 目标检测论文解读5——YOLO v1

    背景 之前热门的目标检测方法都是two stage的,即分为region proposal和classification两个阶段,本文是对one stage方法的初次探索. 方法 首先看一下模型的网络 ...

  4. 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation

    背景 在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%).由此,ConvNet的潜力受到广泛认可,一炮而红 ...

  5. 目标检测论文解读10——DSSD

    背景 SSD算法在检测小目标时精度并不高,本文是在在SSD的基础上做出一些改进,引入卷积层,能综合上下文信息,提高模型性能. 理解 Q1:DSSD和SSD的区别有哪些? (1)SSD是一层一层下采样, ...

  6. 目标检测论文解读13——FPN

    引言 对于小目标通常需要用到多尺度检测,作者提出的FPN是一种快速且效果好的多尺度检测方法. 方法 a,b,c是之前的方法,其中a,c用到了多尺度检测的思想,但他们都存在明显的缺点. a方法:把每图片 ...

  7. 目标检测论文解读12——RetinaNet

    引言 这篇论文深刻分析了one-stage的模型精度比two-stage更差的原因,并提出Focal Loss提高精度. 思路 在论文中,作者指出,造成one-stage模型精度差的原因主要是:正负样 ...

  8. 目标检测论文解读9——R-FCN

    背景 基于ResNet 101的Faster RCNN速度很慢,本文通过提出Position-sensitive score maps(位置敏感分值图)来给模型加速. 方法 首先分析一下,为什么基于R ...

  9. 目标检测论文解读6——SSD

    背景 R-CNN系列算法检测速度不够快,YOLO v1检测准确率较低,而且无法检测到密集目标. 方法 SSD算法跟YOLO类似,都属于one stage的算法,即通过回归算法直接从原图得到预测结果,为 ...

随机推荐

  1. Redis Zrevrank 命令

    Redis Zrevrank 命令返回有序集中成员的排名.其中有序集成员按分数值递减(从大到小)排序. 排名以 0 为底,也就是说, 分数值最大的成员排名为 0 . 使用 ZRANK 命令可以获得成员 ...

  2. 【BigData】Java基础_switch语句

    语法 switch(表达式) { case x: // 代码块 break; case y: // 代码块 break; default: // 代码块 } switch语句是这样工作的: switc ...

  3. 编译udf小软件(附视频教程)

    小软件下载地址(不仅支持Visual Studio并且打包gcc,解压即可编译): https://pan.baidu.com/s/1XPfjfY8DC2KKS8gj1KhutQ 提取码: 6kju ...

  4. Maven 教程(3)— Maven仓库介绍与本地仓库配置

    原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79537837 1.Maven本地仓库/远程仓库的基本介绍 本地仓库是指存在于我们 ...

  5. win7下每次打开Excel2007都提示向程序发送命令时出现问题的解决方案

    每次打开Excel2007都提示向程序发送命令时出现问题,要打开两次才可以打开,下面介绍该问题的解决办法. 第一种情况:也就是屏蔽DDE的解决方案,这是大多数人都是这种情况,该情况的解决办法: exc ...

  6. Python 3.X 练习集100题 03

    一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? import math for i in range(10000): n1 = math.sqrt( ...

  7. python 关于celery的异步任务队列的基本使用(celery+redis)【采用配置文件设置】

    工程结构说明:源文件下载请访问https://i.cnblogs.com/Files.aspx __init__.py:实例化celery,并加载配置模块 celeryconfig.py:配置模块 t ...

  8. CSS3移动端vw+rem不依赖JS实现响应式布局

    1.前言 (1)vw/vh介绍 在使用之前,我们先简单了解一下什么是vw和rem以及它们的作用,vw是css3出现的一个新单位,它是"view width"缩写,定义为把当前屏幕分 ...

  9. ASP.NET Core的无状态身份认证框架IdentityServer4

    Identity Server 4是IdentityServer的最新版本,它是流行的OpenID Connect和OAuth Framework for .NET,为ASP.NET Core和.NE ...

  10. c语言错题本

    ()malloc(sizeof()) 在stdlib.h包中