OpenFace is a Python and Torch implementation of face recognition with deep neural networks and is based on the CVPR 2015 paper FaceNet: A Unified Embedding for Face Recognition and Clustering by Florian Schroff, Dmitry Kalenichenko, and James Philbin at Google. Torch allows the network to be executed on a CPU or with CUDA. This research was supported by the National Science Foundation (NSF) under grant number CNS-1518865. Additional support was provided by the Intel Corporation, Google, Vodafone, NVIDIA, and the Conklin Kistler family fund. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and should not be attributed to their employers or funding sources. Accuracies from research papers have just begun to surpass human accuracies on some benchmarks. The accuracies of open source face recognition systems lag behind the state-of-the-art. See our accuracy comparisons on the famous LFW benchmark.
Features
- Detect faces with a pre-trained models from dlib or OpenCV
- Transform the face for the neural network
- Uses dlib's real-time pose estimation with OpenCV's affine transformation
- Use a deep neural network to represent (or embed) the face on a 128-dimensional unit hypersphere
- The embedding is a generic representation for anybody's face
- Makes clustering, similarity detection, and classification tasks easier than other face recognition techniques
- Apply your favorite clustering or classification techniques to the features to complete your recognition task