目标检测论文解读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的算法,即通过回归算法直接从原图得到预测结果,为 ...
随机推荐
- 5-ESP8266 SDK开发基础入门篇--了解一下操作系统
对于操作系统不知道有没有害怕接触的... 先说一下操作系统是什么意思,其实咱的电脑就运行了操作系统,手机,等等... 操作系统和任务分不开,所谓任务就是一个一个的执行各个功能的函数,,,操作系统呢就是 ...
- requests--重定向,序列化
重定向 默认情况下,除了 HEAD, Requests 会自动处理所有重定向.可以使用响应对象的 history 方法来追踪重定向. Response.history 是一个 Response 对象的 ...
- H5 + 3D + AR/VR 综述
近年来,H5,3D,AR,VR逐步进入人们的视野,H5生动活泼,3D注重视觉效果,AR打造虚实结合,VR则更加注重虚拟现实的产生. 第一部分,案例展示: H5+VR案例: 故事<不要惊慌,没有辐 ...
- Linux性能优化实战学习笔记:第三十八讲
一.上节回顾 上一节,我们学习了 DNS 性能问题的分析和优化方法.简单回顾一下,DNS 可以提供域名和 IP 地址的映射关系,也是一种常用的全局负载均衡(GSLB)实现方法. 通常,需要暴露到公网的 ...
- 微信小程序开发注意事项
1.小程序方法是异步的,开发过程要注意此点,避免在需要同步执行过程中的错误,尤其是在app.js处理登入的时候要特别注意. 2.小程序api.组件依赖微信的版本,注意版本的兼容,可以通过版本判断当前的 ...
- 团队作业第五次—项目冲刺-Day7
Day7 part1-SCRUM: 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺集合 团队名称 hunte ...
- mysql的varchar和oracle的varchar2、nvarchar2
mysql的varchar长度表示字符长度,一个汉字和一个英文字母的长度都是1 实例:下面name字段定义为varchar(10),可存10个汉字和10个字母 oracle的varchar2长度表示的 ...
- CF 715 E. Complete the Permutations
CF 715 E. Complete the Permutations 题目大意:给定两个排列\(p,q\)的一部分.定义两个排列\(p,q\)的距离为使用最少的交换次数使得\(p_i=q_i\).对 ...
- yarn安装node-sass失败问题
注:使用 yarn install 命令安装依赖时报错 第一步:更改镜像源 yarn config set registry https://registry.npm.taobao.org -g 第二 ...
- PHP中直接使用sql语句
SELECT * FROM `tf_user` WHERE (`company_id` = '117' OR `other_company_ids` LIKE '%117,%' OR `other_c ...