标题 发布状态 评论数 阅读数 操作 操作 CNN目标检测系列算法发展脉络简析——学习笔记(三):Fast R-CNN
最近两周忙着上网课、投简历,博客没什么时间写,姑且把之前做的笔记放上来把。。。
下面是我之前看论文时记的笔记,直接copy上来了,内容是Fast R-CNN的,以后如果抽不出时间写博客,就放笔记上来(实则偷懒。。。。)
1、改进
- 端到端的学习
- 将图片用选择搜索算法(select search)得到2000个候选区域(RegionProposal)的坐标信息
- 将图片归一化为指定格式,输入 CNN(AlextNet/VGG/ResNet)对图片进行进行特征提取,生成一张特征图
- 将开始得到的坐标信息通过一定的映射关系转换为对应特征图的坐标,截取对应的 RegionProposal
- 对提取出的 RegionProposal 进行 ROIPooling(SPPNet 简化版),将不同尺寸的图像映射为相同尺寸的特征图
- 将上述特征图输入全连接层进行分类
- 定义多任务损失函数,将分类和边框回归融合到一个模块当中
- 使用 Sfotmax 取代 SVM 作为分类器(为了实现端到端的训练)
- 增加了一个与 Softmax 层平行的 LinearRegression 层,用于回归优化边框

2、解决了 R-CNN/SPP-Net 的缺陷
- 训练 & 测试速度慢
- R-CNN 中用 CNN 对每一个候选区域反复提取特征,而一张图片的2000个候选区域之间有大量重叠部分,这一设定造成特征提取操作浪费大量计算
- Fast R-CNN 将整个图像归一化后直接送入 CNN 网络,卷积层不进行候选区的特征提取,而是在最后一个池化层加入候选区域坐标信息,进行特征提取的计算。
- 训练所需空间大
- R-CNN 中目标分类与候选框的回归是独立的两个操作,并且需要大量特征作为训练样本。
- Fast R-CNN 将目标分类与候选框回归统一到 CNN 网络中来,不需要额外存储特征。
- 无法对空间金字塔池之前的卷积层进行更新
- FastR-CNN 可以对所有网络层参数进行更新
3、预训练注意事项
- 预训练时
- 分类器是一个单独的全连接层+Softmax,没有边框回归
- 没有ROI层,取而代之的是一个池化层
- 预训练结束后,进行调优训练时
- 需将分类器替换为并行的【新全连接层1+原softmax层1000个分类输出修改为21个分类输出(20种类+背景)】+【新全连接层2+候选区域窗口回归层】
- 将VGG-16网络最后一层池化层替换为 ROI 层
4、缺点
- 在 CNN 提取后的特征图像上使用 select search 生成 RegionProposal,效率太低,计算量太大
5、ROIPoolling
- 名词解释
- ROI 指的是所提取出的关注区域(Feature map/RegionProposal)
- 原始图片经过多层卷积与池化后(CNN 前向提取特征图),得到整图的 feature map
- 由 selective search 产生的大量 proposal,经过映射所得到其在 feature map 上的映射区域,即 ROI
- ROI 指的是所提取出的关注区域(Feature map/RegionProposal)
- 上述提取出的 ROI 即作为 ROI Pooling 层的输入
- ROIPolling 流程(如下图 )
- 将输入的(h,w)的 ROI 分割成 H*W 个子窗口
- 每个子窗口的大小约为(h/H,w/W),其中 H、W 为超参数,如设定为7 x 7
- 对每个子窗口进行 max-pooling 操作,得到固定输出大小的 feature map
- 之后进行后续的全连接层操作

标题 发布状态 评论数 阅读数 操作 操作 CNN目标检测系列算法发展脉络简析——学习笔记(三):Fast R-CNN的更多相关文章
- iView学习笔记(三):表格搜索,过滤及隐藏列操作
iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...
- openresty 学习笔记三:连接redis和进行相关操作
openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
- ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )
//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
- 数据库学习笔记 (三) python操作数据库
python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 ...
- C# LINQ学习笔记三:LINQ to OBJECT之操作字符串
本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数, ...
- MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据
看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是 ...
- Tornado学习笔记(三) 请求方式/状态码
本章我们来学习 Tornado 支持的请求方式 请求方式 Tornado支持任何合法的HTTP请求(GET.POST.PUT.DELETE.HEAD.OPTIONS).你可以非常容易地定义上述任一种方 ...
随机推荐
- 【clientX,offsetX,screenX】 【scrollWidth,clientWidth,offsetWidth】的区别
一.深刻认识clientX,offsetX,screenX 概念(来源于网络): clientX 设置或获取鼠标指针位置相对于当前窗口的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条. clie ...
- GUI-猜字游戏
# 设计思想先定义输入,输入,然后设计逻辑 # GUI from tkinter # 逻辑层 # 设计GUI(用户界面) from tkinter import * import tkinter.si ...
- scatter散点图
import matplotlib.pyplot as plt import numpy as np n = 1024 X = np.random.normal(0,1,n) Y = np.rando ...
- Protobuf 简介及简单应用
Protobuf 是 protocol buffers 的缩写. 根据官网的说法, protocol buffers 与平台无关, 与语言无关, 实现数据序列化的一种手段. 正如名字一样, proto ...
- 美团新零售招聘-高级测试开发(20k-50k/月)
内推邮箱:liuxinguang@meituan.com 地点:北京 职位级别:p2-2以上级别 15.5薪
- 为何滴滴会走Uber之路,研发无人驾驶?
近日,滴滴出行宣布完成新一轮超过55亿美元融资,以支持其全球化战略的推进和前沿技术领域的投资.其中,无人驾驶汽车将是这笔资金重要的投资方向.此前,滴滴在全球范围内的追赶对象Uber不断在无人汽车领域发 ...
- 使用BIND搭建内部DNS服务
...
- Spring aop(1)--- 寻找切面和代理对象执行流程源码分析
1.基于注解,首先我们是通过@EnableAspectJAutoProxy()这个注解开起AOP功能,这个注解会导入AspectJAutoProxyRegistrar组件从而将AnnotationAw ...
- python Could not find a version that satisfies the requirement pymysql (from versions: none) ERROR: No matching distribution found for pymysql
使用pip安装pymysql出错;Could not find a version that satisfies the requirement cryptography (from pymysql) ...
- a标签嵌套href默认行为与子元素click事件存在影响
2018-08-07 Question about work 开发过程中遇到问题,简单写个demo 运行环境为Chrome 68 描述一下这个问题,当<a>标签内部存在嵌套时, 父元素&l ...