【论文快读】Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

链接:https://arxiv.org/abs/1406.4729
作者:Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun

摘要:
这里写图片描述
SPP可以用于:
1.大幅提高各种cnn的性能:
现有网络对输入图片的size要求一定,这种“人工设定”可能对accuracy造成影响。本文提出的SPP-net则是“input size/scale free”的,输出的是固定长度的representation。通过对一些经典网络进行改造可以实现精度的显著提升。
2.在对象检测中显著提速:
R-CNN需要在一幅图上的子区域上反复应用nn,而作者首先在全图中用CNN扫一次,然后提取特征并放入SPP-net,实现数量级级别的提速。

由于CNN中的卷积层的kernel在生成feature map的时候对于图片size无要求,另一方面根据全连接层的定义,输入size须一定,所以CNN的input的fixed size约束的根本来源是仅仅是全连接层。作者在最后一层卷积层之后、全连接层之前增加spp层,用于把feature map池化并生成全连接层所需的size,在避免warp和crop的同时实现信息整合。则网络结构的变化如下图所示:
网络结构变化
文章从三个方面进行了论述:
1。加入了SPP的DNN
2。SPP-net与图像分类
3。SPP-net与对象检测

1、SPP-net的结构

如图:
SPP-net
SPP层位于卷积池化层( c o n v 5 conv_5 conv5)和全连接层( f c 6 fc_6 fc6)之间。假设 c o n v 5 conv_5 conv5通过256个filter生成了256维的feature map(由于每个image的size不定,所以不同image经过 c o n v 5 conv_5 conv5输出的256个feature map的size也有不同)。把这些feature map分别最大池化成 4 × 4 × 256 4\times 4\times 256 4×4×256 2 × 2 × 256 2\times 2\times256 2×2×256 1 × 1 × 256 1\times 1\times256 1×1×256的size并组合,得到 21 × 256 21\times 256 21×256的向量,输入 f c 6 fc_6 fc6
这个结构很简明,理论上也能通过传统的后向传播进行训练。当然了,由于图片的size不同,为了便于GPU的运行,作者也进行了一些训练方法的改进。

2、SPP-net与图像分类

实验的baseline包括ZF-5等一些网络,通过使用SPP,其精度均取得了较大的提升。另外,增加SPP的level(上节的例子中有3个level)、增加input的size种类也可以提高accuracy。

3、SPP-net与对象检测

RCNN算法是从原图中选择2k个框输入卷积网络,需要进行2k次前向传播,而借助SPP,把图片输入卷积网络一次,在输出的256个feature map上生成候选window,然后对每个window进行( 1 × 1 , 2 × 2 , 3 × 3 , 6 × 6 1\times1, 2\times2,3\times3,6\times6 1×1,2×2,3×3,6×6)SPPooling,生成12800( = 256 × 50 =256\times50 =256×50)维表示,送入全连接层和SVM。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值