目标检测论文解读9——R-FCN
背景
基于ResNet 101的Faster RCNN速度很慢,本文通过提出Position-sensitive score maps(位置敏感分值图)来给模型加速。
方法

首先分析一下,为什么基于ResNet 101的Faster R-CNN很慢?
其实主要的原因是ROI Pooling层后面的Conv5无法共享计算,每一个RoI都要计算一次,一次检测RoI可能有几百个,计算量巨大。
我们已经知道Conv层的作用是提取特征,那为什么不跟把Conv5放到RoI Pooling前面,让RoI映射到Conv5输出的feature map呢?
这是因为Conv5会使feature map进一步压缩,w*h变小,feature map小了,位置敏感性显然会降低,从而检测的结果不准。
于是,作者提出了一种兼顾速度和准度的结构。
观察上面的模型,我们可以看到,在RoI pooling层后面用来提取特征的Conv层都放到前面了,所以共享了计算,速度加快。
同时,作者提出一种Position-sensitive score maps的方法来解决位置信息丢失,大致是这样的。
原图片经过一系列的Conv层,输出一个channel为k*k*(C+1)的feature map,k=3,代表一张图片的九宫格各位置,C为类别数。可以看到feature map的每一个点,都是k*k*(C+1)-d的feature vector,其中包含了这个点在某位置且为某类的得分信息。
RPN提出的RoI,映射到feature map中,也被分为k*k个bin。
接下来,进行一次Position-sensitive RoI pooling(位置敏感池化)操作。步骤如下:找到一个左上角的bin,然后找到他所对应的(C+1)-d的类别得分信息,可以对w*h的bin的类别信息进行平均池化,得到一个(C+1)的类别信息;其他8个位置也按照同样步骤。
经过这一步,就能得到一个k*k*(C+1)的feature map,再对k*k个(C+1)的vector平均一次(论文用的方法),得到(C+1)的vector,softmax返回一个概率最大的类别就行了。
总结
可以看到,之所以作者的方法之所以位置精度高,主要是因为他把问题从给一个RoI分类转变成了给一个RoI的九个位置分类,从而提高了位置敏感度。
目标检测论文解读9——R-FCN的更多相关文章
- AAAI2019 | 基于区域分解集成的目标检测 论文解读
Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...
- 目标检测论文解读5——YOLO v1
背景 之前热门的目标检测方法都是two stage的,即分为region proposal和classification两个阶段,本文是对one stage方法的初次探索. 方法 首先看一下模型的网络 ...
- 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation
背景 在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%).由此,ConvNet的潜力受到广泛认可,一炮而红 ...
- 目标检测论文解读10——DSSD
背景 SSD算法在检测小目标时精度并不高,本文是在在SSD的基础上做出一些改进,引入卷积层,能综合上下文信息,提高模型性能. 理解 Q1:DSSD和SSD的区别有哪些? (1)SSD是一层一层下采样, ...
- 目标检测论文解读13——FPN
引言 对于小目标通常需要用到多尺度检测,作者提出的FPN是一种快速且效果好的多尺度检测方法. 方法 a,b,c是之前的方法,其中a,c用到了多尺度检测的思想,但他们都存在明显的缺点. a方法:把每图片 ...
- 目标检测论文解读12——RetinaNet
引言 这篇论文深刻分析了one-stage的模型精度比two-stage更差的原因,并提出Focal Loss提高精度. 思路 在论文中,作者指出,造成one-stage模型精度差的原因主要是:正负样 ...
- 目标检测论文解读3——Fast R-CNN
背景 deep ConvNet兴起,VGG16应用在图像分类任务上表现良好,本文用VGG16来解决检测任务.SPP NET存在CNN层不能fine tuning的缺点,且之前的方法训练都是分为多个阶段 ...
- 目标检测论文解读11——Mask R-CNN
目的 让Faster R-CNN能做实例分割的任务. 方法 模型的结构图如下. 与Faster R-CNN相比,主要有两点变化. (1) 用RoI Align替代RoI Pool. 首先回顾一下RoI ...
- 目标检测论文解读6——SSD
背景 R-CNN系列算法检测速度不够快,YOLO v1检测准确率较低,而且无法检测到密集目标. 方法 SSD算法跟YOLO类似,都属于one stage的算法,即通过回归算法直接从原图得到预测结果,为 ...
随机推荐
- 不使用xftp上传/下载文件到linux
yum install lrzsz # 安装软件 window端上传到linux端: 1. window端先压缩需上传的文件 2. linux端运行命令rz 3. 在弹出的窗口选择压缩好的文件, ...
- 本地搭建WordPress (XAMPP环境)
1,XAMPP是一个流行的PHP开发环境,官网下载: https://www.apachefriends.org/zh_cn/index.html 然后安装. 官方介绍:XAMPP是最流行的PHP开发 ...
- portal项目启动问题
错误信息: Disconnected from the target VM, address: '127.0.0.1:58909', transport: 'socket' Process finis ...
- LayUI-Table-添加禁止选中
LayUI这几年比较流行,里面的Table组件也比较强大,但是前面的CheckBox没有禁止选中功能,今天就来试试,看看能不能给添加一个禁止选中功能. Fork LayUI源码 LayUI项目地址 C ...
- java登录点击验证码图片切换验证码无效
1.问题:我在写一个登录时需要添加一个验证码的功能,但是第一次可以生成验证码,但是点击的时候无法发起请求. 2.解决方案:在请求地址后面加一个时间戳,保证每次请求都不一样就可以了! window.on ...
- SQL Server ---------- 分离数据库 生成 .mdf文件
1.首先查看你要分离的数据库存储的位置 选中需要分离的数据数据库右击鼠标点击属性 要是记不住建议 复制一下 2.分离数据库 生成 .mdf 文件 右击 -----> 任务 -- ...
- arcgis js api 4.X 自定义工具按钮
// All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.a ...
- CyclicBarrier一组线程相互等待
/** * CyclicBarrier 一组线程相互等待 */ public class Beer { public static void main(String[] args) { final ; ...
- c、c++ char*和wchar*互相转换
1. 问题描述 编写程序时通常会面对一些不同的编码格式,如Unicode和multibytes.在有关字符串的处理时尤其重要,系统编程时通常会遇到很多这样的问题,例如把wchar*的字符串转换为cha ...
- 项目Gradle版本从4.4升级到4.6
一.背景 Gralde版本与AGP(Android Gradle Plugin)版本具有一定的对应关系,原因在于AGP实质上作为Gradle的插件,依赖于Gradle作为宿主.因此,不同的AGP版本需 ...