Part-Stacked CNN for Fine-Grained Visual Categorization

12/26/2015 ∙ by Shaoli Huang, et al. ∙ University of Technology Sydney Shanghai Jiao Tong University 0

In the context of fine-grained visual categorization, the ability to interpret models as human-understandable visual manuals is sometimes as important as achieving high classification accuracy. In this paper, we propose a novel Part-Stacked CNN architecture that explicitly explains the fine-grained recognition process by modeling subtle differences from object parts. Based on manually-labeled strong part annotations, the proposed architecture consists of a fully convolutional network to locate multiple object parts and a two-stream classification network that en- codes object-level and part-level cues simultaneously. By adopting a set of sharing strategies between the computation of multiple object parts, the proposed architecture is very efficient running at 20 frames/sec during inference. Experimental results on the CUB-200-2011 dataset reveal the effectiveness of the proposed architecture, from both the perspective of classification accuracy and model interpretability.



There are no comments yet.


page 8

page 10

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

Fine-grained visual categorization aims to distinguish objects at the subordinate level, e.g. different species of birds [43, 41, 4], pets [17, 29], flowers [28, 1] and cars [35, 25]

. It is a highly challenging task due to the small inter-class variance caused by highly similar subordinate categories, and the large intra-class variance by nuisance factors such as pose, viewpoint and occlusion. Inspiringly, huge progress has been made over the last few years

[40, 4, 39, 18, 45], making fine-grained recognition techniques a large step closer to practical use in various applications, such as wildlife observation and surveillance systems.

Figure 1:

Overview of the proposed approach. We propose to classify fine-grained categories by modeling the subtle difference from specific object parts. Beyond classification results, the proposed PS-CNN architecture also offers human-understandable instructions on how to classify highly similar object categories explicitly.

Whilst numerous attempts have been made to boost the classification accuracy of fine-grained visual categorization [10, 9, 6, 21], we argue that another important aspect of the problem has yet been severely overlooked, i.e., the ability to generate a human-understandable “manual” on how to distinguish fine-grained categories in detail. For example, volunteers for ecological protection may certainly benefit from an algorithm that could not only classify bird species accurately, but also provide brief instructions on how to distinguish a category from its most similar subspecies - e.g., a salient difference between a Ringed-billed gull and a California gull lies in the pattern on their beaks (Figure 1) - with some intuitive illustration examples. Existing fine-grained recognition methods that aim to provide a visual field guide mostly follow the routine of “part-based one-vs-one features” (POOFs) [3, 2, 4] or employ human-in-the-loop methods [20, 7, 38]

. Since the data size has been increasing drastically, a method that simultaneously implements and interprets fine-grained visual categorization using the latest deep learning methods

[19] is therefore highly advocated.

It is widely acknowledged that the subtle difference between fine-grained categories mostly resides in the unique properties of object parts [31, 3, 9, 26, 47]. Therefore, a practical solution to interpret classification results as human-understandable manuals is to discover classification criteria from object parts. Some of existing fine-grained datasets have provided detailed part annotations including part landmarks and attributes [41, 25]. However, they are usually associated with a large number of object parts, which poses heavy computational burden for both part detection and classification. From this perspective, one would like to seek a method that follows the object-part-aware strategy to provide interpretable predicting criteria, while requiring minimum computational effort to deal with a possibly large number of parts.

In this paper, we propose a new part-based CNN architecture for fine-grained visual categorization that models multiple object parts in a unified framework with high efficiency. Similar with previous fine-grained recognition approaches, the proposed method consists of a localization module to detect object parts (“where pathway”) and a classification module to classify fine-grained categories at the subordinate level (“what pathway”). In particular, we employ a fully convolutional network (FCN) to perform object part localization. The inferred part locations are fed into the classification network, in which a two-stream architecture is proposed to analyze images in both object-level (bounding boxes) and part-level (part landmarks). The computation of multiple parts is first conducted via a shared feature extraction route, then separated through a novel part crop layer, concatenated, and then fed into a shallower network to perform object classification. Except for categorical predictions, the proposed method also generates interpretable classification instructions based on object parts. Since the proposed architecture employs a sharing strategy that stacks the computation of multiple parts together, we call it

Part-Stacked CNN (PS-CNN).

The contributions of this paper include: 1) we present a novel and efficient part-based CNN architecture for fine-grained recognition; 2) our architecture adopts an FCN to localize object parts, which has seldom been studied before in the context of object recognition; 3) our classification network follows a two-stream structure that captures both object-level and part-level information, in which a new share-and-divide strategy is presented on the computation of multiple object parts. As a result, the proposed architecture is very efficient, with a capacity of frames/sec111For reference, a single CaffeNet runs at frames/sec under the same experimental setting. on a Tesla K80 to classify images at test time using object parts; 4) to the best of our knowledge, the proposed method is the first attempt to both implement and explicitly interpret the process of fine-grained visual categorization using deep learning methods. The effectiveness of the proposed method is demonstrated through systematic experiments on the Caltech-UCSD Birds-200-2011 [41] dataset, in which we achieved classification accuracy. We also present practical examples of human-understanding manuals generated by the proposed method for the task of fine-grained visual categorization.

The rest of the paper is organized as follows. Section 2 summarizes related works. The proposed architecture including the localization network and the classification network is described in Section 3. Detailed performance studies and analysis are conducted in Section 4. Section 5 concludes the paper and proposes discussions on the application scenarios of the proposed PS-CNN.

2 Related Work

Fine-Grained Visual Categorization. A number of methods have been developed to classify object categories at the subordinate level. Recently, the best performing methods mostly sought for improvement brought by the following three aspects: more discriminative features including deep CNNs for better visual representation [5, 32, 19, 36, 34], explicit alignment approaches to eliminate pose displacements [6, 14], and part-based methods to study the impact of object parts [3, 48, 26, 47, 15]. Another line of research explored human-in-the-loop methods [8, 10, 42] to identify the most discriminative regions for classifying fine-grained categories. Although such methods provided direct references of how people perform fine-grained recognition in real life, they were impossible to scale for large systems due to the need of human interactions at test time.

Current state-of-the-art methods for fine-grained recognition are part-based R-CNN by Zhang et al. [47] and Bilinear CNN by Lin et al. [21], which both employed a two-stage pipeline of part detection and part-based object classification. The main idea of the proposed PS-CNN is largely inherited from [47], who first detected the location of two object parts and then trained an individual CNN based on the unique properties of each part. Compared to part-based R-CNN, the proposed method is far more efficient in both detection and classification phrases. As a result, we are able to employ much more object parts than that of [47], while still being significantly faster at test time.

Figure 2: Network architecture of the proposed Part-Stacked CNN model. The model consists of: 1) a fully convolutional network for part landmark localization; 2) a part stream where multiple parts share the same feature extraction procedure, while being separated by a novel part crop layer given detected part locations; 3) an object stream with lower spatial-resolution input images to capture bounding-box level supervision; and 4) three fully connected layers to achieve the final classification results based on a concatenated feature map containing information from all parts and the bounding box.
Figure 3: Demonstration of the localization network. Training process is denoted inside the dashed box. For inference, a Gaussian kernel is then introduced to remove noise. The results are 2D part locations in the conv5 feature map.

On the other hand, Lin et al. [21] argued that manually defined parts were sub-optimal for the task of object recognition, and thus proposed a bilinear model consisting of two streams whose roles were interchangeable as detectors or features. Although this design enjoyed the data-driven nature that could possibly lead to optimal classification performance, it also made the resultant model hard to interpret. On the contrary, our method tries to balance the need of both both classification accuracy and model interpretability in fine-grained recognition systems.

Fully Convolutional Networks. Fully convolutional network (FCN) is a fast and effective approach to produce dense prediction with convolutional networks. Successful examples can be found on tasks including sliding window detection [33], semantic segmentation [22]

, and human pose estimation

[37]. We find the problem of part landmark localization in fine-grained recognition closely related to human pose estimation, in which a critical step is to detect a set of key points indicating multiple components of human body.

3 Part-Stacked CNN

We present the model architecture of the proposed Part-Stacked CNN in this section. In accordance with the common framework for fine-grained recognition, the proposed architecture is decomposed into a Localization Network (Section 3.1) and a Classification Network (Section 3.2). We adopt CaffeNet [16], a slightly modified version of the standard seven-layer AlexNet [19] architecture, as the basic structure of the network; deeper networks could potentially lead to better recognition accuracy, but may also result in lower efficiency.

A unique design in our architecture is that the message transferring operation from the localization network to the classification network, i.e. using detected part locations to perform part-based classification, is conducted directly on the conv5 output feature maps within the process of data forwarding. It is a significant difference compared to the standard two-stage pipeline of part-based R-CNN [47] that consecutively localizes object parts and then trains part-specific CNNs on the detected regions. Based on this design, a set of sharing schemes are performed to make the proposed PS-CNN fairly efficient for both learning and inference. Figure 2 illustrates the overall network architecture.

3.1 Localization Network

The first stage of the proposed architecture is a localization network that aims to detect the location of object parts. We employ the simplest form of part landmark annotations, i.e. a 2D key point is annotated at the center of each object part. Assume that - the number of object parts labeled in the dataset, is sufficient large to offer a complete set of object parts on which fine-grained categories are usually different from each other. Motivated by recent progress of human pose estimation [22] and semantic segmentation [37], we adopt a fully convolutional network (FCN) [27] to generate dense output feature maps for locating object parts.

Fully convolutional network. A fully convolutional network is achieved by replacing the parameter-rich fully connected layers in standard CNN architectures by convolutional layers with kernels. Given an input RGB image, the output of a fully convolutional network is a feature map in reduced dimension compared to the input. The computation of each unit in the feature map only corresponds to pixels inside a region with fixed size in the input image, which is called its receptive field. FCN is preferred in our framework due to the following three reasons: 1) feature maps generated by FCN can be directly utilized as the part locating results in the classification network, which will be detailed in Section 3.2; 2) results of multiple object parts can be obtained simultaneously using an FCN; 3) FCN is very efficient in both learning and inference.

Learning. We model the part localization process as a multi-class classification problem on dense output spatial positions. In particular, suppose the output of the last convolutional layer in the FCN is in the size of , where and are spatial dimensions and is the number of channels. We set . Here is the number of object parts and denotes for an additional channel to model the background. To generate corresponding ground-truth labels in the form of feature maps, units indexed by spatial positions are labeled by their nearest object part; units that are not close to any of the labeled parts (with an overlap with respect to receptive field) are labeled as background.

A practical problem here is to determine the model depth and the size of input images for training the FCN. Generally speaking, layers at later stages carry more discriminative power and thus are more likely to generate promising localization results; however, their receptive fields are also much larger than those of previous layers. For example, the receptive field of conv5 layer in CaffeNet has a size of compared to the input image, which is too large to model an object part. We propose a simple trick to deal with this problem, i.e., upsampling the input images so that the fixed-size receptive fields denoting object parts become relatively smaller compared to the whole object, while still being able to use layers at later stages to guarantee enough discriminative power.

The localization network in the proposed PS-CNN is illustrated in Figure 3. The input of the FCN is a bounding-box-cropped RGB image, warped and resized into a fixed size of . The structure of the first five layers is identical to those in CaffeNet, which leads to a output after conv5 layer. Afterwards, we further introduce a convolutional layer with output channels as conv6, and another convolutional layer with outputs termed conv7

to perform classification. By adopting a spatial preserving softmax that normalizes predictions at each spatial location of the feature map, the final loss function is a sum of softmax loss at all




Here, is the part label of the patch at location , where the label denotes background. stands for the output of conv7 layer at spatial position and channel .

Inference. The inference process starts from the output of the learned FCN, i.e., part-specific heat maps in the size of , in which we introduce a Gaussian kernel to remove isolated noise in the feature maps. The final output of the localization network are locations in the conv5 feature map, each of which is computed as the location with the maximum response for one object part.

Meanwhile, considering that object parts may be missing in some images due to varied poses and occlusion, we set a threshold that if the maximum response of a part is below , we simply discard this part’s channel in the classification network for this image. Let , the inferred part locations are given as:

Figure 4: Demonstration of the part crop layer with three object parts. The input is a heatmap and three object parts’ anchor position, and the output is three regions centered at the respective anchor position. Image in the left shows the respective field for each part after performing part cropping.

3.2 Classification network

The second stage of the proposed PS-CNN is a classification network with the inferred part locations given as an input. It follows a two-stream architecture with a Part Stream and a Object Stream to capture semantics from multiple levels. A sub-network consisting of three fully connected layers is then performed as an object classifier, as shown in Figure 2.

Part stream. The part stream acts as the core of the proposed PS-CNN architecture. To capture object-part-dependent differences between fine-grained categories, one can train a set of part CNNs, each one of which conducts classification on a part separately, as proposed by Zhang et al. [47]. Although such method worked well for [47] who only employed two object parts, we argue that it is not applicable when the number of object parts is much larger in our case, because of the high time and space complexity.

In PS-CNN, we introduce two strategies to improve the efficiency of the part stream. The first one is model parameter sharing. Specifically, model parameters of the first five convolutional layers are shared among all object parts, which can be regarded as a generic part-level feature extractor. This strategy leads to less parameters in the proposed architecture and thus reduces the risk of overfitting.

Other than model parameter sharing, we also conduct a computational sharing strategy. The goal is to make sure that the feature extraction procedure of all parts only requires one pass through the convolutional layers. Analogous to the localization network, the input images of the part stream are in doubled resolution so that the respective receptive fields are not too large to model object parts; forwarding the network to conv5 layer generates output feature maps of size . By far, the computation of all object parts is completely shared.

After performing the shared feature extraction procedure, the computation of each object part is then partitioned through a part crop layer to model part-specific classification cues. As shown in Figure 4, the input for the part crop layer is a set of feature maps, e.g., the output of conv5 layer in our architecture, and the predicted part locations from the previous localization network, which also reside in conv5 feature maps. For each part, the part crop layer extracts a local neighborhood region centered at the detected part location. Features outside the cropped region are simply dropped. In practice, we crop neighborhood regions out of the conv5 feature maps to match the output size of the object stream. The resultant receptive fields for the cropped feature maps has a width of .

Object stream. The object stream utilizes bounding-box-level supervision to capture object-level semantics for fine-grained recognition. It follows the general architecture of CaffeNet, in which the input of the network is a RGB image and the output of pool5 layer are feature maps.

We find the design of the two-stream architecture in PS-CNN analogous to the famous Deformable Part-based Models [12], in which object-level features are captured through a root filter in a coarser scale, while detailed part-level information is modeled by several part filters at a finer scale. We find it critical to measure visual cues from multiple semantic levels in an object recognition algorithm.

Dimension reduction and fully connected layers. The aforementioned two-stream architecture generates an individual feature map for each object part and bounding box. When conducting classification, they serve as an over-complete set of CNN features from multiple scales. Following the standard CaffeNet architecture, we employ a DNN including three fully connected layers as object classifiers. The first fully connected layer fc6 now becomes a part concatenation layer whose input is generated by stacking the output feature maps of the part stream and the object stream together. However, such a concatenating process requires times more model parameters than the original fc6 layer in CaffeNet, which leads to a huge memory cost.

To reduce model parameters, we introduce a convolutional layer termed conv5_1 in the part stream that projects the dimensional conv5 output to -d. It is identical to a low-rank projection of the model output and thus can be initialized through standard PCA. Nevertheless, in our experiments, we find that directly initializing the weights of the additional convolution by PCA in practice worsens the performance. To enable domain-specific fine-tuning from pre-trained CNN model weights, we train an auxiliary CNN to initialize the weights for the additional convolutional layer.

Let be the cropped region around the center point from conv5_1 feature maps , where is the predicted location for part . The output of part concatenation layer fc6 can be formulated as:


where is the model parameters for part in fc6 layer, and

is an activation function.

We conduct the standard gradient descent method to train the classification network. The most complicated part for computing gradients lies in the dimension reduction layer due to the impact of part cropping. Specifically, the gradient of each cropped part feature map (in spatial resolution) is projected back to the original size of conv5 ( feature maps) according to the respective part location and then summed up. Note that the proposed PS-CNN is implemented as a two stage framework, i.e. after training the FCN, weights of the localization network are fixed when training the classification network.

4 Experiments

We present experimental results and analysis of the proposed method in this section. Specifically, we will evaluate the performance through four different aspects: localization accuracy, classification accuracy, inference efficiency, and model interpretation.

4.1 Dataset and implementation details

Experiments are conducted on the widely used fine-grained classification benchmark the Caltech-UCSD Birds dataset (CUB-200-2011) [41]. The dataset contains bird categories with roughly training images per category. In the training phase we adopt strong supervision available in the dataset, i.e. we employ 2D key point part annotations of altogether object parts together with image-level labels and object bounding boxes.

The proposed Part-Stacked CNN architecture is implemented using the open-source package Caffe

[16]. Specifically, bounding-box cropped input images are warped to a fixed size of , randomly cropped into , and then fed into the localization network and the part stream in the classification network as input. We employ a pooling layer in the object stream that downsamples the input to to guarantee synchronization between the two streams in the classification network.

Model architecture MPK MRK APK
conv5+cls 70.0 80.6 83.5
conv5+conv6(256)+cls 71.3 81.8 84.7
conv5+conv6(512)+cls 71.5 81.9 84.8
conv5+conv6(512)+cls+gaussian 80.0 83.8 86.6
Table 1: Comparison of different model architectures on localization results. “conv5” stands for the first 5 convolutional layers in CaffeNet; “conv6(256)” stands for the additional convolutional layer with 256 output channels; “cls” denotes the classification layer with output channels; “gaussian” represents a Gaussian kernel for smoothing.
part throat beak crown forehead right eye nape left eye back
APK 0.908 0.894 0.894 0.885 0.861 0.857 0.850 0.807
part breast belly right leg tail left leg right wing left wing overall
APK 0.799 0.794 0.775 0.760 0.750 0.678 0.670 0.866
Table 2: APK for each object part in the CUB-200-2011 test set in descending order.
Figure 5: Typical localization results on CUB-200-2011 test set. We show 6 of the 15 detected parts here. They are: beak (red), belly (green), crown (blue), right eye (yellow), right leg (magenta), tail (cyan). Better viewed in color.

4.2 Localization results

We quantitatively assess the localization correctness using three metrics. The first two are MPK (Mean Precision of Key points over images) and MRK

(Mean Recall of Key points over images), which calculate precision and recall for the detected key points in each image and then average them over all test images. Suppose that image

has ground-truth parts, the proposed method predicts parts where of them is correctly located, MPK and MRK are computed as:


where is the number of test images in the dataset.

We also adopt APK (Average Precision of Key points) [46] to explicitly study the localization performance for each part. Following [23], we consider a key point to be correctly predicted if the prediction lies within a Euclidean distance of times the maximum of the bounding box width and height compared to the ground truth. We set in all the analysis below.

The results of different FCN architectures evaluated in this paper are outlined in Table 1. By introducing an additional convolutional layer after the first five layers in CaffeNet, a reasonably significant performance improvement is achieved. The Gaussian kernel also contributes to the localization accuracy by removing isolated noise, achieving a nearly improvement in MPK in particular. The final localization network achieves an inspiring APK on the test set of CUB-200-2011 for 15 object parts.

4.3 Classification results

BBox only +2 part +4 part +8 part +15 part
69.08 73.72 74.84 76.22 76.15
Table 3: The effect of increasing the number of object parts on the classification accuracy.

Furthermore, we present per part APKs in Table 2

. An interesting phenomenon here is that parts residing near the head of the birds tend to be located more accurately. It turns out that the birds’ head has relatively more stable structure with less deformations and lower probability to be occluded. On the contrary, parts that are highly deformable such as wings and legs get lower

APK values. Figure 5 shows typical localization results of the proposed method.

Figure 6: Example of the prediction manual generated by the proposed approach. Given a test image, the system reports its predicted class label with some typical exemplar images. Part-based comparison criteria between the predicted class and its most similar classes are shown in the right part of the image. The number in brackets shows the confidence of classifying two categories by introducing a specific part. We present top three object parts for each pair of comparison. For each of the parts, three part-center-cropped patches are shown for the predicted class (upper rows) and the compared class (lower rows) respectively.

We begin the analysis of classification results by a study on the discriminative power of each object part. Each time we select one object part as the input and discard the computation of all other parts. Different parts reveal significantly different classification results. The most discriminative part crown itself achieves a quite impressive accuracy of , while the lowest accuracy is only for part beak. Therefore, to obtain better classification results, it may be beneficial to find a rational combination or order of object parts instead of directly ran the experiments on all parts altogether.

We therefore introduce a strategy that incrementally adds object parts to the whole framework and iteratively trains the model. Specifically, starting from a model trained on bounding-box supervision only, which is also the baseline of the proposed method, we iteratively insert object parts into the framework and re-finetune the PS-CNN model. The number of parts inserted in each iteration increases exponentially, i.e., in the iteration, parts are selected and inserted. When starting from an initialized model with relatively high performance, introducing a new object part into the framework does not require to run a brand new classification procedure based on this specific part alone; ideally only the classification of highly confusing categories that may be distinguished through the new part will be impacted and amended. As a result, this procedure overcomes the drawback raised by the existence of object parts with lower discriminative power. Table 3 reveals that as the number of object parts increases from to , the classification accuracy improves gradually and then becomes saturated. Further increasing the part number does not lead to a better accuracy; however, it does provide more resources for performing explicit model interpretation.

Method Train Anno. Test Anno. Acc.
Alignment [13] n/a n/a 53.6
Attention [44] n/a n/a 69.7
Bilinear-CNN [21] n/a n/a 72.5
CNNaug [30] BBox BBox 61.8
Alignment [13] BBox BBox 67.0
No parts [18] BBox BBox 74.9
Bilinear-CNN [21] BBox BBox 77.2
Part R-CNN [47] BBox+Parts n/a 73.9
PoseNorm CNN [6] BBox+Parts n/a 75.7
POOF [3] BBox+Parts BBox 56.8
DPD+DeCAF[11] BBox+Parts BBox 65.0
Part R-CNN [47] BBox+Parts BBox 76.4
PS-CNN (this paper) BBox+Parts BBox 76.2
Table 4:

Comparison with state-of-the-art methods on the CUB-200-2011 dataset. To conduct fair comparisons, for all the methods using deep features, we report their results on the standard seven-layer architecture (AlexNet) if possible.

Table 4 shows the performance comparison between PS-CNN and existing fine-grained recognition methods. The complete PS-CNN model with a bounding-box and object parts achieves accuracy, which is comparable with state-of-the-art methods including part-based R-CNN [47] and bilinear CNN [21]. In particular, our model is over two orders of magnitude faster than [47], requiring only seconds to perform end-to-end classification on a test image. This number is quite inspiring, especially considering the number of parts used in the proposed method.

4.4 Model interpretation

The proposed approach adopts a part-based strategy to provide visual manuals for fine-grained visual categorization. In particular, we have discovered the most discriminative object parts for classifying a category from other bird species (one-versus-all) and also from its most similar categories (one-versus-most). It is an offline process achieved by calculating the classification performance gain of inserting a part into the bounding-box-only training scheme.

The model interpretation routine is demonstrated in Figure 6. When a test image is presented, the proposed method first conducts object classification through the PS-CNN architecture. The predicted category is presented by a set of images in the dataset that are closest to the test image according to conv5_1 outputs. Except for classification results, the proposed method also presents classification criteria for distinguishing the predicted category from its most similar neighbor classes based on object parts. Again we use the output of conv5_1 layer but after performing part cropping to retrieve nearest neighbor part patches of the input test image. The procedure described above provides an intuitive visual guide for distinguishing fine-grained categories.

5 Conclusion

In this paper, we proposed a novel model for fine-grained recognition called Part-Stacked CNN. The model exploited detailed part-level supervision, in which object parts were first located by a fully convolutional network, following by a two-stream classification network that explicitly captured object-level and part-level information. Experiments on the CUB-200-2011 dataset revealed the effectiveness and efficiency of PS-CNN, especially the impact of introducing object parts on fine-grained visual categorization tasks. Meanwhile, we have presented human-understandable interpretations of the proposed method, which can be used as a visual field guide for studying fine-grained categorization.

We have discussed the application of the proposed Part-Stacked CNN on fine-grained visual categorization with strong supervision. In fact, PS-CNN can be easily generalized for varied applications. Examples include:

1) Discarding the requirement of strong supervision. The goal of introducing manually-labeled part annotations here is to generate human-understandable visual guides. However, one can also exploit unsupervised part discover methods [18] to define object parts automatically. This strategy should have the potential to achieve comparable classification accuracy with strongly supervised methods, while requiring far less human labeling effort.

2) Attribute learning. The application scenario of PS-CNN is not restricted to fine-grained recognition tasks. For instance, the performance of recommendation systems for online shopping [24] could definitely benefit from the analysis of clothing attributes from local parts. The proposed PS-CNN, in this case, could be an effective and efficient choice to perform part-based garment analysis.

3) Context-based CNN. The role of local “parts” in PS-CNN can be also replaced by global contexts. For objects that are small in size and have no obvious object parts, such as volleyballs or tennis balls, modeling global contexts instead of local parts could be a practical solution. Such an architecture can be achieved from the proposed PS-CNN without significant structural changes.

They are regarded as our future works.


  • [1] A. Angelova, S. Zhu, and Y. Lin. Image segmentation for large-scale subcategory flower recognition. In

    Applications of Computer Vision (WACV), 2013 IEEE Workshop on

    , pages 39–45. IEEE, 2013.
  • [2] T. Berg and P. N. Belhumeur. How do you tell a blackbird from a crow? In Computer Vision (ICCV), 2013 IEEE International Conference on, pages 9–16. IEEE, 2013.
  • [3] T. Berg and P. N. Belhumeur. Poof: Part-based one-vs.-one features for fine-grained categorization, face verification, and attribute estimation. In CVPR 2013, pages 955–962. IEEE, 2013.
  • [4] T. Berg, J. Liu, S. W. Lee, M. L. Alexander, D. W. Jacobs, and P. N. Belhumeur. Birdsnap: Large-scale fine-grained visual categorization of birds. In

    Computer Vision and Pattern Recognition (CVPR), 2014

    , pages 2019–2026. IEEE, 2014.
  • [5] L. Bo, X. Ren, and D. Fox. Kernel descriptors for visual recognition. In NIPS, pages 244–252, 2010.
  • [6] S. Branson, G. Van Horn, S. Belongie, and P. Perona. Bird species categorization using pose normalized deep convolutional nets. arXiv preprint arXiv:1406.2952, 2014.
  • [7] S. Branson, G. Van Horn, C. Wah, P. Perona, and S. Belongie. The ignorant led by the blind: A hybrid human–machine vision system for fine-grained categorization. International Journal of Computer Vision, 108(1-2):3–29, 2014.
  • [8] S. Branson, C. Wah, F. Schroff, B. Babenko, P. Welinder, P. Perona, and S. Belongie. Visual recognition with humans in the loop. In Computer Vision–ECCV 2010, pages 438–451. Springer, 2010.
  • [9] Y. Chai, V. Lempitsky, and A. Zisserman. Symbiotic segmentation and part localization for fine-grained categorization. In ICCV 2013, pages 321–328. IEEE, 2013.
  • [10] J. Deng, J. Krause, and L. Fei-Fei. Fine-grained crowdsourcing for fine-grained recognition. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on, pages 580–587. IEEE, 2013.
  • [11] J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang, E. Tzeng, and T. Darrell. Decaf: A deep convolutional activation feature for generic visual recognition. arXiv preprint arXiv:1310.1531, 2013.
  • [12] P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ramanan. Object detection with discriminatively trained part-based models. PAMI, 32(9):1627–1645, 2010.
  • [13] E. Gavves, B. Fernando, C. G. Snoek, A. W. Smeulders, and T. Tuytelaars. Fine-grained categorization by alignments. In ICCV 2013, pages 1713–1720. IEEE, 2013.
  • [14] E. Gavves, B. Fernando, C. G. Snoek, A. W. Smeulders, and T. Tuytelaars. Local alignments for fine-grained categorization. International Journal of Computer Vision, 111(2):191–212, 2014.
  • [15] G. Gkioxari, R. Girshick, and J. Malik. Actions and attributes from wholes and parts. arXiv preprint arXiv:1412.2604, 2014.
  • [16] 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 Proceedings of the ACM International Conference on Multimedia, pages 675–678. ACM, 2014.
  • [17] A. Khosla, N. Jayadevaprakash, B. Yao, and F.-f. Li. L.: Novel dataset for fine-grained image categorization. In First Workshop on Fine-Grained Visual Categorization, CVPR 2011. Citeseer, 2011.
  • [18] J. Krause, H. Jin, J. Yang, and L. Fei-Fei. Fine-grained recognition without part annotations. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 5546–5555, 2015.
  • [19] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, pages 1097–1105, 2012.
  • [20] N. Kumar, P. N. Belhumeur, A. Biswas, D. W. Jacobs, W. J. Kress, I. C. Lopez, and J. V. Soares. Leafsnap: A computer vision system for automatic plant species identification. In Computer Vision–ECCV 2012, pages 502–516. Springer, 2012.
  • [21] T.-Y. Lin, A. RoyChowdhury, and S. Maji. Bilinear cnn models for fine-grained visual recognition. arXiv preprint arXiv:1504.07889, 2015.
  • [22] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3431–3440, 2015.
  • [23] J. L. Long, N. Zhang, and T. Darrell. Do convnets learn correspondence? In Advances in Neural Information Processing Systems, pages 1601–1609, 2014.
  • [24] K. M. Hadi, H. Xufeng, L. Svetlana, B. Alexander, and B. Tamara. Where to buy it: Matching street clothing photos in online shops. In Computer Vision (ICCV), 2015 IEEE International Conference on, 2015.
  • [25] S. Maji, E. Rahtu, J. Kannala, M. Blaschko, and A. Vedaldi. Fine-grained visual classification of aircraft. arXiv preprint arXiv:1306.5151, 2013.
  • [26] S. Maji and G. Shakhnarovich. Part and attribute discovery from relative annotations. International Journal of Computer Vision, 108(1-2):82–96, 2014.
  • [27] O. Matan, C. J. Burges, Y. Le Cun, and J. S. Denker. Multi-digit recognition using a space displacement neural network. 1995.
  • [28] M.-E. Nilsback and A. Zisserman. Automated flower classification over a large number of classes. In ICVGIP’08, pages 722–729. IEEE, 2008.
  • [29] O. M. Parkhi, A. Vedaldi, A. Zisserman, and C. Jawahar. Cats and dogs. In CVPR 2012, pages 3498–3505. IEEE, 2012.
  • [30] A. S. Razavian, H. Azizpour, J. Sullivan, and S. Carlsson. Cnn features off-the-shelf: an astounding baseline for recognition. In CVPRW 2014, pages 512–519. IEEE, 2014.
  • [31] E. Rosch, C. B. Mervis, W. D. Gray, D. M. Johnson, and P. Boyes-Braem. Basic objects in natural categories. Cognitive psychology, 8(3):382–439, 1976.
  • [32] J. Sánchez, F. Perronnin, and Z. Akata.

    Fisher vectors for fine-grained visual categorization.

    In FGVC Workshop in IEEE Computer Vision and Pattern Recognition (CVPR), 2011.
  • [33] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. arXiv preprint arXiv:1312.6229, 2013.
  • [34] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
  • [35] M. Stark, J. Krause, B. Pepik, D. Meger, J. J. Little, B. Schiele, and D. Koller.

    Fine-grained categorization for 3d scene understanding.

    International Journal of Robotics Research, 30(13):1543–1552, 2011.
  • [36] 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.
  • [37] J. J. Tompson, A. Jain, Y. LeCun, and C. Bregler. Joint training of a convolutional network and a graphical model for human pose estimation. In Advances in Neural Information Processing Systems, pages 1799–1807, 2014.
  • [38] G. Van Horn, S. Branson, R. Farrell, S. Haber, J. Barry, P. Ipeirotis, P. Perona, and S. Belongie. Building a bird recognition app and large scale dataset with citizen scientists: The fine print in fine-grained dataset collection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 595–604, 2015.
  • [39] A. Vedaldi, S. Mahendran, S. Tsogkas, S. Maji, R. Girshick, J. Kannala, E. Rahtu, I. Kokkinos, M. B. Blaschko, D. Weiss, et al. Understanding objects in detail with fine-grained attributes. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 3622–3629. IEEE, 2014.
  • [40] C. Wah, S. Branson, P. Perona, and S. Belongie. Multiclass recognition and part localization with humans in the loop. In Computer Vision (ICCV), 2011 IEEE International Conference on, pages 2524–2531. IEEE, 2011.
  • [41] C. Wah, S. Branson, P. Welinder, P. Perona, and S. Belongie. The caltech-ucsd birds-200-2011 dataset. 2011.
  • [42] C. Wah, G. Van Horn, S. Branson, S. Maji, P. Perona, and S. Belongie. Similarity comparisons for interactive fine-grained categorization. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 859–866. IEEE, 2014.
  • [43] P. Welinder, S. Branson, T. Mita, C. Wah, F. Schroff, S. Belongie, and P. Perona. Caltech-ucsd birds 200. 2010.
  • [44] 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. arXiv preprint arXiv:1411.6447, 2014.
  • [45] Z. Xu, S. Huang, Y. Zhang, and D. Tao. Augmenting strong supervision using web data for fine-grained categorization. In Computer Vision (ICCV), 2015 IEEE International Conference on, 2015.
  • [46] Y. Yang and D. Ramanan. Articulated human detection with flexible mixtures of parts. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 35(12):2878–2890, 2013.
  • [47] N. Zhang, J. Donahue, R. Girshick, and T. Darrell. Part-based r-cnns for fine-grained category detection. In ECCV 2014, pages 834–849. Springer, 2014.
  • [48] N. Zhang, M. Paluri, M. Ranzato, T. Darrell, and L. Bourdev. Panda: Pose aligned networks for deep attribute modeling. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 1637–1644. IEEE, 2014.