Skip to content

Repository files navigation

UniFace: A Unified Face Analysis Library for Python

PyPI Version Python Version License Github Build Status PyPI Downloads Kaggle Badge

UniFace - A Unified Face Analysis Library for Python

UniFace is a lightweight, production-ready Python library for face detection, recognition,
tracking, landmark analysis, face parsing, gaze estimation, and face attributes.

Get Started   Model Zoo   Notebooks   Full Docs

pip install "uniface[cpu]"          # CPU and Apple Silicon
pip install "uniface[gpu]"          # NVIDIA CUDA
pip install --pre "uniface[cpu]"    # latest pre-release
A first script

FaceAnalyzer runs detection, alignment and recognition in one call. Attribute models are opt-in.

import cv2
from uniface import FaceAnalyzer, FairFace

analyzer = FaceAnalyzer(predictors=[FairFace()])

for face in analyzer.analyze(cv2.imread("photo.jpg")):
    print(face.bbox, face.sex, face.age_group, face.embedding.shape)

bbox, confidence, landmarks and embedding are always set. Age, sex, race, emotion, quality and the face states stay None until you pass the predictor that fills them.

All fifteen tasks, and which model does each
Task Models
Face Detection RetinaFace, SCRFD, CenterFace, YOLOv5-Face, YOLOv8-Face, BlazeFace
Face Recognition AdaFace, ArcFace, EdgeFace, MobileFace, SphereFace
Face Tracking BYTETracker, persistent IDs across video frames
Facial Landmarks 2d106det (106), PIPNet (98 / 68), Face Mesh (468 / 478, 3D)
Face Parsing BiSeNet (19 classes), XSeg masking
Portrait Matting MODNet, trimap-free
Gaze Estimation MobileGaze (ResNet-18 / 34 / 50, MobileNetV2)
Head Pose 6D rotation representation, pitch / yaw / roll
Demographics AgeGender, FairFace (age group, sex, race)
Emotion AffectNet-7 and AffectNet-8
Face States FaceAttribNet: eyes, glasses, sunglasses, mask
Face Quality eDifFIQA (T / S / M / L)
Anti-Spoofing MiniFASNet liveness
Anonymization 5 blur methods
Vector Store FAISS-backed embedding search

Runs on CPU, Apple Silicon and CUDA. Weights download on first use, verified by SHA-256.


Find and measure faces

Face Detection  ·  docs

Facial Landmarks  ·  docs

Face Mesh  ·  docs

Face Quality  ·  docs

Cut faces out

Face Parsing  ·  docs

Face Segmentation  ·  docs

Portrait Matting  ·  docs

Read where a head is pointing

Head Pose  ·  docs

Gaze Estimation  ·  docs

Read a face

Age and Sex  ·  docs

Emotion  ·  docs

Face States  ·  docs

Tell a real face from a replay

Anti-Spoofing  ·  docs

Match a face, or hide one

Face Recognition  ·  docs

Face Anonymization  ·  docs


Get Started  ·  Model Zoo  ·  Notebooks  ·  Model licences  ·  Contributing  ·  Discord  ·  Issues

Runs on CPU, Apple Silicon and CUDA. Weights download on first use, verified by SHA-256.
UniFace is MIT; some pretrained weights are not, so check licences before shipping commercially.
Not affiliated with Uniface by Rocket Software.

Releases

Packages

Used by

Contributors

Languages