RCNN、Fast-RCNN、Faster-RCNN网络详解

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

RCNN

RCNN算法流程:

1.一张图片生成1k~2k个候选区域(使用Selective Search方法);
2.对每个候选区域,使用深度网络(即图片分类网络)提取特征;
3.特征送入每一类的SVM分类器,判别是否属于该类;
4.使用回归器精细修正候选框位置。
在这里插入图片描述
1.候选区域的生成
利用Selective Search算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,这些结构就包含着肯能需要的物体。

2.对每个候选区域,使用深度网络提取特征
将2000个候选区域缩放到227x227pixel,然后将候选区域输入事先训练好的AlexNet CNN网络,(将分类网络中的全连接层去掉)获取4096维的特征,得到2000x4096维特征矩阵。
在这里插入图片描述

3.特征送入每一类的SVM分类器,判定类别
将2000x4096维特征与20个SVM(Pascal Voc有20个类别)组成的权值矩阵4096x20相乘,获得2000x20维矩阵表示每一个建议框是某个目标类别的得分。分别对上述2000x20维矩阵中每一列即每一类进行非极大值抑制提出重叠建议框,得到该列(即该类中)得分最高的一些建议框。
在这里插入图片描述
2000x4096的特征矩阵中,每一行就是一个候选框通过CNN网络得到的特征向量(2000个候选框2000行向量);4096x20的SVM权值矩阵中,每一列对应一个类别的权值向量;最后得出2000个候选框分别属于这20类的概率,即2000x20的概率矩阵。

对2000x20的概率矩阵的每一列(即每一类)进行非极大值抑制制剔除重叠建议框。

非极大值抑制的实现过程:非极大抑制NMS与Soft-NMS

4.使用回归器精细修正候选框位置
对NMS处理后剩余的建议框进一步筛选。接着分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后得分最高的bounding box。

如图,黄色窗口P表示建议框Region Proposal,绿色窗口表示实际框Ground Truth,红色窗口G^表示Region Proposal进行回归后的预测窗口,可以用最小二乘法解决的线性回归问题。
在这里插入图片描述

RCNN的缺点

1.测试速度慢;
用SS算法提取候选框用时约2s,一张图片内候选框之内存在大量重叠,提取特征操作冗余。
2.训练速度慢,过程及其繁琐;
3.训练所需空间大。

Fast-RCNN

Fast RCNN算法流程

1.一张图片生成1k~2k个候选区域(使用Selective Search方法);
2.将整幅图像输入到CNN网络中,得到相应的特征图,再将SS算法生成的候选框投影到特征图上获得相应的特征矩阵;
3.将每个特征矩阵通过ROI(Region of Interest) pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。
在这里插入图片描述
2.生成候选框的特征矩阵
Fast-RCNN将整张图像(不限制输入图像的尺寸)输入网络,紧接着从输入图像上提取相应的候选区域。

再根据每个候选区域原图与特征图的映射关系,就能在特征图中直接获取特征矩阵,这些候选区域的特征不需要再重复计算。在这里插入图片描述
数据采样问题:在训练过程中并不是使用SS算法提供的所有候选区域,只使用其中一小部分。

3.ROI pooling layer

在这里插入图片描述
假设左图为候选区域,将其划分成7x7,对每个方格进行最大池化下采样(忽略channel),得到一个7x7的特征矩阵。

softmax分类器

输出N+1个类别的概率(N为检测目标的种类。1为背景),共N+1个节点。
在这里插入图片描述

bbox regressor边界框回归器

输出对应N+1个类别的候选边界框回归参数(dx,dy,dw,dh),共(N+1) x 4个节点。
在这里插入图片描述
利用回归参数得到边界框:
黄色窗口P表示建议框Region Proposal,绿色窗口表示实际框Ground Truth,红色窗口G^表示进行回归后的预测窗口
在这里插入图片描述

Faster-RCNN

Faster RCNN算法流程

1.将图像输入网络得到相应的特征图;
2.使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵;
3.将每个特征矩阵通过ROI(Region of Interest) pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。

可以理解为RPN+Fast RCNN
在这里插入图片描述

RPN(Region Proposal Networks)网络结构

RPN网络是全卷积网络,其核心思想是是使用CNN直接产生Region Proposal,本质上就是滑动窗口。
在这里插入图片描述
在特征图上使用滑动窗口,每滑动一个位置就生成一个一维向量,通过两个全连接层分别输出目标概率和边界框回归参数(2k为针对每个anchor生成2个概率,背景概率和前景概率;4k为针对每个anchor也会生成4个边界框回归参数;256为原论文中使用ZF网络作为特征提取网络,它所生成的特征图的chanel为256)
在这里插入图片描述
每两个scores为一组anchor,每四个coordinates为一组anchor。

例如第一个anchor中,0.1为这一anchor中的物体为前景的概率,0.9为该物体为背景的概率(只要是所要检测的目标都为前景);

而第一个回归参数中dx、dy对应第一个anchor的中心点坐标,dw、dh对其宽和高的调整,从而尽可能框选出目标。

原论中:提出了三种尺度128x128、256x256、512x512和三种比例1:1、1:2、2:1的anchor,因此每个位置在原图上都对应有3x3=9个anchor。对于一张1000x600x3的图像,大约有20k个anchor,忽略超过图像边界的anchor后,剩下约6k个anchor。对于RPN生成的候选框之间存在大量重叠,基于候选框的cls得分,采用非极大值抑制,IoU设为0.7,这样每张图片只剩下2000个候选框。

Faster R-CNN的主要贡献是设计了提取候选区域的网络RPN,代替了费时的选择性搜索,使得检测速度大幅提高。

Faster R-CNN网络结构

在这里插入图片描述

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

相关推荐

Faster RCNN网络简介

介绍 Faster RCNN网络是目标检测领域里程碑式的一个网络。这个网络的提出,真正将深度学习方法端到端的应用到目标检测领域。大幅提升了目标检测的检测速度和检测准确程度。论文的RPN、Anchor等思想对后续的论文和研究工作也有不小的影响。下面,我们一起来看一下Faster RCNN到底是如何具体进行目标检测的。 总体网络结构 如图所示,我们先总体介绍一下数据流是如何传输的。之后再分开每一部分...

Einstellung的博客 4023

R-CNN史上最全讲解

R-CNN史上最全讲解

weixin_43702653的博客 6万+

RCNN, Fast-RCNN, Faster-RCNN的一些事

一.RCNN -> Fast-RCNN -> Faster-RCNN的发展 在CNN之前,对象检测这一问题基本是遵循着“设计手工特征(Hand-crafted feature)+分类器”的思路,而且由于存在着区域搜索的步骤,所以可以认为是计算机用一个小的矩形窗口不断在图像上滑动、缩放,然后用分类器预测当前滑动窗口所在区域是否存在一个感兴趣的对象。 —> 使用CNN的特征,用深...

daydayup_668819的博客 1789

RCNN详解

RCNN详解 RCNN即region proposals(候选区域) + CNN,是将CNN引入目标检测领域的开山之作(2014年),大大提高了目标检测的效果,在其后也是出现了更优异的变体Fast RCNN, Faster RCNN。 下文按照RCNN的工作过程依次介绍 1. 生成候选区域 获取候选区域最直接的方式就是滑窗法了,但是滑窗法需要用一个固定大小的小窗口遍历整张图片,因此其有很多的局限性。 所以一般都是使用一些候选区域(Region Proposal)算法,候选区域算法使用一些图像分割的算法来识别

panfengblog 3万+

R-CNN、Fast RCNN和Faster RCNN网络介绍

R-CNN、Fast RCNN和Faster RCNN网络介绍

chase 7664

大话目标检测经典模型(RCNN、Fast RCNN、Faster RCNN)

目标检测是深度学习的一个重要应用,就是在图片中要将里面的物体识别出来,并标出物体的位置,一般需要经过两个步骤: 1、分类,识别物体是什么 2、定位,找出物体在哪里 除了对单个物体进行检测,还要能支持对多个物体进行检测,如下图所示: 这个问题并不是那么容易解决,由于物体的尺寸变化范围很大、摆放角度多变、姿态不定,而且物体有很多种类别,可以在图片中出现多种物体、出现在任意位置。因此,目标检测是一个比较复杂的问题。 最直接的方法便是构建一个深度神经网络,将图像和标注位置作为样本输入,然后经过CNN网络,再.

qq_33287871的博客 1723

Faster RCNN代码详解(五):关于检测网络(Fast RCNN)的proposal

在系列(二)中介绍了Faster RCNN算法的网络结构,其中有一个用于生成ROI proposal target的自定义层,该自定义层的输出作为检测网络(Fast RCNN)的输入,这篇博客就来介绍这个自定义层的内容。该自定义层的实现所在脚本~/mx-rcnn/rcnn/symbol/proposal_target.py,该层返回的group列表包含4个值,分别是rois,label,bbox_...

AI之路 7710

【SAP中的框架协议】

在SAP中,框架协议(Framework Agreement) 是企业与供应商签订的长期采购约束文件,用于简化重复性采购流程、锁定交易条款并降低管理成本。

m0_73548864的博客 1298

py-faster-rcnn 算法详解

一、faster-rcnn 之 RPN网络的结构解析 http://blog.youkuaiyun.com/sloanqin/article/details/51545125

qq_35497808的博客 401

单波束与多波束声呐:从原理到应用场景的全面解析

本文全面解析了单波束与多波束声呐的工作原理、核心特点及应用场景。单波束声呐如精准的狙击手,适合高精度需求;多波束声呐则像高效的散弹枪,适用于快速测绘和大面积覆盖。文章还提供了选型指南和前沿发展趋势,帮助用户根据预算和需求选择最适合的声呐技术。

weixin_30872157的博客 221

Ubuntu 22.04 搭建 PX4 飞控系统完全指南:从仿真到硬件试飞

定义消息文件protobufuint64 timestamp # 时间戳float32 temperature # 温度float32 humidity # 湿度生成代码:bashPX4 在 Ubuntu 22.04 的搭建涉及环境配置、编译仿真、硬件连接等多环节,核心是理解 PX4 1.14 的新特性(uXRCE-DDS、动态控制分配)。通过本文指南,开发者可快速构建稳定的 PX4 开发环境,为无人机应用开发奠定基础。

zqmgx13291的博客 3044

Faster RCNN详解

paper:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 前言 faster rcnn是何凯明等大神在2015年提出目标检测算法,该算法在2015年的ILSVRV和COCO竞赛中获得多项第一。该算法在fast rcnn基础上提出了RPN候选框生成算法,使得目标检测速度大大提高。 R CN...

小白的深度学习的博客 19万+

Vivado加上VsCode让你的生活更美好

VsCode与Vivado的灵活使用 引言 ​ 现在大二了,在接触硬件描述语言。Vivado自带的编辑器实在很难用,为了能够“极客”一些,当然是去Google了一下有哪些方法可以取而代之。 ​ 网络上的答案大同小异,基本上都是用的Sublime Text.(我的学长们也几乎都是) 平时码代码的过程中,我习惯与使用VsCode,尤其是在微软收购GitHub之后,Code 简直就是神器了。于是乎…一个...

qq_39498701的博客 10万+

目标检测:RCNN、Fast RCNN、 Faster RCNN 基本思想和网络结构介绍

目标检测:RCNN、Fast RCNN、 Faster RCNN 基本思想和网络结构介绍

qq_43799400的博客 4万+

STM32 USART高级功能全解析:IrDA、DMA、硬件流控与低功耗唤醒

USART是嵌入式系统中最基础的串行通信外设,其核心原理在于同步/异步时序控制与数据帧收发机制。现代MCU如STM32通过深度集成IrDA调制解调、DMA直传通道、RS232/RS485硬件流控及Stop模式唤醒等扩展能力,显著提升通信可靠性、吞吐效率与能效比。其中,IrDA SIR采用RZI编码实现抗干扰红外传输,DMA通过TXE/RXNE事件驱动实现零CPU干预的连续数据流,而硬件流控(RTS/CTS/DE)和低功耗唤醒(WUF+UESM)则分别保障工业现场鲁棒性与电池级超长待机。本文围绕STM32平台

weixin_28922227的博客 211

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权难度简单偏上对于低权限shell获取涉及:ssti漏洞对于提权:pkexec提权。

2202_75361164的博客 634

目标检测:RCNN、Fast RCNN、Faster RCNN、Mask RCNN、SSD

anchor不是候选框(Proposal),后面会提到二者的区别。我们在特征图中找一个点,就可以在原图中找到对应的一个像素点,以该像素点为中心,画出9个不同大小和长宽比的框,称为anchor。如下图所示,这些anchor里面可能包含目标,也可能没有目标。因为我们在一张图中想找的的目标的大小和长宽比并不是固定的,所以这里用9个不同大小和长宽比的anchor来进行预测。那么为什么是9个anchor呢?

weixin_52435934的博客 3359

Qt基础之十九:进程与QProcess

进程就是一个程序的执行实例,也就是正在运行的程序。对操作系统来说,进程就是一个担当分配系统资源CPU时间、内存的实体。在Qt 中,我们使用QProcess来表示一个进程。这个类可以允许我们的应用程序启动一个新的外部程序,并且与这个程序进行通讯。当外部程序开始启动时,QProcess的状态为Starting;外部程序已经启动时,QProcess的状态为Running,并发送started()信号;当外部层序退出了,QProcess的状态为NotRunning(初始状态),并发送finished()信号。

草上爬的博客 1万+

深度学习之目标检测Faster RCNN模型算法流程详解说明(超详细理论篇,含R-CNN、Fast-RCNN 、Faster-RCNN 核心差异对比表)

Faster R-CNN “从论文背景到代码细节” 一次性讲透。先回顾 R-CNN → Fast R-CNN 的进化痛点:候选框外置、特征重复计算、训练分段。随后聚焦 Faster R-CNN 的“一箭三雕”——RPN 网络内生候选框、共享卷积特征、端到端多任务损失,彻底拔掉速度瓶颈。Faster R-CNN:用RPN网络内生候选框,共享卷积端到端训练,5步流程秒懂;精度和速度双升,却显存高、调参难,目标检测必读经典。

qq_55433305的博客 8228

一种独特机理驱动的化学反应分类器详解

代码位置第 47-300+ 行// atom_494: 硫原子,度数=2,化合价=2,无H,无电荷!// atom_35: 氧原子,度数=1,1个H,无电荷// atom_347: 氧原子,度数=2,无H,无电荷!→atom_494()[OD1h1+0]→atom_35()→atom_347()特性传统方法(MCS)NameRXN(机理驱动)匹配策略最大公共子结构原子类型模式 + 操作码时间复杂度O(n) - 线性扫描机理理解无内置化学机理原子映射需额外计算自动推导准确性结构相似。

ASKCOS博客 158

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

RCNN、Fast-RCNN Faster-RCNN大致区别总结

RCNN大致步骤:先提取proposal,然后将proposal输入CNN提取特征,使用SVM分类,最后做bbox reg。 缺点:速度。提取proposal的时候计算机进行大量重复计算 Fast改进:ROI pooling 在fast中,作者将输入变为一整张图片,通过ROI再进行特征选择。 并且将bbox reg和区域分类都加入网络变成了multi...

qq249356520的博客 7679

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Faster RCNN 超详细入门 01-准备篇-RCNN,SPPnet,Fast RCNN,RoI Pooling

Faster超详细入门 01 -准备篇-背景 RCNN,SPP net,Fast RCNN,RoI Pooling

IanYue的博客 5157

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RCNN, Fast R-CNN 与 Faster RCNN理解思路和对比

后来,出现了Fast RCNN的方法,可以看到Fast RCNN 还是没有放弃2k个区域提议的部分,这是主要导致时间长的问题。

Traceyfind的博客 1612

RCNN系列总结:RCNN -> Fast RCNN -> Faster RCNN概述

RCNN (参考:ref-1、ref-2) 传统的目标检测方法分为区域选择、特征提取(SIFT、HOG等)、分类器(SVM等)三部分,其主要问题有两方面: 区域选择策略没有针对性、时间复杂度高,窗口冗余; 手工设计的特征鲁棒性较差; RCNN ( Region-based Convolutional Neural Networks ) RCNN 创新点: 采用CNN提取图像特征,从经验...

Francis Liu 4490

RCNN Fast R-CNN Faster R-CNN总结(学习笔记)

Anchor box是怎么作用到RPN中的?网络是如何学习到分类和回归的呢?在RPN训练时,传给它的不是全部的特征图吗?是如何实现从全部特征图中将特定选择好的256个anchor box放入其中进行训练的呢?

CHEN77的博客 2107

讲解 Faster R_CNN原理:

可以看到 Conv2 是用不到的,和我们理解的一致(尺度太大),而特征提取是 通过 L2 Norm + Scale + 1x1 Conv 得到,因为不同 Feature 之间的尺度不一致,Norm 是必须的,通过 归一化 和 Scale 进行特征提取后,送到 FC全连接层进行 分类和回归,如上图所示。多尺度特征提取是本文的核心点,作者的方法稍微有所不同,他是以中间的 Feature 尺度为参考,前面的层通过 Max Pooling 到对应大小,后面的层则是通过 反卷积(Deconv)进行放大。

lbr15660656263的博客 1636
上一篇: ShuffleNetv1、v2网络详解、使用pytorch搭建模型ShuffleNetv2并基于迁移学习训练
下一篇: FPN结构详解
STATEABC
博客等级 码龄6年 537粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值