目标检测之RCNN,SPP-NET,Fast-RCNN,Faster-RCNN

浅谈RCNN、SPP-net、Fast-Rcnn、Faster-Rcnn 阅读详情

转载自http://lanbing510.info/2017/08/24/RCNN-FastRCNN-FasterRCNN.html

写在前面


在深度学习出现之前,传统的目标检测方法大概分为区域选择(滑窗)、特征提取(SIFT、HOG等)、分类器(SVM、Adaboost等)三个部分,其主要问题有两方面:一方面滑窗选择策略没有针对性、时间复杂度高,窗口冗余;另一方面手工设计的特征鲁棒性较差。自深度学习出现之后,目标检测取得了巨大的突破,最瞩目的两个方向有:1 以RCNN为代表的基于Region Proposal的深度学习目标检测算法(RCNN,SPP-NET,Fast-RCNN,Faster-RCNN等);2 以YOLO为代表的基于回归方法的深度学习目标检测算法(YOLO,SSD等)。本篇对基于Region Proposal的深度学习目标检测算法进行介绍,后续再对基于回归方法的深度学习目标检测方法进行介绍。

RCNN


流程框图

算法特点

1 使用Selective Search提取Proposes,然后利用CNN等识别技术进行分类。

2 使用识别库进行预训练,而后用检测库调优参数。

3 使用SVM代替了CNN网络中最后的Softmax,同时用CNN输出的4096维向量进行Bounding Box回归。

4 流程前两个步骤(候选区域提取+特征提取)与待检测类别无关,可以在不同类之间共用;同时检测多类时,需要倍增的只有后两步骤(判别+精修),都是简单的线性运算,速度很快。

存在问题

1 训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练边框回归器。

2 训练耗时,占用磁盘空间大:5000张图像产生几百G的特征文件。

3 速度慢: 使用GPU, VGG16模型处理一张图像需要47s。

SPP-NET


流程框图

算法特点

1 通过Spatial Pyramid Pooling解决了深度网络固定输入层尺寸的这个限制,使得网络可以享受不限制输入尺寸带来的好处。

2 解决了RCNN速度慢的问题,不需要对每个Proposal(2000个左右)进行Wrap或Crop输入CNN提取Feature Map,只需要对整图提一次Feature Map,然后将Proposal区域映射到卷积特征层得到全链接层的输入特征。

几个要点

一、ROI的在特征图上的对应的特征区域的维度不满足全连接层的输入要求怎么办?

作者使用Spatial Pyramid Pooling解决了该问题。如下图所示,假设原图输入是224x224,对于conv5出来后的输出是13x13x256的,可以理解成有256个这样的Filter,每个Filter对应一张13x13的Reponse Map。如果像上图那样将Reponse Map分成1x1(金字塔底座),2x2(金字塔中间),4x4(金字塔顶座)三张子图,分别做Max Pooling后,出来的特征就是(16+4+1)x256 维度。如果原图的输入不是224x224,出来的特征依然是(16+4+1)x256维度。这样就实现了不管图像尺寸如何池化n的输出永远是 (16+4+1)x256 维度。

二、原始图像的ROI如何映射到特征图(一系列卷积层的最后输出)

要搞定这个问题,需要首先清楚感受野等概念和计算方法。下面从感受野、感受野上面的坐标映射及原始图像的ROI如何映射三方面阐述。

1 感受野

① 概念

在卷积神经网络中,感受野的定义是卷积神经网络每一层输出的特征图(Feature Map)上的像素点在原始图像上映射的区域大小。

② 如何计算

output field size = ( input field size - kernel size + 2*padding ) / stride + 1 

其中output field size 是卷积层的输出,input field size 是卷积层的输入,反过来卷积层的输入(也即前一层的感受野) = ?答案必然是:

input field size = (output field size - 1)* stride - 2*padding + kernel size

计算卷积层输出大小和感受野大小的Python代码

运行结果如下。从运行结果可以看出论文中ZF-5网络感受野大小为139是什么得到的了。

image

2 感受野上的坐标映射

① 计算公式
p i = s i ∗ p i + 1 + [ ( k i − 1 ) / 2 − p a d d i n g ] p_i = s_i*p_{i+1} + [(k_i - 1) / 2 - padding] pi​=si​∗pi+1​+[(ki​−1)/2−padding]

对于Neuronlayer(ReLU/Sigmoid/…):
p i = p i + 1 p_i = p_i + 1 pi​=pi​+1

其中 p i p_i pi​为第i 层感受野上的坐标, s i s_i si​为Stride的大小, k i k_i ki​为感受野的大小。

② 例子

上面是计算任意一个Layer输入输出的坐标映射关系,如果是计算任意Feature Map之间的关系,只需要用简单的组合就可以得到,下图是一个简单的例子:

③ 简化版本

何凯明在SPP-NET中使用的是简化版本,将2小节公式中的Padding都设为⌊ki/2⌋,公式可进一步简化为: p i = s i ∗ p i + 1 p_i = s_i * p_{i+1} pi​=si​∗pi+1​

3 原始图像的ROI如何映射

SPP-NET是把原始ROI的左上角和右下角 映射到Feature Map上的两个对应点。 有了Feature Map上的两队角点就确定了对应的Feature Map 区域(下图中橙色)。

左上角取 x ′ = ⌊ x / S ⌋ + 1 , y ′ = ⌊ y / S ⌋ + 1 x'=\lfloor x/S \rfloor+1, y'= \lfloor y/S \rfloor+1 x′=⌊x/S⌋+1,y′=⌊y/S⌋+1;右下角的点取 x ′ = ⌈ x / S ⌉ + 1 , y ′ = ⌈ y / S ⌉ + 1 x'=\lceil x/S \rceil+1, y'=\lceil y/S \rceil+1 x′=⌈x/S⌉+1,y′=⌈y/S⌉+1。其中S为坐标映射的简化计算版本,即$ s_i = \prod_0^i{s_i}$。

Fast-RCNN


流程框图

算法特点

1 Fast-RCNN直接使用Softmax替代了RCNN中SVM进行分类,同时在网络中加入了多任务函数边框回归,实现了端到端的训练(除SS Region Proposal阶段)。

2 借鉴SPP-NET,提出了一个ROI层。ROI Pooling Layer实际上是SPP-NET的一个精简版,SPP-NET对每个Proposal使用了不同大小的金字塔映射,而ROI Pooling Layer只需要下采样到一个7x7的特征图。对于VGG16网络conv5_3有512个特征图,这样所有Region Proposal对应了一个77512维度的特征向量作为全连接层的输入。

3 使用了不同于SPP-NET的训练方式,训练时,把同张图片的Prososals作为一批进行学习,而Proposals的坐标直接映射到conv5层上,这样相当于一张图片的所有训练样本只卷积了一次。

4 论文在回归问题上并没有用很常见的2范数作为回归,而是使用所谓的鲁棒L1范数作为损失函数。

5 论文将比较大的全链接层用SVD分解了一下使得检测的时候更加迅速。

几个要点

一、联合训练

联合训练(Joint Training)指如何将分类和边框回归联合到一起在CNN阶段训练,主要难点是损失函数的设计。Fast-RCNN中,有两个输出层:第一个是针对每个ROI区域的分类概率预测, p = ( p 0 , p 1 , p 2 , … , p k ) p = (p_0, p_1, p_2, \ldots, p_k) p=(p0​,p1​,p2​,…,pk​);第二个则是针对每个ROI区域坐标的偏移优化, t k = ( t x k , t y k , t w k , t h k ) , 0 &lt; k &lt; K t^k=(t^k_x,t^k_y,t^k_w,t^k_h), 0&lt;k&lt;K tk=(txk​,tyk​,twk​,thk​),0<k<K是多类检测的类别序号。每个训练ROI都对应着真实类别 u u u和边框回归目标 v = ( v x , v y , v w , v h ) v=(v_x,v_y,v_w,v_h) v=(vx​,vy​,vw​,vh​),对于类别 u u u预测边框为 t u = ( t x u , t y u , t w u , t h u ) t^u=(t^u_x,t^u_y,t^u_w,t^u_h) tu=(txu​,tyu​,twu​,thu​),使用多任务损失 L L L来定义ROI上分类和边框回归的损失:

L ( p , u , t u , v ) = L c l s ( p , u ) + λ [ u ≥ 1 ] L l o c ( t u , v ) L(p,u,t^u,v)=L_{cls}(p,u)+λ[u≥1]L_{loc}(t^u,v) L(p,u,tu,v)=Lcls​(p,u)+λ[u≥1]Lloc​(tu,v)
其中 L c l s ( p , u ) = − log ⁡ p u L_{cls}(p,u)=−\log{p_u} Lcls​(p,u)=−logpu​表示真实类别的 log ⁡ \log log损失,当 u ≥ 1 u≥1 u≥1时, [ u ≥ 1 ] [u≥1] [u≥1]的值为1,否则为0。下面将重点介绍多任务损失中的边框回归部分(对应坐标偏移优化部分)。

二、边框回归

假设对于类别 u u u,在图片中标注的真实坐标和对应的预测值理论上两者越接近越好,相应的损失函数为:

L l o c ( t u , v ) = ∑ i ∈ x , y , w , h s m o o t h L 1 ( t i u − v i ) L_{loc}(t^u, v)=∑_{i∈x,y,w,h}smooth_{L1}(t^u_i−v_i) Lloc​(tu,v)=∑i∈x,y,w,h​smoothL1​(tiu​−vi​)

其中

s m o o t h L 1 ( x ) = { ∣ x ∣ − 0.5 o t h e r w i s e 0.5 ∗ x 2 ∣ x ∣ ≤ 1 smooth_{L1}(x)=\lbrace{^{0.5*x^2 |x|≤1} _{|x|−0.5 otherwise}} smoothL1​(x)={∣x∣−0.5otherwise0.5∗x2∣x∣≤1​
Fast-RCNN在上面用到的鲁棒$L_1< math $之间为二次函数,其他区域为线性函数,函数直观图如下图所示。

image

存在问题

使用Selective Search提取Region Proposals,没有实现真正意义上的端对端,操作也十分耗时。

Faster-RCNN


流程框图

算法特点

1 提出了Region Proposal Network(RPN),将Proposal阶段和CNN分类融到了一起,实现了一个完全的End-To-End的CNN目标检测模型。RPN可以快速提取高质量的Proposal,不仅加快了目标检测速度,还提高了目标检测性能。

2 将Fast-RCNN和RPN放在同一个网络结构中训练,共享网络参数。

几个要点

一、Region Proposal Network

Region Proposal Network(RPN)的核心思想是使用卷积神经网络直接产生Region Proposal,使用的方法本质上就是滑动窗口。RPN的设计比较巧妙,RPN只需在最后的卷积层上滑动一遍,借助Anchor机制和边框回归可以得到多尺度多长宽比的Region Proposal。下图是RPN的网络结构图。

在ZF网络模型下,给定输入图像(假设分辨率为6001000),经过卷积操作得到最后一层的卷积特征图(大小约为4060)。在这个特征图上使用33的卷积核(滑动窗口)与特征图进行卷积,最后一层卷积层共有256个Feature Map,那么这个33的区域卷积后可以获得一个256维的特征向量,后边接Cls Layer和Reg Layer分别用于分类和边框回归(跟Fast RCNN类似,只不过这里的类别只有目标和背景两个类别)。33滑窗对应的每个特征区域同时预测输入图像3种尺度(128,256,512),3种长宽比(1:1,1:2,2:1)的Region Proposal,这种映射的机制称为Anchor。所以对于这个4060的Feature Map,总共有约20000(40609)个Anchor,也就是预测20000个Region Proposal。下图是51*39个Anchor中心,以及9种Anchor示例。

这样设计的好处是什么?虽然现在也是用的滑动窗口策略,但是,滑动窗口操作是在卷积层特征图上进行的,维度较原始图像降低了16*16倍(16如何得到的可参见前文);多尺度采用了9种Anchor,对应了三种尺度和三种长宽比,加上后边接了边框回归,所以即便是这9种Anchor外的窗口也能得到一个跟目标比较接近的Region Proposal。

二、RPN的损失函数

损失函数定义为:

$L(p_it_i)=\frac{1}{N_{cls}}∑_i{L_{cls}(p_i,p∗_i)}+λ_1N_{reg}∑_ip∗_iL_{reg}(t_i,t^∗_i) < math $

其中 i i i表示一次Mini-Batch中Anchor的索引, p i p _i pi​是Anchor  i i i是否是一个物体, L r e g L_{reg} Lreg​即为上面提到的 s m o o t h L 1 ( x ) smoothL_1(x) smoothL1​(x)函数, N c l s N_{cls} Ncls​和 N r e g N_{reg} Nreg​是两个归一化项,分别表示Mini-Batch的大小和Anchor位置的数目。

三、网络的训练

如果是分别训练两种不同任务的网络模型,即使它们的结构、参数完全一致,但各自的卷积层内的卷积核也会向着不同的方向改变,导致无法共享网络权重,Faster-RCNN提出了三种可能的方式:

1 Alternating Training:此方法其实就是一个不断迭代的训练过程,既然分别训练RPN和Fast-RCNN可能让网络朝不同的方向收敛,那么我们可以先独立训练RPN,然后用这个RPN的网络权重对Fast-RCNN网络进行初始化,并且用之前RPN输出Proposal作为此时Fast-RCNN的输入,之后不断迭代这个过程,即循环训练RPN、Fast-RCNN。

2 Approximate Joint Training:这里与前一种方法不同,不再是串行训练RPN和Fast-RCNN,而是尝试把二者融入到一个网络内,具体融合的网络结构如下图所示,可以看到,Proposals是由中间的RPN层输出的,而不是从网络外部得到。需要注意的一点,名字中的"Approximate"是因为“This solution ignores the derivative w.r.t. the proposal boxes’ coordinates that are also network responses”,也就是说,反向传播阶段RPN产生的Cls Score能够获得梯度用以更新参数,但是Proposal的坐标预测则直接把梯度舍弃了,这个设置可以使Backward时该网络层能得到一个解析解(Closed Results),并且相对于Alternating Traing减少了25-50%的训练时间。

3 Non-approximate Training:上面的Approximate Joint Training把Proposal的坐标预测梯度直接舍弃,所以被称作Approximate,那么理论上如果不舍弃是不是能更好的提升RPN部分网络的性能呢?作者把这种训练方式称为“ Non-approximate Joint Training”,但是此方法只是一笔带过,表示“This is a nontrivial problem and a solution can be given by an “RoI warping” layer as developed in [15], which is beyond the scope of this paper”。

作者没有用上面提到的三种可能方法,而是使用了4-Step Alternating Training,具体步骤如下。

1 用ImageNet模型初始化,独立训练一个RPN网络;

2 仍然用ImageNet模型初始化,但是使用上一步RPN网络产生的Proposal作为输入,训练一个Fast-RCNN网络,至此,两个网络每一层的参数完全不共享;

3 使用第二步的Fast-RCNN网络参数初始化一个新的RPN网络,但是把RPN、Fast-RCNN共享的那些卷积层的Learning Rate设置为0,也就是不更新,仅仅更新RPN特有的那些网络层,重新训练,此时,两个网络已经共享了所有公共的卷积层;

4 仍然固定共享的那些网络层,把Fast-RCNN特有的网络层也加入进来,形成一个Unified Network,继续训练,Fine Tune Fast-RCNN特有的网络层,此时,该网络已经实现我们设想的目标,即网络内部预测Proposal并实现检测的功能。

上述步骤图示如下。

image

小结


至此,介绍完了以RCNN为代表的基于Region Proposal的深度学习目标检测算法(RCNN,SPP-NET,Fast-RCNN,Faster-RCNN),主要介绍了算法的核心思想和要点难点,代码可以从GitHub得到,更多实现细节可以阅读原论文和代码。接下来会写另一篇文章来介绍以YOLO为代表的基于回归方法的深度学习目标检测算法(YOLO,SSD)。

参考文献


[1] RCNN:“Rich feature hierarchies for accurate object detection and semantic segmentation”

[2] SPP-NET:“Spatial pyramid pooling in deep convolutional networks for visual recognition”

[3] Fast-RCNN:“Fast R-CNN”

[4] Faster-RCNN:“Faster R-CNN: Towards real-time object detection with region proposal networks”

[5] RCNN, Fast-RCNN, Faster-RCNN的一些事

[6] 卷积神经网络物体检测之感受野大小计算

[7] 原始图片中的ROI如何映射到到Feature Map

[8] Fast R-CNN

[9] 通过代码理解Faster-RCNN中的RPN

[10] Faster R-CNN

[11] 基于深度学习的目标检测研究进展

目标检测-RCNN系列 •   RCNN        RCNN(Regions with CNN features)是将CNN方法应用到目标检测问题上的一个里程碑,由年轻有为的RBG大神提出,借助CNN良好的特征提取和分类性能,通过RegionProposal方法实现目标检测问题的转化。        算法可以分为四步:        1)候选区域选择        Region Proposal是一类传统的区域提取方 阅读详情

相关推荐

RCNN系列,包含RCNN、SPPNET、Fast RCNN、Faster RCNN、YOLO等

R-CNN系列PPT,包含RCNN、SPPNET、Fast RCNN、Faster RCNN、YOLO的介绍,算法的细节介绍。

Go MPG 模型之铺垫-常见的线程模型

今天我们来了解一下 Go 语言的协程并发机制,这也可能是 Go 语言最为吸引人的特性了,了解它的原理和底层机制对于掌握 Go 语言大有裨益,话不多说开始吧! 并发和并行 并发和并行都是为了充分利用 CPU 多核计算资源所提出来的概念,相信我们或多或少都对二者的概念有所了解: 并发指的是在同一时间段内,多条指令在 CPU 上同时执行; 并行指的是在同一时刻内,多条指令在 CPU 上同时执行。 并发程序并不要求 CPU 具备多核计算的能力。在同一时间段内,多个线程会被分配一定的执行时间片,在 CPU 上被快

cpxsxn的博客 315

数据中心GPU芯片性能参数速查表(Nvidia+国产算力卡)

本文提供了一份数据中心GPU芯片性能参数速查表,涵盖Nvidia与国产算力卡两大阵营。文章详细解读了算力、显存、互连技术及功耗等关键性能指标,并对比了A100、H100、昇腾910B等主流型号,旨在帮助用户根据AI训练、推理等实际场景,做出高效的硬件选型与成本评估决策。

a0b1c2d3的专栏 836

tflearn加载两个模型,分别根据判断条件使用对应的模型进行预测

最近实现论文的一个代码,记录下自己的采坑过程: 实现目标:训练多个模型,保存下来,测试的时候,加载这些模型,根据条件判断需要使用哪个模型进行预测。 1、网络训练,模型保存 前面的网络设计省略,每个人任务不同,设计的网络也不同,以net表示。我使用的是tflearn(TensorFlow的用于快速开发的高层封装) model = tflearn.DNN(net,checkpoint_...

村民的菜篮子 1998

相控阵多功能雷达工作模式识别技术综述

本文综述了相控阵雷达工作模式识别技术的研究进展。首先介绍了相控阵雷达的典型工作模式分类及其信号特征参数,包括搜索模式(VS、RWS、TWS)、跟踪模式(STT、MTT、TAS)和其他模式(SAM、SAR)等。随后重点阐述了基于信号特征的识别方法,包括时域特征(PRI分析、脉冲幅度包络、数据率)、频域特征(载频变化、调制方式)和混合特征分析方法。最后讨论了当前技术面临的挑战与发展趋势,包括复杂信号环境下的识别难题、新型雷达技术的适应需求以及深度学习技术的应用前景。该领域的研究对电子侦察和威胁评估具有重要意义。

Grow into a more wonderful you 1800

神经网络中embedding层作用——本质就是word2vec,数据降维,同时可以很方便计算同义词(各个word之间的距离),底层实现是2-gram(词频)+神经网络...

这涉及到词向量,具体看可以参考这篇文章:Word2vec 之 Skip-Gram 模型,下面只进行简单的描述, 上图的流程是把文章的单词使用词向量来表示。 (1)提取文章所有的单词,把其按其出现的次数降许(这里只取前5000个),比如单词‘network’出现的次数最多,编号ID为0,依次类推… (2)每个编号ID都可以使用50000维的二进制(on...

weixin_34376562的博客 457

告别卡顿!手把手教你用北鲲云超算平台图形化提交COMSOL仿真任务(附RDP连接技巧)

本文详细介绍了如何利用北鲲云超算平台图形化提交COMSOL仿真任务,解决本地计算资源不足导致的卡顿问题。通过云端高性能计算,用户可轻松配置多核CPU和大内存资源,实现高效仿真计算,并附有RDP连接优化技巧,提升远程操作体验。

weixin_42519781的博客 380

Python 全栈体系【四阶】(三十七)

深度学习(二十三)【目标检测2】

柠檬小帽的博客 - 计算机全栈体系 1293

FPGA实战笔记——SDRAM乒乓缓存与OV5640视频采集(VGA显示优化篇)

本文详细介绍了基于FPGA的SDRAM乒乓缓存技术在OV5640视频采集与VGA显示优化中的应用。通过设计多时钟域同步和双Bank乒乓缓存策略,有效解决了摄像头30fps输出与VGA 60fps显示之间的帧率不匹配问题,实现了720P高清视频的流畅稳定显示,为实时图像处理系统提供了可靠的硬件解决方案。

ss78901的博客 882

Hadoop实战:用MapReduce分析YouTube视频数据集(附完整代码)

本文提供了一个完整的Hadoop MapReduce实战教程,指导读者使用MapReduce框架分析YouTube视频数据集,统计不同视频类别的数量分布。教程涵盖从数据获取、预处理、HDFS操作到Java代码编写、作业提交及结果可视化的全流程,并附有完整代码,帮助开发者深入理解分布式计算思想。

lilh34434的博客 198

【目标检测】从 RCNN、SPP Net、Fast RCNN 到 Faster RCNN

因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这一篇文章介绍的是目标检测中的经典Two Stage方法:候选区域+深度学习分类的方法,主要包括:RCNN、SPP Net、Fast RCNN 到 Faster RCNN。 1.1 背景 在计算机视觉领域,图像处理任务主要分为四大类,即:分类、定位、检测和实例分割,具体如下: cla...

曦瓜 493

LAN8720芯片硬件设计避坑指南:从晶振选择到PHY地址配置的5个关键细节

本文深入解析LAN8720以太网PHY芯片硬件设计的五个关键细节,涵盖晶振模式选择、PHY地址配置、复位电路设计、电源滤波与接口布线。重点阐述了REF_CLK Out与REF_CLK In两种时钟模式的配置逻辑与应用场景,提供了避免通信失败与信号完整性问题的实战方案,是嵌入式网络硬件开发的实用避坑指南。

i1j2k的博客 514

Two-stage目标检测里程碑算法之RCNN、SPP Net、Fast RCNN、Faster RCNN、FPN等

  在前面的博客中我基于三篇目标检测综述,描述了对视觉目标检测的整体认知,包括发展历程 、算法流程、传统检测算法到深度学习算法的技术难点、评价指标和数据集。本篇博客将逐步按照RCNN→SPP Net→Fast RCNN→Faster RCNN→FPN→Mask RCNN→Cascade RCNN的顺序,依次整理two-stage目标检测算法的改进点。这些two-stage的目标检测方法主要通过一个卷积神经网络来完成目标检测过程,在训练网络时,分为两个部分,第一部分是需要使用启发式方法(selective s

迷路的咸鱼的博客 2791

【OpenClaw从入门到精通】第11篇:OpenClaw 2026多模态实战全攻略:OCR/语音/图像自动化(附完整代码+双部署方案)

本文聚焦OpenClaw 2026版核心升级的多模态能力,从底层架构原理到实操落地全流程拆解。先解析“统一指令解析+多工具适配器”的核心设计逻辑,再提供阿里云规模化部署(适合批量任务)与本地汉化版部署(适合隐私数据调试)的详细步骤,含依赖安装、配置验证完整操作;随后落地三大高频实战场景——OCR合同信息结构化提取、会议录音自动转写纪要、电商商品图片智能打标,每个场景均提供可直接运行的完整代码、执行结果演示及流程说明;最后补充多模态任务避坑指南、性能优化技巧与成本控制方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2611

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

目标检测学习总结之RCNN、SPP-net、Fast RCNN、Faster RCNN、YOLO、SSD的区别

目标检测学习总结之RCNN、SPP-net、Fast RCNN、Faster RCNN、YOLO、SSD的区别 在计算机视觉领域,“目标检测”主要解决两个问题:图像上多个目标物在哪里(位置),是什么(类别)。  围绕这个问题,人们一般把其发展历程分为3个阶段:  1. 传统的目标检测方法  2. 以R-CNN为代表的结合region proposal和CNN分类的目标检测框架(R-CNN, SP...

hyl999的专栏 1594

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

目标检测-RCNN, SPP-Net, Fast RCNN, Faster RCNN概述

介绍了RCNN, SPP-Net, Fast RCNN, Faster RCNN算法

算法之美 281

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

深度学习-目标检测R-CNN、SPP NET、Fast R-CNN、Faster RCNN浅谈

  RCNN   RCNN的整体框架流程为: 1、采用Selective Search生成Region proposal(建议窗口),一张图片大约生成2000个建议窗口,由于Region proposal尺寸大小不一,warp(拉伸)到227*227。 2、运用CNN来提取特征,把每个候选区域送入CNN,提取特征。 3、将提取后的特征送入SVM分类器,用SVM对CNN输出的特征进行分类...

持续关注并分享目标检测、数据生成、视频驱动、跨模态、分割、关键点等领域前沿技术 506

RCNN,SPP-NET,FAST_RCNN,FASTER-RCNN结构及训练方法总结

To be done: 1,Fig.1 需要补充图片说明 2, SVD 相关 3,roi 到 feature map 的映射该怎样确定?即 feature map 上的一个点对应的是 原图中的一块区域。 4,faster-rcnn部分总结有待完善。 通常做 detection 的流程是: 1,确定 ROI(即很多粗略的 bounding-boxes) 2,对每个 ROI 进行

卓为的博客 436

深度学习目标检测之RCNN、SPP-net、Fast RCNN、Faster RCNN

一、目标检测介绍 目标检测(目标提取)是一种基于目标几何和统计特征的图像分割,将目标的分割和识别合二为一,主要是明确从图中看到了什么物体、它们分别在什么位置。传统的目标检测方法一般分为三个阶段:首先在给定的图像上选择一些候选区域,然后对这些区域提取特征,最后使用分类器进行分类。 1、区域选择 传统的目标定位方法是穷举法,由于目标可能在图片的任意位置且大小不定,因此需要使用不同长宽的滑动窗口对...

liuy9803的博客 1030

faster-rcnn原理及相应概念解释

R-CNN --> FAST-RCNN --> FASTER-RCNN R-CNN: (1)输入测试图像; (2)利用selective search 算法在图像中从上到下提取2000个左右的Region Proposal; (3)将每个Region Proposal缩放(warp)成227*227的大小并输入到CNN,将CNN的fc7层的输出作为特征; (4)将每个R...

bbbeoy的专栏 300

【深度学习】卷积神经网络应用之双阶段目标检测|R-CNN、SPP-Net、Fast-RCNN、Faster-RCNN

本文主要介绍了卷积神经网络应用之目标检测。测试阶段,RCNN网络首先通过SS算法得到约2000张特征图,然后经过卷积将conv5特征图进行Maxpooling后分别进行回归和分类操作;SPPnet是将Maxpooling层替换为SPPpooling层进行特征图的提取;Fast RCNN则是使用RoI pooling层,经过特征层后进行多任务损失的计算实现了end to end的网络训练;Faster RCNN是将Fast RCNN和RPN网络进行结合,后者是进一步对SS算法提取特征图进行优化的网络

m0_52427832的博客 3414
上一篇: markdown编辑器
下一篇: 入门-线段树
君只见独不见
博客等级 码龄12年 99粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值