SPP空间金字塔池化(spatial pyramid pooling, SPP)原理与pytorc实现

1、为什么需要SPP?

过去的卷积神经网络CNN由卷积层+全连接层组成,其中卷积层对于输入数据的大小并没有要求,唯一对数据大小有要求的则是第一个全连接层,因此基本上所有的CNN都要求数据数据固定大小,例如著名的VGG模型则要求输入数据大小是(224×224)。

固定输入数据大小有两个问题:

1、很多场景所得到的数据并不是固定大小的,例如不同相机,不同手机,拍出来的图片其宽高比是不固定的;

2、有人说可以对图片进行切割,但是切割的话很可能会丢失到重要信息。

综上,SPP的提出就是为了解决CNN输入图像大小必须固定的问题,从而可以使得输入图像可以具有任意尺寸。

2、SPP原理

如图所示,对于选择的不同大小的区域对应到卷积之后的特征图上,得到的也是大小不一致的特征图区域,特征图通道数为256,对于每个区域,通过三种划分方式进行池化:

1)直接对整个整个区域池化,每层得到一个点,共256个点,构成一个1×256的向量;

2)将区域划分成2×2的格子,每个格子池化,得到一个1×256的向量,共2*2=4个格子,最终得到4个1×256的向量 ;

3)将区域划

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值