【目标检测 论文泛读】Fast R-CNN (一张表格对比 R-CNN SPP FRCN)
文章目录
- R-CNN和SPP模型回顾
- Fast R-CNN提出背景
- 作者提出的改进方法
- ROI池化
- Multi-task loss
- 截断的SVD
- Fast R-CNN整体结构
- 小总结
R-CNN系列推演:
- R-CNN 论文解读
- SSPnet 论文解读
- Fast R-CNN 论文解读
- Faster R-CNN 论文解读
- FPN 论文解读
- Mask R-CNN 论文解读
每一篇都是前一篇或者前几篇的改造版,所以按顺序看会比较好。
论文题目:Fast R-CNN
下载地址:https://arxiv.org/pdf/1504.08083.pdf
看这篇论文之前建议先过一下下面这两篇论文:
- R-CNN精读
- SPP泛读
这篇论文是在R-CNN以及SPP的基础上进行的改进,题目写的也非常直白, Fast R-CNN 更快的R-CNN,这篇论文的东西不是很多,精读R-CNN之后我觉得泛读一下这篇就可以了。
R-CNN和SPP模型回顾
SPP是R-CNN的改进版,这篇论文是基于R-CNN和SPP写的,所以先回顾一下这俩模型,完整的精读泛读可以看上面的连接,懒得看的直接看下面的表格,一目了然。
R-CNN | SPP |
---|---|
一张图片提取2000个候选框 ,并强制缩放到固定尺寸后送给CNN | 整张图片直接送给CNN |
CNN提取每个候选框的feature map | CNN得到整张图的feature map,通过SS得到候选区域与feature map直接映射得到特征向量 |
将CNN提取的feature map 送给SVM分类,送给BB回归进行定位修复 | 映射的特征向量给SSP,SSP输出固定大小的特征向量,再给 FC,再SVM+回归 |
Fast R-CNN提出背景
R-CNN有诸多缺点,比如训练速度慢,需要多阶段,重复计算等等。即使改进之后的SPP虽然不需要先提取2000个候选框了,也不需要固定输入大小了,但也没有办法逃脱多阶段的训练模式。
这两个模式都需要feature map,将其存储在磁盘上,并且都需要SVM+BB回归。
所以就有几个大问题待解决,训练速度的问题,存储空间占用的问题,目标识别过程慢的问题(R-CNN在GPU上要47秒)。
作者提出的改进方法
ROI池化
关于ROI:
region of interest,可以理解为特征图上的框,在Fast RCNN中, RoI是指Selective Search完成后得到的“候选框”在特征图上的映射,在Faster RCNN中,候选框是经过RPN产生的,然后再把各个“候选框”映射到特征图上,得到RoIs。
在之前的SPP和R-CNN论文中已经说过,全连接需要固定尺寸的输入,R-CNN的做法是直接强制变换输入图片尺寸固定为227 * 227。 SPP的做法是不强制变换输入尺寸,在CNN之后加入SPP金字塔池化结构,SPP可以输出固定尺寸的大小给FC。
作者在本文中提出使用ROI 池化做法代替SPP模块。
ROI 池化具体操作:
- 1.首先,RoI 池化层将接收卷积特征图作为输入;
- 2.针对每一个输入图像中的 RoI,在卷积特征图中得到映射区域;
- 3.将这个 RoI 进行区域分割为 H×W 的网格,以 7×7 为例,则将从 RoI 的-映射区域中划分出 49 个分割区域;
- 4.在每个区域中进行 max pooling 操作,即选出区域最大值;
- 5.提取 7×7 的 RoI 特征图。
在知乎上看到一个动图可以帮助理解:
每个 RoI 在输入时具有四个信息(r, c, h, w),其中 r 和 c 代表 RoI 方格区域左上角的顶点左边,用来表征位置坐标,h 和 w 则分别代表 RoI 区域方格的长度和宽度。
因此采用 RoI pooling 无论输入过程中 RoI 的大小,输出都是固定大小的feature map,同时加速了处理速度。
Multi-task loss
SSP正向传播需要处理整个ROI的感受野,这是非常低效的,作者提出了一种新的方法,可以在训练期间共享特征。
一个minibatch的R个RoI来源于N张图片,即从每张图片中采样R/N个RoIs,而来自同一张图片的RoI在前向和反向传播中可以贡献计算和内存,通常N=2,R=128,这样的训练方案通常要比从128张不同图片中采样快64倍,加快了速度还节约了内存。
另一个就是SPP中有多级的训练过程,就是单独训练SVM和BB的那一块,这里作者提出了整合的方法,就是将分类和回归放到一个网络里,他们共享loss。
Fast R-CNN将不再使用SVM作为分类器,而是直接用softmax。
softmax层用于分类,输出K+1维数组p,表示属于K类和背景的概率。
bbx层用于调整候选区域位置,输出4*K维数组t,表示分别属于K类时,应该平移缩放的参数。
截断的SVD
作者继续思考可以加速他模型的方法,在普通的分类任务里,就是CNN提取特征最后加全连接,基本上走一边全连接就行了,而在目标检测任务中,要处理很多候选框,就是上面提到的ROI,每一个候选框都得走一边全连接,在向前传播中很多的时间花费在了全连接层的计算上,进而提出了截断的SVD分解加速全连接层计算的策略。
关于SVD,就全是数学了,感兴趣的可以看一下,SVD原理详解。
Fast R-CNN整体结构
整合上面的思路提出了Fast R-CNN模型图:
抽象之后的流程图:
步骤:
- 1.将整个图片和一组候选框输入CNN(卷积+池化)。
- 2.CNN提取出来feature map。
- 3.对每个候选框,使用Rol池化层从feature map中提取固定长度的特征向量。
- 4.将特征向量送入全连接。
- 5.全连接之后送入softmax进行分类。
- 6.全连接之后的另外一条路是送入bounding-box回归(BB)修正候选框位置。
5和6这两个步骤是并列的输出层,就是在上面说到的合并loss的操作方法。
小总结
这篇论文在最后有很多问答式的小章节我觉得挺有意思,在之前看的论文中很少出现,总结一下问答中的几个点:
- 多尺度训练虽然在精度上有一定提升,但时间代价也比较大。
- Softmax略优于SVM。
- 深度神经网络分类器使用更多的候选区域没有帮助,甚至稍微有点影响准确性。
其实可以发现,本文模型FRCN的候选框提取依旧使用的是SS算法,这和之前的R-CNN和 SPP是一样的,非常耗时。
更新一下对比表格:
R-CNN | SPP | Fast R-CNN |
---|---|---|
一张图片提取2000个候选框 ,并强制缩放到固定尺寸后送给CNN | 整张图片直接送给CNN | 整张图片+一组候选框送给CNN |
CNN提取每个候选框的feature map | CNN得到整张图的feature map,通过SS得到候选区域与feature map直接映射得到特征向量 | CNN得到feature map 通过ROI池化层得到特征向量 |
将CNN提取的feature map 送给SVM分类,送给BB回归进行定位修复 | 映射的特征向量给SSP,SSP输出固定大小的特征向量,再给 FC,再SVM+回归 | 特征向量送入FC 再接 一个合并网络(softmax分类+BB回归) |
【目标检测 论文泛读】Fast R-CNN (一张表格对比 R-CNN SPP FRCN)相关推荐
- 【论文泛读62】HybridQA:通过表格和文本数据进行多跳问答的数据集
贴一下汇总贴:论文阅读记录 论文链接:<HybridQA: A Dataset of Multi-Hop Question Answering over Tabular and Textual ...
- 3D目标检测论文阅读多角度解析
3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...
- 目标检测(R-CNN、Fast R-CNN、Fater R-CNN)
目标检测(R-CNN.Fast R-CNN.Faster R-CNN) 1.目标检测(object detection) 图像识别是输入一张图像,输出该图像对应的类别.目标检测的输入同样是一张国像,但 ...
- 【论文泛读】 Deep Learning 论文合集
[论文泛读] Deep Learning 论文合集 文章目录 [论文泛读] Deep Learning 论文合集 Batch Normalization: Accelerating Deep Netw ...
- 毫米波目标检测论文 阅读笔记 | Radar Transformer: An Object Classification Network Based on 4D MMW Imaging Radar
毫米波目标检测论文 | Radar Transformer: An Object Classification Network Based on 4D MMW Imaging Radar Jie Ba ...
- 3D目标检测论文阅读摘要
3D目标检测论文阅读摘要 2D Object Detection 的研究已经非常成熟了,代表作品有RPN系列的FasterRCNN,One Shot系列的YOLOv1-YOLOv3,这里推荐一个2D ...
- 【目标检测 论文精读】……YOLO-V2 YOLO9000 ……(YOLO9000: Better, Faster, Stronger)
文章目录 1.YOLO-V1回顾 2.Abstract(摘要) 3.Introduction(引言) 4.Better(更准) (1)Batch Normalization.(BN,批归一) (2)H ...
- CVPR 2019 目标检测论文汇总
CVPR 2019 目标检测论文汇总(0506更新中)极市平台已认证的官方帐号84 人赞同了该文章前段时间,计算机视觉顶会CVPR 2019 公布了接收结果,极市也对此做了相关报道 ,目前官方公布了 ...
- 【弱监督显著目标检测论文】Weakly-Supervised Salient Object Detection Using Point Supervison
2022年在AAAI上发表的一篇使用点监督的弱监督显著目标检测论文 论文原文 代码地址 文章目录 摘要 一.创新点 二.方法 1.Adaptive Flood Filling 2.Non-Salien ...
- 目标检测论文阅读:YOLOv1算法笔记
标题:You Only Look Once: Unified, Real-Time Object Detection 会议:CVPR2016 论文地址:http://ieeexplore.ieee.o ...
最新文章
- centos7安装JDK1.7
- bash和sed简要介绍和相关范例
- 【数据结构与算法】之深入解析“组合总和III”的求解思路与算法示例
- JMeter 监听器之保存响应到文件
- 实现.Net程序中OpenTracing采样和上报配置的自动更新
- Java实现BST搜索树
- exec函数族(部分 最常用的)
- ado、odbc连接Postgre SQL
- SQL Server 2012 中 SSAS 多维数据浏览器已经废除
- 用c语言编程解决数学实际问题,运用C语言解决爱因斯坦的数学题
- android 空白,Android ViewPage显示空白
- CSU2020期中测试题(2)WOWO爬水井
- C++查詢wry.dat中的IP地址信息
- 点击图标分享页面到QQ,微信,微博 等
- Android全面屏最大纵横比适配
- 亚马逊ERP系统无货源采集上货软件
- 五子棋游戏源码和核心算法的讲解(简易五子棋web版)
- windows7 系统下载
- intell IDE初始用
- Drupal9自定义module添加多个定时任务
热门文章
- 建模算法(十)——灰色理论之关联度分析
- Android APK的加密
- 软件工程----项目的进度安排
- web前端开发技术实验与实践(第三版)储久良编著 项目14 设计中国教育网络杂志简介
- matlab图像处理中的错误--调用imhist报错
- ANSYS——网格划分的不同方法以及GUI模块的操作(自由网格、映射网格、扫掠、拖拉)
- Java并发编程系列文章目录帖及源码
- 计算机系统结构 网易云课堂,网易大布局教育事业:网易公开课、网易云课堂和MOOC分析...
- 教你3招解决PDF文字无法复制的所有问题!!!
- 通过python实现txt中,字母概率的计算,以及信源熵的计算,并且输出