SSP-NET论文总结

简介

特征金字塔池化是何恺明大神提出的一种在R-CNN基础上的可以利用CNN处理任意尺度、大小的图像并得到固定长度特征的方法。这个方法只需要计算一次整张图的feature maps(和R-CNN的计算2000次region proposal的特征图相比快多了)。对于一个region proposal,其与feature map有一个对应的映射关系,我们可以找到这个proposal对应的feature map的区域,然后对其进行金字塔池化,得到固定长度的特征向量,对于分类任务而言,直接用softmax进行分类,而分类任务则是将特征向量输入到svm中进行分类评分。这就是特征金字塔池化的主要思想,作者也通过实验证明SPP能够提高各种网络的性能。关于如何进行特征金字塔池化后面再讲。
认识SPP之前需要知道的有:

  1. 卷积处理对输入图像大小没有要求
    普通的CNN是对输入图像大小有严格的规定的(比如Alexnet的224×224),仔细想一下,其实在卷积的时候,对输入图像大小并没有要求,任何图像经过卷积处理都会输出一个feature map,而有要求的是全连接层,因为全连接层需要将feature map转化为一个一维的特征向量,不同尺寸的feature map形成的特征向量不同,导致CNN对输入图像尺寸有严格规定。
    在这种思路下,我们是否可以想办法在卷积层和全连接层直接增加某种操作,使得不同尺寸的feature map转换成同样尺寸的feature,这样就使得输入全连接层的特征具有固定长度,也就可以对CNN输入任意尺度的图像,上面提到的某种操作就是特征金字塔池化。

  2. Bag-of-Words
    BoW是计算机视觉领域最成功的方法之一,SPP就是BoW的一个延伸,因此SPP有一些比较好的特性:
    1.无论输入是什么尺寸,都能够生成固定长度的输出,故SPP能够提取各种尺度的特征。
    2.SPP能够生成多层次的spatial pool bins,这对目标检测是很鲁棒的

1 SPP网络结构

1.1 卷积神经网络与特征图

作者发文期间主流的网络,如Alexnet等,一般都是卷积-池化-卷积-池化-卷积-卷积-卷积-池化→两个全连接层→N维softmax层。其中,经过卷积和池化得到的feature map既有强度响应(strength responses)信息也有空间位置信息(spatial position),这句话怎么理解呢?看看下面这张图:
在这里插入图片描述
上图是一张图片经过卷积层得到的特征图,可以看到#66卷积核关注(学到)的是上∠特征(即strength responses是上∠),并且特征图上∠特征的位置与原图相对应(即spatial position)。而卷积核#118关注的是直角特征,其特征图上的位置与原图也对应。我们可以发现,不同的卷积核关注不同的语义信息。理解了这两个关键点,后续就能够理解特征图与region proposals之间的关系了。

1.2 空间金字塔池化结构

空间金字塔池化结构是对特征图的一种操作,我们可以将上述网络中最后一层池化层替换成三次不同的池化操作(池化参数如何计算后面会提及),得到三个空间金字塔结构,如下图所示。我们把一个这样的结构称为一个level,这个例子就有3个level,3个level的尺寸分别为4×4、2×2和1×1(也可以为其他尺寸),然后再将这三个level转化为特征向量,由于三个子特征图的尺寸是固定的,就能保证送入全连接层的特征向量长度一定。这就是空间金字塔池化操作。其中空间金字塔池化的输出是一个kM维的向量,M是三个子特征图spatial bin的总个数,k等于最后一层卷积层的个数(维数),如下图,M=4×4+2×2+1=21,如果conv5的维数为256,那k=256。这样,无论输入图像是多大的,假设我们都将其等比例resize到某个尺度(如min(w,h)=180或者224,后续也会用到这个尺度),那么经过相同的卷积层和空间金字塔池化操作,我们就可以提取到不同尺度&#

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值