Skip to content
OpenFace – a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.
MATLAB C++ HTML C# CMake Python Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Aug 29, 2018
cmake More TBB search cleanup Jun 28, 2018
docker Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
exe Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
gui Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
imgs Adding images for new wiki entries and some code for packaging releases. Dec 28, 2017
lib Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
matlab_runners Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
matlab_version Update readme.txt Jul 9, 2018
model_training Update readme.txt Jul 30, 2018
packages ZeroMQ dependencies. Oct 17, 2017
python_scripts Standalone head pose module with ZeroMQ streaming Apr 17, 2017
samples Moving to OpenFace 2.0! Loads of changes. May 10, 2018
.dockerignore Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
.env Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
.gitignore Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
.travis.yml Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
CMakeLists.txt Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
Copyright.txt Moving to OpenFace 2.0! Loads of changes. May 10, 2018
OpenFace-license.txt Auto stash before merge of "develop" and "origin/develop" May 9, 2017
OpenFace.sln Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
README.md Update README.md Jul 17, 2019
appveyor.yml Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
docker-compose.yml Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
download_libraries.ps1 Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
download_models.ps1 Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019
download_models.sh A number of changes to bring up master to version 2.0.6 (#581) Oct 6, 2018
install.sh Updating OpenFace to version 2.2.0 (#741) Jul 13, 2019

README.md

OpenFace 2.2.0: a facial behavior analysis toolkit

Build Status Build status

Over the past few years, there has been an increased interest in automatic facial behavior analysis and understanding. We present OpenFace – a tool intended for computer vision and machine learning researchers, affective computing community and people interested in building interactive applications based on facial behavior analysis. OpenFace is the first toolkit capable of facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation with available source code for both running and training the models. The computer vision algorithms which represent the core of OpenFace demonstrate state-of-the-art results in all of the above mentioned tasks. Furthermore, our tool is capable of real-time performance and is able to run from a simple webcam without any specialist hardware.

Multicomp logo

OpenFace was originally developed by Tadas Baltrušaitis in collaboration with CMU MultiComp Lab led by Prof. Louis-Philippe Morency. Some of the original algorithms were created while at Rainbow Group, Cambridge University. The OpenFace library is still actively developed at the CMU MultiComp Lab in collaboration with Tadas Baltršaitis. Special thanks to researcher who helped developing, implementing and testing the algorithms present in OpenFace: Amir Zadeh and Yao Chong Lim on work on the CE-CLM model and Erroll Wood for the gaze estimation work.

WIKI

For instructions of how to install/compile/use the project please see WIKI

Functionality

The system is capable of performing a number of facial analysis tasks:

  • Facial Landmark Detection

Sample facial landmark detection image

  • Facial Landmark and head pose tracking (links to YouTube videos)

Multiple Face Tracking Multiple Face Tracking

  • Facial Action Unit Recognition

  • Gaze tracking (image of it in action)

  • Facial Feature Extraction (aligned faces and HOG features)

Sample aligned face and HOG image

Citation

If you use any of the resources provided on this page in any of your publications we ask you to cite the following work and the work for a relevant submodule you used.

Overall system

OpenFace 2.0: Facial Behavior Analysis Toolkit Tadas Baltrušaitis, Amir Zadeh, Yao Chong Lim, and Louis-Philippe Morency, IEEE International Conference on Automatic Face and Gesture Recognition, 2018

Facial landmark detection and tracking

Convolutional experts constrained local model for facial landmark detection A. Zadeh, T. Baltrušaitis, and Louis-Philippe Morency. Computer Vision and Pattern Recognition Workshops, 2017

Constrained Local Neural Fields for robust facial landmark detection in the wild Tadas Baltrušaitis, Peter Robinson, and Louis-Philippe Morency. in IEEE Int. Conference on Computer Vision Workshops, 300 Faces in-the-Wild Challenge, 2013.

Eye gaze tracking

Rendering of Eyes for Eye-Shape Registration and Gaze Estimation Erroll Wood, Tadas Baltrušaitis, Xucong Zhang, Yusuke Sugano, Peter Robinson, and Andreas Bulling in IEEE International Conference on Computer Vision (ICCV), 2015

Facial Action Unit detection

Cross-dataset learning and person-specific normalisation for automatic Action Unit detection Tadas Baltrušaitis, Marwa Mahmoud, and Peter Robinson in Facial Expression Recognition and Analysis Challenge, IEEE International Conference on Automatic Face and Gesture Recognition, 2015

Commercial license

For inquiries about the commercial licensing of the OpenFace toolkit please visit https://www.flintbox.com/public/project/50632/

Final remarks

I did my best to make sure that the code runs out of the box but there are always issues and I would be grateful for your understanding that this is research code and a research project. If you encounter any problems/bugs/issues please contact me on github or by emailing me at tadyla@gmail.com for any bug reports/questions/suggestions. I prefer questions and bug reports on github as that provides visibility to others who might be encountering same issues or who have the same questions.

Copyright

Copyright can be found in the Copyright.txt

You have to respect dlib, OpenBLAS, and OpenCV licenses.

Furthermore you have to respect the licenses of the datasets used for model training - https://github.com/TadasBaltrusaitis/OpenFace/wiki/Datasets

You can’t perform that action at this time.