we implement lsuch layers. The next fully-connected
layer (fc 6) will concatenate the loutputs. Figure 4
shows an example conﬁguration of 3-level pyramid
pooling (33, 22, 11) in the cuda-convnet style [3].
The main purpose of our single-size training is to
enable the multi-level pooling behavior. Experiments
show that this is one reason for the gain of accuracy.
Multi-size training
Our network with SPP is expected to be applied on
images of any sizes. To address the issue of varying
[fc6]
type=fcoutputs=4096inputs=pool3x3,pool2x2,pool1x1[pool1x1]
type=poolpool=maxinputs=conv5sizeX=13stride=13[pool3x3]
type=poolpool=maxinputs=conv5sizeX=5stride=4[pool2x2]
type=poolpool=maxinputs=conv5sizeX=7stride=6Figure 4: An example 3-level pyramid pooling in the
cuda-convnet style [3]. Here sizeX is the size of the
pooling window. This conﬁguration is for a network
Existing deep convolutional neural networks (CNNs) require a fixed-size
(e.g., 224x224) input image. This requirement is "artificial" and may reduce
the recognition accuracy for the images or sub-images of an arbitrary
size/scale. In this work, we equip the networks with another pooling strategy,
"spatial pyramid pooling", to eliminate the above requirement. The new network
structure, called SPP-net, can generate a fixed-length representation
regardless of image size/scale. Pyramid pooling is also robust to object
deformations. With these advantages, SPP-net should in general improve all
CNN-based image classification methods. On the ImageNet 2012 dataset, we
demonstrate that SPP-net boosts the accuracy of a variety of CNN architectures
despite their different designs. On the Pascal VOC 2007 and Caltech101
datasets, SPP-net achieves state-of-the-art classification results using a
single full-image representation and no fine-tuning.
  The power of SPP-net is also significant in object detection. Using SPP-net,
we compute the feature maps from the entire image only once, and then pool
features in arbitrary regions (sub-images) to generate fixed-length
representations for training the detectors. This method avoids repeatedly
computing the convolutional features. In processing test images, our method is
24-102x faster than the R-CNN method, while achieving better or comparable
accuracy on Pascal VOC 2007.
  In ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2014, our
methods rank #2 in object detection and #3 in image classification among all 38
teams. This manuscript also introduces the improvement made for this
competition.
Kaiming He Xiangyu Zhang Shaoqing Ren Jian Sun