FaceEngine is a lightweight python library that provides an easy interface to work with face recognition tasks.

>>> from face_engine import FaceEngine
>>> engine = FaceEngine()
>>> engine.fit(['bubbles1.jpg', 'drive.jpg'], [1, 2])
>>> engine.make_prediction('bubbles2.jpg')
([(270, 75, 406, 211)], [1])


It is distributed on PyPi, and can be installed with pip:

$ pip install face-engine

FaceEngine is supported only on Python 3.6 and above.


FaceEngine is built on top of three model interfaces Detector, Embedder and Estimator (see models), and leans on user provided implementations of these models.

Installation provides optional dlib models.

These implementations are using dlib python api and dlib provided pre-trained model files.


FaceEngine installation is not installing dlib by default. To install it, either run pip install dlib (requires cmake) or follow build instructions.

Dlib models implementations are used to show how to work with FaceEngine. Questions and issues according to these models accuracy and performance please address to dlib.

To work with your own custom models you have to implement required models and import it. FaceEngine models are used to register all inheriting imported subclasses (subclass registration PEP 487).

For more information read the full documentation.