RCNN系列(2)--Fast-RCNN与SPPNet

1.简介

Fast-RCNN与SPPNet是同一时期出现,是当时比较热门的话题。其中,Fast-RCNN主要在损失函数和分类上对RCNN做了改进,极大的改善了网络的性能,提高了算法的精度和速度。

2.基本概念

2.1 空间金字塔池化
RCNN系列(2)--Fast-RCNN与SPPNet_第1张图片
SPP空间池化,就是固定输出尺寸,如中间那个4×256-d,我们将一个feature map 等分为4块(将一幅图像等分为4块区域,这里是对特征图进行分)。对每个小块进行max pooling 操作,所以我们从每个特征小块得到一个输出,一个 feature map 就有4个输出,256个 feature maps 就有 4×256-d

2.2 Fast-RCNN的多任务损失函数*
RCNN系列(2)--Fast-RCNN与SPPNet_第2张图片
总损失为clsscore层损失与bbox_prdict层损失之和。更详细讲解

3.网络结构

3.1 Fast-RCNN
直接使用Softmax替代了R-CNN中SVM进行分类,同时在网络中加入了多任务函数边框回归,实现了端到端的训练(除SS Region Proposal阶段)
RCNN系列(2)--Fast-RCNN与SPPNet_第3张图片
3.2 SPPNet

事实上,卷积并不需要固定的图像尺寸,他可以产生任意尺寸的特征图。而另一方面,根据定义,全连接层则需要固定的尺寸输入。因此固定尺寸的问题来源于全连接层,也是网络的最后阶段。
本文引入一种空间金字塔池化( spatial pyramid pooling,SPP)层,以移除对网络固定尺寸的限制。尤其是,将SPP层放在最后一个卷积层之后。SPP层对特征进行池化,并产生固定长度的输出,这个输出再喂给全连接层(或其他分类器)。换句话说,在网络层次的较后阶段(也就是卷积层和全连接层之间)进行某种信息“汇总”,可以避免在最开始的时候就进行裁剪或变形。
RCNN系列(2)--Fast-RCNN与SPPNet_第4张图片

你可能感兴趣的:(RCNN系列)