Good Practice in CNN Feature Transfer

04/01/2016 ∙ by Liang Zheng, et al. ∙ 0

The objective of this paper is the effective transfer of the Convolutional Neural Network (CNN) feature in image search and classification. Systematically, we study three facts in CNN transfer. 1) We demonstrate the advantage of using images with a properly large size as input to CNN instead of the conventionally resized one. 2) We benchmark the performance of different CNN layers improved by average/max pooling on the feature maps. Our observation suggests that the Conv5 feature yields very competitive accuracy under such pooling step. 3) We find that the simple combination of pooled features extracted across various CNN layers is effective in collecting evidences from both low and high level descriptors. Following these good practices, we are capable of improving the state of the art on a number of benchmarks to a large margin.



There are no comments yet.


page 1

page 2

page 3

page 4

page 5

page 6

page 7

page 8

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The Convolutional Neural Network (CNN) has been record-leading in a number of vision tasks, e.g., image recognition [16, 36, 37] and segmentation [20], object detection [11, 7], instance retrieval [35, 32, 1], etc. CNN transfer is a common practice in the vision community due to the expense in collecting sufficient amount of training data. A typical example consists in instance-level image search, in which it is infeasible to collect training data considering the wide variety in query content. Another example includes the fine-grained classification: experts are needed for class annotation, prohibiting the access to the large amount of training data. Considering these challenges, this paper is devoted to the effective usage of pre-trained CNN models in image search and classification.

Our study is motivated by three aspects. First, images used as input to CNN in most current works are resized to a fixed size, e.g., for AlexNet [16]. It ensures that the CNN output is a vector, where is the number of blobs in the fully connected layer. And yet, this process may suffer from information loss during image down-sampling. In previous works, Simonyan et al. [36] merge classification results from multi-scale image inputs on the ILSVRC’12 validation set [34]. In this work, we initialize a comprehensive study of this issue on a number of transfer datasets.

Second, features from the fully connected (FC) layers are mostly used for transfer [11, 7, 35, 32, 1]. These global features are trained towards assigning category labels to images and to some extent invariant to illumination, rotation, etc. The FC features, however, suffer from the lack of description of local patterns, which is especially critical when occlusion or truncation exists [32, 1]. With respect to the sensitivity to local stimulus, CNN features from bottom or intermediate layers have shown promises [11, 24]. These discriminatively trained convolutional kernels respond to specific visual patterns that evolve from bottom to top layers. While capturing local activations, the intermediate features are less invariant to image translations. The findings in this paper suggest that under proper pooling steps, the performance lower-level features undergoes impressive improvement.

Third, it is known that the top layers in CNN are sensitive to semantics, while intermediate layers are specific to low-level patterns, such as oriented bars. In transfer problems, it is not trivial to predict which layers are superior. For example, in fine grained classification, finer details in images are more important than high-level semantics; in generic classification, it may well be the case that top layers work better. Previous works [11, 18, 8] typically perform multi-scale analysis through image-level partitions. This paper instead inputs a single-scale image, obtains multi-layer CNN features through one feed-forward step, and fuses the features to further improve recognition accuracy.

Figure 1: Feature extraction scheme. An input image of arbitrary size is fed forward in the CNN network. Feature maps in layer consist of channels. Then, average or max pooling is employed to generate a -dim feature vector. We use for image classification and search either the pooled feature from a single layer or the concatenated pooled feature from all layers.

Starting from the above issue, this paper provides some good practices that are suggested during CNN feature transfer. We share in this paper three findings contributing to the improvement over state-of-the-arts on a serial of benchmarks.

  • Evidence accumulates that using images with larger sizes as input to CNN is a better choice and yields consistent improvement during CNN transfer.

  • We observe that average/max pooling of features from intermediate layers is effective in improving invariance to image translations. Specifically, the pooled Conv5 feature, with much lower dimensionality, is shown to yield competitive accuracy with the FC features.

  • We find it beneficial to fuse pooled features from multiple layers. Along the feature hierarchy, the receptive field increases, and features tend to capture more global cures. By fusing features with various receptive fields, information of multiple scales (local and global) is effectively combined.

Following the above-mentioned practices, we report results on 3 image search and 7 image classification benchmarks, and present significant improvement over the state-of-the-art methods. The pipeline of the feature extraction routine is illustrated in Fig. 1. Throughout this paper, unless specified, we use term “Conv” to refer to layer “Pool (Conv + max pooling)”, to avoid confusion with our pooling step.

The remainder of this paper is organized as follows. In Section 2, we will briefly review related literature. Section 3 provides detailed description of the proposed representation. Section 4 summarizes and presents the experimental results and conclusions are drawn in Section 5.

2 Related Works

We will provide a brief literature review from several closely related aspects, i.e., comparison of CNN features from different layers, combining features across multiple scales, and image search/classification using CNN.

Comparison of CNN features from different layers. In most cases, features from the fully connected (FC) layers are preferred, with sporadic reports on intermediate features. For the former, good examples include “Regions with Convolutional Neural Network Features” (R-CNN) [7], CNN baselines for recognition [32], Neural Codes [1], etc. The prevalent usage of FC features is mainly attributed to its strong generalization and semantics-descriptive ability. Regarding intermediate features, on the other hand, results of He et al. [11] on the Caltech-101 dataset [6] suggest that the Conv5 feature is superior if Spatial Pyramid Pooling (SPP) is used, and is inferior to FC6 if no pooling step is taken. Xu et al. [42] find that the VLAD [13] encoded Conv5 features produce higher accuracy on the MEDTest14 dataset in event detection. In [24], Ng et al. observe that better performance in image search appears with intermediate layers of GoogLeNet [37] and VGGNet [36] when VLAD encoding is used. This paper demonstrates the competitiveness of Conv5 with FC features using simple pooling techniques. In a contemporary work, Mousavian et al. [22] draw similar insights in image search. Our works is carried out independently and provides a comprehensive evaluation of intermediate features on both image search and classification.

Figure 2: Illustration of the advantage of Conv5 feature in image search. Four image pairs are shown. To the left of each pair is the query image, and to the right the relevant database image. The second row depicts the feature maps from a certain channel of the Conv5 feature of the corresponding images. For each relevant image, its ranks obtained by both the FC6 and Conv5 features (after average pooling) are shown. Clearly, the pooled Conv5 feature captures mid-level cues and improves search accuracy.

Combining features across multiple scales. The integration of multi-scale cues has been proven to bring decent improvements. A well-known example consists in Spatial Pyramid Matching (SPM) [18], which pools Bag-of-Words vectors from multiple image scales to form a long vector. In works associated with CNN, Gong et al [8] pool CNN features extracted from multi-scale image patches for image search and classification. Yoo et al [43] propose to encode dense activations of the FC layers with Fisher Vector [28] from multiple image scales for image classification. In image segmentation, Farabet et al [5] concatenate CNN features from the same CNN layer but from multiple scales of the image, so the features have similar invariance. The closest work to ours is the “Hypercolumn” [10], in which Hariharan et al

address object segmentation and pose estimation by resizing convolutional maps in each layer and concatenating them on each pixel position. This paper instead focuses on holistic image recognition by fusing pooled vectors from various layers in the CNN structure, and demonstrates consistent improvement on the benchmarks.

Image search/classification using CNN. In image search, CNN can be used as global [1, 41, 32], regional [8, 35], or local features [24]. Basically in image search, CNN features are required to be memory efficient, so encoding or hashing schemes are beneficial. Compared with traditional search framework [29] based on the SIFT descriptor [21] and the inverted index, CNN feature is more flexible and yields superior results [35]. One problem of CNN feature is the lack of invariance to rotation, occlusion, truncation. So its usage as local feature [24] or the inclusion of rotated patches [41] are good choices against these limitations. On the other hand, image classification has been greatly advanced by the introduction of CNN [16, 32]. CNN features are mainly used as global [16] or part [45] descriptors, and are shown to outperform classic hand-crafted ones in both transfer and non-transfer classification tasks. While baseline results with FC features have been reported on small- or medium-sized datasets [32], a detailed evaluation of different layers as well as their combination is still lacking. This paper aims at filling this gap by conducting comprehensive empirical studies.

3 Method

We will describe the pooling and fusion steps (see Fig. 1) in Section 3.1 and Section 3.2, respectively. The proposed image resizing protocol will be presented in Section 3.3.

3.1 Pooling

Given a pre-trained CNN network , there are convolutional layers, denoted as . Here, the fully connected layers are summarized as convolutional layers as well, because full connection is a special case of convolution [36]. Also, each convolutional layer may include a max pooling sub-layer. In AlexNet, there are 8 convolutional layers. In VGGNet, we use the 19-layer model, in which there are 8 major convolutional layers. We take the last sub-layer as a representative of the major layer. For example, among sub-layers and in layer 5, we use on behalf.

Given an image , we denote the feature maps of layer as . Assume that takes the size of , where and are the width and height of each channel, respectively, and denotes the number of channels (or convolutional kernels) of layer . Note that, for input images with different sizes, the size of the convolutional maps can be different. Then, we exert average or max pooling steps on the maps, i.e.,


where and are both dimensional, representing the output of average and max pooling, respectively. In VGGNet, for example, the result of average/max pooling on Conv5 is of dimension .

Discussion. By pooling intermediate convolutional maps, there are two main advantages. First, using the intermediate features, the local structures (instead of the global cues by FC features that are mostly used) are paid more attention to. This is because the convolutional filters are sensitive to specific visual patterns, ranging from low-level bars to mid-level parts. Second, by pooling, the resulting vectors have higher invariance to translation, occlusion, and truncation of the local stimulus, which greatly improves the effectiveness of the intermediate features. An additional advantage of pooling is the computational efficiency brought about by low-dimensional feature vectors (512-dim for VGGNet Conv5 feature).

Figure 2 illustrates some examples where conv5 feature (followed with average pooling) captures common local structures in relevant image pairs which are largely lost in the FC6 representation. For example, Fig. 2(c) and Fig. 2(d) each show two images containing a similar pattern at distinct positions. The convolutional maps (second row in Fig. 2

) that respond to such patterns are very different due to the intensive image variations. In this example, average pooling alleviates the influence of translation variance and improves the rank of the relevant image. In another example, when truncation (Fig.

2(a)) exists, the top-layer feature (FC6) is less effective because the high-level information is to some extent blocked. In this case, low-level features may be of great value by detecting common local patterns between the two images. Then, average pooling improves truncation invariance by capturing the local similarities.

3.2 Fusion

We combine features from different layers, i.e., from low to high levels, and from small to large receptive fields.

For image search

, simply concatenating the multi-level features probably does not work because it assumes the same weight for all features, which is clearly undesirable without a learning process. To make feature weight adaptive to the query, this paper adopts the state-of-the-art late fusion strategy proposed in

[48]. In a nutshell, this method adaptively assigns different weights to the scores of different features through offline reference collection and online reference selection steps. With this method, we dynamically fuse features across various CNN layers.

For image classification, simple feature concatenation is employed. Given an input image, we extract features from all seven layers, i.e., Conv1, Conv2, …, Conv5, FC6, and FC7. Note that the input image may of arbitrary sizes. We denote the seven features as , and after pooling (max or average), as . Then, the visual representation of the input image is written as . For AlexNet, the dimension of the final representation is ; For VGGNet, the feature dimension is calculated as . Figure 1 provides an illustration of feature extraction.

Discussion. The CNN features from bottom layers have very high dimensionality. For example, in AlexNet, the dimensions of the raw features from pool1 and pool2 are 69,984 and 43,264, respectively, for an image of size

. The feature dimension will be even higher if larger images are used as input. The direct usage of such high-dimensional vectors is prohibitive from efficient search or classifier training. This is probably one reason why previous works

[5, 8, 43] typically use images of multiple scales and concatenate/pool CNN features from the same FC layer. In our work, we demonstrate a promising way of using much shorter feature representations and fuse features encoding increasing semantic levels.

3.3 The Role of Image Size

In conventional cases, images are resized so that all images have the same size. In AlexNet, for example, during CNN training, all images are resized to before being fed into the network. During testing, images are typically resized to for feature extraction and classification.

In transfer tasks, however, the pre-trained CNN models may not fit well the distribution of an unseen dataset. Under such cases, the simple image resizing does not have a solid back up. Resizing large images into (or in VGGNet) may suffer from substantial information loss and object distortion. This problem is not trivial, as in object retrieval, the object-of-interest may take up only a small region in the target image, and in a larger image, details can be more clearly observed. Also, object distortion may compromise image matching between the query and database images. In recognition, keeping aspect ratio of an image will also help preserve the shape of objects/scene, thus being beneficial for accurate classification.

Figure 3: Sample images of the experimental datasets. For each dataset, one or two groups of images are listed that depict relevant content (image search) or belong the same class (image classification). The class labels are also shown above the columns of classification datasets.
Datasets Bird Flower Indoor SUN Cal-101 Cal-256 VOC’07 Holidays Ukbench Oxford
Long side 490.8 664.0 521.3 1,002.8 319.7 398.6 496.4 1,024.0 640.0 1,024.0
Short side 364.3 500.0 399.1 733.2 227.0 296.9 358.2 768.0 480.0 746.0
Table 1: Average side lengths of the 10 datasets.

Consequently, in this paper, relatively large images (compared with ) are taken as input. Specifically, given a dataset, we calculate the average image height and width of the training set. Then, the larger value between the average height and width is taken as the long side of all training and testing images. For example, if the average image size of the training set is , we will accordingly resize all images into a longer size of 400 pixels, and keep the aspect ratio. In image search, we calculate the average side lengths from the database images. In this paper, the image size calculated in this manner is termed scale 1.0. The other scales are defined as the ratio between their long side to that of scale 1.0. For example, if a long size of 400 pixels is defined as scale 1.0, then scaling it to 300 pixels yields a scale of 0.75. In Section 4, several image scales will be tested to show the advantage of this protocol.

(a) Bird-200-2011
(b) Flower-102
(c) Indoor-67
(d) Holidays
(e) Ukbench
(f) Oxford5k
Figure 4: Image search and classification accuracy on six benchmarks. We plot the accuracy against features extracted from different CNN layers (VGGNet). For each dataset, we compare two image sizes, i.e., and scale 1.0 (see Section 3.3); also, we compare the cases when no pooling is used and when max or avg pooling is used.

4 Experiments

4.1 Datasets

In image search, we use three datasets, i.e., Holidays [12], Ukbench [25], and Oxford5k [29]

. The Holidays dataset consists of 1,491 scene images among which 500 are selected as queries. The Ukbench dataset contains 10,200 images divided into 2,550 groups, each representing a unique object or scene. All images are taken as queries in turns, and there are 4 ground truths for each query. The Oxford5k dataset contains 5,063 images, crawled by names of the architectures in Oxford. There are 55 query buildings well-defined by hand-drawn bounding boxes. Mean Average Precision (mAP) is taken as evaluation metric for Holidays and Oxford5k datasets, while N-S score (average number of relevant images in top-4 ranked images) is used for the Ukbench dataset.

In image classification, 7 datasets are tested. For generic classification, we use Caltech-101 [6], and Caltech-256 [9] and PASCAL VOC’07 [4]

datasets. 30 and 60 images per category are randomly selected for training on Caltech-101 and -256, respectively. For VOC’07, we use the standard train/test split, and calculate the mean Average Precision (mAP) over 20 classes. Then, for scene classification, we evaluate on

Indoor-67 [31] and SUN-397 [39] datasets, in which 80 and 50 training images per category are selected, respectively. For fine-grained classification, Oxford Flower-102 [26] and Caltech-UCSD Bird-200-2011 [38] datasets are used. 20 and 30 training images per category are randomly chosen, respectively. For all the datasets except VOC’07, we repeat the random partitioning of training/test images for 10 times, and the averaged classification accuracy is reported. Sample images of the 10 datasets are shown in Fig. 3. The average side lengths of the datasets are presented in Table 1.

4.2 Implementation Details

We mainly report the performance of VGGNet [36] for brevity and due to its state-of-the-art accuracy in ILSVRC’14 [34]. We also present the performance of AlexNet [16] in our final system. Both CNNs are pre-trained on the ILSVRC’12 dataset [2]. The VGGNet has 19 layers which can be divided into 8 major convolutional layers (including 3 fully connected layers), and the AlexNet is composed of 8 convolutional layers (including 3 fully connected layers). Both models are available online [14].

For pooled features from each layer, we use the square root normalization introduced in [33]. Namely, we exert a square root operator on each dimension, and then -normalize the vector. Then, after concatenating features from all layers, another -normalization is employed. For VGGNet and AlexNet, the dimensions of the pooled Conv5 features are 256 and 512, respectively. For VGGNet, the five convolutional layers each have 2, 2, 4, 4, and 4 sub-layers, respectively. We take the last sub-layer as the representative of the convolutional layer (see Section 3.1).

4.3 Evaluation of Individual Steps

Performance of different CNN layers. Features from different CNN layers vary in their receptive field sizes and semantic levels. To evaluate their impact on recognition and search accuracy, we test the 7 layers on six datasets, i.e., Bird-200, Flower-102, Indoor-67, Holidays, Ukbench, and Oxford5k, and results are presented in Fig. 4 and Table 2.

Findings are consistent across the six datasets: features from the bottom layers are generally inferior to those from the top layers. This is expected because bottom-layer filters are sensitive to low-level visual patterns which are generally considered not discriminative enough. These filters to some extent resemble the visual words in the Bag-of-Words model with the SIFT descriptor [21]. On the Bird-200-2011 dataset, for example, the recognition accuracy of the Conv1 feature with max pooling is only 11.62% by conventional resizing. From this observation, it is desirable that further discriminative cues be incorporated in the bottom features, e.g., spatial constraints [47], or multi-feature fusion [48].

Datasets Bird Flower Indoor SUN Cal-101 Cal-256 VOC’07 Holidays Ukbench Oxford
conv4+a/m pool. 53.20 88.01 67.81 50.71 80.44 63.86 67.55 70.25 3.23 38.10
conv5+a/m pool. 73.40 94.73 75.67 58.88 91.07 83.29 81.78 80.71 3.77 60.18
FC6+a/m pool. 72.78 94.07 75.32 57.76 92.24 84.20 82.31 78.46 3.69 62.77
FC7+a/m pool. 70.64 92.05 71.4 58.31 89.28 83.82 82.57 79.43 3.73 57.63
All layers 76.35 95.62 78.42 63.71 92.31 85.99 83.66 84.2 3.75 71.30

Table 2: Results on 10 benchmarks w.r.t different CNN layers with average/max (a/m) pooling. Max pooling is used on the Bird dataset.

There is one noticeable observation that the “Conv5 + a/m pooling” feature yields very competitive performance to the FC6 and FC7 features. For image search, “Conv5 + avg pooling” improves search accuracy by +1.28% and +0.04 over FC6 and FC7 on Holidays and Ukbench, in mAP and N-S score, respectively. For image classification, Conv5 feature is superior in 4 out of 7 datasets, i.e., on fine-grained and scene classification tasks. In fact, fine-grained and scene classification are representative transfer tasks in which the predefined classes are more distant from those defined in ILSVRC [2]. Moreover, in both tasks, local or mid-level elements are useful cues to discriminate between classes. In such scenarios, the Conv5 feature is advantageous in that it encodes mid-level activations which further acquire translation/occlusion invariance through the pooling step. Experiment confirms our assumption: classification accuracy improves by +0.62%, +0.66%, +0.35%, and +1.12% on Bird, Flower, Indoor, and SUN, respectively.

For generic recognition as the case in Caltech-101, Caltech-256, and PASCAL VOC’07, FC6 outperforms conv5 feature due to two reasons. First, objects in the first two datasets are well-positioned in the center of the image: translation and occlusion are not severe. Second, the VGGNet is trained on generic ILSVRC classification dataset: it is less a transfer problem for generic classification task.

(a) conv5+avg pooling
(b) FC6+avg pooling
(c) FC7+avg pooling
Figure 5: Impact of image size on five datasets. For scale = 1.0, all images are resized with equal long size determined in the training set, and aspect ratio preserved. The smallest scale corresponds to .

Figure 6: Comparison of average and max pooling of Conv5 features on 9 datasets. Two image sizes are shown, i.e., and scale 1.0 (Section 3.3). For each image size, max and avg pooling are compared.

Impact of image sizes. We then evaluate the role of image size. Various image scales are generated. Recall that scale 1.0 is so defined that images keep their aspect ratio and have the same long side as calculated in the training set (described in Section 3.3).

By scaling images to various scales, we report the results on 5 datasets, i.e., Flower-102, Caltech-256, Holidays, Indoor-67, and Oxford5k, shown in Fig 5. Note that for all the datasets shown, the smallest size corresponds to . It is clear from Fig. 5 that the increase in image scale consistently improves search and classification accuracy. This validates the assumption that using larger images and and keeping aspect ratio are beneficial for performance improvement. Moreover, we find that recognition accuracy remains stable when reaching scale 1.0. A scale larger than 1.0 would not incur much improvement because there is no information gain, and instead increase the memory consumption of GPU.

In addition to the above evidence, we also collect results on the ILSVRC’12 validation set [34]

which is not a transfer dataset. Using VGGNet, we average the output of the “softmax” layer, and sort the scores in descending order. Results in Table

3 indicate that a larger input image yields lower classification error and that a scale larger than 1.0 does not help. In summary, the results are supporting our proposal that using properly large images and keeping aspect ration bring about decent improvement.

scale 1.1 1.0 0.95 0.8 0.6 0.45
top-1 error 25.91 25.45 25.53 25.98 30.41 34.12
top-5 error 7.81 7.62 7.79 8.04 10.71 13.17
Table 3: Recognition error (%) on ILSVRC’12 validation set. Scale = 0.45 corresponds to image resized to .

Impact of pooling. We demonstrate the effectiveness of pooling steps in Fig. 4 and Fig. 6. Two major conclusions are drawn. First, we observe from Fig. 4 that on all layers, pooling typically improves over directly using raw features. This is because raw features from the bottom layers are particularly sensitive to image variances such as translation or occlusion (FC features also have some sensitivity). Pooling reduces such effect by aggregating local activations into a global representation that is similar to the traditional Bag-of-Words model. Pooling also promotes computational efficiency by reducing the feature dimension.

Second, in Fig. 6, we provide a comparison between max and average pooling of the Conv5 feature in 9 testing benchmarks. We find that in most cases (8 out of 9 datasets), average pooling is superior to max pooling, except for the Bird-200 dataset. For Conv5 features, average pooling works well on datasets containing scenes or large objects. But in the Bird-200 dataset (see Fig. 3), the target objects (birds) only takes up a very small region. As a result, the activation maps in the Conv5 layer should be sparse compared with the other datasets in which the objects (or scenes) are larger. In this situation, the effectiveness of average pooling is compromised by zeros in the maps.

Impact of fusion. The result of multi-layer feature fusion is summarized in Table 2. For image search, we combine multi-layer features by Query Adaptive Fusion (QAF) [48] on the score level. We observe consistent improvement on the three image search datasets. Specifically, we achieve +7.49%, +0.07, and +11.12% increase in mAP and N-S score, on Holidays, Ukbench, and Oxford5k datasets, respectively.

For image classification, by concatenating pooled features from the 7 layers, we observe consistent improvement in all 7 datasets, i.e., +2.95%, +0.89%, +2.75%, +4.83%, +0.07%, +1.77%, and +1.09% on Bird, Flower, Indoor, SUN, Caltech-101, Caltech-256, and PASCAL VOC’07, respectively. The smallest improvement comes from Flower-102 and Caltech-101. On one hand, it is because the recognition accuracy on both datasets is already high enough (94.98% and 92.24% respectively). On the other, FC6 feature works well on Caltech-101, so the inclusion of lower-level features does not contribute much. Overall, these results indicate that features across multiple CNN layers are well-complementary with each other, so that their combination brings further improvement.

4.4 Comparison with the State-of-the-arts

We compare our results to state-of-the-arts in image search and classification. First, for fine-grained classification, i.e., Flower-102 and Bird-200, the comparison is presented in Table 4. Note that we do not use the bounding boxes and part annotations provided by the Bird-200 dataset. The recognition accuracy reported in this paper is 76.4% and 95.6% on Bird-200 and Flower-102, respectively, which exceed the state-of-the-art methods [40][30] by +6.7% and +6.1%, respectively.

Methods Bird-200 Flower-102
CNNaug-SVM [32] 61.8 86.8
ONE+SVM [41] 62.0 86.8
Two-level attention [40] 69.7 -
MsML+ [30] 67.9 89.5
GMaxPooling [23] 33.3 84.6
Color+SIFT [15] 26.7 81.3
Ours (Alex) 64.2 92.4
Ours (VGG) 76.4 95.6
Table 4: Fine-grained recognition accuracy (%).
Methods Indoor-67 SUN-397
CNNaug-SVM [32] 69.0 -
ONE+SVM [41] 70.1 54.9
MSOP [8] 68.9 52.0
Semantic FV [3] 72.9 54.4
PlacesCNN [49] 69.0 54.3
Ours (Alex) 68.1 52.0
Ours (VGG) 78.4 63.7
Table 5: Scene recognition accuracy (%).

Second, for scene recognition, Table 5 summarizes the comparison with state-of-the-arts. On Indoor-67 and SUN-397 datasets, our system produces superior results: 78.4% and 63.7%, respectively. Comparing with “ONE+SVM” [41], our result on Indoor-67 and SUN-397 is higher by +5.5% and +8.8%, respectively.

For generic object classification on Caltech-101, -256, and PASCAL VOC’07 (Table 6), our results still outperform the best recognition systems. Specifically, we report accuracy of 92.3%, 86.0%, and 83.7%, respectively.

Finally, for image search, we compare with state-of-the-art CNN methods in Table 7. This paper reports higher result: mAP = 84.2% and 71.3% on Holidays and Oxford5k, and N-S = 3.75 on Ukbench. Note that the SIFT-based BoW model still outperforms CNN on Oxford5k due to the intensive illumination and viewpoint changes [33]. When integrating Graph Re-ranking [46], we further improves the search accuracy to 89.3%, 80.5%, and 3.90, respectively.

Methods Cal-101 Cal-256 VOC’07
Zeiler-Fergus [44] 86.5 74.2 -
Epitomic [27] 87.8 - -
LLKNNC [19] - 75.5 -
Image Codes [17] 71.4 35.7 52.9
FL+EN [50] 83.2 - 72.4
Ours (Alex) 89.5 74.3 74.4
Ours (VGG) 92.3 86.0 83.7
Table 6: Generic object classification accuracy (%).
Methods Holidays Ukbench Oxford5k
CNN basel. [32] 84.3 3.64 68.0
CNN+PCA [8] 80.2 - -
CNN+VLAD [24] 83.6 - 59.3
Neural Codes [1] 79.3 3.56 54.5
Ours (VGG) 84.2 3.75 71.3
+ re-ranking 89.3 3.90 80.5
Table 7: Image search performance (mAP and N-S score).

5 Conclusion

In this paper, we share several findings with the community on the effective usage of CNN features during transfer. First, evidences accumulate that using larger images other than yields superior accuracy. Second, the application of average/max pooling on the activation maps of intermediate CNN features consistently improves recognition performance over raw features. Specifically, we find that the pooled Conv5 feature produces superior or competitive performance to fully connected features. Finally, the combination of features across multiple CNN layers further promotes recognition accuracy, and our system is capable of pushing the state-of-the-arts forward to a large margin.

Future work will focus on improving the discriminative power of bottom level CNN features. Possible strategies include injecting spatial constraints, multiple feature fusion, as well as effective encoding methods.


  • [1] A. Babenko, A. Slesarev, A. Chigorin, and V. Lempitsky.

    Neural codes for image retrieval.

    In ECCV. 2014.
  • [2] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. Imagenet: A large-scale hierarchical image database. In CVPR, 2009.
  • [3] M. Dixit, S. Chen, D. Gao, N. Rasiwasia, N. Vasconcelos, W. Li, and N. Vasconcelos. Scene classification with semantic fisher vectors. In CVPR, 2015.
  • [4] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The pascal visual object classes (voc) challenge.

    International Journal of Computer Vision

    , 88(2):303–338, June 2010.
  • [5] C. Farabet, C. Couprie, L. Najman, and Y. LeCun. Learning hierarchical features for scene labeling. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 35(8):1915–1929, 2013.
  • [6] L. Fei-Fei, R. Fergus, and P. Perona. One-shot learning of object categories. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 28(4):594–611, 2006.
  • [7] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.
  • [8] Y. Gong, L. Wang, R. Guo, and S. Lazebnik. Multi-scale orderless pooling of deep convolutional activation features. In ECCV. 2014.
  • [9] G. Griffin, A. Holub, and P. Perona. Caltech-256 object category dataset. 2007.
  • [10] B. Hariharan, P. Arbeláez, R. Girshick, and J. Malik. Hypercolumns for object segmentation and fine-grained localization. arXiv preprint arXiv:1411.5752, 2014.
  • [11] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV, 2014.
  • [12] H. Jégou, M. Douze, and C. Schmid. Improving bag-of-features for large scale image search. IJCV, 2010.
  • [13] H. Jégou, M. Douze, and C. Schmid. Product quantization for nearest neighbor search. TPAMI, 33(1):117–128, 2011.
  • [14] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. In ACM Multimedia, 2014.
  • [15] R. Khan, J. Van de Weijer, F. Shahbaz Khan, D. Muselet, C. Ducottet, and C. Barat. Discriminative color descriptors. In CVPR, 2013.
  • [16] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.
  • [17] D. Kuang, A. Gittens, and R. Hamid. Hardware compliant approximate image codes. In

    Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

    , pages 924–932, 2015.
  • [18] S. Lazebnik, C. Schmid, and J. Ponce. Beyond bags of features: spatial pyramid matching for recognizing natual scene categories. In CVPR, 2006.
  • [19] Q. Liu and C. Liu.

    A novel locally linear knn model for visual recognition.

    In CVPR, 2015.
  • [20] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. arXiv preprint arXiv:1411.4038, 2014.
  • [21] D. G. Lowe. Distinctive image features from scale invariant keypoints. IJCV, 2004.
  • [22] A. Mousavian and J. Kosecka. Deep convolutional features for image based retrieval and scene categorization. arXiv preprint arXiv:1509.06033, 2015.
  • [23] N. Murray and F. Perronnin. Generalized max pooling. In CVPR, 2014.
  • [24] J. Ng, F. Yang, and L. Davis. Exploiting local features from deep networks for image retrieval. In CVPR Workshops, 2015.
  • [25] D. Niester and H. Stewenius. Scalable recognition with a vocabulary tree. In CVPR, 2006.
  • [26] M.-E. Nilsback and A. Zisserman. Automated flower classification over a large number of classes. In Computer Vision, Graphics & Image Processing, Sixth Indian Conference on, 2008.
  • [27] G. Papandreou. Deep epitomic convolutional neural networks. arXiv preprint arXiv:1406.2732, 2014.
  • [28] F. Perronnin and C. Dance. Fisher kernels on visual vocabularies for image categorization. In CVPR, 2007.
  • [29] J. Philbin, O. Chum, M. Isard, and A. Zisserman. Object retrieval with large vocabularies and fast sptial matching. In CVPR, 2007.
  • [30] Q. Qian, R. Jin, S. Zhu, and Y. Lin. Fine-grained visual categorization via multi-stage metric learning. In CVPR, 2015.
  • [31] A. Quattoni and A. Torralba. Recognizing indoor scenes. In CVPR, 2009.
  • [32] A. S. Razavian, H. Azizpour, J. Sullivan, and S. Carlsson. Cnn features off-the-shelf: an astounding baseline for recognition. In CVPR Workshops, 2014.
  • [33] A. Relja and A. Zisserman. Three things everyone should know to improve object retrieval. In CVPR, 2012.
  • [34] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. IJCV, pages 1–42, 2015.
  • [35] A. Sharif Razavian, J. Sullivan, A. Maki, and S. Carlsson. A baseline for visual instance retrieval with deep convolutional networks. In ICLR, 2015.
  • [36] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
  • [37] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. arXiv preprint arXiv:1409.4842, 2014.
  • [38] C. Wah, S. Branson, P. Welinder, P. Perona, and S. Belongie. The caltech-ucsd birds-200-2011 dataset. 2011.
  • [39] J. Xiao, J. Hays, K. Ehinger, A. Oliva, A. Torralba, et al. Sun database: Large-scale scene recognition from abbey to zoo. In CVPR.
  • [40] T. Xiao, Y. Xu, K. Yang, J. Zhang, Y. Peng, and Z. Zhang.

    The application of two-level attention models in deep convolutional neural network for fine-grained image classification.

    In CVPR, 2015.
  • [41] L. Xie, Q. Tian, R. Hong, and B. Zhang. Image classification and retrieval are one. In ICMR, 2015.
  • [42] Z. Xu, Y. Yang, and A. G. Hauptmann. A discriminative cnn video representation for event detection. In CVPR, 2015.
  • [43] D. Yoo, S. Park, J.-Y. Lee, and I. Kweon. Multi-scale pyramid pooling for deep convolutional representation. In CVPR Workshops, 2015.
  • [44] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional networks. In ECCV. 2014.
  • [45] N. Zhang, J. Donahue, R. Girshick, and T. Darrell. Part-based r-cnns for fine-grained category detection. In ECCV. 2014.
  • [46] S. Zhang, M. Yang, T. Cour, K. Yu, and D. N. Metaxas. Query specific fusion for image retrieval. In ECCV, 2012.
  • [47] Y. Zhang, Z. Jia, and T. Chen. Image retrieval with geometry-preserving visual phrases. In CVPR, 2011.
  • [48] L. Zheng, S. Wang, L. Tian, F. He, Z. Liu, and Q. Tian. Query-adaptive late fusion for image search and person re-identification. In CVPR, 2015.
  • [49] B. Zhou, A. Lapedriza, J. Xiao, A. Torralba, and A. Oliva.

    Learning deep features for scene recognition using places database.

    In NIPS, 2014.
  • [50] F. Zhu, Z. Jiang, and L. Shao. Submodular object recognition. In CVPR, 2014.