目标检测(2)SPP-Net

申明:本系列目标检测大部分内容转自以下链接,博主做了稍微修改,若侵犯权利,请联系删除,谢谢!

1)cs231n学习笔记-CNN-目标检测、定位、分割

2)基于深度学习的目标检测研究进展

----------------------------------------------------------------------------------------------------------

1)SPP-NET:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

2)Motivation:解决R-CNN速度慢的问题。

3)R-CNN速度慢的原因

使用R-CNN框架对图像提完region proposal(2000个左右)之后将每个proposal当成一张图像进行后续处理(CNN提特征+SVM分类),实际上对一张图像进行了2000次提特征和分类的过程!

4)解决思路

 由于2000个region proposal都是图像的一部分,那么我们完全可以对图像提一次卷积层特征,然后只需要将region proposal在原图的位置映射到卷积层特征图上,这样对于一张图像我们只需要提一次卷积层特征,然后将每个region proposal的卷积层特征输入到全连接层做后续操作。(对于CNN来说,大部分运算都耗在卷积操作上,这样做可以节省大量时间)

5)存在的问题

每个region proposal的尺度不一样,无法直接输入全连接层,因为全连接层输入必须是固定的长度。

6)传统CNN的做法

由于传统的CNN限制了输入必须固定大小,如Alexnet是224×224,所以通常对原图进行一下两种操作:

    a)crop:截取原图的一个固定大小的patch—————————缺点:物体可能产生截断,尤其是长宽比大的图片;

    b)warp:将原图片的ROI缩放到一个固定大小的patch————缺点:物体被拉伸,失去“原形”,尤其是长宽比大的图片;

它们都无法保证在不失真的情况下将图片传入到CNN中。



     图 2 基于不同的CNN的目标检测流程


7)SPP的解决思路

CNN的卷积层可以处理任意尺度的输入,只是在全连接层处有限制尺度,所以只需找到一种方法,在全连接层之前将其输入限制到等长。————效果:不管输入的图片是什么尺度,都能够正确的传入网络。

8)SPP的具体方案

a)如果输入的原图大小为224×224,经过conv5输出后大小变为13×13×256,即有256个filter,每个filter对应13×13的激活map;

b)如下图,对256个激活map使用pooling(空间金字塔pooling)操作,使它们分别成为4×4,2×2和1×1的三张子图;

c)对b)中出来的特征做max pooling 后,得到的特征是固定长度的,即(16+4+1)×256维度的;该维度不受输入尺寸的影响;


                            图 3 基于SPP的目标检测流程

9)SPP的缺陷

a)训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练训练边框回归器

b)SPP在微调网络的时候固定了卷积层,只对全连接层进行微调,而对于一个新的任务,有必要对卷积层也进行微调

【分类的模型提取的特征更注重高层语义,而目标检测任务除了语义信息还需要目标的位置信息】

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值