R-CNN, Fast R-CNN, Faster R-CNN

目标检测算法——Fast R-CNN 文章目录1.Fast R-CNN简介2.Fast R-CNN处理过程1)候选区域的生成2)投影特征图获得相应的特征矩阵3)ROI层缩放4)展平特征图利用全连接层得到预测结果。3.Fast R-CNN损失函数4.Fast R-CNN总框架 1.Fast R-CNN简介 Fast R-CNN 其论文的名字就是 Fast R-CNN,原文链接。Fast R-CNN与R-CNN相同,同样使用VGG16作为网络的backbone,与R-CNN相比训练时间快9倍,测试推理时间快213倍,准确率从62%提升至66%(再P 阅读详情

R-CNN, Fast R-CNN, Faster R-CNN

今年四月份的时候,在一个研究院实习时学习了RCNN, Fast RCNN, Faster RCNN系列Object Detection框架,现在总结一下。

一. R-CNN(Regions with CNN features)

1.1 框架结构

rcnn

论文中提到:

Our object detection system consists of three modules. 
The first generates category-independent region proposals. These proposals define the set of candidate detections available to our detector. 
The second module is a large convolutional neural network that extracts a fixed-length feature vector from each region.
The third module is a set of class specific linear SVMs.
Bounding-box Regression
Based on the error analysis, we implemented a simple method to reduce localization errors. Inspired by the bounding-box regression employed in DPM, we train a linear regression model to predict a new detection window given the pool5features for a selective search region proposal.

我们便知道R-CNN由三个部分组成:
1. 提取Region Proposals的模块;
2. 提取特征向量的卷积神经网络;
3. 线性SVM分类器, bouding-box回归(用于物体的定位).

1.2 神经网络结构

rcnn-net

神经网络的输入为依靠selective search方法提取region proposal后经过warped region调整大小, 然后经过5层卷积和2层全连接层,输出结果一方面送入SVM分类,另一方面送去Bounding-box回归.

二. SPP-net(Spatial Pyramid Pooling, 空间金字塔池化层)

2.1 提出背景

spp-1

Existing deep convolutional neural networks (CNNs) require a fixed-size (e.g., 224*224) input image. This requirement is “artificial” and may reduce the recognition accuracy for the images or sub-images of an arbitrary size/scale. In this work, we equip the networks with another pooling strategy, “spatial pyramid pooling”, to eliminate the above requirement.

在说到Fast R-CNN之前, 先提一下SPP-net. 如论文所说, 由于其他网络比如R-CNN的region proposal需要先经过warped region调整成固定大小, 适用性不是很好, 因此SPP-net提出了一种不限制输入大小的网络.

2.2 实现方式

spp-2

输入的图像(无论大小), 先经过卷积神经网络, 网络结果经过选择的3个filter(此处选取的是16, 4, 1)做pooling, 三个输出首尾连接形成固定长度的输出. 至此解决了输入图像大小限制的问题.

三. Fast R-CNN

3.1 框架结构

fast-rcnn-1

A Fast R-CNN network takes as input an entire image and a set of object proposals. 
The network first processes the whole image with several convolutional (conv) and max pooling layers to produce a conv feature map. Then, for each object proposal a region of interest (RoI) pooling layer extracts a fixed-length feature vector from the feature map. Each feature vector is fed into a sequence of fully connected (fc) layers that finally branch into two sibling output layers: one that produces softmax probability estimates over K object classes plus a catch-all “background” class and another layer that outputs four real-valued numbers for each of the K object classes. Each set of 4 values encodes refined bounding-box positions for one of the K classes.

首先selective search提取出的region proposal输入卷积神经网络, 得到的feature map输入RoI pooling层, 提取出一段固定长度的特征向量, 一方面输入softmax层估计物体概率, 另一方面输入Bounding-box回归层.

The RoI layer is simply the special-case of the spatial pyramid pooling layer used in SPPnets in which there is only one pyramid level.

如论文中所提及, RoI层实际上就是SPP-net的一种情况.

3.2 网络结构(VGG16为例)

fast-rcnn-2

四. Faster R-CNN

4.1 框架结构

faster-rcnn-1

Our object detection system, called Faster R-CNN, is composed of two modules.
The first module is a deep fully convolutional network that proposes regions, and the second module is the Fast R-CNN detector that uses the proposed regions.
The entire system is a single, unified network for object detection (Figure 2).

图像输入神经网络后得到feature map, 在进入RoI pooling之前, 先经过一个RPN层(下一点提到), 然后将得到的region proposal和feature map一起输入RoI pooling层, 后续与Fast R-CNN一致.

4.2 RPN层(Region Proposal Network)

faster-rcnn-2

A Region Proposal Network (RPN) takes an image (of any size) as input and outputs a set of rectangular object proposals, each with an objectness score.

RPN层替代了原来的selective search方法来提取region proposal, 提出anchor box的概念, 通过sliding window的移动和选取k个不同比例的anchor box, 最后得到2k个是否为target的分数和4k个物体坐标.(这里的2指的是target/not a target, 4指的是坐标x/y/w/h)

4.3 网络结构

faster-rcnn-net

五. 总结

conclusion

  • Fast R-CNN 通过RoI pooling层将R-CNN后面SVM分类与Bounding-box回归做入到神经网络中;
  • Faster R-CNN 通过RPN层将Fast R-CNN前面的region proposal提取层整合入神经网络中, 实现End-to-End.

References

[1] Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik. (2014). Rich feature hierarchies for accurate object detection and semantic segmentation.

[2] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun. (2014). Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition.

[3] Ross Girshick. (2015). Fast R-CNN.

[4] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. (2016). Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks.


Fast R-CNN讲解 Fast R-CNN 阅读详情

相关推荐

目标检测篇——Faster R-CNN

目录1. Faster R-CNN理论1.1 R-CNN(Region with CNN feature)1.1.1 R-CNN概述1.1.2 R-CNN流程1.1.3 R-CNN框架1.1.4 R-CNN存在的问题1.2 Fast R-CNN1.2.1 Fast R-CNN概述1.2.2 Fast R-CNN流程1.2.3 Fast R-CNN损失函数1.2.4 Fast RCNN框架1.2.5 Fast RCNN存在的问题1.3 Faster R-CNN1.3.1 Faster R-CNN概述1.3.2

weixin_43872060的博客 7948

[ 目标检测 ] 经典网络模型2——Fast R-CNN 详解与复现

[ 目标检测 ] 经典网络模型2——Fast R-CNN 详解与复现 1、Fast Region-based Convolutional Network; 2、Fast R-CNN详解; 3、Fast R-CNN复现; Fast R-CNN 是一种基于区域卷积网络的快速目标检测方法 ; Fast R-CNN 比 R-CNN 快 9倍,在测试时快 213倍,在 PASCAL VOC 2012 上实现了更高的映射 ; 基于此作者提出了一种单阶段训练算法 (single-stage training)......

A_John 的博客 1万+

目标检测 | R-CNNFast R-CNNFaster R-CNN理论讲解

目标检测:R-CNNFast R-CNNFaster R-CNN理论讲解,根据B站up霹雳吧啦Wz总结。此文章包含R-CNN算法原理讲解、Fast R-CNN算法原理讲解、Faster R-CNN原理讲解、目标检测评价指标介绍与特征金字塔网络FPN讲解。

houjingchuan的博客 9527

fast-rcnn详解

FastR-CNN算法及训练过程 R-CNN显著提升了目标检测算法的性能,但因为计算过于复杂,耗时很长,所以在实际的应用系统中,大都无法使用。经过分析可知,R-CNN的复杂性主要来自两个方面:一是需要针对大量的候选框分别进行计算;二是特征提取之后的分类器训练和位置回归,是几个独立步骤分别进行的。在训练过程中,提取的特征要先存储在硬盘上,然后训练SVM分类模型,最后训练位置回归模型,而测试过程也是类似的,特征提取之后,需要先进行SVM分类,再回归目标的准确位置,整个过程在计算时间和存储...

qq_52053775的博客 1万+

计算机视觉 - 物体检测 开山鼻祖 R-CNN系列:Fast R-CNNFaster R-CNN、Mask R-CNN

本文系统梳理了目标检测领域R-CNN系列算法的发展历程。从R-CNNFast R-CNNFaster R-CNN再到Mask R-CNN,每一代算法都针对前代痛点进行创新:R-CNN首次将CNN用于特征提取但计算冗余;Fast R-CNN通过共享特征图和RoI Pooling提升效率;Faster R-CNN引入RPN网络实现端到端训练;Mask R-CNN则扩展了实例分割能力。文章详细解析了各算法的核心思想、训练流程及关键创新技术(如RoI Align),并对比了二阶段与单阶段检测算法的差异。

nju_spy的博客 6318

一文读懂目标检测:R-CNNFast R-CNNFaster R-CNN、YOLO、SSD

有了候选区域,剩下的工作实际就是对候选区域进行图像分类的工作(特征提取+分类)。换言之,这个网络层可以把不同大小的输入映射到一个固定尺度的特征向量,而我们知道,conv、pooling、relu等操作都不需要固定size的输入,因此,在原始图片上执行这些操作后,虽然输入图片size不同导致得到的feature map尺寸也不同,不能直接接到一个全连接层进行分类,但是可以加入这个神奇的ROI Pooling层,对每个region都提取一个固定维度的特征表示,再通过正常的softmax进行类型识别。

2301_78398209的博客 1321

什么是 Fast R-CNNFaster R-CNN

Fast R-CNNFaster R-CNN物体检测领域的重要模型,属于R-CNN系列的演进版本。Fast R-CNN通过共享卷积特征和RoI Pooling层,显著提升了检测速度。Faster R-CNN则进一步引入Region Proposal Network(RPN),实现了端到端训练,在速度和准确率上均有突破。两模型都采用多任务损失函数,支持分类和边界框回归。主要区别在于Faster R-CNN内置RPN取代了外部区域提案方法,使检测更高效。这些模型为后续Mask R-CNN等奠定了基础,广泛应

彬彬侠的博客 1520

卷积神经网络——从R-CNNFast R-CNNFaster R-CNN,Mask R-CNN

R-CNN系列的网络是经典的目标检测和分割的网络,其中提出的一些新算法可以让人为之激动啊。下面简单介绍一下这几个网络。 论文翻译: R-CNN:https://blog.csdn.net/itlilyer/article/details/107190083 Fast R-CNN:https://blog.csdn.net/itlilyer/article/details/107764472 Faster R-CNN:https://blog.csdn.net/itlilyer/article/details

itlilyer的博客 1045

R-CNNFast R-CNNFaster R-CNN、Mask R-CNN总结

R-CNNFast R-CNNFaster R-CNN、Mask R-CNN学习总结

kobe_huai的博客 2852

R-CNNFast RCNNFaster RCNN

本文系统介绍了目标检测领域三大经典算法的发展历程与技术演进。R-CNN开创性地将CNN引入目标检测,通过选择性搜索生成候选区域并独立提取特征,但存在计算冗余问题。Fast R-CNN通过共享卷积计算和RoI池化显著提升效率,实现端到端训练。Faster R-CNN则革命性地提出区域提议网络(RPN),将候选框生成整合进网络,形成完全端到端的检测流程。

weixin_61295654的博客 975

R-CNN,SPP-net,Fast R-CNN,Faster R-CNN区别和基本理解

R-CNN,SPP-net,Fast R-CNN,Faster R-CNN区别和基本理解 最近学习目标检测,入手当然首先要看RNN系列,其中有一些启发,和大家分享一下,有理解偏差希望大神给与指正。 这张图对我的理解帮助很大,特意贴出。可以发现他们是环环相扣发展过来的,主要区别在于卷积模型、候选框、分类回归方式(Classification + Localization): 首先我们先搞清一些小的...

XM_no_homework的博客 2655

基于深度学习的目标检测技术演进:R-CNNFast R-CNNFaster R-CNN

object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。object detection要解决的问题就是物体在哪里,是什么这整个流程的问题。然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。 object detection技术的演进:RCNN->Spp...

weixin_34277853的博客 5614

目标检测(R-CNN,SPP,Fast R-CNNFaster R-CNN

简而言之目标检测就是识别分类目标+框好对象。 虽然图像分类的表现已经突破天际,甚至准确率高于人类,但目标检测领域其实仍然处于发展阶段。早期的传统目标检测基本就是–匹配,即把目标对象裁剪后用一些类似角点检测的方法得到特征,再在图像上使用滑动窗口并依次对比。 等到卷积神经网络在图像处理领域开始大显神通后,便可以通过手工标注训练集,构建卷积网络,并更改最后的输出层,使其输出类别和目标定位框(输出层分别...

nakaizura 2591

Fast R-CNN网络结构、框架原理详解

Fast R-CNN中,并不适用SS算法提供的所有的候选区域,SS算法会差不多得到2000个候选框,但是训练的过程中其实只需要使用其中的一部分就可以了,Fast R-CNN中好像只挑选了其中的64个。分别对应着我们回归参数 x 的smoothL1的回归损失,回归参数 y 的smoothL1的回归损失,回归参数 w 的smoothL1的回归损失与最后的回归参数 h 的smoothL1的回归损失。而当u不满足条件时,也就是u<1时,也就是u=0时,(u为类别的标签),此时类别标签为背景,公式的值为0.

qq_52191127的博客 5076

Fast RCNN总结

主要贡献: ①规避R-CNN中冗余的特征提取操作,只对整张图像全区域进行一次特征提取(首次在SPP-Net中提出); ②用RoI pooling层取代最后一层max pooling层,同时引入建议框信息,提取相应建议框特征; ③Fast R-CNN网络末尾采用并行的不同的全连接层,可同时输出分类结果和窗口回归结果,实现了end-to-end的多任务训练【建议框提取除外】,也不需要额外的特征存储空间【R-CNN中这部分特征是供SVM和Bounding-box regression进行训练的】; ④采用SVD对

ZDA_fight的博客 2204

目标检测——Fast R-CNN算法解读

Fast R-CNN算法解读

lishanlu136的博客 3410

【目标检测Fast R-CNN详解

Fast R-CNN是作者Ross Girshick继R-CNN后的又一力作。同样使用VGG16作为网络的骨架,在训练速度比R-CNN快了近9倍,测试速度快了213倍,在Pascal VOC数据集上accuracy从62%提升至66%,它解决了重复卷积计算和固定输入尺度的问题。Fast R-CNN 的总体架构如下图所示。 顾名思义,Fast R-CNN 相对于R-CNN 的一个重要的优势就是速度快,以下是它的主要步骤: 1. 利用SS算法(选择性搜索)生成1k-2k的候选区域。 2. 使用深度网络(VGG

m0_61796189的博客 3320

Fast R-CNN

Fast R-CNN是在R-CNN的基础上融入了SPP Net网络优点之后的一个改进网络,相比于R-CNN和SPP Net具有以下优点:1 训练/预测运行速度更快;2 mAP效果评估指标更高;3 实现端到端()的模型训练;(多任务损失函数(Multi-task loss))4 所有层的参数都可以fine tune重训练;5 不需要离线存储特征文件;7 使用Softmax替换SVM分类器;

m0_51700479的博客 1821
上一篇: 卷积神经网络的输出值计算
下一篇: YOLOv1, SSD
techping
博客等级 码龄10年 85粉丝 36原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值