Fast-Rcnn学习笔记

Fast-RCNN总览



step1:图片先放进卷积层
step2:再卷积层的特征图谱上回映射出对应的感兴趣区域
step3:集过一层ROI Pooling(后面介绍)
step4:每一个ROI变成一维的向量送入两个全连接层
step5:在最后的全连接层再分别将向量送入到分类框/回归框

Fast-RCNN与SPPNet的比较

  • Fast-Rcnn在SPPNet上再进行改进
  • SPP-net上的不足之处
    1. 训练比较慢(25h),需要许多磁盘空间
    2. 再训练时不能更新SPP层下的参数
  • Fast R-CNN有点
    1. 测试是更快
    2. 一步训练
    3. 更高的map
  • Fast R-CNN的ROI跟sPPNet类似但是又不太一样
    • Fast R-CNN是用固定大小的H*W的框(H,W是需要设置的超参数)
    • 假设从特征图谱出来的特征图大小为(hw),则每一个小格的大小为(h/Hw/W)
    • 然后从每个小的格子中max-pooling,在每个特征图的通道中最大池化都是独立的

在测试时和训练时的过程

  • 测试时

  • 训练时

关于在分类器和回归器中的详解

在分类器

  • 说明
step1:这里包括N+1个类别(包括1个背景类)
step2:对这一个类别使用softmax进行打分(总和为1)
step3:从这N+1中选择一个分最大的,则该ROI属于的类别为该类

在回归器

  • 说明
step1:每一个类别对应4个参数(后面介绍dx,dy,dw,dh这四个参数)
step2:同理选出属于该类的dx,dy,dw,dh
  • 详解边界框回归器

  • 说明
step1:绿色的G是Ground Truth,黄色框P是预选框,红色框是最终预测的边界框
step2:dx(P) = (Gx-px)/Pw。同理可以求得dy(p),dw(p),dh(p)
step3:将求得的带入上面的公式中即可求得最终的预测框

关于Fast-RCnn中的Multi-task loss

分类损失

  • 因为是属于分类任务,所以使用Cross Entropy loss
  • 关于Cross Entropy

  • 本文对应的是多分类任务
step1:假设真实标签的one-hot编码是:[0,0,...,1,...,0]
step2:预测的softmax概率为[0.1,0.3,...,0.4,...,0.1]
step3:那么Loss=-log(0.4)

边界框回归损失

  • 说明
针对[u>=1]艾弗森括号:如果是背景类别则该项为0,即:背景不用边界框回归
  • 总上所述:fast-rcnn除了没用将selective search融为一体,将Feature extraction,classification,bounding-box regression都融为一体了
  • 后面提出的Faster-RCNN将解决这一问题

Fast-Rcnn学习笔记的更多相关文章

  1. R-CNN学习笔记

    R-CNN学习笔记 step1:总览 步骤: 输入图片 先挑选大约2000个感兴趣区域(ROI)使用select search方法:[在输入的图像中寻找blobby regions(可能相同纹理,颜色 ...

  2. Fast RCNN 学习

    因为项目需要,之前没有接触过深度学习的东西,现在需要学习Fast RCNN这个方法. 一步步来,先跟着做,然后再学习理论 Fast RCNN 训练自己数据集 (1编译配置) Fast RCNN 训练自 ...

  3. 【CV论文阅读】 Fast RCNN + SGD笔记

    Fast RCNN的结构: 先从这幅图解释FAST RCNN的结构.首先,FAST RCNN的输入是包含两部分,image以及region proposal(在论文中叫做region of inter ...

  4. Faster RCNN学习笔记

    感谢知乎大神的分享 https://zhuanlan.zhihu.com/p/31426458 Ross B. Girshick在2016年提出了新的Faster RCNN,在结构上,Faster R ...

  5. Fast R-CNN学习总结

    Fast R-CNN是R-CNN的改良版,同时也吸取了SPP-net中的方法.在此做一下总结. 论文中讲到在训练阶段,训练一个深度目标检测网络(VGG16),训练速度要比R-CNN快9倍左右,比SPP ...

  6. Faster RCNN 学习笔记

    下面的介绍都是基于VGG16 的Faster RCNN网络,各网络的差异在于Conv layers层提取特征时有细微差异,至于后续的RPN层.Pooling层及全连接的分类和目标定位基本相同. 一). ...

  7. Mask RCNN 学习笔记

    下面会介绍基于ResNet50的Mask RCNN网络,其中会涉及到RPN.FPN.ROIAlign以及分类.回归使用的损失函数等 介绍时所采用的MaskRCNN源码(python版本)来源于GitH ...

  8. 目标检测(三)Fast R-CNN

    作者:Ross Girshick 该论文提出的目标检测算法Fast Region-based Convolutional Network(Fast R-CNN)能够single-stage训练,并且可 ...

  9. 深度学习论文笔记:Fast R-CNN

    知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...

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

    最近两周忙着上网课.投简历,博客没什么时间写,姑且把之前做的笔记放上来把... 下面是我之前看论文时记的笔记,之间copy上来了,内容是Fast R-CNN的,以后如果抽不出时间写博客,就放笔记上来( ...

随机推荐

  1. 编写大型项目web页面 从写web登陆页面开始

    web页面搭建需要准备什么工具 首先我们会和设计师沟通 我们需要一些检验设计的工具 ps 自动裁图 自动测量工具 (我这里安利一下一个工具 我用的cutterman) sketch 可以使用阿里的工具 ...

  2. 怎样用JavaScript和HTML5 Canvas绘制图表

    原文:https://code.tutsplus.com/zh-...原作:John Negoita翻译:Stypstive 在这篇教程中,我将展示用JavaScript和canvas作为手段,在饼状 ...

  3. 记一次修改框架源码的经历,修改redux使得redux 可以一次处理多个action,并且只发出一次订阅消息

    redux是一个数据状态管理的js框架,redux把行为抽象成一个对象,把状态抽象成一个很大的数据结构,每次用户或者其他什么方式需要改变页面都可以理解成对数据状态的改变,根据出发这次改变的不同从而有各 ...

  4. vue Element验证input提示

    <el-form-item prop="userName" class="userName_color"> <b>详细地址<i c ...

  5. Taro下拉刷新,上拉加载更多

    1.引入插件 import Taro, { Component } from '@tarojs/taro' import { View, Text, ScrollView } from '@taroj ...

  6. LC-1

    Two Sum Given an array of integers nums and an integer target, return indices of the two numbers suc ...

  7. oracle 11g rac集群 asm磁盘组增加硬盘

    创建asm磁盘的几种方式 创建asm磁盘方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式 3.2 raw方式(裸设备方式) 4. ...

  8. python3拉勾网爬虫之(您操作太频繁,请稍后访问)

    你是否经历过这个:那就对了~因为需要post和相关的cookie来请求~所以,一个简单的代码爬拉钩~~~

  9. Java学习day13

    泛型类格式: 修饰符 class 类名<类型>{ } 常用T.E.K.V等形式的参数表示泛型 使用方式与C++的类模板相似,在创建对象时要明确数据类型 泛型方法定义格式: 修饰符<类 ...

  10. 【技术积累】Eclipse使用系列【第一版】

    Eclipse安装(Neon版本) Eclipse 最新版本 Eclipse Neon,这个首次鼓励用户使用 Eclipse Installer 来做安装,这是一种由Eclipse Oomph提供的新 ...