arxiv: v1 [cs.cv] 1 Jun 2018

Similar documents
Robust Face Recognition Based on Convolutional Neural Network

Clustering Lightened Deep Representation for Large Scale Face Identification

arxiv: v4 [cs.cv] 30 May 2018

Channel Locality Block: A Variant of Squeeze-and-Excitation

Supplementary Material: Unsupervised Domain Adaptation for Face Recognition in Unlabeled Videos

arxiv: v1 [cs.cv] 31 Mar 2017

Face Recognition via Active Annotation and Learning

Cost-alleviative Learning for Deep Convolutional Neural Network-based Facial Part Labeling

FaceNet. Florian Schroff, Dmitry Kalenichenko, James Philbin Google Inc. Presentation by Ignacio Aranguren and Rahul Rana

HENet: A Highly Efficient Convolutional Neural. Networks Optimized for Accuracy, Speed and Storage

Proceedings of the International MultiConference of Engineers and Computer Scientists 2018 Vol I IMECS 2018, March 14-16, 2018, Hong Kong

Face Recognition A Deep Learning Approach

Convolutional Neural Networks. Computer Vision Jia-Bin Huang, Virginia Tech

A FRAMEWORK OF EXTRACTING MULTI-SCALE FEATURES USING MULTIPLE CONVOLUTIONAL NEURAL NETWORKS. Kuan-Chuan Peng and Tsuhan Chen

Improving Face Recognition by Exploring Local Features with Visual Attention

Facial Key Points Detection using Deep Convolutional Neural Network - NaimishNet

De-mark GAN: Removing Dense Watermark With Generative Adversarial Network

arxiv: v1 [cs.cv] 16 Nov 2015

Improved Face Detection and Alignment using Cascade Deep Convolutional Network

MobileFaceNets: Efficient CNNs for Accurate Real- Time Face Verification on Mobile Devices

LARGE-SCALE PERSON RE-IDENTIFICATION AS RETRIEVAL

3D Densely Convolutional Networks for Volumetric Segmentation. Toan Duc Bui, Jitae Shin, and Taesup Moon

Computer Vision Lecture 16

Tiny ImageNet Visual Recognition Challenge

A Patch Strategy for Deep Face Recognition

Supplementary material for Analyzing Filters Toward Efficient ConvNet

arxiv: v1 [cs.cv] 29 Sep 2016

Kaggle Data Science Bowl 2017 Technical Report

Real-time Object Detection CS 229 Course Project

arxiv: v1 [cs.lg] 12 Jul 2018

Content-Based Image Recovery

Volumetric and Multi-View CNNs for Object Classification on 3D Data Supplementary Material

Edge Detection Using Convolutional Neural Network

Computer Vision Lecture 16

Deep Neural Networks:

Finding Tiny Faces Supplementary Materials

arxiv: v1 [cs.cv] 6 Jul 2016

FACIAL POINT DETECTION USING CONVOLUTIONAL NEURAL NETWORK TRANSFERRED FROM A HETEROGENEOUS TASK

DeepIndex for Accurate and Efficient Image Retrieval

Computer Vision Lecture 16

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18,

Deep Fisher Faces. 1 Introduction. Harald Hanselmann

Convolution Neural Network for Traditional Chinese Calligraphy Recognition

arxiv: v1 [cs.cv] 31 Mar 2016

Multi-Glance Attention Models For Image Classification

FACIAL POINT DETECTION BASED ON A CONVOLUTIONAL NEURAL NETWORK WITH OPTIMAL MINI-BATCH PROCEDURE. Chubu University 1200, Matsumoto-cho, Kasugai, AICHI

Handwritten Chinese Character Recognition by Joint Classification and Similarity Ranking

arxiv: v1 [cs.cv] 4 Dec 2014

REGION AVERAGE POOLING FOR CONTEXT-AWARE OBJECT DETECTION

Improving Face Recognition by Exploring Local Features with Visual Attention

Application of Convolutional Neural Network for Image Classification on Pascal VOC Challenge 2012 dataset

Deep Face Recognition. Nathan Sun

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

CNNS FROM THE BASICS TO RECENT ADVANCES. Dmytro Mishkin Center for Machine Perception Czech Technical University in Prague

Residual vs. Inception vs. Classical Networks for Low-Resolution Face Recognition

arxiv: v1 [cs.cv] 30 Oct 2016

Facial Expression Classification with Random Filters Feature Extraction

DeepFace: Closing the Gap to Human-Level Performance in Face Verification

High Performance Large Scale Face Recognition with Multi-Cognition Softmax and Feature Retrieval

An Exploration of Computer Vision Techniques for Bird Species Classification

Structured Prediction using Convolutional Neural Networks

Ensemble Soft-Margin Softmax Loss for Image Classification

Elastic Neural Networks for Classification

Deep Learning for Face Recognition. Xiaogang Wang Department of Electronic Engineering, The Chinese University of Hong Kong

Deep Learning with Tensorflow AlexNet

COMP9444 Neural Networks and Deep Learning 7. Image Processing. COMP9444 c Alan Blair, 2017

Clustering and Unsupervised Anomaly Detection with l 2 Normalized Deep Auto-Encoder Representations

arxiv: v3 [cs.cv] 18 Jan 2017

Deep Learning for Computer Vision II

SSD: Single Shot MultiBox Detector. Author: Wei Liu et al. Presenter: Siyu Jiang

COMP 551 Applied Machine Learning Lecture 16: Deep Learning

arxiv: v1 [cs.cv] 20 Dec 2016

PT-NET: IMPROVE OBJECT AND FACE DETECTION VIA A PRE-TRAINED CNN MODEL

Groupout: A Way to Regularize Deep Convolutional Neural Network

Deep Learning For Video Classification. Presented by Natalie Carlebach & Gil Sharon

Deep Learning for Vision

FISHER VECTOR ENCODED DEEP CONVOLUTIONAL FEATURES FOR UNCONSTRAINED FACE VERIFICATION

Ryerson University CP8208. Soft Computing and Machine Intelligence. Naive Road-Detection using CNNS. Authors: Sarah Asiri - Domenic Curro

Cross-domain Deep Encoding for 3D Voxels and 2D Images

Rotation Invariance Neural Network

Part Localization by Exploiting Deep Convolutional Networks

Learning Deep Representations for Visual Recognition

Detecting Faces Using Inside Cascaded Contextual CNN

Deep Tracking: Biologically Inspired Tracking with Deep Convolutional Networks

Deep Learning in Visual Recognition. Thanks Da Zhang for the slides

Weighted Convolutional Neural Network. Ensemble.

Machine Learning. Deep Learning. Eric Xing (and Pengtao Xie) , Fall Lecture 8, October 6, Eric CMU,

CEA LIST s participation to the Scalable Concept Image Annotation task of ImageCLEF 2015

Deep Convolutional Neural Network using Triplet of Faces, Deep Ensemble, and Scorelevel Fusion for Face Recognition

Supplementary Material: Unconstrained Salient Object Detection via Proposal Subset Optimization

Study of Residual Networks for Image Recognition

Feature-Fused SSD: Fast Detection for Small Objects

Real-time Hand Tracking under Occlusion from an Egocentric RGB-D Sensor Supplemental Document

YOLO9000: Better, Faster, Stronger

Direct Multi-Scale Dual-Stream Network for Pedestrian Detection Sang-Il Jung and Ki-Sang Hong Image Information Processing Lab.

Comparison of Fine-tuning and Extension Strategies for Deep Convolutional Neural Networks

Deep Learning. Visualizing and Understanding Convolutional Networks. Christopher Funk. Pennsylvania State University.

Video Gesture Recognition with RGB-D-S Data Based on 3D Convolutional Networks

Inception and Residual Networks. Hantao Zhang. Deep Learning with Python.

Machine Learning 13. week

Transcription:

Accurate and Efficient Similarity Search for Large Scale Face Recognition Ce Qi BUPT Zhizhong Liu BUPT Fei Su BUPT arxiv:1806.00365v1 [cs.cv] 1 Jun 2018 Abstract Face verification is a relatively easy task with the help of discriminative features from deep neural networks. However, it is still a challenge to recognize faces on millions of identities while keeping high performance and efficiency. The challenge 2 of MS-Celeb-1M[9, 8] is a classification task. However, the number of identities is too large and it is not that elegant to treat the task as an image classification task. We treat the classification task as similarity search and do experiments on different similarity search strategies. Similarity search strategy accelerates the speed of searching and boosts the accuracy of final results. The model used for extracting features is a single deep neural network pretrained on CASIA-Webface[37], which is not trained on the base set or novel set offered by official. Finally, we rank 3rd 1 in challenge 2 of MS-Celeb-1M[9, 8], while the speed of searching is 1ms/image. 1. Introduction Recently, deep neural networks[17, 18] have achieved state of the art performance in computer vision tasks, such as visual object classification and recoginition[17, 10, 35], showing the power of the extracted discriminative features. The performance of face recognition[26, 29, 27, 25, 28, 23, 33] has been boosted for the discriminative features extracted from deep neural networks, especially CNN[17, 10, 35], which mainly benefits from the large scale of training data[23, 17] and computing resources. The challenge 2 of MS-Celeb-1M[9, 8] is a problem of low-shot face recognition, with the goal to build a largescale face recognizer capable of recognizing a substantial number of individuals with high precision and high recall. The goal is to study when tens of images are given for each person in the base set while only one to five images are given for each person in the novel set. The main difficulty of challenge 2 is: (a) the small amount of training data for 1 Leaderboard: https://www.msceleb.org/leaderboard/c2 novel set; (b) the number of training data for base set is much large than novel set s. Therefor, we develop an algorithm to recognize the persons in both the data sets, by proposing a new pipeline for face recognition/search. 1.1. Face recognition For face recognition task, there are several works learning with even more discriminative features to further improve the performance of deep neural networks. Some researchers use deeper, wider and more complex network structures to obtain better features[10, 35]. There are also some other efforts on new non-linear activations[11, 6], dropout[17] and batch normalization[13] to make the networks perform better. Except for powerful network structure, another kind of approaches to improve the performance of face recognition is metric learning. Using auxiliary loss to supervise the training of networks is a simply way in metric learning, such as contrastive loss[25], triplet loss[23], center loss[33], contrastive-center loss[22] and NormFace[32]. These approaches are proposed for the purpose of more discriminative features by enforcing better intra-class compactness and inter-class separability. The contrastive loss[25] and triplet loss[23] do really improve the performance of networks but they all need carefully selected pairs or triplets. And the selection of pairs and triplets have influences on the training results of deep neural networks. What s more, if all possible training samples combinations are chosen, the number of training pairs and triplets would theoretically go up to O(N 2 ), where N is the total number of training samples. The center loss[33] and contrastive-center loss[33], which learn a center for each class, both are a kind of new novel loss to enforce extra intra-class compactness or inter-class separability. The center loss does not consider the inter-class separability, but contrastive-center loss does. The NormFace[32] considers feature normalization and optimizes cosine similarity directly instead of inner-product. However, it is still a challenge to do face recognition in the wild, mainly because of the large variance of faces. In case of identifying one face in more than one million faces, 1

conventional approach just compares the cosine similarity simply, which may decrease the performance and not that efficient. 1.2. Similarity search Nowadays, there are large amounts of images and videos, especially from the Internet. How to get the images or videos we are interested in are important. However, interpretation and searching of images and videos are not that easy and require accurate and efficient algorithms. A variety of machine learning and deep learning algorithms are being used to help the interpretation and searching of these complex, real-world entities. In this context, searching by numerical similarity rather via structured relations is more suitable[16, 7]. Using the similarity could find the most similar content to a picture, or find the vectors that are most similar. State of the art similarity search methods like NN- Descent[4] have a large memory overhead on top of the dataset itself and cannot readily scale to billion-sized databases, such as MS-Celeb-1M[9, 8]. Therefore, using NN-Desent like methods to compute a k-nn graph is not practical. Rendering both exhaustive search and exact indexing for non-exhaustive search are impractical on billionsized databases. So, the approximate search or graph construction is fit for the task of efficient and accurate similarity search on billion-sized datasets. The methods based on product quantization(pq) codes[14, 16, 2, 5] are shown to be more effective than binary codes[19], for the binary codes incur important overheads for non-exhaustive search[20]. However, most of the methods about PQ are difficult to implement efficiently on GPUs[16]. There are also many other implementations of similarity search on GPUs[16], but most of them are with binary codes[21], small datasets[31], or exhaustive search[3, 24, 30], which are not elegant. The most outstanding similarity search methods based on PQ are [34] and [16]. Using effective similarity search method will help the task of similarity search significantly. 1.3. Combining similarity search with face recognition To boost the performance of face recognition, there are many strategies, such as using very large scale training data[23], metric learnings[25, 23, 33, 22, 32] and deeper and wider neural networks[10, 35]. However, these strategies are not that appropriate in the condition of face recognition 1:N when N is a too large number. In some cases, the base search datasets may contain some error-labeled face images or non-face images. Otherwise, the internal structure and contact of base search datasets is a good clustering reference, which is significant for face recognition in (a) preprocessing (b) face search Figure 1. Face search pipeline billion-sized datasets. In the condition of searching faces when base dataset is billion-sized, it is necessary to adopt some strategies to speed up the searching while keeping high accuracy. In face verification or face recognition, similarity score is mostly used to indicate the similarity of two faces. To speed up the searching while keeping high accuracy in million-sized face recognition, such as MS-Celeb-1M[9, 8], we adopt similarity search strategies based on product quantization[16], which are most efficient and accurate similarity search methods. What s more, these methods are implemented on GPUs, which will boost the search speed further. In this paper, we will propose a new pipeline for face recognition/search on very large scale face datasets, as shown in Fig. 1. It mainly consists of two stages: 1. In the stage of preprocessing, image classification and clustering are used to remove the non-face images and errorlabeled images. 2. In the stage of searching, face re-detection and realignment are used to get better normalized face images. A pretrained deep neural network followed to extract features. Finally, PQ methods are introduced to establish a search engine for efficient and accurate face search. And the efficient implementation on GPUs will boost the speed of searching further. The details will be described in the later sections. 2. Preprocessing on face images There are many non-face images and error-labeled face images, as shown in Fig. 2 and Fig. 3, which will decrease the final accuracy. Therefore, image classification and clustering are used firstly in our proposed scheme to remove the error-labeled face images and non-face images in the large scale face datasets[9, 8]. Then, face re-detection and re-alignment is used to improve the accuracy of face recognition further.

2.1. Image classification and clustering Firstly, we train an image classification model to class face and non-face. The dataset used is WIDER FACE[36]. The detail of training the network is described in Section 5.1. After training the classification network, all the images in base and novel set in challenge 2 of MS-Celeb-1M[9, 8] are classified by the network and only the face images suitable for face recognition are kept. In the process of classification, face images not containing full faces are removed. Secondly, to remove those error-labeled face images, clustering is done for every image folders in the base set. Face images of different people are divided into corresponding folders, which are named by Freebase MID. One folder should contains images of one person. Clustering on every folder is proposed through features extracted from a deep neural network. The number of clustering center of every folder is set to 2, and the center has more points will be set as main center. The scheme of removing error-labeled face images is to compare the extracted features distance between the image and main center. If the distance is larger than twice of the average distance of corresponding points, the image will be removed. After the clustering, most of the folders in the base set only contain single person s face images. Figure 2. Non-face images and partial face images. These images will decrease the accuracy of face recognition. 2.2. Face re-detection and re-alignment Although the dataset have been cleaned and normalized, some images are not well aligned, such as the first row of Fig. 6. What is more, to improve the accuracy of face recognition, using same face detection and alignment methods to do face model training and testing is very significant, which can be seen when comparing Table 3 and Table 4. Therefore, after removing non-face images and error-labeled face images, we do face re-detection and re-alignment. Note that many faces in the dataset[9, 8] are hard to be detected. As shown in Fig. 4, the face detector cannot detect the faces, for the face is too large or the quality of images are not that good. So, we use some tricks to handle this problem. As shown in Fig. 5, we pad zeros for those face images hard to be detected. The padding size in width and height is equal to the corresponding width and height of images. The padding will make the faces are relatively easier to be detected. If faces cannot be detected after padding, the original images will be used. 3. Discriminative face feature extractor A deep neural network is used as feature extractor. And the input images are normalized by face detection and alignment through similarity transformation. Note that the model for extracting features is only trained on CASIA- Webface[37], not trained on MS-Celeb-1M[9, 8]. Figure 3. Error-labeled face images. These images are in one folder. All images in this folder have same label, but belong to different people. 3.1. Face detection and alignment Face features can be extracted through a deep neural network. Before extracting features, face detection and alignment will be done here. MTCNN[38] algorithm is used for face detection and landmark detection. We use 5 landmarks (two eyes, nose and mouth corners) for similarity transformation. The face images are cropped to 112 96 RGB images, and each pixel (in [0,255]) in RGB images is normalized by subtracting 127.5 then divided by 128.

Figure 4. Some examples of face images hard to do face detection (a) a (b) b (c) c (d) d Figure 5. Face image padding Figure 6. Original face images VS normalized face images. Do re-normalization will make the accuracy of face recognition increased, which can be seen when comparing Table 3 and Table 4 3.2. Face recognition model After preprocessing, face detection and alignment, we train a single deep neural network for feature extraction, called FRN(or FaceResNet), which is the same as NormFace[32]. The structure of the deep neural network is shown in Table 1. The FRN is trained under the supervision of improved softmax loss used in NormFace[32] and contrastive-center loss[22] jointly to get more discriminative feature. 4. Similarity search for face recognition After the preprocessing of cleaning non-face images and error-labeled face images of challenge 2 in MS-Celeb- 1M[9, 8] and the training of face feature extractor, we implement an accurate and efficient face recognition/search engine using similarity search methods based on PQ. Here, layer name FRN conv1a 3 3, 32 conv1b 3 3, 64 pool1b 2 2, max conv2 x 1 3 3, 64 3 3, 64 conv2 3 3, 128 pool2 2 2, max conv3 x 2 3 3, 128 3 3, 128 conv3 3 3, 256 pool3 2 2, max conv4 x 5 3 3, 256 3 3, 256 conv4 3 3, 512 pool4 2 2, max conv5 x 3 3 3, 512 3 3, 512 fc5 512 Loss improved softmax loss[32] and contrastive-center loss[22] Table 1. The CNNs architecture[32] use for face feature extractor, which is called FRN(or FaceResNet). 3 3, 64 denotes convolution layers with 64 filters of size 3 3. stride 2 denotes the stride size is 2. max pool denotes max pooling. The brace and its left number denote the structure will duplicate for times of the left number. the open-source framework Faiss[1], based on [16], is used. The face search engine construction step is as follows: 1. Extracting features of cleaned base set and top-1 novel set of challenge 2 in MS-Celeb-1M[9, 8] as base search set. 2. Using different strategies for face search, and testing on the validation set developed by ourselves and development set offered by official[9, 8]. 5. Experiments To evaluate the performance of similarity search engine for face recognition/search, we make validation set by ourself. The validation set contains images of 1,000 people, while 800(80%) people from base set or novel set of challenge 2 and 200(20%) from other set(individuals belongs to MS-Celeb-1M but not in base set or novel set in challenge 2). And Fig. 7 shows the detail of the validation set made by ourself. We randomly select three face images for each 1,000 people, so the total number of face images in the validation set is 3,000. Note that the images chosen as validation set are independent of the images used as base search set, which consist of images from base set and novel set. And the development set offered by official[9, 8] consists of 20,000 face images from base set and 5,000 face images from novel set, totally 25,000 face images. 5.1. Experiments on preprocessing As mentioned before, the image classification and clustering are used to remove non-face images and error-labeled face images. Caffenet[15], which is pretrained on ImageNet dataset[17], is used as the image classification model.

feature fusing strategy accuracy on LFW(%) single image 98.8 concatenate 98.82 SORT 98.83 PROD 98.1 SUM 99 MAX 98.97 (a) Table 2. Accuracy of different feature fusing strategy on LFW[12]. The accuracy of eltwise sum is the highest. 5.3. Experiments on search strategies (b) Figure 7. Validation set made by ourself. The size of input image is 256, then cropped to 224. For the training set and validation set, random crop is adopted on the images to sample positive samples and negative samples. If a crop has overlap higher than 0.85 with any ground-truth box, it will be treated as a positive sample. Otherwise, if it is lower than 0.7 with any ground-truth box, it will be treated as a negative sample. we empirically set the boundary, which makes the positive samples are all full face images. Note that all the positive and negative samples are augmented only by flipping and dimming. Other augmentation strategies are not suitable for the network to classify whether one image is appropriate for face recognition. The final accuracy on validation set is nearly 99.5%, which proves that the image classification is robust enough to remove non-face images and partial face images. 5.2. Experiments on LFW MTCNN algorithm[38] is used to do face detection and alignment, as described in section 5.2. The training data is cleaned for wrong collected images. People overlapping between the outside training data and the LFW testing data are excluded. After getting all normalized face images of CASIA-Webface[37], we train the network under the supervision of improved softmax loss used in NormFace[32] and contrastive-center loss[22] jointly. PCA is not used for face recognition here. When testing, original image and its flipped one are used to extract features. Then, two 512-d features are fused into one 512-d by eltwise sum. Table 2 shows the details of different feature fusing strategies. The best final accuracy on LFW is 99% with eltwise strategy of sum. To evaluate the performance of the proposed pipeline for face recognition/search on large scale datasets, comparisons of different search strategies are given on validation set and development set. The processed base set and top-1 novel set are used as base search set, and the images chosen as validation set are excluded from the base search set in the stage of testing. The processing of image classification and clustering to remove non-face images and error-labeled face images are excluded in testing. Table 3 and Table 4 give the comparison of using original images aligned by official[9, 8] and preprocessed images obtained by our face re-detection and re-alignment. It proves the efficiency of the proposed preprocess scheme. In addition, Table 3 and Table 4 gives the comparisons of using three different similarity search strategies including exact search for L2, inverted file with exact post-verification and coarse quantizer+pq on residuals, which corresponding to cpu search 0, cpu search 1 and cpu search 2 respectively. The meaning of gpu search * is the same as cpu search *, except running on GPUs. From the results listed in Table 3 and Table 4, we can conclude that: 1. Exact search for L2 has the highest accuracy. And the program running on GPUs is faster. The speed of search is 1ms/(per image), which is very efficient. 2. Face re-detection and re-alignment boosts the accuracy significantly. 3. For base search set, there are 21,000 individuals. However, do clustering for base search set makes the performance decreased, it seems that the clustering in Faiss[1] for the base search set may not that accurate, which leads to worse results. Other possible reason is the number of images in base search set is not enough for accurate clustering. How to do clustering on base search set to raise the accuracy of face search is our future work. Based on the results given in Table 3 and Table 4, we use exact search for L2 on GPUs for face search in challenge 2 of MS-Celeb-1M[9, 8]. And the speed of searching is 1ms/image, which is very efficient.

search strategy(ori image) num of clustering center accuracy on validation set(%) time(s) cpu search 0-72.3 1121.37 cpu search 1 1000 60.6 638.56 cpu search 1 21,000 53.66 4613.36 cpu search 2 1000 32.74 704.06 cpu search 2 21,000 39.56 4678.33 gpu search 0-72.3 260.51 gpu search 1 1000 46.7 1121.53 gpu search 1 21,000 - - Table 3. Accuracy comparisons of different search strategies(use original images). search strategy(re-norm image) num of clustering center accuracy on validation set(%) time(s) cpu search 0-86.18 1036.69 cpu search 1 1,000 78.32 279.01 cpu search 1 21,000 70.38 4298.65 cpu search 2 1,000 41.76 367.24 cpu search 2 21,000 41.1 4430.04 gpu search 0-86.18 255.63 gpu search 1 1,000 - - gpu search 1 21,000 - - Table 4. Accuracy comparisons of different search strategies(use images processed by face re-detection and re-alignment). 6. Conclusion In this paper, we design a new pipeline for face recogtion/search on large scale datasets. We use image classification and clustering to remove non-face images and errorlabeled face images in the base search set. Face re-detection and re-alignment is introduced to make the features more discriminative. And similarity search method improves accuracy and efficiency of face search. Finally, we rank 3rd on challenge 2 of MS-Celeb-1M. References [1] Faiss. https://github.com/facebookresearch/ faiss. 4, 5 [2] A. Babenko and V. Lempitsky. The inverted multi-index. In Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, pages 3069 3076. IEEE, 2012. 2 [3] A. Dashti, I. Komarov, and R. M. DSouza. Efficient computation of k-nearest neighbour graphs for large high-dimensional data sets on gpu clusters. PloS one, 8(9):e74113, 2013. 2 [4] W. Dong, C. Moses, and K. Li. Efficient k-nearest neighbor graph construction for generic similarity measures. In Proceedings of the 20th international conference on World wide web, pages 577 586. ACM, 2011. 2 [5] T. Ge, K. He, Q. Ke, and J. Sun. Optimized product quantization. IEEE transactions on pattern analysis and machine intelligence, 36(4):744 755, 2014. 2 [6] I. J. Goodfellow, D. Warde-Farley, M. Mirza, A. C. Courville, and Y. Bengio. Maxout networks. ICML (3), 28:1319 1327, 2013. 1 [7] A. Gordo, J. Almazán, J. Revaud, and D. Larlus. Deep image retrieval: Learning global representations for image search. In European Conference on Computer Vision, pages 241 257. Springer, 2016. 2 [8] Y. Guo and L. Zhang. One-shot face recognition by promoting underrepresented classes. arxiv preprint arxiv: 1707.05574, 2017. 1, 2, 3, 4, 5 [9] Y. Guo, L. Zhang, Y. Hu, X. He, and J. Gao. MS-Celeb-1M: A dataset and benchmark for large scale face recognition. In European Conference on Computer Vision. Springer, 2016. 1, 2, 3, 4, 5 [10] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. arxiv preprint arxiv:1512.03385, 2015. 1, 2 [11] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In Proceedings of the IEEE International Conference on Computer Vision, pages 1026 1034, 2015. 1 [12] G. B. Huang, M. Ramesh, T. Berg, and E. Learned-Miller. Labeled faces in the wild: A database for studying face recognition in unconstrained environments. Technical Report 07-49, University of Massachusetts, Amherst, October 2007. 5 [13] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arxiv preprint arxiv:1502.03167, 2015. 1 [14] H. Jegou, M. Douze, and C. Schmid. Product quantization for nearest neighbor search. IEEE transactions on pattern analysis and machine intelligence, 33(1):117 128, 2011. 2 [15] 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. 4 [16] J. Johnson, M. Douze, and H. Jégou. Billion-scale similarity search with gpus. arxiv preprint arxiv:1702.08734, 2017. 2, 4 [17] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097 1105, 2012. 1, 4 [18] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural computation, 1(4):541 551, 1989. 1 [19] M. Norouzi and D. J. Fleet. Cartesian k-means. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3017 3024, 2013. 2 [20] M. Norouzi, A. Punjani, and D. J. Fleet. Fast search in hamming space with multi-index hashing. In Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, pages 3108 3115. IEEE, 2012. 2 [21] J. Pan and D. Manocha. Fast gpu-based locality sensitive hashing for k-nearest neighbor computation. In Proceedings of the 19th ACM SIGSPATIAL international conference on advances in geographic information systems, pages 211 220. ACM, 2011. 2 [22] C. Qi and F. Su. Contrastive-center loss for deep neural networks. arxiv preprint arxiv:1707.07391, 2017. 1, 2, 4, 5 [23] F. Schroff, D. Kalenichenko, and J. Philbin. Facenet: A unified embedding for face recognition and clustering. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 815 823, 2015. 1, 2 [24] N. Sismanis, N. Pitsianis, and X. Sun. Parallel search of k-nearest neighbors with synchronous operations. In High

Performance Extreme Computing (HPEC), 2012 IEEE Conference on, pages 1 6. IEEE, 2012. 2 [25] Y. Sun, Y. Chen, X. Wang, and X. Tang. Deep learning face representation by joint identification-verification. In Advances in Neural Information Processing Systems, pages 1988 1996, 2014. 1, 2 [26] Y. Sun, X. Wang, and X. Tang. Hybrid deep learning for face verification. In Proceedings of the IEEE International Conference on Computer Vision, pages 1489 1496, 2013. 1 [27] Y. Sun, X. Wang, and X. Tang. Deep learning face representation from predicting 10,000 classes. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1891 1898, 2014. 1 [28] Y. Sun, X. Wang, and X. Tang. Deeply learned face representations are sparse, selective, and robust. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2892 2900, 2015. 1 [29] Y. Taigman, M. Yang, M. Ranzato, and L. Wolf. Deepface: Closing the gap to human-level performance in face verification. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1701 1708, 2014. 1 [30] X. Tang, Z. Huang, D. Eyers, S. Mills, and M. Guo. Efficient selection algorithm for fast k-nn search on gpus. In Parallel and Distributed Processing Symposium (IPDPS), 2015 IEEE International, pages 397 406. IEEE, 2015. 2 [31] A. Wakatani and A. Murakami. Gpgpu implementation of nearest neighbor search with product quantization. In Parallel and Distributed Processing with Applications (ISPA), 2014 IEEE International Symposium on, pages 248 253. IEEE, 2014. 2 [32] F. Wang, X. Xiang, J. Cheng, and A. L. Yuille. Normface: l 2 hypersphere embedding for face verification. arxiv preprint arxiv:1704.06369, 2017. 1, 2, 4, 5 [33] Y. Wen, K. Zhang, Z. Li, and Y. Qiao. A discriminative feature learning approach for deep face recognition. In European Conference on Computer Vision, pages 499 515. Springer, 2016. 1, 2 [34] P. Wieschollek, O. Wang, A. Sorkine-Hornung, and H. Lensch. Efficient large-scale approximate nearest neighbor search on the gpu. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2027 2035, 2016. 2 [35] S. Xie, R. Girshick, P. Dollár, Z. Tu, and K. He. Aggregated residual transformations for deep neural networks. arxiv preprint arxiv:1611.05431, 2016. 1, 2 [36] S. Yang, P. Luo, C.-C. Loy, and X. Tang. Wider face: A face detection benchmark. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 5525 5533, 2016. 3 [37] D. Yi, Z. Lei, S. Liao, and S. Z. Li. Learning face representation from scratch. arxiv preprint arxiv:1411.7923, 2014. 1, 3, 5 [38] K. Zhang, Z. Zhang, Z. Li, and Y. Qiao. Joint face detection and alignment using multitask cascaded convolutional networks. IEEE Signal Processing Letters, 23(10):1499 1503, Oct 2016. 3, 5