RCNN系列发展历程

news2024/11/25 0:50:44

1. RCNN

  RCNN发表于CVPR 2014。是将深度学习应用于目标检测领域的开山之作,凭借卷积神经网络较之传统CV方法的强大特征提取能力,将PASCAL VOC数据集检测率从35.1%提升到53.7%。

  RCNN的算法流程如下图所示,其过程主要分为4步:

  • 生成候选区域。采用Region Proposal提取候选区域,使用Selective Search算法,先将图像分割成小区域,然后合并包含同一物体可能性高的区域并输出。RCNN在这一步需要提取2000个候选区域,并将每一个区域进行归一化处理,得到固定大小的图像。
  • CNN特征提取。将上述固定大小的图像,输入CNN得到固定维度的输出特征图。
  • SVM分类器。使用线性二分类器对上述输出特征进行分类,得到分类结果,并采用难样本挖掘来平衡正负样本的不平衡。
  • 位置精修。使用一个回归器,对特征进行边界回归以得到更为精确的目标区域。

在这里插入图片描述

2. Fast RCNN

  Fast RCNN发表于ICCV 2015。RCNN需要多步训练,步骤繁琐且训练速度慢。Fast RCNN实现了端到端的训练,基于VGG16网络,训练速度比RCNN快了近9倍,测试速度快了近213倍,在PASCAL VOC数据集检测率达到了68.4%。

  Fast RCNN的算法流程如下图所示,与RCNN相比,主要有3点改进:

  • 共享卷积。将整幅图像送入卷积网络中进行区域生成,而不是像RCNN那样一个个的候选区域。仍采用Selective Search方法,但共享卷积使得计算量大大减少。
  • RoI Pooling。利用特征池化(RoI Pooling)的方法进行特征尺度变换,这种方法保证了输入图像尺寸可以是任意大小的,使得训练过程更加灵活、准确。
  • 多任务损失。将分类与回归网络放到一起训练,且为了避免SVM分类器带来的单独训练与速度慢的缺点,使用了Softmax函数进行分类。

在这里插入图片描述

3. Faster RCNN

  Faster RCNN发表于NIPS 2015。该算法提出了RPN(Region Proposal Network)网络,利用Anchor机制将区域生成与卷积网络联系到一起,检测速度提升至17FPS(Frames Per Second),在PASCAL VOC2012测试集上达到70.4%的检测效果。

  Faster RCNN的算法流程如下图所示,主要包括4部分:

  • 特征提取网络。输入图像首先经过Backbone得到特征图。

  • RPN模块。区域生成模块,用来生成较好的建议框(Proposal),用到了强先验的Anchor,RPN包括5个子模块:

    • Anchor生成。特征图上的每一个点都对应了9个Anchor,这9个Anchor大小宽高各不相同,对应到原图基本可以覆盖所有可能出现的物体。而RPN的任务就是从数量庞大的Anchors中筛选,并调整出更好的位置,得到Proposal。

    • RPN网络。与上述Anchor对应,利用1×1的卷积在特征图上得到每一个Anchor的预测得分与预测偏移值。

    • 计算RPN loss。这一步只在训练中,将所有的Anchor与标签(Ground Truth)进行匹配,匹配程度较好的Anchor赋予正样本,较差的赋予负样本,得到分类与偏移的真值,与第二步中预测得分与预测偏移值进行loss计算。

    • 生成Proposal。利用上述每一个Anchor的预测得分与预测偏移值,进一步得到一组较好的Proposal,送入后续网络中。

    • 筛选Proposal得到ROI。训练时生成了2000个Proposal,进一步筛选Proposal得到256个RoI。测试时,则不需要此模块,Proposal可直接作为RoI。

  • RoI Pooling模块。输入为Backbone提取的feature map和RPN生成的RoI,输出送入RCNN。由于RCNN使用了全连接网络,要求特征的维度固定,而每一个RoI对应的特征大小各不相同,因此RoI Pooling将RoI的特征池化到固定的维度,以便送入全连接网络。

  • RCNN模块。将RoI Pooling得到的特征送入全连接网络,预测每一个RoI的分类,并预测偏移量以精修边框位置,并计算损失值,完成整个Faster RCNN过程,RCNN模块包括3部分:

    • RCNN全连接网络。将得到的固定维度的RoI特征送入全连接网络中,输出为RCNN部分的预测得分与预测回归偏移量。

    • 计算RCNN的真值。对于筛选出的RoI,需要确定是正样本还是负样本,同时计算与对应真实物体的偏移量。在实际实现时,这一步往往与RPN最后筛选RoI放在一起。

    • RCNN loss。通过RCNN的预测值与RoI部分的真值,计算分类与回归的loss。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu中隐藏Apache的版本号等信息

Ubuntu中隐藏Apache的版本号等信息 vim /etc/apache2/apache2.conf在apache主配置文件的末尾增加以下内容: ServerTokens Prod ServerSignature offServerTokens: 默认阀值为Full,以apache-2.0.55为例,阀值可以设定为以下某项&a…

【完整项目开发】Springboot+jsp宠物医院信息管理系统设计和实现--依旧很干

Springbootvue宠物医院信息管理系统设计和实现 **大家好,今天分享最近做的一套系统。**起因源于小伙伴的需求 文末有的获取方式,如需定制系统,需求发来,我为你分忧,搞起 一、 项目介绍 宠物医院信息管理系统是一种…

香港轻量云服务器安全性如何?

​  之前,对于新手外贸站长而言,部署网站首要青睐是香港虚拟主机。但大多人也都清楚,每台香港虚拟主机的资源是由一台物理机分割来的。这无疑会带来一定的安全隐患,比如分割出来的多台香港虚拟主机会共用传统的系统、管理面板以…

Vue3评分(Rate)

可自定义设置以下属性: 是否允许再次点击后清除(allowClear),类型:boolean,默认 true 是否允许半选(allowHalf),类型:boolean,默认 false star …

Java每日一练(20230417)

目录 1. N 皇后 🌟🌟🌟 2. 搜索二维矩阵 🌟🌟 3. 发奖金问题 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 …

神经网络之反向传播算法(自适应矩估计算法Adam变形形式之Adamax、Nadam)

文章目录自适应矩估计算法(Adam)的两种变形形式1、Adamax算法原理2、Nadam算法原理3、算法实现3.1 Adamax训练过程3.2 Adamax测试过程及结果3.3 Nadam训练过程3.4 Nadam测试过程及结果4、参考源码及数据集自适应矩估计算法(Adam)的…

打造安全无忧软件应用的十大最佳实践

安全无忧的软件开发最佳实践实在是很有必要,因为安全风险无处不在。在网络攻击盛行的时代,它们可能影响到每个人,包括个人、公司和政府。因此,确保软件开发的安全性至关重要。 本篇文章将解释了什么是安全的软件,如何…

你了解C语言中的柔性数组吗?

本篇博客主要讲解C99中的新语法:柔性数组。 1.什么是柔性数组? 柔性数组就是大小可以变化的数组。 注意跟C99中的变长数组区分开来,变长数组指的是可以使用变量来指定大小,并且不能初始化的数组,比如: i…

实例方法、类方法、静态方法、实例属性、类属性

背景:今天在复习类相关知识的时候,突然想到这几种类型的方法的区别和用法,感觉有点模棱两可,于是总结一下,加深记忆。 定义:想要区别和理解几种方法,首先要定义一个类,要在类中加深…

mysql如何修改时区

mysql 里CST时区的坑 一、 问题简述 mysql里CST时区是个非常坑的概念,因为在mysql里CST既表示中国也表示美国的时区。但是在JDK代码里,CST这个字符串被理解为CenTral Standard Time(USA)(GMT-6)&#xff…

java框架都有哪些

Java框架是对Java2中的一些基本概念进行抽象,封装成能被开发者使用的类库,使之能快速开发应用程序。它让开发者能够专注于业务逻辑而不是实现细节。可以说, Java框架是 Java开发中的重要组成部分,它极大地方便了开发者。下面为大家…

腾讯云GPU服务器NVIDIA P40 GPU、P4、T4和GPU自由卡详解

腾讯云GPU云服务器,GPU云服务器实例可选GN8机型、GN6S机型、GN7机型等规格,搭载 NVIDIA P40 GPU,最长可3年,云服务器吧来详细说下腾讯云GPU云服务器: 目录 腾讯云GPU云服务器 腾讯云GPU自由卡 腾讯云GPU云服务器 腾…

选品趋势分析 | 2023开斋节将至,穆斯林时尚在TIKTOK上增长势头正劲!

2023年Q1 穆斯林时尚的销售额环比2022年Q4 暴涨153%,领跑TikTok电商大盘,成为2023年Q1的超级黑马品类。加之开斋节临近,人民陆续开始为庆祝开斋节作采购准备,购物需求相应激增,其中,穆斯林群体会在开斋节的…

GELU激活函数

GELU是一种常见的激活函数,全称为“Gaussian Error Linear Unit”, 作为2020年提出的优秀激活函数,越来越多的引起了人们的注意。 GELU (Gaussian Error Linear Units) 是一种基于高斯误差函数的激活函数,相较于 ReLU 等激活函数&#xff0c…

java版工程项目管理系统-功能清单 图文解析

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

MySQL事务的四大特性及事务的隔离级别

什么是事务?Transaction 常言道:能不麻烦就不麻烦,能简单化就简单化。但是为什么需要事务呢? 事务:用来保证一个业务的完整性,最大的优势就是回滚,并撤销正在进行的所有未提交的修改&#xff1…

linux运行串口相关的java.jar报错:java.lang.UnsatisfiedLinkError

目录 linux运行串口相关的java.jar报错如下: java.lang.UnsatisfiedLinkError是Java中的一个错误类型,通常发生在调用本地(native)方法或使用JNI(Java Native Interface)时。 在Java中,本地方…

微分中值定理—柯西中值定理

微分中值定理—柯西中值定理前面我们已经学习了罗尔中值定理,和拉格朗日中值定理,它们的相同点是,研究的曲线都能用函数来表示。那假如曲线不能被函数表示呢,用柯西中值定理。 1 定义 柯西中值定理是拉格朗日中值定理的推广。如果&#xff0c…

助力企业节能降耗:综合能效管理之场景控制

企业综合能效管理系统是为企业提供能耗管理、电能质量和用能安全监测的整套解决方案,系统可采集多种类型能源(电、水、天然气、工业气体、冷热量等)数据,并对能源消耗进行分析,包括分类分项能耗、区域能耗、部门能耗数…

海思编码:1、mpp系统详谈以及VI、VPSS、VENC之间的关系

在HiMPP手册中都会有这么一张图 1、VI部分 视频输入设备 视频输入设备支持标准 BT.656、标准 BT.1120、自定义时序等若干种时序输入,负责对时序进行解析。 视频物理通道 视频物理通道负责将输入设备解析后得到的视频数据输出到 DDR。在真正将数据输出到 DDR 之前…