Fast RCNN论文阅读笔记
1.Introduction
1.1 RCNN 和SPPnet
RCNN有几个显著的问题:1.训练的时候是多阶段的训练,分别分三个阶段训练卷积层、SVM、边框回归矩阵。2.训练很耗时。3.目标定位非常慢。它慢主要是因为它没有共享计算,而SPPnet通过共享计算比RCNN快了很多,SPPnet对整张图片做一次卷积提取特征,对比RCNN对每个区域提案单独卷积就快了很多。但是SPPnet也有不足的地方,它和RCNN一样是多阶段训练,并且它的微调无法更新前面的网络。
1.2 fast RCNN的贡献
四个优点:1.比RCNN和SPPnet更高的检测精度。2.训练过程是单阶段的,使用多任务损失函数。3.训练的时候可以更新所有的网络层。4.不需要用硬盘来存储特征缓存。
2.Fast RCNN的架构和训练
2个输入,一是一张完整的图片,二是划定的区域提案。经过ROI pooling和全连接层之后又有两个输出,一是softmax的分类结果(所有类别+背景类),二是边框回归值。
2.1ROI pooling层
使用最大池化将任意大小的感兴趣区域映射到一个固定大小H*W,H和W是提前设定好的超参数,每一个ROI使用一个长度为4的元组来描述它的位置,包括左上角坐标和长宽。ROI pooling是SPPnet的一个变种。过滤器的窗口大小和步长的计算和SPPnet里描述的一样。
2.2预训练网络的初始化
选用了3种预训练好的ImageNet,并对它们进行了三个改变来形成fast RCNN。1.将最后一个最大池化层替换成设定好适应全连接层的H和W的ROI池化。2.最后一层全连接层换成两个并行的结构,一是用于分类的全连接层,二是使目标定位变得准确的边框回归结构。3.可以接受两个输入,一是图片二是该图片的ROI。
2.3对检测的微调
Fast RCNN使用反向传播算法更新所有隐藏层的权重。SPPnet不能更新金字塔池化层后面的网络的权重的原因:根本原因是训练的时候样本来自不同的图片导致了SPP层的低效率,这是由它的训练过程导致的(RCNN也是这样)。这会导致每一个ROI都有一个很大的感受野,通常是跨越整张图片的,前传需要处理整个感受野,所以训练的时候的输入是巨大的。
RCNN和SPPnet是对R个来自不同图片的ROI进行随机梯度下降计算,而Fast RCNN是对来自N张图片,每张图片取N/R个ROI进行处理。这样的处理方法可能导致较低的训练融合速度,因为来自一张图片的ROI是有关联的,但是用N=2和R=128实验时得出了比较好的结果。
多任务损失函数
Fast RCNN有两个输出,一个是经过了softmax层的全连接层的输出,即每个ROI是这K+1种类别的概率p。第二个输出是对每一个概率的边框回归值
。

u是GT框的种类,v是GT框的位置。
小批样本
每个SGD的mini batch来自于随机的两张图片(N=2),每张图片取64个ROI(N/R),像RCNN一样取25%个IOU超过0.5的ROI为正样本,它们的u>=1,再取等量IOU在0.1到0.5之间的ROI表示背景样本,u=0。
在ROI层之后的反向传播
超参数SCD
将分类模块和边框回归模块使用中心化高斯分布使他们的标准差为分别为0.01和0.001,偏移量为0.所有网络层的单层权重学习率为1,偏差学习率为2,全局学习率为0.001 。
2.4尺度不变性
用两种方法达到了再目标检测中的尺度不变性:1.使用brute force 。将图片预先处理成固定大小。2.使用图片金字塔。
因为GPU容量的限制多尺度训练只在小网络上。
3.将fast RCNN用于检测
4.主要结果
5.设计评估
5.1多任务训练带来的提升

从该对比试验可以看出多任务训练是可以带来mAP的提升的
5.2为了达到尺度不变应该用brute force还是finesse
BF算法是单尺度的,图片金字塔算法是多尺度的。试验中单尺度限制边长为600,多尺度选了5个尺度分别是{480,576,688,864,1200}。

结果表明多尺度的训练并没有比单尺度的训练提升很多mAP。通过这个试验为平衡网络的速度与精度所需要做出的取舍带来了灵感。
5.3是否需要很多的训练数据
Zhu Xiangxin 发现当mAP达到一定数值的时候就饱和了,再增多数据它也不怎么提升,作者做了个和Zhu相似的实验,发现用fast RCNN,当数据量提升之后带来的mAP的提升还是很可观的(66.1%→68.8% 和 65.7%→68.4%)。
5.4SVMs会比softmax表现更好吗

那当然是softmax好一点啦。
5.5区域提案越多越好吗
两种划分RP的方法,一种是稀疏的划分一种是紧密的。

并不是越多越好,多到一定程度反而使mAP下降。
有些部分还没读懂所以没写上去 等之后学明白了再补上去
Fast RCNN论文阅读笔记的更多相关文章
- Fast R-CNN论文阅读笔记
论文地址:Fast R-CNN R-CNN的缺陷 (1)训练是一个多级的流水线.R-CNN首先在候选目标上微调一个卷积神经网络,使用log loss.然后使用SVMs充当目标分类器,以取代softma ...
- Fast R-CNN论文阅读摘要
论文链接: https://arxiv.org/pdf/1504.08083.pdf 代码下载: https://github.com/rbgirshick/fast-rcnn Abstract Co ...
- RCNN论文阅读笔记
一摘要: 两个主要工作:1将cnn和自上而下的区域提案结合进行定位和对象分割:2当训练数据稀缺时,先预训练然后微调. rccn工作分为四步:1输入一张图片 2用selective search算法对每 ...
- [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati
[论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- [置顶]
人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
随机推荐
- C# 传不定参数
1 public class MyClass 2 { 3 public static void UseParams(params int[] list) 4 { 5 for (int i = 0; i ...
- 创建SpringMVC工程
引入依赖 <dependencies> <!-- SpringMVC --> <dependency> <groupId>org.springframe ...
- 齐博x1模板中常用的TP标签数据处理
上图是比较常用的, 而下图是比较特殊的场合,比如幻灯片可能会用到 下图使用了TP的循环标签. 上图只使用了条件判断标签 上图不存在 val="xxx" 这个参数,所以会自动循环输出 ...
- golang的内存管理
0.1.索引 https://blog.waterflow.link/articles/1663406367769 1.内存管理 内存管理是管理计算机内存的过程,在主存和磁盘之间移动进程以提高系统的整 ...
- LcdTools如何通过PX01把EDP屏的EDID拷贝出来
PX01点EDP屏在上电过程会自动读取屏EDID,怎么把EDP EDID值拷贝出来呢? 在上电时序函数调用SetEdidRdShowEn(ON)指令开启EDID值读取显示功能.如下图 通过上述操作开机 ...
- 第二阶段:高级核心基础知识·第4章shell特性·2
1.统计日志,日志内容 39.96.187.239 - - [11/Nov/2019:10:08:01 +0800] "GET / HTTP/1.1" 302 0 "-& ...
- Arctic 基于 Hive 的流批一体实践
背景 随着大数据业务的发展,基于 Hive 的数仓体系逐渐难以满足日益增长的业务需求,一方面已有很大体量的用户,但是在实时性,功能性上严重缺失:另一方面 Hudi,Iceberg 这类系统在事务性,快 ...
- C#--@符号的使用(逐字字符串,跨行,声明关键字变量名)
---对字符串的使用 @可以定义逐字字符串 注意:@只对字符串常量有用 1)不需要用\\来转义非转义符号的\号 例如:@"\"="\\"2)可以实现多行字符 ...
- JavaScript&Bootstrap
1. JS介绍 JS诞生主要是完成页面的数据验证.因此它运行在客户端,需要浏览器来执行JS代码 JS最早取名LiveScript:为了吸引更多的Java程序员,更名JavaScript JS是弱类型, ...
- .NET 7.0 重磅发布及资源汇总
2022-11-8 .NET 7.0 作为微软的开源跨平台开发平台正式发布.微软在公告中表示.NET 7为您的应用程序带来了C# 11 / F# 7,.NET MAUI,ASP.NET Core/Bl ...