SPP Net(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition)论文理解...
论文地址:https://arxiv.org/pdf/1406.4729.pdf
论文翻译请移步:http://www.dengfanxin.cn/?p=403
一、背景:
传统的CNN要求输入图像尺寸是固定的(因为全连接网络要求输入大小是固定的)
- crop处理,可能不包含整个物体,还会丢失上下文信息
- warping处理,会导致图像变形
- 以上都会导致CNN对不同scale/size泛化能力不强
优点
- 不管输入尺寸为多少,SPP都能生成固定尺寸的输出,这使得CNN无需固定输入图片尺寸
- CNN使用多尺度图片输入进行训练,增加了scale-invariance,减少了过拟合
- SPP运用了多尺度的信息,空间信息更加丰富,使得CNN对物体的形变更加robust
- SPP可以广泛运用在任何CNN架构上,提高performance
二、SPP对R-CNN的改进:
1、使用了SPP灵活改变网络输入尺寸
2、将整张图片一次性输入CNN提取特征,将提取出的region proposal的坐标映射到feature map上,共享了计算
改进细节:
1、SPP
- 将feature map(假设有K个channel)划分为固定数量的bin(见上图的网格,假设bin的数目为),在每个bin里使用Max Pooling(或者AvgPooling)
- 最终每个金字塔得到-dimension的特征向量,然后拼接起来
- 值得注意的是,最粗粒度的金字塔级别,只是用了一个bin,这等同于Global Average Pooling
2、Mapping a Window to Feature Maps
更多映射推理细节详见:https://blog.csdn.net/ibunny/article/details/79397399
3、训练方式
三、SPP-Net网络结构:
左边是训练流程,右边是测试流程,注意SPP-Net是直接用SPP池化层的输出特征作Bounding Box的回归,不像R-CNN是用Conv5的特征。
测试过程:
输入任意尺寸大小的图像,类似R-CNN,利用SS得到近2K推荐区域
通过卷积网络进行一次特征提取,得到特征图
通过ROI映射计算得到推荐区域映射到特征图的特征
输入SPP得到固定尺寸的特征
然后类似R-CNN,通过全连接层,再输入SVM得到分类概率
NMS处理
对处理后的结果,结合SPP输出特征进行边框回归
训练过程:
1、依旧是预训练好的网络,以及2K推荐区域,得到每个区域的SPP pooling层的一维特征
2、fine-tune(最大不同)
- 只fine-tune全连接网络
- FC6,FC7,FC8
- FC8被换成了21-way(20个类+背景)
- 初始化为Guassian(0, 0.01)
- learning rate从1e-4到1e-5
- 250K个batch使用1e-4
- 50k个batch使用1e-5
- 正负例平衡
- 每个batch中25%是正例,75%为负例
- IOU threshold
- 正例为0.5-1
- 负例为0.1-0.5
3、SVM
- IOU threshold为0.3
- 负例互相之间IOU超过70%则去除一个
- 使用了hard negtive mining的策略来训练SVM
4、Bbox Regression
- 使用了和R-CNN里一样的边框回归来refine坐标
- IOU阈值为0.5
四、SPP-Net缺点
SPP-Net只解决了R-CNN卷积层计算共享的问题,但是依然存在着其他问题:
(1) 训练分为多个阶段,步骤繁琐: fine-tune+训练SVM+训练Bounding Box
(2) SPP-Net在fine-tune网络的时候固定了卷积层,只对全连接层进行微调,而对于一个新的任务,有必要对卷积层也进行fine-tune。(分类的模型提取的特征更注重高层语义,而目标检测任务除了语义信息还需要目标的位置信息)
参考资料:
https://blog.csdn.net/bryant_meng/article/details/78615353
https://www.jianshu.com/p/b2fa1df5e982
https://blog.csdn.net/ibunny/article/details/79397399
转载于:https://www.cnblogs.com/CJT-blog/p/10417169.html
SPP Net(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition)论文理解...相关推荐
- 目标检测--Spatial pyramid pooling in deep convolutional networks for visual recognition(PAMI, 2015)
Spatial pyramid pooling in deep convolutional networks for visual recognition 作者: Kaiming He, Xiangy ...
- Paper8:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 还未读
- [SPP-NET]Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
基于空间金字塔池化的卷积神经网络物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187655 作者:hjimce 一.相关理论 本篇博文 ...
- SPP(Spatial Pyramid Pooling)解读
1.为什么会出现SPP结构,其作用是什么? 通过Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognitio ...
- 【Paper】CNN-LSTM:Long-term Recurrent Convolutional Networks for Visual Recognition and Description
论文期刊:CVPR 2015 (oral) 论文被引:3673 (04/24/20) 论文原文:点击此处 该论文是 CNN-LSTM 的开山鼻祖,主要用于生成图像描述.初稿发布于2014年,拿到了 C ...
- 《Long-term Recurrent Convolutional Networks for Visual Recognition and Description》论文翻译
<Long-term Recurrent Convolutional Networks for Visual Recognition and Description>论文翻译 原文链接: ...
- SPP(Spatial Pyramid Pooling)
Spatial Pyramid Pooling(空间金字塔池化) 在一般的CNN结构中,在卷积层后面通常连接着全连接.而全连接层的特征数是固定的,所以在网络输入的时候,会固定输入的大小(fixed-s ...
- long term recurrent convolutional networks for visual recognition and description
这篇属于很早就探索cnn+rnn解决high-level computer vision task的文章 Abstract 基于深度卷积网络的模型已经在最近的图像解释任务中成为主流,在这里我们研究了是 ...
- Long-term Recurrent Convolutional Networks for Visual Recognition and Description
视觉识别和描述的长期递归卷积网络 摘要:基于深度卷积网络的模型主导了最近的图像解释任务.我们调查了也经常使用的模型是否对涉及序列,视觉和其他方面的任务有效.我们描述了一类递归卷积体系结构,它是端到端可 ...
- SPP: Spatial Pyramid Pooling
paper: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition code: https: ...
最新文章
- c#属性中的get和set属性
- leetcode--移除元素--python
- 访问“ for”循环中的索引?
- 捉虫记---查看变量,整数转浮点
- HashMap为什么是线程不安全的?
- 01-How to setup SDK and compile TAs
- 计算机二级和省考撞车了,事考、省考撞车?7月25日笔试,该怎么选?
- Android 源代码自动编译packages/apps
- Nginx配置之基于域名的虚拟主机
- jboss使用_使用JBoss Cool Store的终极云零售指南
- 微信小程序中实现瀑布流布局和无限加载
- Netty自定义数据包
- 农行笔试题之多少年后两国人均GDP相等
- JAVA互联网架构师VIP项目实战(完整)
- 「JCVI教程」使用JCVI进行基因组共线性分析(上)
- 如何按照滑环的原理来自制简易导电滑环
- IDEA和WebStorm破解教程--激活n年(随时更新)
- 1.CSS3 教程-> 多列布局 > image模块 > cssTransition 过渡 > CSS Animations 动画 > Transform二维
- 参考C++高级进阶教程
- .co域名后缀怎么样?