Skip to content
Search

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

Favorite site

References


  1. FunMV_SPPnet.pdf ↩

  2. Spatial_Pyramid_Pooling_in_Deep_Convolutional_Networks_for_Visual_Recognition_Presenter_ByungIn_Yoo.zip ↩