SPPNet 对R-CNN做出了改进,但是仍然存在网络之间不统一训练的问题。因此,Fast R-CNN就是解决这样的问题。
上两篇博文有详细解析R-CNN和SPPNet:R-CNN详解,SPPNet详解

Fast R-CNN改进之处

●增加了一个RoI pooling,然后整合整个模型,把CNN、SPP变换层、分类器、bbox回归几个模块一起训练。具体过程图:

●步骤:
1、首先将整个图片输入到一个基础卷积网络,得到整张图的feature map
2、将region proposal(RoI)映射到feature map中
3、RoI pooling layer提取一个固定长度的特征向量,每个特征会输入到一系列全连接层,得到一个RoI特征向量(此步骤是对每一个候选区域都会进行同样的操作
其中一个是传统softmax层进行分类,输出类别有K个类别加上**”背景”类。**
另一个是bounding box regressor。

RoI pooling

RoI pooling 类似于SPP层,但是它只有一个尺度,目的就是为了减少计算时间和得出固定长度的向量。下面来看RoI pooling 和SPP的结构图对比:

RoI的尺度可以是4x4,2x2,3x3等等,它是可以动态调整的。不像SPP是固定的4x4,2x2,1x1。
那么为什么RoI是单尺度的呢?
这里涉及到了单尺度和多尺度的优缺点,存在一个准确度与时间的取舍问题。
单尺度:直接将image定为某种scale,直接输入网络来训练即可。
多尺度:要生成一个金字塔,然后对于object,在金字塔上找到一个大小比较接近227x227的投影版本。

后者比前者更加准确些,没有突更多,但是第一种时间要省很多,所以实际采用的是第一个策略,因此Fast R-CNN要比SPPNet快很多也是因为这里的原因。

多任务损失

Fast R-CNN完整结构图:

对比前面的SPPNet和R-CNN,还有一个不一样的是SVM分类器被替换成了softmax。这也是后面整个网络可以一起训练的 原因,R-CNN中CNN与SVM的训练在时间上有先后之分,而且两者的训练都是独立的。
这里有两个Loss:
分类loss:一个N+1路的softmax输出,其中的N是类别个数,1是背景,使用交叉熵损失
回归loss:一个4xN路输出的regressor,也就是说对于每个类别都会训练一个单独的regressor的意思,使用平均绝对误差(MAE)损失即L1损失

Fast R-CNN总结

优点:减少了训练时间,并且使整个网络可以统一的训练
缺点:候选区域仍是由Selective Search提取,操作十分耗时

Fast R-CNN网络结构详解相关推荐

  1. pytorch图像分类篇:6. ResNet网络结构详解与迁移学习简介

    前言 最近在b站发现了一个非常好的 计算机视觉 + pytorch 的教程,相见恨晚,能让初学者少走很多弯路. 因此决定按着up给的教程路线:图像分类→目标检测→-一步步学习用pytorch实现深度学 ...

  2. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  3. 视频分类之 UCF-101 上的 CNN 方法详解

    视频分类之 UCF-101 上的 CNN 方法详解 Code at Github: https://github.com/sujiongming/UCF-101_video_classificatio ...

  4. AlexNet网络结构详解与代码复现

    参考内容来自up:3.1 AlexNet网络结构详解与花分类数据集下载_哔哩哔哩_bilibili up主的CSDN博客:太阳花的小绿豆的博客_CSDN博客-深度学习,软件安装,Tensorflow领 ...

  5. CNN入门详解及TensorFlow源码实现--深度学习笔记

    CNN入门详解及TensorFlow源码实现–深度学习笔记 ##一.卷积神经网络 ###1.简介 卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出 ...

  6. 卷积神经网络CNN原理详解(一)——基本原理

    卷积神经网络CNN原理详解(一)--基本原理 转载过来为了自己以后学习方便,大家请看原文章 为什么要用神经网络? 特征提取的高效性. 大家可能会疑惑,对于同一个分类任务,我们可以用机器学习的算法来做, ...

  7. U-Net网络结构详解

    U-Net网络结构详解 U-Net网络结构是对称的,由于网络结构像U型,所以被命名为U-Net.整体而言,U-Net是一个Encoder-Decoder(编码器-解码器)的结构,这一点是与FCN的结构 ...

  8. 深度学习之目标检测(五)-- RetinaNet网络结构详解

    深度学习之目标检测(五)-- RetinaNet网络结构详解 深度学习之目标检测(五)RetinaNet网络结构详解 1. RetinaNet 1.1 backbone 部分 1.2 预测器部分 1. ...

  9. R语言——数据类型详解

    R语言--数据类型详解 R语言支持的数据类型 数值型 整数型 逻辑型 字符型 复数型 原生型 R语言的数据对象类型包括 向量:一个向量只能有一种数据类型 矩阵:一个矩阵只能有一种数据类型 数组:一个数 ...

  10. AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现

    AlexNet网络结构详解(含各层维度大小计算过程)与PyTorch实现 1.AlexNet之前的思考 2.AlexNet网络结构 3.AlexNet网络结构的主要贡献 4.PyTorch实现     ...

最新文章

  1. Eureka集群搭建,unavailable-replicas服务节点不可用解決方案
  2. ubuntu 安装 evpp
  3. [CATARCS_2017] Week 1
  4. TNS-12535: TNS: 操作超时_win7
  5. java -cp 什么意思 怎么用
  6. 用Github实现URL转发
  7. 使用pgAdmin 4来修改PostgreSQL中的用户密码
  8. C语言学习教程,用C语言编写扫雷游戏
  9. ubuntu server 安全模式磁盘检查修复
  10. cad直线和圆弧倒角不相切_CAD中圆角(fillet)与倒角(chamfer)的技巧总结
  11. 【Vmware】打开虚拟机时提示“无法连接虚拟设备,因为主机上没有响应的设备”
  12. 探索C++0x: 1. 静态断言(static_assert)
  13. 大数据开发常用的编程语言有哪些
  14. PS-图像处理:PS抠出图片中的图形轮廓渐变填充
  15. 从手机用FTP客户端下载服务器中的文件
  16. 中文词性标注学习笔记(一)---词性标注概念
  17. 华师大 OJ 3053
  18. vi打开服务器上的文件,虚拟机vi编辑器怎么打开
  19. window.close关闭当前页面
  20. 滴滴导航若干关键功能的技术突破与实践

热门文章

  1. 游戏消息服务器长链接,游戏服务器长连接
  2. 体感游戏 | 手势识别玩飞机大战游戏(一) 用pygame实现飞机大战小游戏
  3. 商业励志书籍的那些流行词 1
  4. 计算机找不到wlan,Win10网络设置找不到wlan选项怎么办?
  5. 启动Microsoft Office时出现“无法验证该产品的许可证“Office 应用
  6. 安装Origin提示your origin installation requires a license file to run,please……
  7. Windows超级管理器#这可能是东半球最具颜值的系统管理工具
  8. matlab学习笔记三(11.2)
  9. 360安全浏览器龙芯、飞腾、兆芯版
  10. 灵西机器人(杭州)人才招聘