Spatial Pyramid Pooling

精髓

Spatial Pyramid Pooling_第1张图片
一图懂

经过pooling层后,将n n256变成n平方*256。然后将多个n联合起来作为全连接层的输入。

问题提出

RCNN的候选框是通过selective search方法得到的,一张图片大概有2k左右个region proposals,然后通过crop/warp进行处理,将每个region proposal送入CNN中进行卷积特征的提取,这样导致:
1)训练时间非常慢,因为一张图片产生2k左右的region proposals,都会送入CNN中进行训练;
2)识别准确率很低,因为产生的region proposals都会通过crop/warp操作,resize到同一大小送入CNN中进行训练,这样会造成图片信息的缺失或者变形失真,会降低图片识别的正确率。

解决方法

CNN网络需要固定尺寸的图像输入,固定图像尺寸输入的问题,截取的区域未涵盖整个目标或者缩放带来图像的扭曲。
  事实上,CNN的卷积层不需要固定尺寸的图像,全连接层是需要固定大小输入的,因此提出了SPP层放到卷积层的后面,改进后的网络如下图所示:


Spatial Pyramid Pooling_第2张图片

针对问题1:在R-CNN中,每个候选框先resize到统一大小,然后分别作为CNN的输入,这样是很低效的。所以SPP Net根据这个缺点做了优化:只对原图进行一次卷积得到整张图的feature map,然后找到每个候选框zaifeature map上的映射patch,将此patch作为每个候选框的卷积特征输入到SPP layer和之后的层。节省了大量的计算时间,比R-CNN有一百倍左右的提速。

针对问题2:,RCNN中将region proposal都resize成统一大小,这样会造成图片信息的丢失或者变形,导致识别准确率降低,那么能不能不resize,直接用不同大小的region proposals的feature maps呢,分析一下,CNN需要用同一大小的图片输入是主要是在最后一个卷积层(pool5/conv5(如果没有pool5)的话)与第一个全连接层(fc)之间需要训练一个大小固定的二维数组,那么意味着我们特征resize的最晚期限至少可以拖延到pool5/conv5(如果没有poo5的话),这样可以得到的特征更完整一些,然后将这些大小不同的region proposal对应的feature maps输出到同一大小,何凯明大神在这里采用了spatial pyramid pooling(spp layer)完成这个工作,提高了对应的准确率(定位+识别)

网络结构

从下面图片可以看到,无论最后一个卷积层得到的feature maps的大小是怎样的,我们都将其转化为(4x4+2x2+1x1)x256的全连接层,不过需要注意的是,可以转化的条件是虽然这些feature maps的大小不同,但是feature maps的channels相同(这里为256),那么如何将不同大小的feature maps进行spp 呢?下面我们来具体分析:

假设输入的大小为axaxc,然后呢,这些feature maps分别被分成了[1x1,2x2,4x4]大小的块,期望的输出为1x1xc, 2x2xc, 4x4xc,然后将reshape成(1x1+2x2+4x4)xc的二维数组,具体这儿是采用pool操作实现的,不过pool层的size和stride是不同的,具体有如下公式:
输出为[n,n],输入为[a,a],假设取上整运算为<-(),取下整运算为->(),那么pool_size=<-(n/a),stride=->(n/a),这样我们就将其转化为了nxnxc的矩阵,例如(13x13,10x10)都要转化为(4x4),那么采用[p_s=4,,s=3],[p_s=3,s=2]的池化操作后便可以得到.


Spatial Pyramid Pooling_第3张图片

如果只进行上面步骤,那么我们一共得到向量维数是: 256+4x256+16x256=(21*256)维度。 对于任何输入尺寸图像,经过卷积之后,再用 SPP层处理,我们都会得到这个固定维度的特征向量。这个向量维度固定之后,后面的全连接层就可以固定了,因为神经元个数固定下来了,就是这个向量维度。

应用

  1. 图像分类
    这里我们不做过多讲解,对比添加spp-single和spp-multi和no spp对应的错误率,可以发现使用spp layer可以提高识别准确率!


    Spatial Pyramid Pooling_第4张图片
  2. 目标检测
    利用spp net进行object detection的时候,不仅缩短了时间,同时也提高了对应的精度!


    Spatial Pyramid Pooling_第5张图片

你可能感兴趣的:(Spatial Pyramid Pooling)