结构
先学习一下SPP(spatial pyramid pooling),如下图所示,在R-CNN中,进入卷积层之前必须对图片进行crop或者warp以保证大小相同(因为有全连接层),但是这样不仅会影响识别精度,而且检测的速度也很慢,因为原始图片经过crop或者warp后得到的图片会重复使用卷积网络计算feature maps,但是SPP只计算一次原始图像的feature maps,SPP主要的作用就是保证在进入全连接层前维度一致。
SPP论文(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(TPAMI2015))中还展现了经过卷积层后输出的特征图主要有两个信息:
- 对个别特征的响应强度
- 对应的空间位置
比如下图,filter#175对于四边形比较敏感,而filter#55对于圆形比较敏感。
SPP的模块如下图所示,这里的输入图像是经过SS后proposal regions
SPP将feature maps分成 4 × 4 4\times4 4×4, 2 × 2 2\times2 2×2, 1 × 1 1\times1