Py-Feat: Python Facial Expression Analysis Toolbox#

arXiv-badge Package versioning Tests Coverage Status Python Versions GitHub forks GitHub stars DOI

Py-Feat provides a comprehensive set of tools and models to easily detect facial expressions (Action Units, emotions, facial landmarks) from images and videos, preprocess & analyze facial expression data, and visualize facial expression data.

Why you should use Py-Feat#

Facial expressions convey rich information about how a person is thinking, feeling, and what they are planning to do. Recent innovations in computer vision algorithms and deep learning algorithms have led to a flurry of models that can be used to extract facial landmarks, Action Units, and emotional facial expressions with great speed and accuracy. However, researchers seeking to use these algorithms or tools such as OpenFace, iMotions-Affectiva, or Noldus FaceReacer may find them difficult to install, use, or too expensive to purchase. It’s also difficult to use the latest model or know exactly how good the models are for proprietary tools. We developed Py-Feat to create a free, open-source, and easy to use tool for working with facial expressions data.

Who is it for?#

Py-Feat was created for two primary audiences in mind:

  • Human behavior researchers: Extract facial expressions from face images or videos with a simple line of code and analyze your data with Feat.

  • Computer vision researchers: Develop & share your latest model to a wide audience of users.

and anyone else interested in analyzing facial expressions!

Check out a recent presentation by one of the project leads Eshin Jolly, PhD for a broad-overview and introduction:


You can easily install the latest stable version from PyPi:

pip install py-feat

For other installation methods (e.g. Google Collab, development) see the how to install page

Available models#

Py-feat includes several pre-trained models for Action Unit detection, Emotion detection, Face detection, Facial Landmark detection, and Face/Head post estimation.

You can check out the full list on the pre-trained models page.


We are excited for people to add new models and features to Py-Feat. Please see the contribution guides.


Py-FEAT is provided under the MIT license. You also need to cite and respect the licenses of each model you are using. Please see the LICENSE file for links to each model’s license information.