基于深度学习的目标检测技术演进:
R-CNN -> SPP-Net -> Fast-RCNN -> Faster-RCNN -> R-FCN
SPP-Net
SPP:Spatial Pyramid Pooling(空间金字塔池化)
1. SPP-Net改进点
它有两个改进点:
1.结合空间金字塔方法实现CNNs的对尺度输入。
一般CNN后接全连接层或者分类器,他们都需要固定的输入尺寸,因此不得不对输入数据进行crop或者warp,这些预处理会造成数据的丢失或几何的失真。SPP-Net的第一个贡献就是将金字塔思想加入到CNN,实现了数据的多尺度输入。
SPP-Net在最后一个卷积层后,全连接层前添加空间金字塔池化层(SPP layer),提取固定尺寸的特征向量,避免对候选区域大小进行归一化的复杂操作(对应R-CNN的缺点3)。
如下图所示,在卷积层和全连接层之间加入了SPP layer。此时网络的输入可以是任意尺度的,在SPP layer中每一个pooling的filter会根据输入调整大小,而SPP的输出尺度始终是固定的。
image2.只对原图提取一次卷积特征
在R-CNN中,每个候选框先resize到统一大小,然后分别作为CNN的输入,这样是很低效的。
针对R-CNN对所有候选区域分别提取特征的缺点,SPP-Net一次性对整张图片做卷积操作提取特征。
SPP-Net只对原图进行一次卷积得到整张图的feature map,然后找到每个候选框在feature map上的映射patch,将此patch作为每个候选框的卷积特征输入到SPP layer和之后的层。
该操作使得特征提取从R-CNN的近2000次变为提取1次整张图片特征,大大减少了工作量,节省了大量的计算时间,比R-CNN有一百倍左右的提速。
2. 结构
image.png3. 优缺点
优点:
以上两点改进使得SPP-Net的检测速度比R-CNN快38-102倍,并解决了候选区域归一化问题。
缺点:
1.SPP-Net虽更换了卷积网络,但准确率相差无几。
- SPP-Net依然没有解决R-CNN存储空间消耗问题。
确定候选区域、特征提取、对象分类、定位修正这些步骤依然是分离的。
网友评论