目标检测-Two Stage-RCNN

文章目录

  • 前言
  • 一、R-CNN的网络结构及步骤
  • 二、RCNN的创新点
    • 候选区域法
    • 特征提取-CNN网络
  • 总结


前言

在前文:目标检测之序章-类别、必读论文和算法对比(实时更新)已经提到传统的目标检测算法的基本流程:
图像预处理 => 寻找候选区 => 特征提取 => 分类器分类 => 后处理

传统目标检测的主要问题是:

  • 1)寻找候选区的方法缺陷:基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余,速度慢
  • 2)手工设计的特征对于多样性的变化没有很好的鲁棒性

2012年,卷积神经网络(CNN)开始大放异彩,开启了基于深度学习算法图像分类的热潮。

2014年,RBG(Ross B. Girshick)使用Region Proposal + CNN代替传统目标检测使用的滑动窗口+手工设计特征,设计了R-CNN框架,使得目标检测取得巨大突破,并开启了基于深度学习目标检测的热潮。

为了解决上述传统目标检测需要遍历图像的缺陷,出现了候选区域(Region Proposal)法:即利用图像中的纹理、边缘、颜色等信息,预先找出图中可能含有物体的候选区域/框,可以保证在选取较少窗口(几千甚至几百)的情况下保持较高的召回率(Recall),文中使用的是Selective Search候选区域法。

R-CNN在PASCAL VOC 2010上实现了53.7%的平均精度(mAP),并在VOC 2011/12 test(测试集)中实现了类似的性能(53.3% mAP)


提示:以下是本篇文章正文内容,下面内容可供参考

一、R-CNN的网络结构及步骤

  1. 提取候选区域(Region Proposal)

ps:利用Selective Search算法在图像中从下到上提取2000个左右的可能包含物体且大小不一的候选区域Region Proposal

  1. 预训练分类模型(如AlexNet)+ 微调(fine-tuning) / 从头开始训练模型
  2. 利用训练好的模型进行特征提取,获取候选区特征图

ps:将每个Region Proposal缩放(warp)成统一的227x227的大小并输入到CNN网络,将CNN网络的输出作为特征

  1. 训练一个SVM分类器,根据CNN特征图进行分类,利用非极大值抑制(NMS)去除冗余候选区
  2. 训练一个线性回归模型,精修正确的候选框位置及大小

在这里插入图片描述
在这里插入图片描述

二、RCNN的创新点

  • 使用候选区域法(Region Proposal)代替穷尽策略,大大缩小了计算量
  • 利用CNN参数共享和特征提取的优势,改善了提取特征的速度和质量

候选区域法

在这里插入图片描述

有很多候选区域法,当时最出色的是选择性搜索(selective search)。它的工作原理是将图片中的每一个像素作为一组,然后计算每个像素的纹理,将相近的的组合起来形成更大的像素组,然后继续合并各个像素组。下图中展示了像素组是如何扩大的,蓝色矩形代表了真实图片各像素组合并后的外界矩形框。
在这里插入图片描述

特征提取-CNN网络

原文中使用的是AlexNet,当然也可以使用其他卷积神经网络。


总结

R-CNN虽然不再像传统方法那样穷举,但R-CNN流程的第一步中对原始图片通过Selective Search提取的候选框region proposal多达2000个,且这2000个候选框每个框都需要进行CNN提特征+SVM分类,计算量很大,导致R-CNN检测速度很慢,GPU上大于13s/image,CPU上大于53s/image。

其次,将所有候选区域统一缩放到统一大小(CNN输入大小是确定的)会导致图像变形失真,从而降低精度。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毕业首选 | CCF推荐1区SCI,IF:6.0,Elsevier出版社,最快仅1个月Accept!

【SciencePub学术】本期,小编给大家解析的是一本Elsevier旗下、CCF-C类、影响因子为6.0的中科院3区SCI。其详情如下: 期刊简介 COMPUTER COMMUNICATIONS ISSN:0140-3664 E-ISSN:1873-703X IF(2022)&a…

SQL server 数据库练习题及答案(练习3)

一、编程题 公司部门表 department 字段名称 数据类型 约束等 字段描述 id int 主键,自增 部门ID name varchar(32) 非空,唯一 部门名称 description varchar(1024) …

MySQL——表的内外连接

目录 一.内连接 二.外连接 1.左外连接 2.右外连接 一.内连接 表的连接分为内连和外连 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。 语法: s…

momentum2靶机

文章妙语 遇事不决,可问春风; 春风不语,遵循己心。 文章目录 文章妙语前言一、信息收集1.IP地址扫描2.端口扫描3.目录扫描 二,漏洞发现分析代码bp爆破1.生成字典2.生成恶意shell.php2.抓包 三,漏洞利用1.反弹shell 四…

深入剖析LinkedList:揭秘底层原理

文章目录 一、 概述LinkedList1.1 LinkedList简介1.2 LinkedList的优点和缺点 二、 LinkedList数据结构分析2.1 Node节点结构体解析2.2 LinkedList实现了双向链表的原因2.3 LinkedList如何实现了链表的基本操作(增删改查)2.4 LinkedList的遍历方式 三、 …

docker部署kafka zookeeper模式集群

单机模式链接:https://blog.csdn.net/wsdhla/article/details/133032238 kraft集群模式链接:部署Kafka_kafka 部署-CSDN博客 zookeeper选举机制举例: 目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5…

fpga 8段4位数码管verilator模拟

8段4位数码管verilator模拟 seg.v module seg(input wire clk,input wire rst_n,output wire[7:0] SEG,output wire[3:0] SEL );reg[7:0] digit[0:15] {8h3f, 8h06, 8h5b, 8h4f, 8h66, 8h6d, 8h7d,8h07,8h7f,8h6f, 8h77, 8h7c, 8h39, 8h5e, 8h79, 8h71};reg[31:0] cnt 32…

实战:朴素贝叶斯文本分类器搭建与性能评估

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

Python能做大项目(7) - Poetry: 项目管理的诗和远方之二

依赖管理 实现依赖管理的意义 我们已经通过大量的例子说明了依赖管理的作用。总结起来,依赖管理不仅要检查项目中声明的直接依赖之间的冲突,还要检查它们各自的传递依赖之间的彼此兼容性。 Poetry 进行依赖管理的相关命令 在 Poetry 管理的工程中&am…

800+顶尖架构师齐聚深圳,第十届GIAC全球互联网架构大会,分享行业前沿视角与技术架构落地实践思考!(附:大会核心PPT下载)

2023年6月30-7月1日,由MSUP与高可用架构社区、深圳市软件行业协会联合主办的GIAC全球互联网架构大会在深圳华侨城洲际酒店圆满落幕。 本届大会邀请到了阿里、美图、腾讯、字节跳动、顺丰、华为、快手、B站等多个行业的近百位一线架构师、技术专家,围绕AI…

Vue使用Element表格Table设置所有单元格内容居中对齐

为单个列的单元格设置居中对齐代码如下&#xff1a; <el-table-columnprop"productInfo.productName"label"中文名"width"100"align"center"></el-table-column>需要设置el-table-column标签里面的属性设置为align"c…

十大VSCODE 插件推荐2023

1、海鲸AI 插件链接&#xff1a;ChatGPT GPT-4 - 海鲸AI - Visual Studio Marketplace 包含了ChatGPT(3.5/4.0)等多个AI模型。可以实现代码优化&#xff0c;代码解读&#xff0c;代码bug修复等功能&#xff0c;反应迅捷&#xff0c;体验出色&#xff0c;是一个多功能的AI插件…