SPP-Net:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

摘要
已知的CNN网络需要固定的输入图像大小,本文提出SPP-Net (Spatial Pyramid Pooling)消除了上述需要。SPP-Net能够生成固定长度的表达,不依赖于输入图像的尺寸和方向率。
使用SPP-Net只需要对整个图像计算一次特征图。避免了(R-CNN)重复计算。
在测试的时候,运算速度是R-CNN的24~64倍。

CNN v.s. SPP net

这里写图片描述

当应用CNN到任意尺寸的图像的时候,通常对图像作crop或者warp,但是crop不能保证包含整个图像,warp会改变图像的外观。识别精度会受到影响。而且,通常的CNN方法需要固定的输入尺寸,这个尺寸对某些目标也不适合。

事实上,卷积层不需要固定尺度,只有全连接层需要固定的尺寸。
SPP net方法在卷积层之后 增加了一个SPP,不再需要固定的输入尺寸。

Deep Networks with Spatial Pyramid Pooling
1. The Spatial Pyramid Pooling Layer
卷积层接受任意尺寸的图像,因此输出的尺寸是变化的。但是,全连接层只接受固定尺寸的输入。为了解决这个问题,引入了Spatial Pyramid Pooling。
Spatial Pyramid Pooling在局部空间作pooling,保留了空间信息。具体一点,局部的空间被划分为固定的bin,在每个bin里面提取固定维的特征,从而保证 Spatial Pyramid Pooling对每个局部片都产生同样维度的特征。
这里写图片描述
在上面的图中,conv5之后的pooling层 被SPP层代替。每个空间bin,作者取最大值作为响应值。

2.Training the Network

2.1 单尺度训练
与前人的工作一样,作者首先考虑一个网络有固定尺寸的输入。对于一个已知尺寸的图像,可以提前计算bin size。
这里写图片描述

2.2 多尺度训练
SPPnet 期望应用到任何尺度的图像。因此作者采用了2个尺度(180*180,240*240)训练。(请参考原文)
但是检测的时候,直接应用SPP net 到任何尺寸的图像。

  1. SPP net for Object Detection
    这里写图片描述
    a) 首先,使用selective search 得到2000个候选区域。
    b) 然后将图像s = min(w,h), 计算conv5的特征图。
    c) 在每个候选区域内,提取4级Spatial Pyramid,总共50个bin。256 feature map * 50 = 12800维。
    d) 12800维特征送给全连接层。

其他部分与R-CNN基本一致,请参考原文和R-CNN

end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值