OpenFace: Free and open source face recognition with deep neural networks

Free and open source face recognition with
deep neural networks.

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.

Crafted by Brandon Amos in the
Elijah research group at
Carnegie Mellon University.

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.

Isn’t face recognition a solved problem?

No! 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.

Please use responsibly!

We do not support the use of this project in applications
that violate privacy and security.
We are using this to help cognitively impaired users to
sense and understand the world around them.

The following overview shows the workflow for a single input
image of Sylvestor Stallone from the publicly available
LFW dataset.

  1. Detect faces with a pre-trained models from
  2. Transform the face for the neural network.
    This repository uses dlib’s
    real-time pose estimation
    with OpenCV’s
    affine transformation
    to try to make the eyes and bottom lip appear in
    the same location on each image.
  3. 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.
    Unlike other face representations, this embedding has the nice property
    that a larger distance between two face embeddings means
    that the faces are likely not of the same person.
    This property makes clustering, similarity detection,
    and classification tasks easier than other face recognition
    techniques where the Euclidean distance between
    features is not meaningful.
  4. Apply your favorite clustering or classification techniques
    to the features to complete your recognition task.
    See below for our examples for classification and
    similarity detection, including an online web demo.

The following is a BibTeX
and plaintext reference
for the OpenFace GitHub repository.
The reference may change in the future.
The BibTeX entry requires the url LaTeX package.

    title        = {{OpenFace: Face Recognition with Deep Neural Networks}},
    author       = {Amos, Brandon and Ludwiczuk, Bartosz and Harkes, Jan and
                    Pillai, Padmanabhan and Elgazzar, Khalid and Satyanarayanan, Mahadev},
    howpublished = {url{}},
    note         = {Accessed: 2016-01-11}

Brandon Amos, Bartosz Ludwiczuk, Jan Harkes, Padmanabhan Pillai,
Khalid Elgazzar, and Mahadev Satyanarayanan.
OpenFace: Face Recognition with Deep Neural Networks.
Accessed: 2016-01-11

Unless otherwise stated, the source code and trained models
nn4.v*.t7 and celeb-classifier.nn4.v*.t7 are copyright
Carnegie Mellon University and licensed under the
Apache 2.0 License.
Portions from the following third party sources have
been modified and are included in this repository.
These portions are noted in the source files and are
copyright their respective authors with
the licenses listed.

Original URL:

Original article

Comments are closed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: