Fast R-CNN(2015)论文笔记
Fast R-CNN
文章目录
- Fast R-CNN
- 简介
- 一、创新点
- 总结
- 二、论文链接
- 原文链接
- 代码链接
- 论文投稿期刊
- 相关论文
- 三、论文评价
- 四、模型
- 基本流程
- truncated SVD
- 训练
- Initialize Fast RCNN from pre-trained networks
- hierarchical sampling
- Multi-task loss
- 五、实验
- 数据集
- 具体实验
- 实验1,2,3(不同数据集上mAP比较)
- 实验4(Training and testing 速度比较)
- 实验5(Which layers to fine-tune?)
- 实验6(Does multi-task training help?)
- 实验7(Scale invariance:to brute force or finesse?)
- 实验8(Do SVMs outperform softmax?)
- 实验9(Are more proposals always better?)
简介
- 针对当时主流目标检测算法训练都是multi-stage training pipeline,这过程麻烦,且需要额外的存储空间,
- 论文提出one-stage 训练方案,a multi-task loss,也可以更新所有网络的参数。
- 模型使用VGG16,比RCNN训练快9倍,测试快213倍,比SPPnet,训练快3倍,测试快10倍。
一、创新点
- 改进了RCNN和SPPNet的缺点(两者的缺点⻅背景/问题)
- 除了region proposal使用selective search,其它参数的训练的训练过程是single-stage
- 训练方案可以更新网络中所有层的参数(而SPPNet无法对卷积层进行finetune)
- 不需要将feature存储在磁盘中
- 使⽤softmax进行分类,而非SVM
- 对全连接层使用truncated SVD进行压缩和加速
- 速度和准确度(mAP)比RCNN和SPPNet⾼
- 速度(VGG16):
- 训练:比RCNN快9倍,比SPPNet快3倍
- 测试:比RCNN快213倍,比SPPNet快10倍;每张图片0.3秒(不包括region proposal的耗时)
- 准确度:SOTA,比RCNN和SPPNet都准确,VOC2012上mAP为66%(RCNN为62%)
- 速度(VGG16):
总结
- 论文在实验中精度上达到了最优( VOC07, 2010, and 2012)
- 进行了9组实验
二、论文链接
原文链接
arxiv.org
代码链接
作者code
论文投稿期刊
相关论文
SPPNet:Spatial pyramid pooling in deep convolutional networks for visual recognition
三、论文评价
- 创新:
- 首次引入multi-task loss,多阶段训练转为单阶段
- 主要对训练过程和推理速度作为切入点,进行改进和优化。
- 文中还对模型的各部分推理时间进行统计分析
- 行文:
- 指出当时主流模型(RCNN、SPPNet)的缺点,对比地提出论文的贡献
- 进行Design evaluation, 有
- 有Does multi-task training help?
- Scale invariance: to brute force or finesse?
- Do SVMs outperform softmax?
- Do we need more training data?
- Are more proposals always better?
等可能影响精度的因素都进行了控制变量的分析,
四、模型
基本流程
- 输⼊:整张图⽚ + ⼀组对应图像的region proposal
- backbone输出feature map
- RoI pooling(a special case of one-level SPP):为feature map上每个region proposal⽣成fixed-length feature vector
- 每个feature vector输⼊到⼀系列FC层中
- 2个并行分支
- 1个FC层 + softmax:对于每个feature vector,⽤softmax(K个category + 1个“background”)进⾏分类,输出形状如1×(K+1)。N个feature vector的话,输出形状则如N×(K+1)◦
- 1个FC层 + category-specific BBox regressor:对于每个feature vector,为K个category中的每一个都输出4个实数值(offset),输出形状如K*4。N个feature vector的话,输出形状则如N×K*4
- NMS:和RCNN⼀样,判断出class之后,独⽴对每个class的所有prediction进⾏筛选
truncated SVD
推理时RoI的数量很多,因此FC层计算的耗时将近是整个forwar pass耗时的⼀半,因此使⽤truncated SVD对较⼤的FC层进⾏压缩以实现加速。
训练
Initialize Fast RCNN from pre-trained networks
使⽤pre-trained network初始化Fast RCNN的3个步骤:
- 将pre-trained network的最后1个max pooling换成RoI pooling,RoI pooling输出feature map的size(H×W)
- 将pre-trained network最后1个FC层和softmax替换为Fast RCNN最后的2个并行分支(1个FC层 +softmax,1个FC层 + category-specific BBox regressor)
- 对pre-trained network进⾏修改,以将1组图片和1组RoI作为输入
hierarchical sampling
- 由于当每个训练样本(即RoI)来⾃不同image时,SPP层back propagation的效率⾮常低。
- Fast RCNN中SGD的mini-batch是分层采样的。⾸先采样N张image,每张Image中采样R/N个RoI,
- 来自相同image的RoI在forward pass和backward pass中共享计算和内存
Multi-task loss
每个RoI的multi-task loss如上式所⽰, λ 是平衡因⼦,[u ≥ 1] 表示计算 K 个类的回归loss,背景0不计算回归loss,因为没有真实标签(gtb)
- 分类分支
- 输出 p p p概率值(k+1)个,其中0表示背景
- 标签 u u u
- 回归分支
- 对每个RoI,为每个class k k k,输出一组BBox offset : t k = ( t x k , t y k , t w k , t h k ) t^k=(t^k_{x} ,t^k_{y} ,t^k_{w} ,t^k_{h}) tk=(txk,tyk,twk,thk)
- 标签:GT BBox offset v = ( v x , v y , v w , v h ) v = (v_{x}, v_{y}, v_{w}, v_{h}) v=(vx,vy,vw,vh)
- 使用smooth L1 loss
- 使用smoothL1,可以避免异常值带来的梯度爆炸
五、实验
数据集
- VOC 2007、2010 and 2012
- MS COCO
具体实验
3个pre-trained ImageNet network
- RCNN中的AlexNet,缩写为S(small)
- VGG_CNNM_1024,缩写为M(medium)
- VGG16,缩写为L(large)
图⽚scale:均使⽤single-scale(s=600)
实验1,2,3(不同数据集上mAP比较)
实验4(Training and testing 速度比较)
实验5(Which layers to fine-tune?)
- 微调backbone的卷积参数对mAP是有很大帮助的,但并不是所有的网络微调都有用,
- 像conv1是通用的与任务无关,
- 从conv2_1开始微调,开始有作用,但仅比conv3_1开始精度就高了一点,但训练速度会慢1.3 倍
-论文的模型是从conv3_1开始微调的,
实验6(Does multi-task training help?)
- 多任务训练有积极影响,不同任务相互影响
实验7(Scale invariance:to brute force or finesse?)
- 深度卷积网络本身就擅长学习尺度不变性,更深的模型可能效果会跟好
实验8(Do SVMs outperform softmax?)
实验9(Are more proposals always better?)
- 不需要太多region proposal
Fast R-CNN(2015)论文笔记相关推荐
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- IEEE TGRS2019|【论文笔记】R2-CNN: Fast Tiny Object Detection in Large-Scale Remote Sensing Images
R²-CNN: Fast Tiny Object Detection in Large-Scale Remote Sensing Images 快速轻量的大尺度遥感图像目标检测框架 论文地址:http ...
- [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)
Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...
- Deep Learning论文笔记之(五)CNN卷积神经网络代码理解
Deep Learning论文笔记之(五)CNN卷积神经网络代码理解 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但 ...
- 【论文笔记】李盟, et al. 一种恶意代码特征选取和建模方法. 计算机应用与软件 08(2015):272-277.
前言 论文笔记. 论文笔记 出处及年份 <计算机应用与软件 Computer Applications and SoftwareVol.>第32卷第8期2015年8月 论文标题 一种恶意代 ...
- 论文笔记 SiamMask : Fast Online Object Tracking and Segmentation: A Unifying Approach
论文连接:[1812.05050] Fast Online Object Tracking and Segmentation: A Unifying Approach 论文连接:[1812.05050 ...
- 行为识别论文笔记|I3D S3D R(2+1)D P3D CSN
行为识别论文笔记-I3D T3D S3D R(2+1)D P3D CSN I3D Carreira, Joao, and Andrew Zisserman. "Quo vadis, acti ...
- 【论文笔记 2】CNN经典入门STRIVING FOR SIMPLICITY: THE ALL CONVOLUTIONAL NET
[论文笔记 2]CNN经典入门STRIVING FOR SIMPLICITY: THE ALL CONVOLUTIONAL NET 1. 综述 对现代的CNN网络结构进行了简要说明,一般的网络都是由卷 ...
- 《Improved Crowd Counting Method Based onScale-Adaptive Convolutional Neural Network》论文笔记
<Improved Crowd Counting Method Based onScale-Adaptive Convolutional Neural Network>论文笔记 论文地址 ...
- 论文笔记【A Comprehensive Study of Deep Video Action Recognition】
论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...
最新文章
- 广东java工资一般多少_广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少...
- vacode允许c_Visual Studio Code 配置C/C++环境
- 转:Silverlight样式写法
- 解答网友shell问题一例20140702
- C++ | 从键盘输入任意多个英语单词,统计同一个英语单词被输入几次,最后对英文单词按字典顺序输出(C语言/C++/Java)
- 本地更新github项目_GitHub开源项目2019-03-29更新精选
- 如何判断字符串已经被url编码_如何判断回文数?不要再将整数转为字符串来解决这个问题了...
- 雷军超燃演讲:人生最后一次创业,押上全部战绩和信誉造车,小米亏得起!...
- spark学习-Spark算子Transformations和Action使用大全(Action章)
- 南京计算机审计行业工资,南京最新各行业平均工资曝光!看完分分钟想跳槽!...
- matlab曲线拟合后怎么看公式,matlab拟合曲线并输出公式
- 网站常用色彩表(网络搜集整理)
- VMware虚拟机安装使用及系统安装教程
- oracle+rac+ogg部署,RAC环境下配置OGG同步
- PupilNet: Convolutional Neural Networks for Robust Pupil Detection
- OpenGL课程设计 光线追踪
- VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
- Elasticsearch:从写入原理谈写入优化
- 手把手教你做蓝牙聊天应用(三)-获取要连接的设备
- 华为云弹性公网IP服务,为企业敲开互联网大门