SPPNet原理详解

1、算法针对问题

在这里插入图片描述
  在SPPNet出现之前,目标检测网络流程如上图所示,输入图像、裁剪/形变、卷积层、全连接层、输出,这些网络存在两种局限:
  1、网络输入图像大小需固定:全连接层需要输入固定大小的输入,由于这个限制,输入图像的大小需固定。
  2、由于需要输入固定大小的图像,因此在检测时往往需要对输入目标图像进行裁剪(crop)或形变(warp),但是裁剪可能会导致目标信息的丢失,形变可能会导致目标特征发生扭曲。如下图所示:
在这里插入图片描述

2、网络结构

在这里插入图片描述
  针对上述的问题,作者提出了上述的网络,与之前网络对比可以看出,作者取消了crop/warp环节,在卷积层和前连接层之间增加了一个空间金字塔池化(spatial pyramid pooling)。作者将这种新的网络结构命名为SPP-Net。
  新的网络结构不需要对目标进行crop/warp,最重要的是对输入图像的大小不在进行限制,可以输入任意大小的图像,这主要得益于增加的空间金字塔池化(spatial pyramid pooling)。

3、空间金字塔池化(spatial pyramid pooling)

空间金字塔原理图:
在这里插入图片描述
  输入:卷积层输出的feature map
  处理流程:简单来说就是不管feature map的大小是多少,设置多个不同大小的池化核,分别对feature map进行池化,池化核的大小根据特征图的大小和设定好的池化后特征图的大小去计算。如图中分别生成4x4、2x2、1x1池化后的特征图,然后将特征如拉伸为一个一维向量,并进行拼接,如图中16+4+1=21。
  输出:最终生成kM维的向量(k为卷积层最后一层的filter的数量,如上图中21256),传输到全连接层。
  无论卷积层输出的feature map大小是多少,空间金字塔池化总能输出一个固定大小的向量到全连接层,因此消除了之前网络对输出固定大小图像的要求。

4、目标检测中的应用

在这里插入图片描述
作者将其与RCNN结合,其流程如下:
1)利用selective search生成2000个候选区域;
2)对输入图像进行卷积,生成feature map;
3)根据候选区域的位置,在feature map获得对应的候选窗口;
4)利用空间金字塔池化处理候选窗口,生成固定长度的特征向量;
5)将获得的特征向量输入全连接层中,最终进行目标识别和目标定位。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值