Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
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.

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.

5 hours ago

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

UniFace: A Unified Face Analysis Library for Python

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.

Chat with me