LFRTrainer: Large-Scale Face Recognition Training System

Face recognition has been widely used in many application areas such as photo album management and information security. Rapid growth of handheld devices and social networks bring new challenges to face recognition algorithm design and system engineering. To be effective on a handheld device, the face recognition model must be simple and lightweight, and also needs to handle the large variations in background, image size, etc. This paper tries to address these two problems from a system perspective. We employ a simple linear model for face recognition, which is generated from a SVM classifier to tell whether a pair of face is from the same subject or not. And to make this classifier generalized well on all potential inter-face/intra-face variations, we train it with billions of face pairs. Many potential problems arise during the large-scale training procedure. For examples, 1) the training set is too large to fit into a single machine, 2) the computation requirement is so huge that it takes many days to complete a training which makes difficult for algorithm developers to experiment and tune the model effectively. To overcome these obstacles, this paper proposes a large-scale face recognition training system, called LFRTrainer. The system takes advantage of the massive data parallelism available in the problem and utilizes a distributed compute cluster to perform the model training. We have run this system on Intel Endeavor cluster for model development and tuning over a year. Using LFRTrainer, we train a face recognition model for embedded devices which achieves state-of-the-art accuracy and high scalability: 92.2% Face Verification Rate (FVR) at 0.1% False Accept Rate (FAR) on FRGC-204 benchmark and nearly linear scalability from tens to hundreds of nodes.

[1]  Chih-Jen Lin,et al.  LIBLINEAR: A Library for Large Linear Classification , 2008, J. Mach. Learn. Res..

[2]  Endong Wang,et al.  Intel Math Kernel Library , 2014 .

[3]  Yajie Tian,et al.  Handbook of face recognition , 2003 .

[4]  Cordelia Schmid,et al.  Is that you? Metric learning approaches for face identification , 2009, 2009 IEEE 12th International Conference on Computer Vision.

[5]  Azriel Rosenfeld,et al.  Face recognition: A literature survey , 2003, CSUR.

[6]  Norbert Krüger,et al.  Face Recognition by Elastic Bunch Graph Matching , 1997, IEEE Trans. Pattern Anal. Mach. Intell..

[7]  Ming Yang,et al.  DeepFace: Closing the Gap to Human-Level Performance in Face Verification , 2014, 2014 IEEE Conference on Computer Vision and Pattern Recognition.

[8]  Kang G. Shin,et al.  Efficient Distributed Linear Classification Algorithms via the Alternating Direction Method of Multipliers , 2012, AISTATS.

[9]  Lior Wolf,et al.  Leveraging Billions of Faces to Overcome Performance Barriers in Unconstrained Face Recognition , 2011, ArXiv.

[10]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[11]  Chih-Jen Lin,et al.  Trust Region Newton Method for Logistic Regression , 2008, J. Mach. Learn. Res..

[12]  Shiguang Shan,et al.  Fusing Magnitude and Phase Features for Robust Face Recognition , 2012, ACCV.

[13]  M. Turk,et al.  Eigenfaces for Recognition , 1991, Journal of Cognitive Neuroscience.

[14]  Chia-Hua Ho,et al.  Recent Advances of Large-Scale Linear Classification , 2012, Proceedings of the IEEE.

[15]  Thorsten Joachims,et al.  Training linear SVMs in linear time , 2006, KDD '06.

[16]  Ville Ojansivu,et al.  Blur Insensitive Texture Classification Using Local Phase Quantization , 2008, ICISP.

[17]  Michael J. Franklin,et al.  Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing , 2012, NSDI.

[18]  KrügerNorbert,et al.  Face Recognition by Elastic Bunch Graph Matching , 1997 .

[19]  James L. Crowley,et al.  "How old are you?" : Age Estimation with Tensors of Binary Gaussian Receptive Maps , 2010, BMVC.

[20]  Patrick J. Flynn,et al.  Overview of the face recognition grand challenge , 2005, 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05).

[21]  Léon Bottou,et al.  Large-Scale Machine Learning with Stochastic Gradient Descent , 2010, COMPSTAT.

[22]  Jianguo Li,et al.  Large-scale Supervised Hierarchical Feature Learning for Face Recognition , 2014, ArXiv.

[23]  Xiaoyang Tan,et al.  Enhanced Local Texture Feature Sets for Face Recognition Under Difficult Lighting Conditions , 2007, IEEE Transactions on Image Processing.

[24]  Ming-Hsuan Yang,et al.  Face Recognition Using Kernel Methods , 2001, NIPS.

[25]  Steven P. Abney,et al.  Bootstrapping , 2002, ACL.

[26]  Stephen P. Boyd,et al.  Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers , 2011, Found. Trends Mach. Learn..

[27]  Thorsten Joachims,et al.  Making large scale SVM learning practical , 1998 .

[28]  Matti Pietikäinen,et al.  Face Description with Local Binary Patterns: Application to Face Recognition , 2006, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[29]  Guodong Guo,et al.  Boosting for fast face recognition , 2001, Proceedings IEEE ICCV Workshop on Recognition, Analysis, and Tracking of Faces and Gestures in Real-Time Systems.

[30]  Matti Pietikäinen,et al.  Multiscale Local Phase Quantization for Robust Component-Based Face Recognition Using Kernel Fusion of Multiple Descriptors , 2013, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[31]  Guodong Guo,et al.  Face recognition by support vector machines , 2000, Proceedings Fourth IEEE International Conference on Automatic Face and Gesture Recognition (Cat. No. PR00580).