Fast R-CNN 与 R-CNN的不同之处

2024-06-12 12:04
文章标签 cnn fast

本文主要是介绍Fast R-CNN 与 R-CNN的不同之处,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、Fast R-CNN如何生成候选框特征矩阵

二、 关于正负样本的解释

三、训练样本的候选框  

四、Fast R-CNN网络架构

4.1 分类器

4.2 边界框回归器 


一、Fast R-CNN如何生成候选框特征矩阵

        在R-CNN中,通过SS算法得到2000个候选框,则需要进行2000次正向传播 得到2000个特征 —— 很冗余 ——很多重叠部分计算计算一次就可以。

        在Fast R-CNN中,直接将整张图片送入CNN得到这张图片的特征图,再根 据候选框与原图的关系映射到特征图上,就不需要重复运算了。——大幅度提 升Fast R-CNN的运算速度  

二、 关于正负样本的解释

        在Fast R-CNN网络训练过程中,并不会使用SS算法提供的所有候选框(SS 算法生成大约2000个候选框),只需使用一小部分的数据即可。对于采样数 据,它分为“正样本”和“负样本”。

        正样本:候选框中确实存在所需检测目标(前景)的样本

        负样本:候选框中没有所需检测目标(背景)的样本

为什么要将样本分为正样本和负样本呢?

        假如我们要训练一个猫狗分类器,如果猫的样本数量远大于狗的样本数量 (数据不平衡),网络在预测时会更偏向于“猫”,很明显这样是不对的。如果数 据中全是“猫”的样本, 没有“狗”的样本,那么网络预测几乎一定会出现问题。

        同理,在训练Fast R-CNN时,如果数据中全部都是正样本,那么网络就会 很大概率认为候选区域是所需要检测的目标(可能这个框明明框住的是背景, 但网络仍会认为这个被框住的背景是有用的,是一个前景),这时网络肯定会 出问题。所以数据要分为正样本和负样本。

        在原论文中,对于每一张图片,从2000个候选框中采集64个候选框。这64 个候选框,一部分框的是正样本,一部分框的是负样本。那么正样本是如何定 义的呢?

        只要候选框与真实框(GT)的IoU大于0.5,则认定为正样本,反之认定为 负样本。

三、训练样本的候选框  

原理:

 

        左边图其实是一个经过特征提取的特征图,本身可视化出来也是很抽象 的,这里只是为了方便理解,使用了RGB图像。

        具体实现为:将特征图划分为 7×7 个小块,对其每一小块执行MaxPooling

        这样处理对输入特征图的尺寸没有要求了,无论怎样都可以缩放到7×7 -> 在R-CNN中,输入图像被限定为227×227,而在Fast R-CNN中,输入图像尺寸 不再被限制。

        这里忽略了Channel维度,和最大池化一样,有几个通道就做几次,最后 concat就可以了。  

四、Fast R-CNN网络架构

4.1 分类器

4.2 边界框回归器 

 

d x , d y :用 来 调 整 候 选 框 中 心 坐 标 的 回 归 参 数

d w , d h :用 来 调 整 候 选 框 宽 度 和 高 度 的 回 归 参 数  

这篇关于Fast R-CNN 与 R-CNN的不同之处的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054164

相关文章

05 TensorFlow 2.0:CNN总结及实战

浮云爱蹉跎 流光怕寂寞 填残篇脉络 续断章因果 问今生旅途几时交错 前尘灯火 隔世传说                                                                                                                                 《流光卷》 卷积层 发现特征轮廓,实现特征提

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类)

MATLAB-SSA-CNN-SVM,基于SSA麻雀优化算法优化卷积神经网络CNN结合支持向量机SVM数据分类(多特征输入多分类) 1.数据均为Excel数据,直接替换数据就可以运行程序。 2.所有程序都经过验证,保证程序可以运行。 3.具有良好的编程习惯,程序均包含简要注释。 结果展示 获取方式 https://mbd.pub/o/bread/mbd-ZpeYkpZw

5.How Fast Should You Be When Learning?(你应该用多快的速度学习? (一))

Normally when I talk about learing quickly, I’m using speed as a synonym for efficiency.Use more effective methods and you’ll learn more in less time.All else being equal, that means you’re learing fa

经典机器学习方法(7)—— 卷积神经网络CNN

参考:《动手学深度学习》第六章 卷积神经网络(convolutional neural network,CNN)是一类针对图像数据设计的神经网络,它充分利用了图像数据的特点,具有适合图像特征提取的归纳偏置,因而在图像相关任务上,它可以用相比全连接网络更少的参数量取得更好的性能。基于 CNN 的模型已经在 CV 领域处于主导地位,当今几乎所有的图像识别、目标检测或语义分割相关的学术竞赛和商业应

Splash of Color: Instance Segmentation with Mask R-CNN and TensorFlow

喷色:使用Mask R-CNN和TensorFlow进行实例分割 原文:Splash of Color: Instance Segmentation with Mask R-CNN and TensorFlow 原作者:Waleed Abdulla 0 概述 早在11月,我们就将Mask R-CNN的实现开源了,此后,它被forked了1400次,在许多项目中使用,并得到了许多贡献者的改进。

基于PSO粒子群优化的CNN-GRU的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 卷积神经网络(CNN) 4.2 CNN-GRU模型架构 4.3 CNN-GRU结合PSO的时间序列预测 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 ........

【GNU笔记】内联函数与宏一样快 An Inline Function is As Fast As a Macro

内联函数与宏一样快 An Inline Function is As Fast As a Macro 通过声明内联函数,你可以指示 GCC 更快地调用该函数。GCC 可以实现这一点的一种方法是将该函数的代码集成到其调用者的代码中。这通过消除函数调用开销使执行速度更快;此外,如果任何实际参数值是常量,则它们的已知值可能允许在编译时进行简化,因此不需要包含所有内联函数的代码。对代码大小的影响是难以预

PyTorch+CNN进行猫狗识别项目

任务介绍 数据结构为: big_data     ├── train     │   └── cat     │       └── XXX.jpg(每个文件夹含若干张图像)     │   └── dog     │       └── XXX.jpg(每个文件夹含若干张图像)     ├── val     │   └── cat     │       └── XXX.jpg(每个文件夹

fast DFS 单机使用实例

fast DFS 单机使用实例 我在一台服务器上简单测试了fastdfs。client, tracker, storage server都是同一个物理服务器。   1. 编译fastdfs:   sles207:/opt/mars/FastDFS # ./make.sh   storage_service.o: In function `storage_service_init':/opt/ma

TensorFlow实战:Chapter-6(CNN-4-经典卷积神经网络(ResNet))

ResNet ResNet简介相关内容论文分析 问题引出解决办法实现residual mapping实验实验结果 ResNet在TensorFlow上的实现 ResNet ResNet简介 ResNet(Residual Neural Network)由微软研究院的何凯明大神等4人提出,ResNet通过使用Residual Unit成功训练152层神经网络,在ILSCRC20