【目标检测】SPP-Net算法

论文翻译:

https://www.cnblogs.com/wj-1314/p/13214500.html

技术面:
SPP-Net相比R-CNN做了哪些改进?
答:R-CNN网络结构中有全连接层,那就造成CNN网络输入时尺寸必须保持一致,但是R-CNN中region proposal的尺寸是不一致的,因此SPP-Net中提出SPP层(金字塔池化层)来解决这个问题;R-CNN的速度很慢,是由于需要对一张图片约2000个region proposal进行正向传播,耗费大量的计算时间,SPP-Net中提出只使用一次正向传播来解决重复计算的问题。

1. SPP-Net对R-CNN改进

SPP-Net主要改进了以下两个方面:

  1. 速度问题
  2. 尺度问题

算法总览:
在这里插入图片描述

在这里插入图片描述

速度问题:
R-CNN速度慢的原因是有很多region proposals都要经过CNN网络计算特征,这样太耗时间了,并且特征文件的储存也是大问题,于是作者就思考可不可以共享这些特征呢,会不会对精度有影响呢?所以在特征提取阶段,SPP-Net直接对一整张图片进行特征提取,得到feature map,然后在feature map中找到region proposals的区域,并通过空间金字塔池化提取固定的特征向量。这样子速度就会大大提升,并且特征文件的储存空间大大减少。

尺度问题:
由于CNN网络中存在有全连接层,所以在进入全连接之前要么进行裁剪或者缩放到固定的尺寸,这是由于既定的全连接层的结构导致的。但这样的话,就可能丢失一些信息。所以作者在进入全连接层(fc)之前,加入了一个空间金字塔的结构,如下图:

在这里插入图片描述
可以看到,不同尺寸的region proposal经过前面的卷积层后生成的feature map的大小也不相同,假设大小为W * H * C,而在SPP结构中,我们以不同大小的块来提取特征,分别是4 * 4, 2 * 2, 1 * 1 , 然后把这三个网格对应到feature map中,那么这样的话就可以得到16+4+1=21种不同的spatial bin,其中每一块都提取一个特征,这样就可以得到固定的21 * C的特征向量,而与feature map的尺寸无关了,这就使得了我们可以从多尺度的图像中提取固定的特征向量。【可以选择最大池化,平均池化】

输入进R-CNN卷积层的图像必须固定大小,因此要进过crop/warp,这会使原图片变形。而SPPNet直接将原图片输入CNN中,获其特征,使得原图片内容得以保真。

R-CNNSPPNet
1、R-CNN是让每个候选区域经过crop/wrap等操作变换成固定大小的图像 2、固定大小的图像塞给CNN 传给后面的层做训练回归分类操作1、SPPNet把全图塞给CNN得到全图的feature map 2、让候选区域与feature map直接映射,得到候选区域的映射特征向量 3、映射过来的特征向量大小不固定,这些特征向量塞给SPP层(空间金字塔变换层),SPP层接收任何大小的输入,输出固定大小的特征向量,再塞给FC层

映射:

原始图片经过CNN变成了feature map,原始图片通过选择性搜索(SS)得到了候选区域,现在需要将基于原始图片的候选区域映射到feature map中的特征向量。

映射过程图参考如下:
在这里插入图片描述
在这里插入图片描述

2. SPP-Net总结

来看下SPP-Net的完整结构:
在这里插入图片描述
优点

  • 引入了空间金字塔,适应各种不同尺寸的特征图,实现了任意尺寸输入,固定大小输出
  • 对整张图进行一次特征提取,加速运算速度,提出了权重共享的策略

缺点

  • 分类器还是SVM,不能端到端训练
  • 还是分阶段训练,训练步骤复杂

注:
检测流程
(1)输入一幅待检测图像;
(2)提取候选区域:利用Selective Search算法在输入图像中提取出约2000个最有可能包含目标实例的候选框;
(3)候选区域尺度缩放:候选区域长宽中的较短边长度进行统一,即min(w, h)=s, s∈{480, 576, 688, 864, 1200},s取值标准是使得统一后的候选区域尺寸与224*224最接近;
(4)特征提取:利用SPP-net网络结构提取特征;
(5)分类与回归:根据所提特征,利用SVM进行分类,用边框回归器微调候选框的位置。
【R-CNN的其它问题,如训练步骤繁琐、磁盘空间开销大等然有待解决】

参考:
https://www.cnblogs.com/kongweisi/p/10899771.html

知乎上写的不错的两篇博文:
https://zhuanlan.zhihu.com/p/24774302

https://zhuanlan.zhihu.com/p/52272519

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器不学习我学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值