[25], our system takes 0.5 seconds processing an image
(including all steps ). This makes our method practical
for real-world applications.
A preliminary version of this manuscript has been
published in ECCV 2014. Based on this work, we
attended the competition of ILSVRC 2014 [26], and
ranked #2 in object detection and #3 in image classiﬁcation (both are provided-data-only tracks) among
all 38 teams. There are a few modiﬁcations made
for ILSVRC 2014. We show that the SPP-nets can
boost various networks that are deeper and larger
(Sec. 3.1.2-3.1.4) over the no-SPP counterparts. Further, driven by our detection framework, we ﬁnd
that multi-view testing on feature maps with ﬂexibly
located/sized windows (Sec. 3.1.5) can increase the
classiﬁcation accuracy. This manuscript also provides
the details of these modiﬁcations.
We have released the code to facilitate future research ( http://research.microsoft.com/en-us/um/people/kahe/ ).
2 D EEP NETWORKS WITH SPATIAL PYRAMIDPOOLING
2.1 Convolutional Layers and Feature Maps
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