空间金字塔池化网络SPPNet详解

参考:https://cloud.tencent.com/developer/article/1441559

前言
SPP-Net是出自2015年发表在IEEE上的论文-《Spatial Pyramid Pooling in Deep ConvolutionalNetworks for Visual Recognition》,这篇论文解决之前深度神经网络的一个大难题,即输入数据的维度一定要固定。
一、什么是空间金字塔池化网络——SPPNet
所谓空间金字塔池化网络,英文全称为Spatial Pyramid Pooling Networks ,简称SPP-Net。它也是由何凯明大神与2015年首先发表的。
二、为什么要用SPP-Net
2.1、传统卷积神经网络的限制
之前的深度卷积神经网络(CNNs)都需要输入的图像尺寸固定(比如224×224)。由于输入的图像大小固定,即数据维度固定,但是现实样本中往往很多样本是大小不一的,为了产生固定输入大小的样本,有两种主要的预处理措施(会降低识别的精度):
(1)crop(裁剪)
 
从上面可以看出,对原始图像进行裁剪之后,必然会有相关的特征被剔除掉了,肯定会影响到特征的提取;
(2)wrap(缩放)
 
从上面可以看出,原始图像经过缩放之后,变得很畸形失真,这也会影响到特征提取的过程。
2.2、CNN为什么需要固定的输入
CNN主要由两部分组成,卷积部分和其后的全连接部分。卷积部分通过滑窗进行计算,并输出代表激活的空间排布的特征图(feature map)。事实上,卷积并不需要固定的图像尺寸,他可以产生任意尺寸的特征图。而另一方面,根据定义,全连接层则需要固定的尺寸输入。因此固定尺寸的问题来源于全连接层,也是网络的最后阶段。
找到了问题的症结所在,现在就可以来说明解决方案了。
三、什么是SPP-Net
3.1 SPP-Net与经典CNN的架构对比
首先看一下传统CNN网络与SPP-Net网络的一个对比。
 
 
从上面的架构中可以看出,SPP-Net与经典CNN最主要的区别在于两点:
第一点:不再需要对图像进行crop/wrap这样的预处理;
第二点:在卷积层和全连接层交接的地方添加所谓的空间金字塔池化层,即(spatial pyramid pooling),使用这种方式,可以让网络输入任意的图片,而且还会生成固定大小的输出。
3.2 金字塔的具体工作过程
假设我们以一个三层金字塔作为例子来说明,将3.1中的图二中红色字体标注出来部分堆叠层展开,如下所示:
 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值