我们在做图像分类任务时,会输入想通尺寸的图像到 backbone 网络中提取图像特征,然后接一个全连接层来得到输出分数。那么,如果输入图像尺寸不同,那么输入就无法输入到后续的全连接层。我们需要对输入图像进行一些预处理工作,转换为指定尺寸而后输入到网络中,如下图:
SPP(Spatial Pyramid Pooling)空间金字塔池化层就是用来将不同的输入进行适配,使之能够输入到全连接层。SPP 层的位置如下图:
SPP 层到底做了什么?如下图:
输入图像经过卷积层得到任意尺寸的特征图,上图中 SPP 层包含 3 个不同尺寸的池化层,分别从不同的角度来提取出更明显的特征。比如:尺寸为 1 的池化层得到 1 个特征,尺寸为 2 的池化层得到 4 个特征,尺寸为 4 的池化层得到 16 个特征。图中的 256 表示特征图的通道数。