Universal Correspondence Network
Christopher B. Choy, JunYoung Gwak, Silvio Savarese, Manmohan Chandraker
Introduction
Correspondence estimation is the workhorse that drives several fundamental problems in computer vision, such as 3D reconstruction, image retrieval or object recognition. Applications such as structure from motion or panorama stitching that demand sub-pixel accuracy rely on sparse keypoint matches using descriptors like SIFT . In other cases, dense correspondences in the form of stereo disparities, optical flow or dense trajectories are used for applications such as surface reconstruction, tracking, video analysis or stabilization. In yet other scenarios, correspondences are sought not between projections of the same 3D point in different images, but between semantic analogs across different instances within a category, such as beaks of different birds or headlights of cars. Thus, in its most general form, the notion of visual correspondence estimation spans the range from low-level feature matching to high-level object or scene understanding.
Traditionally, correspondence estimation relies on hand-designed features or domain-specific priors. In recent years, there has been an increasing interest in leveraging the power of convolutional neural networks (CNNs) to estimate visual correspondences. For example, a Siamese network may take a pair of image patches and generate their similiarity as the output . Intermediate convolution layer activations from the above CNNs are also usable as generic features.
However, such intermediate activations are not optimized for the visual correspondence task. Such features are trained for a surrogate objective function (patch similarity) and do not necessarily form a metric space for visual correspondence and thus, any metric operation such as distance does not have explicit interpretation. In addition, patch similarity is inherently inefficient, since features have to be extracted even for overlapping regions within patches. Further, it requires feed-forward passes to compare each of patches with other patches in a different image.
In contrast, we present the Universal Correspondence Network (UCN), a CNN-based generic discriminative framework that learns both geometric and semantic visual correspondences. Unlike many previous CNNs for patch similarity, we use deep metric learning to directly learn the mapping, or feature, that preserves similarity (either geometric or semantic) for generic correspondences. The mapping is, thus, invariant to projective transformations, intra-class shape or appearance variations, or any other variations that are irrelevant to the considered similarity. We propose a novel correspondence contrastive loss that allows faster training by efficiently sharing computations and effectively encoding neighborhood relations in feature space. At test time, correspondence reduces to a nearest neighbor search in feature space, which is more efficient than evaluating pairwise patch similarities.
The UCN is fully convolutional, allowing efficient generation of dense features. We propose an on-the-fly active hard-negative mining strategy for faster training. In addition, we propose a novel adaptation of the spatial transformer , called the convolutional spatial transformer, desgined to make our features invariant to particular families of transformations. By the learning optimal feature space that compensates for affine transformations, the convolutional spatial transformer imparts the ability to mimic patch normalization of descriptors such as SIFT. Figure 1 illustrates our framework.
The capabilities of UCN are compared to a few important prior approaches in Table 1. Empirically, the correspondences obtained from the UCN are denser and more accurate than most prior approaches specialized for a particular task. We demonstrate this experimentally by showing state-of-the-art performances on sparse SFM on KITTI, as well as dense geometric or semantic correspondences on both rigid and non-rigid bodies in KITTI, PASCAL and CUB datasets.
To summarize, we propose a novel end-to-end system that optimizes a general correspondence objective, independent of domain, with the following main contributions:
Deep metric learning with an efficient correspondence constrastive loss for learning a feature representation that is optimized for the given correspondence task.
Fully convolutional network for dense and efficient feature extraction, along with fast active hard negative mining.
Fully convolutional spatial transformer for patch normalization.
State-of-the-art correspondences across sparse SFM, dense matching and semantic matching, encompassing rigid bodies, non-rigid bodies and intra-class shape or appearance variations.
Related Works
Visual features form basic building blocks for many computer vision applications. Carefully designed features and kernel methods have influenced many fields such as structure from motion, object recognition and image classification. Several hand-designed features, such as SIFT, HOG, SURF and DAISY have found widespread applications .
Recently, many CNN-based similarity measures have been proposed. A Siamese network is used in to measure patch similarity. A driving dataset is used to train a CNN for patch similarity in , while also uses a Siamese network for measuring patch similarity for stereo matching. A CNN pretrained on ImageNet is analyzed for visual and semantic correspondence in . Correspondences are learned in across both appearance and a global shape deformation by exploiting relationships in fine-grained datasets. In contrast, we learn a metric space in which metric operations have direct interpretations, rather than optimizing the network for patch similarity and using the intermediate features. For this, we implement a fully convolutional architecture with a correspondence contrastive loss that allows faster training and testing and propose a convolutional spatial transformer for local patch normalization.
Neural networks are used in for learning a mapping where the Euclidean distance in the space preserves semantic distance. The loss function for learning similarity metric using Siamese networks is subsequently formalized by . Recently, a triplet loss is used by for fine-grained image ranking, while the triplet loss is also used for face recognition and clustering in . Mini-batches are used for efficiently training the network in .
A CNN is invariant to some types of transformations such as translation and scale due to convolution and pooling layers. However, explicitly handling such invariances in forms of data augmentation or explicit network structure yields higher accuracy in many tasks . Recently, a spatial transformer network is proposed in to learn how to zoom in, rotate, or apply arbitrary transformations to an object of interest.
Fully connected layers are converted in convolutional filters in to propose a fully convolutional framework for segmentation. Changing a regular CNN to a fully convolutional network for detection leads to speed and accuracy gains in . Similar to these works, we gain the efficiency of a fully convolutional architecture through reusing activations for overlapping regions. Further, since number of training instances is much larger than number of images in a batch, variance in the gradient is reduced, leading to faster training and convergence.
Universal Correspondence Network
We now present the details of our framework. Recall that the Universal Correspondence Network is trained to directly learn a mapping that preserves similarity instead of relying on surrogate features. We discuss the fully convolutional nature of the architecture, a novel correspondence contrastive loss for faster training and testing, active hard negative mining, as well as the convolutional spatial transformer that enables patch normalization.
To speed up training and use resources efficiently, we implement fully convolutional feature learning, which has several benefits. First, the network can reuse some of the activations computed for overlapping regions. Second, we can train several thousand correspondences for each image pair, which provides the network an accurate gradient for faster learning. Third, hard negative mining is efficient and straightforward, as discussed subsequently. Fourth, unlike patch-based methods, it can be used to extract dense features efficiently from images of arbitrary sizes.
During testing, the fully convolutional network is faster as well. Patch similarity based networks such as require feed forward passes, where is the number of keypoints in each image, as compared to only for our network. We note that extracting intermediate layer activations as a surrogate mapping is a comparatively suboptimal choice since those activations are not directly trained on the visual correspondence task.
Learning a metric space for visual correspondence requires encoding corresponding points (in different views) to be mapped to neighboring points in the feature space. To encode the constraints, we propose a generalization of the contrastive loss , called correspondence contrastive loss. Let denote the feature in image at location . The loss function takes features from images and , at coordinates and , respectively (see Figure 3). If the coordinates and correspond to the same 3D point, we use the pair as a positive pair that are encouraged to be close in the feature space, otherwise as a negative pair that are encouraged to be at least margin apart. We denote for a positive pair and for a negative pair. The full correspondence contrastive loss is given by
For each image pair, we sample correspondences from the training set. For instance, for KITTI dataset, if we use each laser scan point, we can train up to 100k points in a single image pair. However in practice, we used 3k correspondences to limit memory consumption. This allows more accurate gradient computations than traditional contrastive loss, which yields one example per image pair. We again note that the number of feed forward passes at test time is compared to for Siamese network variants . Table 2 summarizes the advantages of a fully convolutional architecture with correspondence contrastive loss.
The correspondence contrastive loss in Eq. (1) consists of two terms. The first term minimizes the distance between positive pairs and the second term pushes negative pairs to be at least margin away from each other. Thus, the second term is only active when the distance between the features and are smaller than the margin . Such boundary defines the metric space, so it is crucial to find the negatives that violate the constraint and train the network to push the negatives away. However, random negative pairs do not contribute to training since they are are generally far from each other in the embedding space.
Instead, we actively mine negative pairs that violate the constraints the most to dramatically speed up training. We extract features from the first image and find the nearest neighbor in the second image. If the location is far from the ground truth correspondence location, we use the pair as a negative. We compute the nearest neighbor for all ground truth points on the first image. Such mining process is time consuming since it requires comparisons for and feature points in the two images, respectively. Our experiments use a few thousand points for , with being all the features on the second image, which is as large as . We use a GPU implementation to speed up the K-NN search and embed it as a Caffe layer to actively mine hard negatives on-the-fly.
CNNs are known to handle some degree of scale and rotation invariances. However, handling spatial transformations explicitly using data-augmentation or a special network structure have been shown to be more successful in many tasks . For visual correspondence, finding the right scale and rotation is crucial, which is traditionally achieved through patch normalization . A series of simple convolutions and poolings cannot mimic such complex spatial transformations.
To mimic patch normalization, we borrow the idea of the spatial transformer layer . However, instead of a global image transformation, each keypoint in the image can undergo an independent transformation. Thus, we propose a convolutional version to generate the transformed activations, called the convolutional spatial transformer. As demonstrated in our experiments, this is especially important for correspondences across large intra-class shape variations.
The proposed transformer takes its input from a lower layer and for each output feature, applies an independent spatial transformation. The transformation parameters are also extracted convolutionally. Since they go through an independent transformation, the transformed activations are placed inside a larger activation without overlap and then go through a successive convolution with the stride to combine the transformed activations independently. The stride size has to be equal to the size of the spatial transformer kernel size. Figure 4 illustrates the convolutional spatial transformer module.
Experiments
We use Caffe package for implementation. Since it does not support the new layers we propose, we implement the correspondence contrastive loss layer and the convolutional spatial transformer layer, the K-NN layer based on and the channel-wise L2 normalization layer. We did not use flattening layer nor the fully connected layer to make the network fully convolutional, generating features at every fourth pixel. For accurate localization, we then extract features densely using bilinear interpolation to mitigate quantization error for sparse correspondences. Please refer to the supplementary materials for the network implementation details and visualization.
For each experiment setup, we train and test three variations of networks. First, the network has hard negative mining and spatial transformer (Ours-HN-ST). Second, the same network without spatial transformer (Ours-HN). Third, the same network without spatial transformer and hard negative mining, providing random negative samples that are at least certain pixels apart from the ground truth correspondence location instead (Ours-RN). With this configuration of networks, we verify the effectiveness of each component of Universal Correspondence Network.
We evaluate our UCN on three different tasks: geometric correspondence, semantic correspondence and accuracy of correspondences for camera localization. For geometric correspondence (matching images of same 3D point in different views), we use two optical flow datasets from KITTI 2015 Flow benchmark and MPI Sintel dataset. For semantic correspondences (finding the same functional part from different instances), we use the PASCAL-Berkeley dataset with keypoint annotations and a subset used by FlowWeb . We also compare against prior state-of-the-art on the Caltech-UCSD Bird dataset. To test the accuracy of correspondences for camera motion estimation, we use the raw KITTI driving sequences which include Velodyne scans, GPS and IMU measurements. Velodyne points are projected in successive frames to establish correspondences and any points on moving objects are removed.
To measure performance, we use the percentage of correct keypoints (PCK) metric (or equivalently “accuracy@T” ). We extract features densely or on a set of sparse keypoints (for semantic correspondence) from a query image and find the nearest neighboring feature in the second image as the predicted correspondence. The correspondence is classified as correct if the predicted keypoint is closer than pixels to ground-truth (in short, PCK@). Unlike many prior works, we do not apply any post-processing, such as global optimization with an MRF. This is to capture the performance of raw correspondences from UCN, which already surpasses previous methods.
We pick random correspondences in each KITTI or MPI Sintel image during training. We consider a correspondence as a hard negative if the nearest neighbor in the feature space is more than pixels away from the ground truth correspondence. We used the same architecture and training scheme for both datasets. Following convention , we measure PCK at 10 pixel threshold and compare with the state-of-the-art methods on Table 3. SIFT-flow , DaisyFF , DSP , and DM best use additional global optimization to generate more accurate correspondences. On the other hand, just our raw correspondences outperform all the state-of-the-art methods. We note that the spatial transformer does not improve performance in this case, likely due to overfitting to a smaller training set. As we show in the next experiments, its benefits are more apparent with a larger-scale dataset and greater shape variations.
We also used KITTI raw sequences to generate a large number of correspondences, and we split different sequences into train and test sets. The details of the split is on the supplementary material. We plot PCK for different thresholds for various methods with densely extracted features on the larger KITTI raw dataset in Figure 5(a). The accuracy of our features outperforms all traditional features including SIFT , DAISY and KAZE . Due to dense extraction at the original image scale without rotation, SIFT does not perform well. So, we also extract all features except ours sparsely on SIFT keypoints and plot PCK curves in Figure 5(b). All the prior methods improve (SIFT dramatically so), but our UCN features still perform significantly better even with dense extraction. Also note the improved performance of the convolutional spatial transformer. PCK curves for geometric correspondences on individual semantic classes such as road or car are in supplementary material.
The UCN can also learn semantic correspondences invariant to intra-class appearance or shape variations. We independently train on the PASCAL dataset with various annotations and on the CUB dataset , with the same network architecture.
We again use PCK as the metric . To account for variable image size, we consider a predicted keypoint to be correctly matched if it lies within Euclidean distance of the ground truth keypoint, where is the size of the image and is a variable we control. For comparison, our definition of varies depending on the baseline. Since intraclass correspondence alignment is a difficult task, preceding works use either geometric or learned spatial priors. However, even our raw correspondences, without spatial priors, achieve stronger results than previous works.
As shown in Table 4 and 5, our approach outperforms that of Long et al. by a large margin on the PASCAL dataset with Berkeley keypoint annotation, for most classes and also overall. Note that our result is purely from nearest neighbor matching, while uses global optimization too. We also train and test UCN on the CUB dataset , using the same cleaned test subset as WarpNet . As shown in Figure 8, we outperform WarpNet by a large margin. However, please note that WarpNet is an unsupervised method. Please see Figure 7 for qualitative matches. Results on FlowWeb datasets are in supplementary material, with similar trends.
Finally, we observe that there is a significant performance improvement obtained through use of the convolutional spatial transformer, in both PASCAL and CUB datasets. This shows the utility of estimating an optimal patch normalization in the presence of large shape deformations.
We use KITTI raw sequences to get more training examples for this task. To augment the data, we randomly crop and mirror the images and to make effective use of our fully convolutional structure, we use large images to train thousands of correspondences at once.
We establish correspondences with nearest neighbor matching, use RANSAC to estimate the essential matrix and decompose it to obtain the camera motion. Among the four candidate rotations, we choose the one with the most inliers as the estimate , whose angular deviation with respect to the ground truth is reported as . Since translation may only be estimated up to scale, we report the angular deviation between unit vectors along the estimated and ground truth translation from GPS-IMU.
In Table 6, we list decomposition errors for various features. Note that sparse features such as SIFT are designed to perform well in this setting, but our dense UCN features are still quite competitive. Note that intermediate features such as learn to optimize patch similarity, thus, our UCN significantly outperforms them since it is trained directly on the correspondence task.
Conclusion
We have proposed a novel deep metric learning approach to visual correspondence estimation, that is shown to be advantageous over approaches that optimize a surrogate patch similarity objective. We propose several innovations, such as a correspondence contrastive loss in a fully convolutional architecture, on-the-fly active hard negative mining and a convolutional spatial transformer. These lend capabilities such as more efficient training, accurate gradient computations, faster testing and local patch normalization, which lead to improved speed or accuracy. We demonstrate in experiments that our features perform better than prior state-of-the-art on both geometric and semantic correspondence tasks, even without using any spatial priors or global optimization. In future work, we will explore applications of our correspondences for rigid and non-rigid motion or shape estimation as well as applying global optimization.
This work was part of C. Choy’s internship at NEC Labs. We acknowledge the support of Korea Foundation of Advanced Studies, Toyota Award #122282, ONR N00014-13-1-0761, and MURI WF911NF-15-1-0479.
References
A.1 Network Architecture
We use the ImageNet pretrained GoogLeNet , from the bottom conv1 to the inception_4a layer, but we used stride 2 for the bottom 2 layers and 1 for the rest of the network. We followed the convention of to normalize the features, which we found to stabilize the gradients during training. Since we are densely extracting features convolutionally, we implement the channel-wise normalization layer which makes all features have a unit L2 norm.
After the inception_4a layer, we place the correspondence contrastive loss layer which takes features from both images as well as the respective correspondence coordinates in each image. The correspondences are densely sampled from either flow or matched keypoints. Since the semantic keypoint correspondences are sparse, we augment them with random negative coordinates. When we use the active hard-negative sampling, we place the K-NN layer which returns the nearest neighbor of query image keypoints in the reference image.
We visualize the universal correspondence network on Fig. A1. The model includes the hard negative mining, the convolutional spatial transfomer, and the correspondence contrastive loss. The caffe prototxt file and the interactive web visualization using is available at http://cvgl.stanford.edu/projects/ucn/.
A.2 Convolutional Spatial Transformer
The convolutional spatial transformer consists of a number of affine spatial transformers. The number of affine spatial transformers depends on the size of the image. For each spatial transformer, the origin of the coordinate is at the center of each kernel. We denote as the coordinates of the sampled points from the previous input and for coordinates of the points on the output layer . Typically, are the coordinates of nodes on a grid. are affine transformation parameters. The coordinates of the sampled points and the target points satisfy the following equation.
To get the output at , we use bilinear interpolation to sample values around . Let be the values at lower left, lower right, upper left, and upper right respectively.
The gradients with respect to the input features are
Finally, the gradients with respect to the transformation parameters are
A.3 Additional tests for semantic correspondence
We compared the performance of UCN with FlowWeb . As shown in Tab. A1, our approach outperforms FlowWeb. Please note that FlowWeb is an optimization in unsupervised setting thus we split their data per class to train and test our network.
Please refer to Fig A2 and A3 for additional qualitative semantic match results.
A.4 Additional KITTI Raw Results
We used a subset of KITTI raw video sequences for all our experiments. The dataset has 9268 frames which amounts to 15 minutes of driving. Each frame consists of Velodyne scan, stereo RGB images, GPS-IMU sensor input. In addition, we used proprietary segmentation data from NEC to evaluate the performance on different semantic classes.
We excluded the sequence number 17, 18, 60 since the scenes in the videos are mostly static. Also, we exclude 93 since the GPS-IMU inputs are too noisy.
In Figure A5, we plot the variation in PCK at 30 pixels for various camera baselines in our test set. We label semantic classes on the KITTI raw sequences and evaluate the PCK performance on different semantic classes in Figure A4. The curves have same color codes as Figure 5 in the main paper.
A.5 KITTI Dense Correspondences
In this section, we present more qualitative results of nearest neighbor matches using our universal correspondence network on KITTI images on Fig. A6.
A.6 Sintel Dense Correspondences
In this section, we present more qualitative results of nearest neighbor matches using our universal correspondence network on Sintel images on Fig. A7.