读Lawin Transformer这篇论文,里面有介绍到在Transformer结构中使用ASPP,有很多细节没有理解,于是打算从CNN里的SPP开始学习。
SPP【Space Pyramid Pooling】空间金字塔池化 出现是为了解决什么
在spp出来之前,所有神经网络都是要输入固定尺寸的图片,比如经常遇到的224×224,图片输入网络前都要resize到224×224,导致图片变形,其中的信息也变形了,从而限制了识别精度。
而SPP和ASPP就是为了解决这个问题,它可以让网络输入原图而不必resize。
SPP结构
对于任意尺寸的特征层输入,将输入做三份处理:
(1)直接对整个特征图池化,每一维得到一个池化后的值,构成一个1x256的向量
(2)将特征图分成2x2共4份,每份单独进行池化,得到一个1x256的向量,最终得到2x2=4个1x256的向量
(3)将特征图分成4x4共16份,每份单独进行池化,得到一个1x256的向量,,最终得到4x4=16个1x256的向量
将三种划分方式池化得到的结果进行拼接,得到(1+4+16)*