SPPnet
lastmod 2018-08-17created 2016-03-1012 edits
Makes an image of any input size come out as a fixed-size vector output. Previously, in cases like AlexNet, only 227x227 images could be used as input. (This is from about two years ago.) The reason is that in a CNN, convolution does not depend on the input size, but the Fully Connected (FC) layer requires a fixed input size. Convolution is just the idea of computing convolutions with filters, while FC is the idea of transforming a fixed input size into a fixed output size.
- For the fixed-size FC, it lets images of different sizes pass a uniform size to the FC through a Spatial Pyramid Pooling (SPP) Layer.
Category
Conventional CNN vs SPPnet structure
Conventional_CNN_vs_SPPnet_structure.png
Spatial Pyramid Pooling
Compared with CNN, it has a few notable properties.
- SPP can generate a fixed-length output regardless of the input size. However, the sliding window pooling (Sliding Window Pooling) used in previous deep networks cannot.
- SPP uses multi-level spatial storage, whereas sliding window pooling (Sliding Window Pooling) uses only a single window size.
A_network_structure_with_a_spatial_pyramid.png
- The output of spatial pyramid pooling is a kM-dimensional vector, with the number of bins denoted M.
- k is the number of filters in the last convolutional layer.
Documentation
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition (v4)
- https://github.com/ShaoqingRen/SPP_net
-
1406.4729v4.pdf
See also
- R-CNN (Paper: R-CNN:Paper)
- Fast R-CNN (Paper: Fast R-CNN:Paper)
- Faster R-CNN (Paper: Faster-RCNN:Paper)
- Objectness
- Caffe
- Edge Boxes
Favorite site
- [Recommended] funMV: SPP net (ko) 1
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Presenter ByungIn Yoo CS688/WST665 2