目标检测-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.mzph.cn/news/578279.shtml

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

相关文章

微服务架构<2>

在电商项目中,我们针对一些核心业务,比较复杂的业务需要做一些设计以及优化的过程首先我们针对于订单的模块拆分了2个子模块1.order-curr实时下单业务 2.order-his 做一些历史的订单归档我们的订单业务 >商品添加至购物车 >购物车结算--> 订单…

摇杆控制人物移动

摇杆控制人物移动 一、UI搭建二、3d模型搭建三、脚本JoyStickBar.csPlayerController.cs 工程在我资源里名字叫Joystickbar.unitypackage [连接](https://download.csdn.net/download/qq_42194657/12043019?spm1001.2014.3001.5503) 一、UI搭建 JoyStickBar是图片背景 JoySt…

培训班毕业生的出路

前面几篇文章讲的都是如何规避培训班的包装简历,是不是意味着包装简历就没有机会了呢? 首先一点,以我了解的帝都IT市场,各种各样的IT公司数目繁多,面试官的水平也是参差不齐,更何况还有onsite(…

算法设计与分析实验报告-分治法相关练习题

课本分治法章节课后部分练习题。 算法设计与分析实验报告-递归与分治策略 算法设计与分析实验报告-动态规划算法 算法设计与分析实验报告-回溯法 算法设计与分析实验报告-分治法相关练题 北京大学出版社-算法设计与分析 五、程序题 1. 试给出用分治法求某集合中元素值为偶…

Nestjs使用log4j打印日志

众所周知,nest是自带日志的。但是好像没有log4j香,所以咱们来用log4j吧~ 我只演示最简单的用法,用具体怎么样用大家可以自己进行封装。就像前端封装自己的请求一样。 一、安装 yarn add log4js stacktrace-js 二、使用 主要就三个文件&a…

ArkUI动画概述

目录 1、按照页面分类 2、按照功能分类 3、显示动画 4、属性动画 动画的原理是在一个时间段内,多次改变UI外观,由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画。UI的一次改变称为一个动画帧,对应一次屏幕刷新&a…

一开始我还不信!高德导航红绿灯竟然能读秒?

高德导航红绿灯为啥能读秒? 1 内部员工吐露 每天工作其实就是负责自己片区的红绿灯,一大早就去校对时间,然后发布到后台。是的,统计出来的,而且还是人工统计,有误差请见谅[害羞] 真的是很辛苦了&#xf…

npm常见错误

三个方面 1. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! phantomjs-prebuilt2.1.15 install: node install.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the phantomjs-prebuilt2.1.15 install script. np…

如何使用队列处理 API 速率限制

对于遇到速率限制的应用程序来说也是一个挑战,因为它需要“放慢速度”或暂停。这是一个典型的场景: 初始请求:当应用程序发起与 API 的通信时,它会请求特定的数据或功能。API 响应: API 处理请求并响应请求的信息或执…

12.25

led.c #include "led.h" void all_led_init() {RCC_GPIO | (0X3<<4);//时钟使能GPIOE_MODER &(~(0X3<<20));//设置PE10输出GPIOE_MODER | (0X1<<20);//设置PE10为推挽输出GPIOE_OTYPER &(~(0x1<<10));//PE10为低速输出GPIOE_OSPEED…

单集群400TB,OceanBase稳定支撑快手核心业务场景

一款日均超过千万人访问的短视频 App 快手&#xff0c;面对高并发流量如何及时有效地处理用户请求&#xff1f;通过在后端配置多套 MySQL 集群来支撑高流量访问&#xff0c;以解决大数据量存储和性能问题&#xff0c;这种传统的 MySQL 分库分表方案有何问题&#xff1f;快手对分…

评估回馈电子负载的重要指标?

回馈电子负载是用于测试电源、电池和其他电子设备性能的设备。它可以模拟实际负载&#xff0c;同时将多余的能量回馈到电网或电池中。在选择和使用回馈电子负载时&#xff0c;有几个重要的指标需要考虑&#xff1a; 功率范围&#xff1a;回馈电子负载的功率范围是指其能够提供的…

巅峰画师Midjourney:新时代的独角兽

介绍 AI绘画领域中&#xff0c;Midjourney处于绝对地位&#xff0c;并且一年时间就登顶。 Midjourney是一家独立的AI研究实验室,探索新的思维媒介,拓展人类的想象力。 它由一个小型的自筹资金团队组成,专注于设计、人类基础设施和AI。 在AI绘画领域,Midjourney取得了非常突出…

百度Apollo五步入门自动驾驶:Dreamview与离线数据包分析(文末赠送apollo周边)

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 粉丝福利活动 ✅参与方式&#xff1a;通过连接报名观看课程&#xff0c;即可免费获取精美周边 ⛳️活动链接&#xf…

pytest 断言异常

一、前置说明 在 pytest 中,断言异常是通过 pytest 内置的 pytest.raises 上下文管理器来实现的。通过使用 pytest.raises,可以捕获并断言代码中引发的异常。 二、操作步骤 1. 编写测试代码 atme/demos/demo_pytest_tutorials/test_pytest_raises.py import pytest# 示例…

【PDF密码】 一键强制去掉pdf密码

想要给PDF文件设置一个密码防止他人对文件进行编辑&#xff0c;那么我们可以对PDF文件设置限制编辑&#xff0c;设置方法很简单&#xff0c;我们在PDF编辑器中点击文件 – 属性 – 安全&#xff0c;在权限下拉框中选中【密码保护】 然后在密码保护界面中&#xff0c;我们勾选【…

通过three.js玩转车展项目

1.项目搭建 1.1 创建文件夹 mkdir 文件名1.2 初始化package.json npm init -y1.3 安装打包工具并配置相关依赖 npm i parcel -d在package.json中打包路径和指令 1.4 安装three.js npm i three -d2.项目搭建 2.1 新建index.html&#xff0c;并再index.html引入car.js,在…

【es6】async、await原理

async、await是es6新出的&#xff0c;主要是为了解决多个promise函数产生的嵌套层级过多的问题。 async、await是基于generator实现的代码中断操作&#xff08;上一个await未处理完时&#xff0c;代码不会继续向下执行&#xff0c;看上去就是中断了代码&#xff09; generator…

Mysql数据库批量更新表编码及排序规则

SELECT CONCAT( ALTER TABLE , TABLE_NAME, DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ) AS 修正SQL FROM information_schema.TABLES WHERE TABLE_COLLATION ! utf8mb4_unicode_ci AND TABLE_SCHEMA edu-integrated; SELECT…

从流星雨启程:Python和Pygame下载与安装全过程

文章目录 一、前言二、下载安装过程1.官网下载安装包2.安装python过程第一步第二步第三步第四步第五步安装完成 3.简单测试Python3.1 检查 Python 版本号3.2 打开 Python 解释器3.3 输入你的第一个代码3.4 运行 Python 脚本 4.安装Pygame4.1 cmd命令安装Pygame4.2 pip升级4.3 安…