写在前面
SPP-Net是2015年发表在IEEE上的论文,基于R-CNN改进。
本文重点
- 提出了一种可以输入任意尺寸大小的图片进行训练和测试的Spatial Pyramid Pooling空间金字塔结构。
- 使用CNN只进行一次全图特征提取,节省时间。
模型设计
步骤一:候选框搜索
- 使用selective search找到2k个候选框。
步骤二:全图特征提取(1-5层)
- 1-5层结构与AlexNet类似,卷积层+部分池化层,对整张图进行特征提取。
步骤三:候选框特征提取(SPM)
- 第5层卷积层后跟有SPM空间金字塔池化结构【本文创新点】✔️
流行的CNN模型,一般需要固定尺寸的图片输入,因此研究人员会将不符合要求的图片进行crop或warp。
注:overfeat可以在测试时不限制图片尺寸大小,但训练时限制
SPM就是为解决训练和测试时输入图片尺寸受限的问题所设计的。
SPM实质是对feature map以几种方式进行池化,并把这几种池化结果组合在一起,构成fixed-length representation,再连接全连接层。
举例,SPM使用三种方式进行池化,第一种池化得到16个格子,第二种4个,第三种1个,构成(16+4+1)=21维向量,已知特征图有256张,所以fixed-length representation是21x256-d。
- SPM对步骤一得到的2k个候选框分别进行候选框特征提取。【本文创新点】✔️
注:这里的候选框应该是原图映射到feature map后,feature map上的候选框。
步骤四:特征向量分类识别
- 使用常规的SVM算法进行特征向量分类识别,由两层全连接层和N-way分类层完成。
讨论
- 考虑到GPU和CUDA比较适合固定尺寸的输入,作者设计了single-size和multi-size两种方式训练,即使是multi-size也只是使用了两种尺度,感觉并没有充分打破训练时输入图片尺寸受限的约束。
- 这个模型主要贡献在于提高了模型的运行速度,识别准确性没有很大的提升。