Fast R-CNN笔记
来源:互联网 发布:json.parse 判断 编辑:程序博客网 时间:2024/05/19 08:05
作者:Ross Girshick
ICCV 2015
概要
FastRCNN是RCNN和SPPnet的改进版。Fast RCNN在训练的时候比RCNN快9倍,比SPPnet快3倍;测试的时候比RCNN快213倍,比SPPnet快10倍。最后在PASCAL VOC 2012上达到66%的mAP。
RCNN与SPPnet存在的缺点
1. 训练是多阶段的。先提proposal,然后CNN提取特征,之后用SVM分类器,最后再做bounding-box regression。
2. 训练非常耗费时间和空间(存储)。在训练SVM和bbox regression的时候,需要先将之前提取出来的特征写入磁盘中,这些特征需要花费的空间很大;这个过程也非常耗费时间。
3. 物体检测非常慢。测试的时候,特征需要从每个图片中的每个proposal提取,使用VGG16网络大概每张图片耗费47s(在一个GPU上)。
Fast RCNN的优点
1. 比RCNN,SPPnet有更高的准确率(mAP)。
2. 训练是单阶段的,使用多任务的loss。
3. 训练可以更新所有的网络层(SPPnet只能更新fc层)。
4. 特征缓存的时候不需要硬盘存储。
Fast RCNN结构与训练
第一步,将这个完整的图片经过若干卷积层与max pooling层,得到一个feature map。
第二步,用selective search算法从这完整的图片中提取出object proposals,即RoI。
第三步,根据映射关系,可以得到每个object proposal对应的feature map。
第四步,将第三步得到的feature map经过RoI pooling layer得到固定大小的feature map(变小了)。
第五步,经过2层全连接层(fc),得到固定大小的RoI特征向量。
第六步,特征向量经由各自的FC层,得到两个输出向量:第一个是分类,使用softmax,第二个是每一类的bounding box回归。
简要流程图如下:
说明:在训练的时候,分类与回归是一起训练的,总的loss是分类的loss加上回归的loss。计算公式如下:
在本文中λ取1,详细情况可以查看论文。
关于RoI pooling layer
这是SPP pooling层的一个简化版,只有一级“金字塔”,输入是N个特征映射和一组R个RoI,R>>N。N个特征映射来自于最后一个卷积层,每个特征映射都是Hx W x C的大小。每个RoI是一个元组(n, r, c, h, w),n是特征映射的索引,n∈{0, ... ,N-1},(r, c)是RoI左上角的坐标,(h, w)是高与宽。输出是max-pool过的特征映射,H' x W' x C的大小,H'≤H,W'≤W。对于RoI,bin-size = h/H' x w/W',这样就有H'W'个输出bin,bin的大小是自适应的,取决于RoI的大小。
参考文章:
读DL论文心得之Fast RCNN
论文笔记《Fast R-CNN》
【目标检测】Fast RCNN算法详解
- Fast R-CNN笔记
- Fast R-CNN笔记
- Fast R-CNN笔记
- fast r-cnn笔记
- 论文笔记 《Fast R-CNN》
- 论文笔记 《Fast R-CNN》
- 论文笔记 《Fast R-CNN》
- 论文笔记 《Fast R-CNN》
- Fast R-CNN学习笔记
- 论文笔记 《Fast R-CNN》
- 论文笔记|Fast R-CNN
- Fast R-CNN 论文笔记
- 论文笔记 《Fast R-CNN》
- 论文笔记 《Fast R-CNN》
- Fast R-CNN 论文笔记
- 论文笔记-Fast R-CNN
- Fast R-CNN论文笔记《Fast R-CNN》
- 【转】R-CNN学习笔记4:Fast R-CNN
- 命令行如何远程连接MySQL数据库
- 剑指offer-5-面试33:把数组排成最小的数(时间效率)
- JS调试技巧
- 深拷贝和浅拷贝
- mysql调优的层面
- Fast R-CNN笔记
- PAT-乙级-1009. 说反话 (20)
- PAT-乙级-1010. 一元多项式求导 (25)
- PAT-乙级-1011. A+B和C (15)
- PAT-乙级-1012. 数字分类 (20)
- PAT-乙级-1013. 数素数 (20)
- PAT-乙级-1014. 福尔摩斯的约会 (20)
- PAT-乙级-1015. 德才论 (25)
- labview如何进行串口通讯(转)