SPP-Net:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
2016-07-09 22:34
537 查看
摘要
已知的CNN网络需要固定的输入图像大小,本文提出SPP-Net (Spatial Pyramid Pooling)消除了上述需要。SPP-Net能够生成固定长度的表达,不依赖于输入图像的尺寸和方向率。
使用SPP-Net只需要对整个图像计算一次特征图。避免了(R-CNN)重复计算。
在测试的时候,运算速度是R-CNN的24~64倍。
CNN v.s. SPP net
当应用CNN到任意尺寸的图像的时候,通常对图像作crop或者warp,但是crop不能保证包含整个图像,warp会改变图像的外观。识别精度会受到影响。而且,通常的CNN方法需要固定的输入尺寸,这个尺寸对某些目标也不适合。
事实上,卷积层不需要固定尺度,只有全连接层需要固定的尺寸。
SPP net方法在卷积层之后 增加了一个SPP,不再需要固定的输入尺寸。
Deep Networks with Spatial Pyramid Pooling
1. The Spatial Pyramid Pooling Layer
卷积层接受任意尺寸的图像,因此输出的尺寸是变化的。但是,全连接层只接受固定尺寸的输入。为了解决这个问题,引入了Spatial Pyramid Pooling。
Spatial Pyramid Pooling在局部空间作pooling,保留了空间信息。具体一点,局部的空间被划分为固定的bin,在每个bin里面提取固定维的特征,从而保证 Spatial Pyramid Pooling对每个局部片都产生同样维度的特征。
在上面的图中,conv5之后的pooling层 被SPP层代替。每个空间bin,作者取最大值作为响应值。
2.Training the Network
2.1 单尺度训练
与前人的工作一样,作者首先考虑一个网络有固定尺寸的输入。对于一个已知尺寸的图像,可以提前计算bin size。
2.2 多尺度训练
SPPnet 期望应用到任何尺度的图像。因此作者采用了2个尺度(180*180,240*240)训练。(请参考原文)
但是检测的时候,直接应用SPP net 到任何尺寸的图像。
SPP net for Object Detection
a) 首先,使用selective search 得到2000个候选区域。
b) 然后将图像s = min(w,h), 计算conv5的特征图。
c) 在每个候选区域内,提取4级Spatial Pyramid,总共50个bin。256 feature map * 50 = 12800维。
d) 12800维特征送给全连接层。
其他部分与R-CNN基本一致,请参考原文和R-CNN
end
已知的CNN网络需要固定的输入图像大小,本文提出SPP-Net (Spatial Pyramid Pooling)消除了上述需要。SPP-Net能够生成固定长度的表达,不依赖于输入图像的尺寸和方向率。
使用SPP-Net只需要对整个图像计算一次特征图。避免了(R-CNN)重复计算。
在测试的时候,运算速度是R-CNN的24~64倍。
CNN v.s. SPP net
当应用CNN到任意尺寸的图像的时候,通常对图像作crop或者warp,但是crop不能保证包含整个图像,warp会改变图像的外观。识别精度会受到影响。而且,通常的CNN方法需要固定的输入尺寸,这个尺寸对某些目标也不适合。
事实上,卷积层不需要固定尺度,只有全连接层需要固定的尺寸。
SPP net方法在卷积层之后 增加了一个SPP,不再需要固定的输入尺寸。
Deep Networks with Spatial Pyramid Pooling
1. The Spatial Pyramid Pooling Layer
卷积层接受任意尺寸的图像,因此输出的尺寸是变化的。但是,全连接层只接受固定尺寸的输入。为了解决这个问题,引入了Spatial Pyramid Pooling。
Spatial Pyramid Pooling在局部空间作pooling,保留了空间信息。具体一点,局部的空间被划分为固定的bin,在每个bin里面提取固定维的特征,从而保证 Spatial Pyramid Pooling对每个局部片都产生同样维度的特征。
在上面的图中,conv5之后的pooling层 被SPP层代替。每个空间bin,作者取最大值作为响应值。
2.Training the Network
2.1 单尺度训练
与前人的工作一样,作者首先考虑一个网络有固定尺寸的输入。对于一个已知尺寸的图像,可以提前计算bin size。
2.2 多尺度训练
SPPnet 期望应用到任何尺度的图像。因此作者采用了2个尺度(180*180,240*240)训练。(请参考原文)
但是检测的时候,直接应用SPP net 到任何尺寸的图像。
SPP net for Object Detection
a) 首先,使用selective search 得到2000个候选区域。
b) 然后将图像s = min(w,h), 计算conv5的特征图。
c) 在每个候选区域内,提取4级Spatial Pyramid,总共50个bin。256 feature map * 50 = 12800维。
d) 12800维特征送给全连接层。
其他部分与R-CNN基本一致,请参考原文和R-CNN
end
相关文章推荐
- CUDA搭建
- 稀疏自动编码器 (Sparse Autoencoder)
- 白化(Whitening):PCA vs. ZCA
- softmax回归
- 卷积神经网络初探
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- TensorFlow人工智能入门教程之十一 最强网络DLSTM 双向长短期记忆网络(阿里小AI实现)
- TensorFlow人工智能入门教程之十四 自动编码机AutoEncoder 网络
- TensorFlow人工智能引擎入门教程所有目录
- 如何用70行代码实现深度神经网络算法
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 安装caffe过程记录
- DIGITS的安装与使用记录
- 图像识别和图像搜索
- 卷积神经网络
- 深度学习札记
- ubuntu14.04安装 资料
- ImageNet classification with deep convolutional neural network
- 智慧石文章分享