Recent advances in convolutional neural nets  dramatically improved the state-of-the-art in image classification. Despite the magnitude of these results, many doubted  that the resulting features had the spatial specificity necessary for localization; after all, whole image classification can rely on context cues and overly large pooling regions to get the job done. For coarse localization, such doubts were alleviated by record breaking results extending the same features to detection on PASCAL .
Now, the same questions loom on a finer scale. Are the modern convnets that excel at classification and detection also able to find precise correspondences between object parts? Or do large receptive fields mean that correspondence is effectively pooled away, making this a task better suited for hand-engineered features?
In this paper, we provide evidence that convnet features perform at least as well as conventional ones, even in the regime of point-to-point correspondence, and we show considerable performance improvement in certain settings, including category-level keypoint prediction.
1.1 Related work
Image alignment is a key step in many computer vision tasks, including face verification, motion analysis, stereo matching, and object recognition. Alignment results in correspondence across different images by removing intraclass variability and canonicalizing pose. Alignment methods exist on a supervision spectrum from requiring manually labeled fiducial points or landmarks, to requiring class labels, to fully unsupervised joint alignment and clustering models. Congealing is an unsupervised joint alignment method based on an entropy objective. Deep congealing  builds on this idea by replacing hand-engineered features with unsupervised feature learning from multiple resolutions. Inspired by optical flow, SIFT flow  matches densely sampled SIFT features for correspondence and has been applied to motion prediction and motion transfer. In Section 3
, we apply SIFT flow using deep features for aligning different instances of the same class.
Semantic parts carry important information for object recognition, object detection, and pose estimation. In particular, fine-grained categorization, the subject of many recent works, depends strongly on part localization[9, 10]. Large pose and appearance variation across examples make part localization for generic object categories a challenging task.
Most of the existing works on part localization or keypoint prediction focus on either facial landmark localization  or human pose estimation. Human pose estimation has been approached using tree structured methods to model the spatial relationships between parts [12, 13, 14], and also using poselets  as an intermediate step to localize human keypoints [16, 17]
. Tree structured models and poselets may struggle when applied to generic objects with large articulated deformations and wide shape variance.
. Convnets trained with backpropagation were initially succesful in digit recognition and OCR . The feature representations learned from large data sets have been found to generalize well to other image classification tasks  and even to object detection [3, 21]. Recently, Toshev et al.  trained a cascade of regression-based convnets for human pose estimation and Jain et al. 
combine a weak spatial model with deep learning methods.
The latter work trains multiple small, independent convnets on
patches for binary body-part detection. In contrast, we employ a powerful pretained ImageNet model that shares mid-elvel feature representations among all parts in Section5.
Several recent works have attempted to analyze and explain this overwhelming success. Zeiler and Fergus 
provide several heuristic visualizations suggesting coarse localization ability. Szegedy et al. show counterintuitive properties of the convnet representation, and suggest that individual feature channels may not be more semantically meaningful than other bases in feature space. A concurrent work  compares convnet features with SIFT in a standard descriptor matching task. This work illuminates and extends that comparison by providing visual analysis and by moving beyond single instance matching to intraclass correspondence and keypoint prediction.
We perform experiments using a network architecture almost identical111Ours reverses the order of the response normalization and pooling layers. to that popularized by Krizhevsky et al.  and trained for classification using the 1.2 million images of the ILSVRC 2012 challenge dataset . All experiments are implemented using caffe , and our network is the publicly available caffe reference model. We use the activations of each layer as features, referred to as conv, pool, or fc for the th convolutional, pooling, or fully connected layer, respectively. We will use the term receptive field, abbreviated rf, to refer to the set of input pixels that are path-connected to a particular unit in the convnet.
2 Feature visualization
In Figure 1, we perform a nonparametric reconstruction of images from features in the spirit of HOGgles . Rather than paired dictionary learning, however, we simply replace patches with averages of their top-
nearest neighbors in a convnet feature space. To do so, we first compute all features at a particular layer, resulting in an 2d grid of feature vectors. We associate each feature vector with a patch in the original image at the center of the corresponding receptive field and with size equal to the receptive field stride. (Note that the strides of the receptive fields are much smaller than the receptive fields themselves, which overlap. Refer to Table1 above for specific numbers.) We replace each such patch with an average over
nearest neighbor patches using a database of features densely computed on the images of PASCAL VOC 2011. Our database contains at least one million patches for every layer. Features are matched by cosine similarity.
Even though the feature rfs cover large regions of the source images, the specific resemblance of the resulting images shows that information is not spread uniformly throughout those regions. Notable features (e.g., the tires of the bicycle and the facial features of the cat) are replaced in their corresponding locations. Also note that replacement appears to become more semantic and less visually specific as the layer deepens: the eyes and nose of the cat get replaced with differently colored or shaped eyes and noses, and the fur gets replaced with various animal furs, with the diversity increasing with layer number.
Figure 2 gives a feature-centric rather than image-centric view of feature locality. For each column, we first pick a random seed feature vector (computed from a PASCAL image), and find nearest neighbor features, again by cosine similarity. Instead of averaging only the centers, we average the entire receptive fields of the neighbors. The resulting images show that similar features tend to respond to similar colors specifically in the centers of their receptive fields.
3 Intraclass alignment
We conjecture that category learning implicitly aligns instances by pooling over a discriminative mid-level representation. If this is true, then such features should be useful for post-hoc alignment in a similar fashion to conventional features. To test this, we use convnet features for the task of aligning different instances of the same class. We approach this difficult task in the style of SIFT flow : we retrieve near neighbors using a coarse similarity measure, and then compute dense correspondences on which we impose an MRF smoothness prior which finally allows all images to be warped into alignment.
Nearest neighbors are computed using fc7 features. Since we are specifically testing the quality of alignment, we use the same nearest neighbors for convnet or conventional features, and we compute both types of features at the same locations, the grid of convnet rf centers in the response to a single image.
Alignment is determined by solving an MRF formulated on this grid of feature locations. Let be a point on this grid, let be the feature vector of the source image at that point, and let be the feature vector of the target image at that point. For each feature grid location of the source image, there is a vector giving the displacement of the corresponding feature in the target image. We use the energy function
where are the edges of a 4-neighborhood graph and is the regularization parameter. Optimization is performed using belief propagation, with the techniques suggested in . Message passing is performed efficiently using the squared Euclidean distance transform . (Unlike the regularization originally used by SIFT flow , this formulation maintains rotational invariance of .)
Based on its performance in the next section, we use conv4 as our convnet feature, and SIFT with descriptor radius 20 as our conventional feature. From validation experiments, we set for both conv4 and SIFT features (which have a similar scale).
Given the alignment field
, we warp target to source using bivariate spline interpolation (implemented in SciPy). Figure 3 gives examples of alignment quality for a few different seed images, using both SIFT and convnet features. We show five warped nearest neighbors as well as keypoints transferred from those neighbors.
|target image||five nearest neighbors|
We quantitatively assess the alignment by measuring the accuracy of predicted keypoints. To obtain good predictions, we warp 25 nearest neighbors for each target image, and order them from smallest to greatest deformation energy (we found this method to outperform ordering using the data term). We take the predicted keypoints to be the median points (coordinate-wise) of the top five aligned keypoints according to this ordering.
We assess correctness using mean PCK . We consider a ground truth keypoint to be correctly predicted if the prediction lies within a Euclidean distance of times the maximum of the bounding box width and height, picking some . We compute the overall accuracy for each type of keypoint, and report the average over keypoint types. We do not penalize predicted keypoints that are not visible in the target image.
Results are given in Table 2. We show per category results using , and mean results for , , and . Indeed, convnet learned features are at least as capable as SIFT at alignment, and better than might have been expected given the size of their receptive fields.
4 Keypoint classification
In this section, we specifically address the ability of convnet features to understand semantic information at the scale of parts. As an initial test, we consider the task of keypoint classification
: given an image and the coordinates of a keypoint on that image, can we train a classifier to label the keypoint?
For this task we use keypoint data  on the twenty classes of PASCAL VOC 2011 . We extract features at each keypoint using SIFT  and using the column of each convnet layer whose rf center lies closest to the keypoint. (Note that the SIFT features will be more precisely placed as a result of this approximation.) We trained one-vs-all linear SVMs on the train set using SIFT at five different radii and each of the five convolutional layer activations as features (in general, we found pooling and normalization layers to have lower performance). We set the SVM parameter for all experiments based on five-fold cross validation on the training set (see Figure 5).
Table 3 gives the resulting accuracies on the val set. We find features from convnet layers consistently perform at least as well as and often better than SIFT at this task, with the highest performance coming from layers conv4 and conv5. Note that we are specifically testing convnet features trained only for classification; the same net could be expected to achieve even higher performance if trained for this task.
Finally, we study the precise location understanding of our classifiers by computing their responses with a single-pixel stride around ground truth keypoint locations. For two example keypoints (cat left eye and nose), we histogram the locations of the maximum responses within a 21 pixel by 21 pixel rectangle around the keypoint, shown in Figure 4. We do not include maximum responses that lie on the boundary of this rectangle. While the SIFT classifiers do not seem to be sensitive to the precise locations of the keypoints, in many cases the convnet ones seem to be capable of localization finer than their strides, not just their receptive field sizes. This observation motivates our final experiments to consider detection-based localization performance.
5 Keypoint prediction
We have seen that despite their large receptive field sizes, convnets work as well as the hand-engineered feature SIFT for alignment and slightly better than SIFT for keypoint classification. Keypoint prediction provides a natural follow-up test. As in Section 3, we use keypoint annotations from PASCAL VOC 2011, and we assume a ground truth bounding box.
Inspired in part by [3, 34, 23], we train sliding window part detectors to predict keypoint locations independently. R-CNN  and OverFeat  have both demonstrated the effectiveness of deep convolutional networks on the generic object detection task. However, neither of them have investigated the application of CNNs for keypoint prediction.222But see works cited in Section 1.1 regarding keypoint localization. R-CNN starts from bottom-up region proposal , which tends to overlook the signal from small parts. OverFeat, on the other hand, combines convnets trained for classification and for regression and runs in multi-scale sliding window fashion.
We rescale each bounding box to and compute conv5 (with a stride of 16 pixels). Each cell of conv5 contains one -dimensional descriptor. We concatenate conv5 descriptors from a local region of cells, giving an overall receptive field size of and feature dimension of . For each keypoint, we train a linear SVM with hard negative mining. We consider the ten closest features to each ground truth keypoint as positive examples, and all the features whose rfs do not contain the keypoint as negative examples. We also train using dense SIFT descriptors for comparison. We compute SIFT on a grid of stride eight and bin size of eight using VLFeat . For SIFT, we consider features within twice the bin size from the ground truth keypoint to be positives, while samples that are at least four times the bin size away are negatives.
We augment our SVM detectors with a spherical Gaussian prior over candidate locations constructed by nearest neighbor matching. The mean of each Gaussian is taken to be the location of the keypoint in the nearest neighbor in the training set found using cosine similarity on pool
5 features, and we use a fixed standard deviation of 22 pixels. Letbe the output score of our local detector for keypoint , and let be the prior score. We combine these to yield a final score , where is a tradeoff parameter. In our experiments, we set by cross validation. At test time, we predict the keypoint location as the highest scoring candidate over all feature locations.
We evaluate the predicted keypoints using the measure PCK introduced in Section 3, taking . A predicted keypoint is defined as correct if the distance between it and the ground truth keypoint is less than where and are the height and width of the bounding box. The results using conv5 and SIFT with and without the prior are shown in Table 5. From the table, we can see that local part detectors trained on the conv5 feature outperform SIFT by a large margin and that the prior information is helpful in both cases. To our knowledge, these are the first keypoint prediction results reported on this dataset. We show example results from five different categories in Figure 6. Each set consists of rescaled bounding box images with ground truth keypoint annotations and predicted keypoints using SIFT and conv5 features, where each color corresponds to one keypoint. As the figure shows, conv5 outperforms SIFT, often managing satisfactory outputs despite the challenge of this task. A small offset can be noticed for some keypoints like eyes and noses, likely due to the limited stride of our scanning windows. A final regression or finer stride could mitigate this issue.
Through visualization, alignment, and keypoint prediction, we have studied the ability of the intermediate features implicitly learned in a state-of-the-art convnet classifier to understand specific, local correspondence. Despite their large receptive fields and weak label training, we have found in all cases that convnet features are at least as useful (and sometimes considerably more useful) than conventional ones for extracting local visual information.
Acknowledgements This work was supported in part by DARPA’s MSEE and SMISC programs, by NSF awards IIS-1427425, IIS-1212798, and IIS-1116411, and by support from Toyota.
-  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.
-  A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.
-  R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.
-  M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2011 (VOC2011) Results. http://www.pascal-network.org/challenges/VOC/voc2011/workshop/index.html.
-  Debate on Yann LeCun’s Google+ page. https://plus.google.com/+YannLeCunPhD/posts/JBBFfv2XgWM. Accessed: 2014-5-31.
-  G. B. Huang, V. Jain, and E. Learned-Miller. Unsupervised joint alignment of complex images. In ICCV, 2007.
-  G. B. Huang, M. A. Mattar, H. Lee, and E. Learned-Miller. Learning to align from scratch. In NIPS, 2012.
-  C. Liu, J. Yuen, and A. Torralba. Sift flow: Dense correspondence across scenes and its applications. PAMI, 33(5):978–994, 2011.
-  J. Liu and P. N. Belhumeur. Bird part localization using exemplar-based models with enforced pose and subcategory consistenty. In ICCV, 2013.
-  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.
-  P. N. Belhumeur, D. W. Jacobs, D. J. Kriegman, and N. Kumar. Localizing parts of faces using a consensus of exemplars. In CVPR, 2011.
-  Y. Yang and D. Ramanan. Articulated pose estimation using flexible mixtures of parts. In CVPR, 2011.
-  M. Sun and S. Savarese. Articulated part-based model for joint object detection and pose estimation. In ICCV, 2011.
-  X. Zhu and D. Ramanan. Face detection, pose estimation, and landmark localization in the wild. In CVPR, 2012.
-  L. Bourdev and J. Malik. Poselets: Body part detectors trained using 3d human pose annotations. In ICCV, 2009.
-  G. Gkioxari, B. Hariharan, R. Girshick, and J. Malik. Using k-poselets for detecting people and localizing their keypoints. In CVPR, 2014.
-  G. Gkioxari, P. Arbelaez, L. Bourdev, and J. Malik. Articulated pose estimation using discriminative armlet classifiers. In CVPR, 2013.
-  Y. LeCun, B. Boser, J.S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to hand-written zip code recognition. In Neural Computation, 1989.
-  Y. Lecun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. In Proceedings of the IEEE, pages 2278–2324, 1998.
-  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. In ICML, 2014.
-  P. Sermanet, K. Kavukcuoglu, S. Chintala, and Y. LeCun. Pedestrian detection with unsupervised multi-stage feature learning. In CVPR, 2013.
-  A. Toshev and C. Szegedy. DeepPose: Human pose estimation via deep neural networks. In CVPR, 2014.
-  A. Jain, J. Tompson, M. Andriluka, G. W. Taylor, and C. Bregler. Learning human pose estimation features with convolutional networks. In ICLR, 2014.
-  M. D Zeiler and R. Fergus. Visualizing and understanding convolutional neural networks. In ECCV, 2014.
-  C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow, and R. Fergus. Intriguing properties of neural networks. In ICLR, 2014.
-  P. Fischer, A. Dosovitskiy, and T. Brox. Descriptor Matching with Convolutional Neural Networks: a Comparison to SIFT. ArXiv e-prints, May 2014.
-  Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint arXiv:1408.5093, 2014.
-  C. Vondrick, A. Khosla, T. Malisiewicz, and A. Torralba. HOGgles: Visualizing Object Detection Features. In ICCV, 2013.
-  P. Felzenszwalb and D. P. Huttenlocher. Efficient belief propagation for early vision. International journal of computer vision, 70(1):41–54, 2006.
-  P. Felzenszwalb and D. Huttenlocher. Distance transforms of sampled functions. Technical report, Cornell University, 2004.
-  E. Jones, T. Oliphant, P. Peterson, et al. SciPy: Open source scientific tools for Python, 2001.
-  Y. Yang and D. Ramanan. Articulated human detection with flexible mixtures of parts. In PAMI, 2013.
-  D.G. Lowe. Object recognition from local scale-invariant features. In ICCV, 1999.
-  P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014.
-  J. Uijlings, K. van de Sande, T. Gevers, and A. Smeulders. Selective search for object recognition. IJCV, 2013.
-  A. Vedaldi and B. Fulkerson. VLFeat: An open and portable library of computer vision algorithms. http://www.vlfeat.org/, 2008.