← Open Source
yakhyo

uniface

UniFace: A Unified Face Analysis Library for Python | Detection, alignment, landmarks, face-mesh, recognition, parsing, gaze, attributes and anti-spoofing under one API.

AI EngineeringMake agent see hear talkPython
Open on GitHub
Momentum
+8stars in 24 hours+0.4%
2.07k
Stars
290
Forks
+38
This week
5
Contributors
Created 2024-11-14 · Updated 2026-10-14 · #1634 today
Top developers
README

[English] | [Chinese] | [Korean] | [Uzbek]

UniFace: A Unified Face Analysis Library for Python

PyPI Version Python Version License Github Build Status PyPI Downloads Kaggle Badge Hugging Face Spaces

 ![UniFace - A Unified Face Analysis Library for Python](https://raw.githubusercontent.com/yakhyo/uniface/main/.github/logos/uniface_rounded_q80.webp) 

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.