Fast-RCNN

Fast-RCNN是RCNN的优化版,通过RoI pooling层实现端到端训练,解决了多阶段训练和特征冗余问题。论文引入多任务损失函数,允许所有网络层更新参数,并在保持良好性能的同时减少了训练时间和空间开销。Fast-RCNN对比了SVM与Softmax,以及不同训练策略和Proposal数量对结果的影响。
摘要由CSDN通过智能技术生成

Fast-RCNN

论文下载地址
github网址

简介

首先膜拜一下RBG大神,RBG大神不仅是学术的大牛,工程也是大牛,代码写的很漂亮。这篇论文主要参考的是RCNN和SPPNet。需要按照这个顺序进行看paper,RCNN -> SPPNET -> Fast-RCNN -> Faster-RCNN。CNN在分类上效果很好。

  • RNN就解决了为什么不把目标检测的问题转化到分类的问题上呢?
  • Fast-RCNN解决的就是为什么一起输出bounding box和label呢?
  • Faster-RCNN解决的为什么还要使用select search呢?(摘自知乎)。

Fast-RCNN是RCNN的加速版,主要是针对之前的RCNN和SPPNET进行改进。

主要工作

在Fast-RCNN之前主要在目标检测方面有RBG大神的RCNN和何凯明的SPPNET,但是这两种网络结构都存在缺点,所以作者总结上述的不足,进行改进。首先RCNN存在以下的缺点

  • 训练是多阶段的。首先通过selective search提取Proposal,然后利用CNN提取特征,之后用SVM作分类,最后使用Bounding Box Regression。
  • 训练的时间空间开销大。RCNN中,SVM和Bounding Box regressor特征都是从磁盘读取,这个读取操作不仅耗时,还要占据磁盘空间存放特征。
  • 目标检测测试比较慢,因为每一个图像都要提取2K左右的区域,很多区域都是重复的,导致特征冗余。

虽然SPPNET每张图片仅仅计算一个特征,然后通过特征共享计算每一个proposal的特征。但是SPPNET同样是一个多阶段的网络,需要将特征存放到磁盘。除此之外,fune-tuning算法不能更新SPP pooling之前的参数。
针对上述的缺点,RBG大神提出了以下改进:

  • Training变为一个end-to-end,使用多任务的损失函数
  • 参数可以在所有的网络层进行更新
  • 不需要额外的磁盘空间存放特征

作者并通过实验证明效果优于RCNN和SPPNET。
整个网络的结构如图所示:


图1

上图显示了Fast-RCNN的主要过程,首先输入整张图经过一系列的卷积层和max pooling得到一个conv feature map。然后每一个proposal 经过RoI pooling层得到一个固定长度的feature。每一个feature在经过一个FC层,最后输入到两个输出层,产生两个优化的目标,一个用来分类,一个用来优化bounding box。

RoI pooling layer

RoI pooling Layer主要是以下的工作,首先要把输入RoI映射到feature map 上的patch上来。并且使用单层的SPPNET讲特征降维到固定长度,方便进行下一步的输入。RoI pooling 使用max pooling把 h×w 的RoI窗口,切成 H×W 个子窗口,然后每一个子窗口使用max pooling操作得到输出。

Initializing pre-training networks

  • 网络的最有一个max pooling层改为RoI pooling layer,设置 H,W 使得和网络的第一个全连接层匹配。
  • 把网络的最后一个FC层和softmax层修改为两个网络层,分别用来分类和Bounding box regress。
  • 网络的输入变为图片和图片的ROI

Fine-tuning for detection

对R-CNN和SPPNET网络输入的是一个proposal,Fast-RCNN输入则是一副完整的图像和RoI的位置集合,根据RoI的位置得到proposal的特征。这样做可以大大加速训练的过程。如果一副图像提取64个RoI的时候,那么将会得到64 × 的加速。

Multi-task loss

Fast-RCNN的目标函数如下所示:

L(p,u,tu,v)=Lcls(p,u)+λ
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值