OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks
概
通常的sliding windows需要大量的计算量: 首先我们需要框出一个区域, 再将该区域进行判断, 当区域(windows)的数量很多的时候, 这么做是非常耗时的.
但是本文作者发现, 通过卷积, 可以将所有的区域一次性计算, 使得大量重复计算能够节省下来. 个人觉得还是非常有意思的.
主要内容
如上图所示, 第一行展示了对一个普通图片进行判断的过程:
- input: \(14 \times 14 \times *\), 经过\(5 \times 5\)的卷积核(stride=1, padding=0), 得到:
- \(10 \times 10 \times *\)的mappings, 再经过\(2 \times 2\)的pooling (stride=2, padding=0), 得到:
- \(5 \times 5 \times *\)的mappings, 到此为特征提取阶段;
- 接下来, 是分类器部分, 实际上, 原本是全连接层部分, 我们首先以全连接层的角度过一遍, 令\(d_1=5 \times 5 \times *\):
- 通过\(W \in \mathbb{R}^{d_2 \times d_1}\) 将特征映射为\(d_2\)的向量;
- 再通过\(W' \in \mathbb{R}^{C \times d_2}\) 将特征映射为\(C\)的向量(C表示类别数目);
- 既然全连接层是特殊的卷积, 4相当于
- \(d_1\)个\(5 \times 5\)的卷积作用于特征, 5相当于
- \(d_2\)个\(1 \times 1\)的卷积, 6相当于
- \(C\)个\(1 \times 1\)的卷积.
再来看第二行, 其输入为\(16 \times 16\)大小的图片, 输出是\(2 \times 2 \times C\), 而且蓝色部分之间是相互对应的. 设想, 我们将\(16 \times 16\)的图片通过sliding windows (stride=2)可以划分出四幅图片, 而这四个图片经过网络所得到的logits正好是最后输出的\(2\times 2\)中所对应的位置, 这意味着我们一次性计算了所有的windows, 但是计算量却并没有太多增加.
那么, 相应的windows是怎么划分的呢?
倘若网络每一层的核的stride为\(s_1, s_2, \cdots, s_k\), 那么windows之间的stride应该为
\]
注: stride是固定的, 但是图片的大小不一定固定, 像ResNet, 由于全连接层前有一个average pooling的操作, 故我们可以传入大小不定的图片进去.
问: 但是有些卷积核还有padding的操作, 这个该如何理解呢?(小误差?)
OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks的更多相关文章
- 深度学习论文翻译解析(十一):OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks
论文标题:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 标题翻译: ...
- 对 OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 一文的理解
一点最重要的学习方法: 当你读一篇论文读不懂时,如果又读了两遍还是懵懵懂懂时怎么办???方法就是别自己死磕了,去百度一下,如果是很好的论文,大多数肯定已经有人读过并作为笔记了的,比如我现在就把我读过 ...
- 论文笔记:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks
2014 ICLR 纽约大学 LeCun团队 Pierre Sermanet, David Eigen, Xiang Zhang, Michael Mathieu, Rob Fergus, Yann ...
- 论文笔记:《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks DeepLearning 》
一.Abstract综述 训练出一个CNN可以同时实现分类,定位和检测..,三个任务共用同一个CNN网络,只是在pool5之后有所不同 二.分类 这里CNN的结构是对ALEXNET做了一些改进,具体的 ...
- VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 这篇论文
由Andrew Zisserman 教授主导的 VGG 的 ILSVRC 的大赛中的卷积神经网络取得了很好的成绩,这篇文章详细说明了网络相关事宜. 文章主要干了点什么事呢?它就是在在用卷积神经网络下, ...
- VGGNet论文翻译-Very Deep Convolutional Networks for Large-Scale Image Recognition
Very Deep Convolutional Networks for Large-Scale Image Recognition Karen Simonyan[‡] & Andrew Zi ...
- 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks
R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...
- Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)
摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...
- 【Semantic segmentation】Fully Convolutional Networks for Semantic Segmentation 论文解析
目录 0. 论文链接 1. 概述 2. Adapting classifiers for dense prediction 3. upsampling 3.1 Shift-and-stitch 3.2 ...
随机推荐
- Flume(三)【进阶】
[toc] 一.Flume 数据传输流程 重要组件: 1)Channel选择器(ChannelSelector) ChannelSelector的作用就是选出Event将要被发往哪个Channel ...
- css相关,position定位详解
CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position. display属性指定网页的布局.两个重要的布局,弹性布局flex和网格布局grid. 本文介绍非常有用的po ...
- docker安装jumpserver
注意MySQL的密码设置要有复杂度,否则jumpserver用不了 #先准备一台服务器安装MySQL和redis(注意官网版本要求) root@ubuntu:~# docker pull mysql: ...
- Enumeration遍历http请求参数的一个例子
Enumeration<String> paraNames=request.getParameterNames(); for(Enumeration e=paraNames;e.hasMo ...
- ActiveMQ(三)——理解和掌握JMS(1)
一.JMS基本概念 JMS是什么JMS Java Message Service,Java消息服务,是JavaEE中的一个技术. JMS规范JMS定义了Java中访问消息中间件的接囗,并没有给予实现, ...
- ssm+ajax实现登陆
ssm的搭建见上一章 1.数据协议层 public User selectByLoginnameAndPassword(@Param("loginname")String logi ...
- 使用wesocket从 rabbitMQ获取实时数据
rabbitmq支持stomp组件,通过stomp组件和websocket可以从rabbitMQ获取实时数据.这里分享一个demo: 使用时需要引入的js ,用到了sock.js和stomp.js & ...
- 混沌映射初始化种群之Logistic映射
Logstic混沌映射初始化种群 Step 1: 随机生成一个\(d\)维向量\({X_0}\),向量的每个分量在0-1之间. Step 2: 利用Logistic映射生成N个向量.L ...
- 一文详解TDSQL PG版Oracle兼容性实践
TDSQL PG版分布式关系型数据库,是一款同时面向在线事务交易和MPP实时数据分析的高性能HTAP数据库系统.面对应用业务产生的不定性数据爆炸需求,不管是高并发交易还是海量实时数据分析,TDSQL ...
- Django查询结果以时间正序或者倒序排列
正序 time1 = details.objects.all().order_by('time') 倒序 time2 = details.objects.all().order_by('-time')