上QQ阅读APP看书,第一时间看更新
第1章 双阶段检测
1.2 SPP-Net
在本节中,先验知识包括:
❏ R-CNN(1.1节)。
在前面介绍的R-CNN中,经过选择性搜索会得到不同尺寸的候选区域,然而它的CNN骨干网络需要固定尺寸的输入图像,无论是裁剪、拉伸还是加边都会对模型的效果带来负面影响。是什么原因导致它的CNN骨干网络需要固定尺寸的输入图像呢?一个原因是CNN通常由卷积层和全连接层组成,卷积层通过滑动窗口的形式得到下一层特征,卷积对输入图像的尺寸并没有要求,只是不同尺寸的输入会产生不同尺寸的特征。但是全连接层要求输入特征的尺寸是固定的,这导致了图像特征尺寸的固定,从而固定了输入图像的尺寸。空间金字塔池化(SPP)是介于特征层(卷积层的最后一层)和全连接层之间的一种池化结构,通过提取N组固定大小的特征再将它们池化到一起,便可以得到固定尺寸的全连接的输入,因此满足不同尺寸的图像都可以输入模型。SPP的思想无论是对于图像分类还是目标检测都是有用的。从生物学的角度来讲,SPP也更符合人类的视觉特征,因为当我们看一个物体时,它的尺寸并不明显影响我们对它的位置判断,而是在更深的视觉系统中进行物体信息处理。
R-CNN的另一个问题是它非常耗时,因为其在使用选择性搜索提取候选区域后,会对每幅图像的几千个候选区域重复地进行卷积操作。SPP-Net只需要在整幅图像上进行一次卷积操作,然后使用SPP-Net的金字塔池化的思想在特征图上提取特征,这一操作将运行速度提升了上百倍。SPP-Net的这一工作在ILSVRC 2014上也取得了非常优秀的成绩(检测任务第二名,分类任务第三名)。