explaingit

cmusatyalab/openface

Analysis updated 2026-06-24

15,417LuaAudience · researcherComplexity · 4/5LicenseSetup · hard

TLDR

Open-source face recognition library from CMU. Uses deep neural networks to turn face images into numerical representations you can compare for identity matching.

Mindmap

mindmap
  root((openface))
    Inputs
      Face images
      Webcam streams
      Image batches
    Outputs
      Face representations
      Identity matches
      Classification labels
    Use Cases
      Verify two faces match
      Real-time face ID
      Batch face indexing
    Tech Stack
      Python
      Torch
      Lua
      OpenCV
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a face-recognition demo that matches a webcam frame against a known set of people

USE CASE 2

Generate face embeddings from a folder of images for offline identity search

USE CASE 3

Train a custom classifier on top of OpenFace representations for a small group of users

What is it built with?

PythonTorchLuaOpenCV

How does it compare?

cmusatyalab/openfaceastronvim/astronvimapache/apisix
Stars15,41714,29616,588
LanguageLuaLuaLua
Setup difficultyhardmoderatehard
Complexity4/53/54/5
Audienceresearcherdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Depends on Torch and Lua plus OpenCV, Docker image recommended to avoid manual install pain.

Use, modify, and distribute freely for any purpose including commercial use, as long as you preserve attribution.

In plain English

OpenFace is a free, open-source library for face recognition, the technology that identifies or verifies a person's identity from a photo or video frame. It was developed by researchers at Carnegie Mellon University with support from the National Science Foundation, Intel, Google, Vodafone, and NVIDIA. The library uses deep neural networks (a type of artificial intelligence that learns patterns from large amounts of data) to process face images and produce numerical "representations", compact descriptions of a face that can be compared against other faces to check for a match. The codebase includes a Python library for core functionality, scripts for training new neural network models, tools to evaluate accuracy, and several ready-to-run demos. Those demos cover comparing two images side by side, running a real-time web demo, classifying faces using a trained model, and even identifying faces from a live webcam stream. The repository also includes batch processing tools to generate representations from large collections of images at once. It is licensed under the Apache 2.0 License, meaning it can be used and modified freely for most purposes including commercial ones. The underlying research is documented in a Carnegie Mellon technical report titled "OpenFace: A general-purpose face recognition library with mobile applications," published in 2016.

Copy-paste prompts

Prompt 1
Walk me through the OpenFace pipeline from input image to 128-dim embedding with code
Prompt 2
Build a Python script that uses OpenFace to compare two photos and print a similarity score
Prompt 3
Train an OpenFace classifier on a folder of labeled face crops and run it on a webcam
Prompt 4
Set up OpenFace with Docker so I don't have to install Torch and Lua manually
Prompt 5
Use OpenFace batch tools to compute embeddings for 10,000 images and store them in a CSV

Frequently asked questions

What is openface?

Open-source face recognition library from CMU. Uses deep neural networks to turn face images into numerical representations you can compare for identity matching.

What language is openface written in?

Mainly Lua. The stack also includes Python, Torch, Lua.

What license does openface use?

Use, modify, and distribute freely for any purpose including commercial use, as long as you preserve attribution.

How hard is openface to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is openface for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub cmusatyalab on gitmyhub

Verify against the repo before relying on details.