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. 解决canvas画图模糊的问题

    canvas 画图经常发现他是模糊的.解决这个问题主要从两个方面下手. 改变canvas渲染的像素情况:画1像素的线条看起来模糊不清,好像更宽的样子. 解决方案 var ctx = canvas.ge ...

  2. 实现自定义的小程序底部tabbar

    背景 诶,当然是为了实现更有温度的代码啦(背后设计师拿着刀对着我) 自带tabbar app.json中配置: tabBar: { backgroundColor: '#fff', borderSty ...

  3. H5复制粘贴双端适配的解决方案(终极版)

    前言 最终适配所有机型的方案基于clipboardjs官网https://clipboardjs.com/ 这个库由几个不同的CDN提供商托管.选择你最喜欢的:) jsDelivr <scrip ...

  4. java中时间的规范是按美国,SimpleDateFormat怎么处理

    题目3.2: 如果时间的规范是按美国,怎么处理? import java.text.ParseException;import java.text.SimpleDateFormat;import ja ...

  5. this和super的区别和应用

    A:this和super都代表什么 * this:代表当前对象的引用,谁来调用我,我就代表谁 * super:代表当前对象父类的引用B:this和super的使用区别 * a:调用成员变量  * th ...

  6. 在react项目中使用redux-thunk,react-redux,redux;使用总结

    先看是什么,再看怎么用: redux-thunk是一个redux的中间件,用来处理redux中的复杂逻辑,比如异步请求: redux-thunk中间件可以让action创建函数先不返回一个action ...

  7. 基于Spring接口,集成Caffeine+Redis两级缓存

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 在上一篇文章Redis+Caffeine两级缓存,让访问速度纵享丝滑中,我们介绍了3种整合Caffeine和Redis作为两级缓存使用的方法,虽 ...

  8. Myeclipse+svn相关文章

    Myeclipse安装svn插件https://www.cnblogs.com/liuyk-code/p/7519886.html 使用svn https://jingyan.baidu.com/ar ...

  9. Objective-C 基础教程第九章,内存管理

    目录 Object-C 基础教程第九章,内存管理 前言: 对象生命周期 引用计数 RetainCount1项目例子 对象所有权 访问方法中的保留和释放 自动释放 所有对象放入池中 自动释放池的销毁时间 ...

  10. AQS源码阅读

    简介 AQS 全程为 AbstractQueuedSynchronizer , 在 java.util.concurrent.locks包下的一个抽象类. 类的具体作用以及设计在开始类描述信息里面就有 ...