same ﬁxed length as the 224-network. As such, this
180-network has exactly the same parameters as the
224-network in each layer. In other words, during
training we implement the varying-input-size SPP-net
by two ﬁxed-size networks that share parameters.
To reduce the overhead to switch from one network
(e.g., 224) to the other ( e.g., 180), we train each full
epoch on one network, and then switch to the other
one (keeping all weights) for the next full epoch. This
is iterated. In experiments, we ﬁnd the convergence
rate of this multi-size training to be similar to the
above single-size training.
The main purpose of our multi-size training is to
simulate the varying input sizes while still leveraging
the existing well-optimized ﬁxed-size implementations. Besides the above two-scale implementation, we
have also tested a variant using ssas input where
sis randomly and uniformly sampled from [180;224]
at each epoch. We report the results of both variants
in the experiment section.
Note that the above single/multi-size solutions are
for training only. At the testing stage, it is straightforward to apply SPP-net on images of any sizes.
5
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