[目标检测]——SPPNet算法

SPPNet对R-CNN进行了改进,首先分析R-CNN慢在哪里?

R-CNN慢就慢在卷积运算,一张图片里面有2000个候选区域需要做卷积运算

[目标检测]——SPPNet算法

一、SPPNet做出的改进

SPPNet主要存在两点改进地方,提出了SPP层

1、减少卷积运算

R-CNN中 crop/warp 是对图片进行形状修改

[目标检测]——SPPNet算法

[目标检测]——SPPNet算法

二、SPPNet介绍

1、操作步骤

  1. 图片输入到网络先得到一个 feature map
  2. 原图中通过SS得到的候选区域直接映射feature map中对应位置
  3. 映射过来的候选区域的特征,经过SPP层(空间金字塔变换层),S输出固定大小的特征向量。

2、映射

原图经过CNN变成 feature map,原始图片通过选择选择性搜索(SS)得到了候选区域(Region of interest),现在需要将基于原始图片的候选区域映射到 feature map 中的特征向量。映射过程图参考如下:

[目标检测]——SPPNet算法

整个映射过程具体的公式,如下:

S 在论文中等于16,也就是每个卷积层的步长乘积。(2*2*2*2 = 16)

[目标检测]——SPPNet算法

 通过以上介绍,可以得出:

特征图中的xmin',ymin' = [xmin/16] + 1, [ymin/16] + 1

特征图中的xmax',ymax' = [xmax/16] - 1, [ymax/16] - 1

3、SPP(spatial pyramid pooling)

通过spatial pyramid pooling 将候选区域的 特征图转换成固定大小的特征向量。

[目标检测]——SPPNet算法

[目标检测]——SPPNet算法

三、SPPNet总结

  • 首先不需要做大量的运算,节约计算资源
  • 加入SPP

[目标检测]——SPPNet算法

[目标检测]——SPPNet算法

上一篇:DL:深度学习模型概览(包括DNN、CNN、RNN等)的简介、网络结构简介、使用场景对比之详细攻略


下一篇:基于卷积cnn得图像分类