最近两周忙着上网课、投简历,博客没什么时间写,姑且把之前做的笔记放上来把。。。

  下面是我之前看论文时记的笔记,直接copy上来了,内容是Fast R-CNN的,以后如果抽不出时间写博客,就放笔记上来(实则偷懒。。。。)

1、改进

  • 端到端的学习
  • 将图片用选择搜索算法(select search)得到2000个候选区域(RegionProposal)的坐标信息
  • 将图片归一化为指定格式,输入 CNNAlextNet/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 即作为 ROI Pooling 层的输入
  • ROIPolling 流程(如下图 )
    • 将输入的(h,w)的 ROI 分割成 H*W 个子窗口
    • 每个子窗口的大小约为(h/H,w/W),其中 HW 为超参数,如设定为7 x 7
    • 对每个子窗口进行 max-pooling 操作,得到固定输出大小的 feature map
    • 之后进行后续的全连接层操作

标题 发布状态 评论数 阅读数 操作 操作 CNN目标检测系列算法发展脉络简析——学习笔记(三):Fast R-CNN的更多相关文章

  1. iView学习笔记(三):表格搜索,过滤及隐藏列操作

    iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...

  2. openresty 学习笔记三:连接redis和进行相关操作

    openresty 学习笔记三:连接redis和进行相关操作 openresty 因其非阻塞的调用,令服务器拥有高性能高并发,当涉及到数据库操作时,更应该选择有高速读写速度的redis进行数据处理.避 ...

  3. Javascript学习笔记三——操作DOM(二)

    Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...

  4. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  5. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  6. 数据库学习笔记 (三) python操作数据库

    python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 ...

  7. C# LINQ学习笔记三:LINQ to OBJECT之操作字符串

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5814204.html,记录一下学习过程以备后续查用. 一.统计单词在字符串中出现的次数 请注意,若要执行计数, ...

  8. MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据

    看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是 ...

  9. Tornado学习笔记(三) 请求方式/状态码

    本章我们来学习 Tornado 支持的请求方式 请求方式 Tornado支持任何合法的HTTP请求(GET.POST.PUT.DELETE.HEAD.OPTIONS).你可以非常容易地定义上述任一种方 ...

随机推荐

  1. 基于hibernate的BaseDao及其实现类的设计

    以前做设计的时候dao接口和它的实现了,这样子就不必写这么多的重复代码了.但由于对反射没有了解,除非依赖hibernate的其他组件,否则写不出来.不过,有了反射,我们可以通过泛型来实现我们想要做的功 ...

  2. JS Style Guide_1

    当你在回调函数里要使用函数表达式时,尽量使用箭头函数,比如数组中的 Map.filter.reduce等的回调函数中 [1,2,3].map((x) => { let y = x + 1; re ...

  3. <JZOJ5913>林下风气

    快乐dp 反正考场写挂 #include<cstdio> #include<cstring> #include<cctype> #include<iostre ...

  4. zepto.js和jquery.js函数比较有什么优点?

    1.Zepto.js 是专门为现代智能手机浏览器退出的 Javascript 框架, 拥有和jQuery相似的语法, 但是和jQuery相比下来, 他有很多优点, 大小方面 , 压缩后的 zepto. ...

  5. let和const区别

    let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. const命令 const声明一个只读的常量.一旦声明,常量的值就不能改变.

  6. phaser2->3:来个打地鼠试水

    本文中phaser具体版本 phaser2:2.8.1 phaser3:3.17.0 一.实现效果二.实现细节三.项目总结四.参考文档 一.实现效果 源码地址(phaser2&phaser3) ...

  7. Serverless 每周小报-20190610

    微软和 Red Hat 开源 KEDA:Fission 发布 1.3.0 博客精选 10 THINGS TO KNOW ABOUT SERVERLESS COMPUTING - BEFORE YOU ...

  8. HDU 5894 hannnnah_j’s Biological Test【组合数学】

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5894 题意: 一个圆桌上有$n$个不同的位置,$m$个相同的人安排到这$n$个位置上,要求两人相邻的 ...

  9. Python——8函数式编程①

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  10. AAAI 2020论文分享:通过识别和翻译交互打造更优的语音翻译模型

    2月初,AAAI 2020在美国纽约拉开了帷幕.本届大会百度共有28篇论文被收录.本文将对其中的机器翻译领域入选论文<Synchronous Speech Recognition and Spe ...