RCNN
ref 1

步骤:
1.使用Selective Search方法生成候选区域
2.对每一个候选区域使用CNN进行特征提取
3.对提取到的特征送入到每一类的SVM分类器 判断该区域是否属于该类特征
4.使用回归器精修候选框的位置

候选框搜索阶段:
使用selective search方法生成候选框,由于CNN提取特征时需要输入的大小固定 但是生成的候选框大小是不固定的因此需要对候选框进行缩放操作

  1. 直接缩放 不管图像的长宽比例(各向异性缩放)
  2. 先将boundingbox边界向外扩展延伸成正方形再进行裁剪,如果延伸出原始图像边界则用均值进行扩充如图B
  3. 先裁剪出boundingbox 再使用均值扩充生成正方形图像

    对于上述三种处理方法 在原文中提出一种padding处理的方法 即先在候选框周围向外扩展16个像素值 之后再进行上述1,2,3的操作 对应上图中的第二,第四行

CNN特征提取阶段:
正负样本划分: 根据标注的boundingbox与候选框之间的IoU面积确定候选框是属于正样本还是负样本
如果不是针对特定任务进行 fine tuning那么卷积层所学到的特征就是基础的共享特征提取层,而全连接层提取到的特征是针对特定任务的特征,例如针对人脸性别分类,CNN的卷积层学习到的特征是人脸的共性特征而全连接层学习到的特征是针对性别的分类特征

SVM训练阶段:

ROI Pooling广泛应用在CNN目标检测中,例如在一幅图像中检测目标物体(在街景中检测多个行人和车辆,ROI poolig通过对输入特征应用最大值池化得到固定尺寸的feature map.
在目标检测模型中,通常分为两个部分:
1.区域选择(Region Proposal):在给定的Image中选择所有可能的目标区域,这一步骤的输出结果是一系列目标区域的bounding box
5. 分类:对于步骤一中所有的区域,判断该区域所属类别(目标类别之一或者背景区域)

这样就出现一个问题,在步骤一中需要尽量多的选择候选框,确保高召回率,否则一旦漏选,该区域将不会被判定所属类别,但是这样一来选择的候选框在步骤二的时候大部分都会被判定为背景区域,造成大量的额外运算。
存在问题:

  1. 生成过多的Region使得运行速度缓慢
  2. 无法进行端到端训练,不能在一次运行中训练整个结构的所有组成部分


这时可以增加ROI Pooling层
对于ROI Pooling层的输入分为两部分:
1.一个固定大小的feature map (经过若干卷积层和池化层处理)
2.一个N5的矩阵,N代表roi个数 第一列代表ROI的index,后四列分别代表ROI区域左上和右下的坐标
ROI Pooling层将N个ROI区域中的每一个区域都映射到feature map上并且缩放到固定大小的size(例如 7
7 对于VGG而言)
对于feature map映射区域大小缩放到固定大小的具体处理步骤如下:

  1. 将Region Proposal 划分为面积相同的n*n的区域 这里的n与上述固定大小的size相等 对于VGG而言 这里的n等于7
  2. 获取nn区域中每个区域最大的值
    这样就可以将一系列Region Proposal 对应的矩形区域resize到固定大小。
    ROI Pooling层可以起到加速的作用 对于不同大小,不同区域的 Region Proposal 可以使用同一个feature map,即只用对原始图像进行一次卷积操作即可,避免了对不同Region Proposal都要进行卷积操作带来的时间损失
    ROI Pooling 示例
    对于8
    8的feature map输入 需要得到2*2的输出

    对于一个Region Proposal :(0,3),(7,8)

结果如下:

NMS(非极大值抑制)

ROI Pooling相关推荐

  1. RoI Pooling 与 RoI Align 有什么区别?

    ↑ 点击蓝字 关注视学算法 作者丨AlexChung@知乎 来源丨https://zhuanlan.zhihu.com/p/161540817 编辑丨极市平台 基本概念 RoI RoI(Region ...

  2. NMS和roi pooling 实现以及加速

    https://github.com/fmscole/benchmark/tree/6335c5ba6d673e9a78c43e704ae93f77cbe1eca2 NMS和roi pooling的各 ...

  3. ROI Pooling层解析

    ROI Pooling的意义 ROIs Pooling顾名思义,是Pooling层的一种,而且是针对RoIs的Pooling,他的特点是输入特征图尺寸不固定,但是输出特征图尺寸固定: 什么是ROI呢? ...

  4. RoI Pooling 系列方法介绍(文末附源码)

    作者简介 CW,广东深圳人,毕业于中山大学(SYSU)数据科学与计算机学院,毕业后就业于腾讯计算机系统有限公司技术工程与事业群(TEG)从事Devops工作,期间在AI LAB实习过,实操过道路交通元 ...

  5. Faster R-CNN源码中ROI Pooling的解析

    如图可以看出来ROI Pooling使用RPN产生的Proposal和fearture map,ROIpooling其实使用的是feature map中的Proposal,如下图也可以看出来.Prop ...

  6. 到底什么是 ROI Pooling Layer ???

    到底什么是 ROI Pooling Layer ??? 只知道 faster rcnn 中有 ROI pooling, 而且其他很多算法也都有用这个layer 来做一些事情,如:SINT,检测的文章等 ...

  7. RoI Pooling的学习笔记

    1 致谢 感谢网友诗蕊和勇者归来的帮助~ 原文链接如下: https://blog.csdn.net/Katherine_hsr/article/details/80363191 https://ww ...

  8. RoI Pooling详解

    目标检测architecture通常可以分为两个阶段:  (1)region proposal:给定一张输入image找出objects可能存在的所有位置.这一阶段的输出应该是一系列object可能位 ...

  9. 【深度学习小知识】ROI到ROI pooling 再到ROI Align

    ROI!RoI Pooling! ROI详解 RoI Pooling详解 Pooling操作 ROI pooling ROI Align详解 ROI详解 Region of interest(ROI) ...

  10. RoI Pooling 和 RoI Align

    RoI Pooling 和 RoI Align 一.背景和基本概念 1.背景 2.基本概念 二.RoI Pooling原理 1.目的 2.步骤(以输出RoI feature大小为2×2×5为例) St ...

最新文章

  1. linux使用总结一
  2. [测试智能合约]ganache+metamask+remix
  3. Arm Linux交叉编译和连接过程分析(2)
  4. ssh进入docker容器_如何通过SSH进入正在运行的容器
  5. java自动类型转换与强制类型转换
  6. eclipse创建测试apk文件的测试工程,报错java.lang.NullPointerException
  7. PSP3000终于可以放心的关机了!
  8. Zemax简单透镜的设计与优化
  9. 英语----形容词和副词
  10. iOS播放器SDK-基于FFmpeg解码OpenGL渲染-CYPlayer
  11. 编码器脉冲计数器/2路DI高速计数器Modbus RTU模块
  12. 用示波器抓取LIN协议波形并分析
  13. Galera Cluster For MySQL
  14. ACC算法学习笔记(一):ACC法规
  15. 医院信息系统 php,php医院门诊信息管理系统
  16. 【windows10常见截图方式】
  17. linux创建删除文件命令行,彻底消失,Linux下用命令行彻底删除文件
  18. 1.EdgeX实战 Ubuntu18.04搭建运行环境
  19. 中兴b860a如何强制刷固件_网络机顶盒刷机、固件升级图文详解 宏旺半导体包教包会...
  20. 非华为电脑开启多屏协同

热门文章

  1. Java的IO模型基于网络编程利弊分析
  2. 电子商务网站的需求分析
  3. 继承和多态(水果和香蕉)
  4. go html实体编码,golang标准库-html-Go语言中文社区
  5. 你若不甘,策马扬鞭!
  6. python123监考系统_来自监考老师的叮嘱,这些考试小细节千万不能忽视,决定成绩分数...
  7. 南湖区青少年计算机知识竞赛,关于组织开展2012年南湖区青少年.doc
  8. 欧巴,再不懂你就OUT啦(MySQL的基础概念)
  9. Linux | 补天01
  10. Oracle中selec ... into ... from 和 insert into ... select...from区别