这篇论文是Kaiming He等发表在ECCV2014上面的Spatial pyramid pooling in deep convolutional networks for visual recognition。 
本篇论文的代码也是开源的,还有一个很棒的slides。

Introduction

传统CNN中,直接对图像剪切和变形来达到需要的尺寸。虽然卷积的过程不要求固定尺寸,但全连接层需要固定尺寸,因为从卷积层到全连接层间的参数维数必须是固定的。这样或多或少会影响分类与检测的效果,于是本文就针对这一事实,提出一种解决方案:在卷积层和全连接层之间加一层SPP层,即spatial pyramid pooling,用于池化特征,生成固定长度的输出,送入全连接层。 
这样的明显优点是速度非常快,准确率有提高(依然用了selective search来提取区域建议,因此整体检测速度并不是很快)。

SPP

流行的7层CNN由5个卷积层(有些带pooling层)、2个全连接层、1个softmax层组成。SPP是在卷积层后,用空间盒将卷积特征池化到一起,这张图中的256是conv5的滤波器数量,每个格子都是256维的。下面是详细的说明:

单一尺度的训练

在训练中,conv5有axa的输出,金字塔有nxn个盒(bins)。 
窗口  
步长  
金字塔有l 级,输入到fc6的是这l 级输出连接起来。 
eg. conv5是13x13的,有pool3x3、pool2x2、pool1x1这样3种size的盒,共有256个13x13的滤波器。 

多个尺度的训练

假设有224x224和180x180两种尺度的输入图像(其中180x180是由224x224缩放所得)。conv5的特征分别为224x224->13x13,180x180->10x10。 
相应的win和str都不同,但bin的数量是相同的都是(9+4+1)x256,后面连着全连接层。

detection

先在每张图上生成候选窗口,缩放图像,提取conv5特征,对每个候选窗口对应到conv5的特征用4层空间金字塔进行池化,生成12800-d(256x(1x1+2x2+3x3+6x6))特征表示,输入全连接层,再用这些特征对每个种类训练线性SVM分类器。即特征是从整张图上计算的,而池化是在候选窗口上执行的,可由下图看出SPP与RCNN的不同: 

一种多尺度特征提取的改进方法

简而言之,这种方法是将图片缩放到多个尺度(eg.{480, 576, 688, 864, 1200}),得到6组特征映射(还有一组是原本的尺度),对于每个候选窗口,选择让它最接近224x224的尺度对应的特征映射来进行提取。

results

\ SPP-net(1-scale) SPP-net(5-scale) R-CNN
mAP 58.0 59.2 58.5
GPU time/img 0.14s 0.38s 9s
speed-up 64x 24x -

读DL论文心得之SPP相关推荐

  1. 沈向洋、华刚:读科研论文的三个层次、四个阶段与十个问题

    来源:微软学术合作 本文约6000字,建议阅读8分钟. 阅读文章不仅是大家在科研道路上进步的必由之路,也能使我们的心智不断成长,认知模型和思维方式不断完善. 沈向洋博士:如何以正确方式打开一篇科研论文 ...

  2. 【转】沈向洋、华刚:读科研论文的三个层次、四个阶段与十个问题

    转自知乎,微软亚洲研究院,文章<沈向洋.华刚:读科研论文的三个层次.四个阶段与十个问题> 作者:微软亚洲研究院 链接:https://zhuanlan.zhihu.com/p/163227 ...

  3. 【转】如何读学术论文

    参考: 经验分享 | 高效读论文的"三遍法" [How to read a paper]如何读论文 怎样阅读论文(台湾彭明辉) 文章目录 1. 速读后的问题记录 1.1 5C 1. ...

  4. 《Densely Connected Convolutional Networks》论文心得

    <Densely Connected Convolutional Networks>论文心得 作者及其所在团队在国内外相关领域所处水平: 黄高:美国康奈尔大学计算机系博士后主要研究领域为深 ...

  5. 【读点论文】Transformer in Transformer 细化图片结构,递归使用transformer。让图片去拟合自然语言处理的操作。

    Transformer in Transformer Abstract Transformer是一种新的神经架构,它通过注意机制将输入数据编码为强大的特征.基本上,视觉transformer首先将输入 ...

  6. 读科研论文的三个层次、四个阶段与十个问题

    沈向洋博士:如何以正确方式打开一篇科研论文? 好的研究员要有的特质: open-minded和批判性思考 努力工作 要不断更新知识面,阅读很多东西并交流分享 将科学查询和假设表现出来 读文章的几个阶段 ...

  7. 一分钟读懂论文:《关于临时裁员的七个事实》

    2023年,或许是每个互联网人都最不愿有的经历:裁员. 斯德哥尔摩大学国际经济研究所 (IIES).奥地利经济研究所(WIFO).维也纳经济与商业大学.劳工研究所(IZA).CESifo(经济研究中心 ...

  8. AI大神李沐B站走红!连博导们都在追更,还亲自带你逐段读懂论文,网友:带B站研究生吧...

    明敏 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 什么样的B站Up主,让AI专业的导师们纷纷推荐给学生看,甚至导师自己也追更? 又是什么样的Up主,让网友直呼"简直是做慈善& ...

  9. 近期大热的AutoML领域,都有哪些值得读的论文?

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

最新文章

  1. PHP函数stream_context_create()模拟POST/GET
  2. 数据结构 — B+ 树
  3. QT学习 之 计算器的实现
  4. Python Selenium 常用方法总结
  5. 网站移动版本开发踩坑实录二
  6. 什么是大端序和小端序,为什么要有字节序
  7. XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)
  8. 天下的母亲都是一样的
  9. 高等数学复习笔记(六)- 一元函数积分学的应用
  10. NET FRAME WORK 3.5下载地址
  11. SDIO接口(3)——SDIO总线接口
  12. <!DOCTYPE>解读
  13. java练手代码大全手机版_Java版打字练习游戏源码
  14. D - RGB Triplets(前缀和+思维)
  15. STM32——用固件库实现流水灯(源码+仿真图)
  16. kotlin data class 遇到的坑
  17. 深度学习之openvino预训练模型测试(车牌识别)
  18. [转载]华为老员工看华为(一):不断改进的海外市场
  19. mysql中的四种注释
  20. 十年前的AlexNet,今天的NeurIPS 2022时间检验奖

热门文章

  1. 饿了么高稳定、高性能、高可用、高容错API架构实践!
  2. 百度咋做长文本去重(一分钟系列)--转
  3. Java NIO——Selector机制源码分析---转
  4. Linux服务器集群系统(四)--转
  5. 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
  6. 数学建模学习笔记——蒙特卡洛模拟
  7. 深度丨110亿美金还不够,阿里使用这种AI手段创造更多广告收入
  8. 简单有趣的 NLP 教程:手把手教你用 PyTorch 辨别自然语言(附代码)
  9. 布道微服务_05RPC远程服务调用的实现
  10. 高并发编程-线程生产者消费者的综合示例