Fast R-CNN(2015.9)



论文链接
源代码

Abstract

本文提出了一种快速区域卷积网络(Fast R-CNN)的目标检测方法。Fast R-CNN基于以前的工作(R-CNN,SPP-net),使用深度卷积网络有效地对对象提案进行分类。与以前的工作相比,Fast R-CNN采用了几项创新来提高训练和测试速度,同时也提高了检测精度。

Introduction

由于检测需要精确地定位物体,这就产生了两个主要的挑战:
首先,必须处理许多候选对象位置(通常称为“proposals”)
其次,这些候选点只能提供粗略的定位,必须加以改进才能实现精确定位

这些问题的解决方案通常会牺牲速度、准确性或简单性
在本文中,我们简化了最先进的基于convnet的目标检测器的训练过程[9,11],提出了一种单阶段训练算法,该算法联合学习对目标建议进行分类并细化其空间位置

R-CNN and SPPnet

基于区域的卷积网络(R-CNN[9]通过使用深度卷积神经网络对目标提案进行分类,实现了优异的目标检测精度。然而,R-CNN也有明显的缺点

训练是一个多阶段的流水线

训练在空间和时间上都很昂贵

目标检测速度慢

Contributions

我们提出了一种新的训练算法,该算法修正了R-CNN和SPPnet的缺点,同时提高了它们的速度和准确性。我们称这种方法为快速R-CNN,因为它的训练和测试速度相对较快。快速R- CNN方法有几个优点:

  1. 检测质量(mAP)高于R-CNN、SPPnet
  2. 训练是单阶段的,使用多任务损失
    3.训练可以更新所有的网络层
  3. 特征缓存不需要磁盘存储

Fast R-CNN architecture and training

Fast R-CNN网络将一整张图像和一组目标建议作为输入。该网络首先用几个卷积(conv)和最大池化层来处理整个图像,以产生一个conv特征图。然后,对于每个目标候选框,感兴趣区域池化层从特征映射中提取固定长度的特征向量

输入图像和多个感兴趣区域(RoI)被输入到一个全卷积网络中。每个RoI被汇集成一个固定大小的特征映射,然后通过全连接层(fc)映射到一个特征向量。该网络每个RoI有两个输出向量:softmax概率和每个类的边界盒回归偏移量。该体系结构是端到端训练的,具有多任务损失

The RoI pooling layer

RoI池化层使用最大池化将任何有效感兴趣区域内的特征转换为具有固定空间范围H ×W(例如7×7)的小特征图,其中H和W是独立于任何特定RoI的层超参数
RoI最大池化的工作原理是将h × w RoI窗口划分为大小近似为h/ H × w/ W的子窗口的H × W网格,然后将每个子窗口中的值最大池化到相应的输出网格单元中(RoI层只是SPPnets[11]中使用的空间金字塔池层的特殊情况,其中只有一个金字塔层)

Initializing from pre-trained networks

Fine-tuning for detection

用反向传播训练所有网络权重是Fast R-CNN的一项重要能力

让我们来解释为什么SPPnet无法更新空间金字塔池层以下的权重
根本原因是,当每个训练样本(即RoI)来自不同的图像时,通过SPP层的反向传播效率非常低,这正是R-CNN和SPPnet网络的训练方式,这种低效率源于这样一个事实,即每个RoI可能有一个非常大的接受域,通常跨越整个输入图像。由于前向传递必须处理整个接受野,所以训练输入很大(通常是整个图像)

我们提出了一种更有效的训练方法,利用训练过程中的特征共享。在Fast R- CNN训练中,随机梯度下降(SGD)小批量分层采样,首先通过采样N个图像,然后从每个图像中采样R/N RoI
关键的是,来自同一图像的RoI在向前和向后传递中共享计算和内存,使N变小减少小批量计算

除了分层采样,Fast R-CNN使用了一个精简的训练过程,其中一个微调阶段联合优化softmax分类器和边界盒回归器,而不是在三个单独的阶段训练softmax分类器、svm和回归器

Multi-task loss

每个训练RoI都被标记为一个真值类u和一个真值边界盒回归目标v,我们在每个标记的RoI上使用一个多任务损失L来联合训练分类和边界盒回归:
其中L cls (p,u) = - logp u为真类u的对数损失
对于边界盒回归,我们使用损失:

Mini-batch sampling

在微调期间,每个SGD迷你批都是由N = 2个随机选择的图像构建的(作为通常的做法,我们实际上对数据集的排列进行了迭代)。我们使用大小为R = 128的小批量,从每张图像中采样64个RoI

我们从具有交集/联合(IoU)重叠且ground- truth bounding box至少为0.5的目标提案中提取25%的roi。这些roi包括用前景对象类标记的示例,即u≥1。剩余的roi是从在区间[0.1,0.5)内具有最大iou的目标提案中采样的

Back-propagation through RoI pooling layers

SGD hyper-parameters

用于softmax分类和边界盒回归的全连接层分别从零均值高斯分布初始化,标准差分别为0.01和0.001。偏差被初始化为0。所有层对权重和偏差的每层学习率分别为1和2,全局学习率为0.001

Scale invariance

我们探索了实现尺度不变目标检测的两种方法:(1)通过“蛮力”学习和(2)通过我们的图像金字塔

Fast R-CNN detection

Truncated SVD for faster detection

对于全图像分类,计算全连接层所花费的时间比计算转换层要少。
相反,对于检测,要处理的roi数量很大,并且近一半的前向传递时间用于计算完全连接的层(见图2)。在这里插入图片描述

用截断的奇异值分解(SVD)对大的全连接层进行压缩,可以很容易地加速它们[5,23]。在这种技术中,一个由u × v权重矩阵W参数化的层被近似分解为

Main results

三个主要结果支持本文的贡献:
1.在VOC07, 2010和2012取得最先进的mAP
2. 与R-CNN, SPPnet相比,快速训练和测试
3.在VGG16中微调转换层可以改善mAP

Conclusion

本文提出了Fast R-CNN,它是对R-CNN和SPP-net的一种干净、快速的更新.
特别值得注意的是,稀疏对象候选框似乎提高了检测器的质量。这个问题在过去花费太大(时间上)而无法探究,但它在Fast R-CNN上是可行的。当然,可能存在一些尚未被发现的技术,可以让密集的盒子表现得和稀疏候选框一样好。这种方法,如果发展,可能有助于进一步加快目标检测

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. ARIMA 2. SARIMA 3. VAR 4. Auto-ARIMA 5. Auto-SARIMA 6. LSTM 7. GRU 8. RNN 9. CNN 10. MLP 11. DNN 12. MLP-LSTM 13. MLP-GRU 14. MLP-RNN 15. MLP-CNN 16. LSTM-ARIMA 17. LSTM-MLP 18. LSTM-CNN 19. GRU-ARIMA 20. GRU-MLP 21. GRU-CNN 22. RNN-ARIMA 23. RNN-MLP 24. RNN-CNN 25. CNN-ARIMA 26. CNN-MLP 27. CNN-LSTM 28. CNN-GRU 29. ARIMA-SVM 30. SARIMA-SVM 31. VAR-SVM 32. Auto-ARIMA-SVM 33. Auto-SARIMA-SVM 34. LSTM-SVM 35. GRU-SVM 36. RNN-SVM 37. CNN-SVM 38. MLP-SVM 39. LSTM-ARIMA-SVM 40. LSTM-MLP-SVM 41. LSTM-CNN-SVM 42. GRU-ARIMA-SVM 43. GRU-MLP-SVM 44. GRU-CNN-SVM 45. RNN-ARIMA-SVM 46. RNN-MLP-SVM 47. RNN-CNN-SVM 48. CNN-ARIMA-SVM 49. CNN-MLP-SVM 50. CNN-LSTM-SVM 51. CNN-GRU-SVM 52. ARIMA-RF 53. SARIMA-RF 54. VAR-RF 55. Auto-ARIMA-RF 56. Auto-SARIMA-RF 57. LSTM-RF 58. GRU-RF 59. RNN-RF 60. CNN-RF 61. MLP-RF 62. LSTM-ARIMA-RF 63. LSTM-MLP-RF 64. LSTM-CNN-RF 65. GRU-ARIMA-RF 66. GRU-MLP-RF 67. GRU-CNN-RF 68. RNN-ARIMA-RF 69. RNN-MLP-RF 70. RNN-CNN-RF 71. CNN-ARIMA-RF 72. CNN-MLP-RF 73. CNN-LSTM-RF 74. CNN-GRU-RF 75. ARIMA-XGBoost 76. SARIMA-XGBoost 77. VAR-XGBoost 78. Auto-ARIMA-XGBoost 79. Auto-SARIMA-XGBoost 80. LSTM-XGBoost 81. GRU-XGBoost 82. RNN-XGBoost 83. CNN-XGBoost 84. MLP-XGBoost 85. LSTM-ARIMA-XGBoost 86. LSTM-MLP-XGBoost 87. LSTM-CNN-XGBoost 88. GRU-ARIMA-XGBoost 89. GRU-MLP-XGBoost 90. GRU-CNN-XGBoost 91. RNN-ARIMA-XGBoost 92. RNN-MLP-XGBoost 93. RNN-CNN-XGBoost 94. CNN-ARIMA-XGBoost 95. CNN-MLP-XGBoost 96. CNN-LSTM-XGBoost 97. CNN-GRU-XGBoost 98. ARIMA-ANN 99. SARIMA-ANN 100. VAR-ANN 上面这些缩写模型的全称及相关用途功能详细解释
07-15

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值