Fast R-CNN论文解读

Fast R-CNN是一种基于深度学习的目标检测算法,显著提升了检测速度和精度。它整合了R-CNN和SPPnet的优点,采用单阶段训练,多任务损失函数,以及RoI池化层,减少了冗余计算,实现了比前代算法更快的训练和测试速度。

论文链接:https://arxiv.org/abs/1504.08083
代码链接:https://github.com/rbgirshick/fast-rcnn.

Abstract

这篇论文提出了一种基于卷积神经网络做目标检测的算法——Fast R-CNN,它是建立在之前R-CNN的基础上使用深度卷积神经网络进行高效的目标检测。Fast R-CNN做了几点创新来提高训练和测试阶段的速度,同时提高了检测的准确率。

  1. Fast R-CNN使用的是VGG16网络,训练速度比R-CNN快了9倍,测试速度快了213倍,并且在PASCAL VOC 2012上实现了更高的map;
  2. 与SSPnet相比,Fast R-CNN训练速度快了3倍,测试速度快了10倍,并且准确率更高;

1. Introduction

目前深度神经网络已经极大的提高了图形分类和目标检测的精度,与图像分类相比,目标检测明显更为复杂,现在的方法在训练网络时会分多个阶段,这样会导致训练和运行时间过长。

目前检测有两个最基本的挑战:

  1. 如何产生候选框;
  2. 候选框只是提供了一个粗略的定位范围,所以需要进一步的修正才可以得到更精确的定位,这意味着我们的方法需要在速度、精度和简单性之间做权衡;

在本片论文中,我们简化了训练过程,提出了以一种单阶段的训练算法——分类和边框回归的loss合并,梯度回传。

1.1 R-CNN and SPPnet

在谈Fast R-CNN之前,我们先来说说R-CNN存在的问题:

  1. 训练分多步。通过上一篇博文我们知道R-CNN的训练先要fine tuning一个预训练的网络,然后针对每个类别都训练一个SVM分类器,最后还要对每个类别用regressor模型对bounding-box进行回归(分类和边框预测是分开的,但实际上两者之间是有联系的,是个待解决问题),另外region proposal也要单独用selective search的方式获得,步骤比较繁琐。
  2. 时间和内存消耗比较大。在训练SVM和回归的时候分别需要用网络训练得到的fc7和pool5层的特征作为输入,特征保存在磁盘上再读入的时间消耗还是比较大的。举个例子,当使用深度神经网络(如VGG16),对于5k张VOV07训练集上的图片做训练大约需要2.5GPU-days。这些特征需要上千GB的存储空间。
  3. 测试的时候也比较慢,每张图片的每个region proposal都要做卷积,重复操作太多。用VGG16做检测一张图片需要47s。

制约R-CNN速度的一个重要因素在于每个候选框(大约2000个)都需要经过卷积神经网络,这里面没有共享计算,里面有大量的冗余计算(有很多重叠部分)。空间金字塔层池化网络(Spatial pyramid pooling networks,SSPnets)可以通过计算共享来加速R-CNN,SSPnet是先对整张图片做卷积,由于卷积池化之后得到的特征图与原图片的特征位置是相对应的,所以直接在特征图上截取候选框,然后再使用做不同尺寸的最大池化将得到的特征向量拼接得到最终

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值