Face Recognition Using Local Quantized Patterns

Information

This is an implementation of our face verification system [2] based on Local Quantized Pattern features [1, 3]. The implementation is a replica of the MATLAB learning code used in [2], with feature computation code from [1].

The distribution contains routines for computing local pattern features (Local Binary Patterns (LBP), Local Ternary Patterns (LTP), Local Quantized Patterns (LQP), etc.) for unsupervised learning, and also code for face verification model training on the "Labelled Faces in the Wild" [LFW] aligned datasets [4, 5]. The feature computation is written in C++ while the learning code is written in python. We also provide examples of high-level bash and python scripts for running the feature computation.

The research was supported by the Higher Education Commission (HEC) of Pakistan, the European Commission research project CLASS, and the French ANR project ANR-08-SECU-008-01/SCARFACE.

For questions concerning the distribution, please contact me.

Code

You can either download the code in the compressed file format from here or clone the following git repository on your machine, i.e.

git clone https://SibtulHussain@bitbucket.org/SibtulHussain/lqp.git lqp-v1.0

References

[1]. S. Hussain and B. Triggs. Visual recognition using local quantized patterns. In Proceedings of the 10th European Conference on Computer Vision, Florence, 2012, Italy.
[2]. S. Hussain, T. Napoléon, and F. Jurie. Face recognition using local quantized patterns. In Proceedings of the 23rd British Machine Vision Conference, Surrey, 2012, England.
[3]. S. Hussain. Machine Learning Methods For Visual Object Detection. Ph.D. Thesis, University of Grenoble, 2011. Available as ISBN 978-3841890682 from Editions Universitaires Européennes, 2012.

[4]. Gary B. Huang, Manu Ramesh, Tamara Berg and Erik Learned-Miller, "Labeled Faces in the Wild: A Database for Studying Face Recognition in Unconstrained Environments", Technical report, University of Massachusetts, 2007.
[5]. Lior Wolf, Tal Hassner, and Yaniv Taigman, "Effective Face Recognition by Combining Multiple Descriptors and Learned Background Statistics", IEEE Trans. on Pattern Analysis and Machine Intelligence (TPAMI), 33(10), Oct. 2011

License

This is unsupported software released "as is" under the BSD license. For details see license.lic. If you use this software for a publication, please cite references [1] and [2] above.

Environment

The software was tested mainly on 64 bit Ubuntu 12.04.03 but it should compile and run on other recent Linux workstation distributions provided that the listed dependencies are installed. For example Fedora 19 x86_64 also works. MS Windows and Macintosh are not currently supported.

Running the complete LFW example requires a workstation with 8Gb of memory. 4Gb suffices if only the features are computed.

The code was tested with the following libraries on Ubuntu 12.04.03:

g++ version 4.6.3, ImageMagick version 6.8.1, Boost version 1.46, Eigen version 2.0 (included in this distribution), MPI_KMEANS version 1.5 (included in this distribution), IPython version 0.12.1 (optional, for running ipynb notebooks)

There may be compatibility issues for other versions of these libraries.

Acknowledgments

The feature computation code was heavily influenced (among others) by the public releases of the Felzenszwalb et.al. "Discriminatively Trained Deformable Part Models" code and the MVG Osolo "LBP" code. We also acknowledge the public release of Eigen, MPI_KMEANS and pypng packages.

We would also like to say thanks to Alexis Mignon for releasing his python code for PCA computation and Thibault Napoleon for his valuable feedback.