Skip to content

Model Zoo

Complete guide to all available models and their performance characteristics.


Face Detection Models

RetinaFace Family

RetinaFace models are trained on the WIDER FACE dataset.

Model Name Params Size Easy Medium Hard
MNET_025 0.4M 1.7MB 88.48% 87.02% 80.61%
MNET_050 1.0M 2.6MB 89.42% 87.97% 82.40%
MNET_V1 3.5M 3.8MB 90.59% 89.14% 84.13%
MNET_V2 3.2M 3.5MB 91.70% 91.03% 86.60%
RESNET18 11.7M 27MB 92.50% 91.02% 86.63%
RESNET34 24.8M 56MB 94.16% 93.12% 88.90%
RESNET50 27.4M 104MB 94.72%* 93.67%* 88.82%*

* RESNET50 weights come from HivisionIDPhotos; its scores are measured with widerface_evaluation rather than quoted from the paper. It trails RESNET34 on Hard despite being ~2x the size.

Accuracy & Benchmarks

Accuracy: WIDER FACE validation set (Easy/Medium/Hard subsets) - from RetinaFace paper

Speed: Benchmark on your own hardware using python tools/detect.py --source <image>


SCRFD Family

SCRFD (Sample and Computation Redistribution for Efficient Face Detection) models trained on WIDER FACE dataset.

Model Name Params Size Easy Medium Hard
SCRFD_500M_KPS 0.6M 2.5MB 90.57% 88.12% 68.51%
SCRFD_10G_KPS 4.2M 17MB 95.16% 93.87% 83.05%

Accuracy & Benchmarks

Accuracy: WIDER FACE validation set - from SCRFD paper

Speed: Benchmark on your own hardware using python tools/detect.py --source <image>


CenterFace

CenterFace is an anchor-free detector (MobileNetV2 + FPN) that treats faces as center points, with joint 5-point landmark prediction. Trained on WIDER FACE dataset.

Model Name Size Easy Medium Hard
DEFAULT 7.0MB 92.2%* 91.1%* 78.2%*

* Single inference on the original image (SIO). With multi-scale and flip testing the original repo reports 93.5% / 92.4% / 87.5%.

Accuracy & Benchmarks

Accuracy: WIDER FACE validation set - from CenterFace paper

Speed: Benchmark on your own hardware using python tools/detect.py --source <image> --method centerface

Input Size

The ONNX model has dynamic spatial dimensions. input_size is an upper bound (default 640×640), not a fixed shape: larger images are scaled down to fit and smaller ones are left alone, preserving aspect ratio. Each side is then rounded up to a multiple of 32. Pass input_size=None to always run at native resolution, like upstream.


BlazeFace

Google MediaPipe's short-range SSD detector, the one that runs ahead of Face Mesh in MediaPipe's own pipeline. Pairing it with Face Mesh reproduces that output.

Model Name Input Keypoints Size
DEFAULT 128×128 6 0.5MB

Not for recognition pipelines

BlazeFace emits 6 MediaPipe keypoints (right eye, left eye, nose tip, mouth center, right/left ear tragion), not the 5-point alignment template. With no mouth corners they cannot drive face alignment, so supports_alignment is False and FaceAnalyzer disables recognition for it.

Short range

Tuned for faces within roughly 2m. Not benchmarked on WIDER FACE, and less accurate than SCRFD or YOLOv8 on small or distant faces. Choose it for its 0.5MB footprint or for MediaPipe parity.


YOLOv5-Face Family

YOLOv5-Face models provide detection with 5-point facial landmarks, trained on WIDER FACE dataset.

Model Name Size Easy Medium Hard
YOLOV5N 11MB 93.61% 91.52% 80.53%
YOLOV5S 28MB 94.33% 92.61% 83.15%
YOLOV5M 82MB 95.30% 93.76% 85.28%

Accuracy & Benchmarks

Accuracy: WIDER FACE validation set - from YOLOv5-Face paper

Speed: Benchmark on your own hardware using python tools/detect.py --source <image>

Fixed Input Size

All YOLOv5-Face models use a fixed input size of 640×640.


YOLOv8-Face Family

YOLOv8-Face models use anchor-free design with DFL (Distribution Focal Loss) for bbox regression. Provides detection with 5-point facial landmarks.

Model Name Size Easy Medium Hard
YOLOV8_LITE_S 7.4MB 93.4% 91.2% 78.6%
YOLOV8N 12MB 94.6% 92.3% 79.6%

Accuracy & Benchmarks

Accuracy: WIDER FACE validation set (Easy/Medium/Hard subsets)

Speed: Benchmark on your own hardware using python tools/detect.py --source <image> --method yolov8face

Fixed Input Size

All YOLOv8-Face models use a fixed input size of 640×640.


Face Recognition Models

AdaFace

Face recognition using adaptive margin based on image quality.

Model Name Backbone Dataset Size IJB-B TAR IJB-C TAR
IR_18 IR-18 WebFace4M 92 MB 93.03% 94.99%
IR_101 IR-101 WebFace12M 249 MB - 97.66%

Training Data & Accuracy

Dataset: WebFace4M / WebFace12M (4M / 12M images)

Accuracy: IJB-B and IJB-C benchmarks, TAR@FAR=0.01%

Key Innovation

AdaFace introduces adaptive margin that adjusts based on image quality, providing better performance on low-quality images compared to fixed-margin approaches.


ArcFace

Face recognition using additive angular margin loss.

Model Name Backbone Params Size LFW CFP-FP AgeDB-30 IJB-C
MNET MobileNet 2.0M 8MB 99.70% 98.00% 96.58% 95.02%
RESNET ResNet50 43.6M 166MB 99.83% 99.33% 98.23% 97.25%

Training Data

Dataset: Trained on WebFace600K (600K images)

Accuracy: IJB-C accuracy reported as TAR@FAR=1e-4


MobileFace

Lightweight face recognition models with MobileNet backbones.

Model Name Backbone Params Size LFW CALFW CPLFW AgeDB-30
MNET_025 MobileNetV1 0.25 0.36M 1MB 98.76% 92.02% 82.37% 90.02%
MNET_V2 MobileNetV2 2.29M 4MB 99.55% 94.87% 86.89% 95.16%
MNET_V3_SMALL MobileNetV3-S 1.25M 3MB 99.30% 93.77% 85.29% 92.79%
MNET_V3_LARGE MobileNetV3-L 3.52M 10MB 99.53% 94.56% 86.79% 95.13%

Training Data

Dataset: Trained on MS1MV2 (5.8M images, 85K identities)

Accuracy: Evaluated on LFW, CALFW, CPLFW, and AgeDB-30 benchmarks


SphereFace

Face recognition using angular softmax loss.

Model Name Backbone Params Size LFW CALFW CPLFW AgeDB-30
SPHERE20 Sphere20 24.5M 50MB 99.67% 95.61% 88.75% 96.58%
SPHERE36 Sphere36 34.6M 92MB 99.72% 95.64% 89.92% 96.83%

Training Data

Dataset: Trained on MS1MV2 (5.8M images, 85K identities)

Accuracy: Evaluated on LFW, CALFW, CPLFW, and AgeDB-30 benchmarks

Architecture

SphereFace uses angular softmax loss, an earlier approach before ArcFace. These models provide good accuracy with moderate resource requirements.


EdgeFace

Efficient face recognition designed for edge devices, using EdgeNeXt backbone with optional LoRA compression.

Model Name Backbone Params MFLOPs Size LFW CALFW CPLFW CFP-FP AgeDB-30
XXS EdgeNeXt 1.24M 94 ~5 MB 99.57% 94.83% 90.27% 93.63% 94.92%
XS_GAMMA_06 EdgeNeXt 1.77M 154 ~7 MB 99.73% 95.28% 91.58% 94.71% 96.08%
S_GAMMA_05 EdgeNeXt 3.65M 306 ~14 MB 99.78% 95.55% 92.48% 95.74% 97.03%
BASE EdgeNeXt 18.2M 1399 ~70 MB 99.83% 96.07% 93.75% 97.01% 97.60%

Facial Landmark Models

106-Point Landmark Detection

Facial landmark localization model.

Model Name Points Params Size
DEFAULT (2d_106) 106 3.7M 14MB

Landmark Groups:

Group Points Count
Face contour 0-32 33 points
Eyebrows 33-50 18 points
Nose 51-62 12 points
Eyes 63-86 24 points
Mouth 87-105 19 points

PIPNet (98 / 68 points)

PIPNet (Pixel-in-Pixel Net) facial landmark detector. ResNet-18 backbone, 256×256 input.

Model Name Points Backbone Dataset Size
WFLW_98 98 ResNet-18 WFLW (supervised) 47 MB
DW300_CELEBA_68 68 ResNet-18 300W+CelebA (GSSL) 46 MB

Auto-selected meanface

Both variants share the same architecture; the number of landmarks (and the matching meanface table) is inferred from the ONNX output channel count.


Face Mesh (468 or 478 points)

Google MediaPipe's dense mesh. The only UniFace landmarker that returns 3D points and a face-presence score, and the only model that batches every face of an image into one inference call.

Model Name Points Input Size
V1_468 468 (3D) 192×192 2.4MB
V2_478 478 (3D, with irises) 256×256 4.6MB

Reference

Paper: Real-time Facial Surface Geometry from Monocular Video on Mobile GPUs

Source: yakhyo/mediapipe-face-mesh-onnx — architectures recovered from Google MediaPipe. V1_468's weights came via PINTO0309's conversion; V2_478's were read directly from the .tflite in Google's face_landmarker.task bundle

Works with any detector

Face Mesh needs a bounding box plus the first two landmarks (the eyes) to align its crop. Rows 0/1 are the viewer-left and viewer-right eye in both the 5-point template and BlazeFace's 6-point layout, so every UniFace detector can seed it.

Relative depth

The z coordinate is relative depth on the same pixel scale as x/y (smaller is closer). It has no absolute origin and is not comparable between faces or images.


Attribute Analysis Models

Age & Gender Detection

Model Name Attributes Params Size
DEFAULT Age, Gender 2.1M 8MB

Training Data

Dataset: Trained on CelebA

Accuracy Note

Accuracy varies by demographic and image quality. Test on your specific use case.


FairFace Attributes

Model Name Attributes Params Size
DEFAULT Race, Gender, Age Group - 44MB

Training Data

Dataset: Trained on FairFace dataset with balanced demographics

Equitable Predictions

FairFace provides more equitable predictions across different racial and gender groups.

Race Categories (7): White, Black, Latino Hispanic, East Asian, Southeast Asian, Indian, Middle Eastern

Age Groups (9): 0-2, 3-9, 10-19, 20-29, 30-39, 40-49, 50-59, 60-69, 70+


Emotion Detection

Model Name Classes Params Size
AFFECNET7 7 0.5M 2MB
AFFECNET8 8 0.5M 2MB

Classes (7): Neutral, Happy, Sad, Surprise, Fear, Disgust, Angry

Classes (8): Above + Contempt

Training Data

Dataset: Trained on AffectNet

Accuracy Note

Emotion detection accuracy depends heavily on facial expression clarity and cultural context.


Face State Detection (FaceAttribNet)

Model Name Attributes Params Size
DEFAULT Eye openness (L/R), Eyeglasses, Mask, Sunglasses 10.8M 41MB

Qualcomm's Facial-Attribute-Detection model. Outputs five independent binary probabilities from a 128x128 face crop.

Training Data

Dataset: Trained by Qualcomm on a proprietary face dataset

Multi-label Output

The five probabilities come from independent binary heads: they do not sum to 1 and several can be high at once. Threshold each attribute separately; never argmax.


Gaze Estimation Models

MobileGaze Family

Gaze direction prediction models trained on Gaze360 dataset. Returns pitch (vertical) and yaw (horizontal) angles in radians.

Model Name Params Size MAE*
RESNET18 11.7M 43 MB 12.84
RESNET34 24.8M 81.6 MB 11.33
RESNET50 25.6M 91.3 MB 11.34
MOBILENET_V2 3.5M 9.59 MB 13.07
MOBILEONE_S0 2.1M 4.8 MB 12.58

*MAE (Mean Absolute Error) in degrees on Gaze360 test set - lower is better

Training Data

Dataset: Trained on Gaze360 (indoor/outdoor scenes with diverse head poses)

Training: 200 epochs with classification-based approach (binned angles)

Input Requirements

Requires face crop as input. Use face detection first to obtain bounding boxes.


Head Pose Estimation Models

HeadPose Family

Head pose estimation models using 6D rotation representation. Trained on 300W-LP dataset, evaluated on AFLW2000. Returns pitch, yaw, and roll angles in degrees.

Model Name Backbone Size MAE*
RESNET18 ResNet18 43 MB 5.22°
RESNET34 ResNet34 82 MB 5.07°
RESNET50 ResNet50 91 MB 4.83°
MOBILENET_V2 MobileNetV2 9.6 MB 5.72°
MOBILENET_V3_SMALL MobileNetV3-Small 4.8 MB 6.31°
MOBILENET_V3_LARGE MobileNetV3-Large 16 MB 5.58°

*MAE (Mean Absolute Error) in degrees on AFLW2000 test set — lower is better

Training Data

Dataset: Trained on 300W-LP (synthesized large-pose faces from 300W)

Method: 6D rotation representation (rotation matrix → Euler angles)

Input Requirements

Requires face crop as input. Use face detection first to obtain bounding boxes.


Face Parsing Models

BiSeNet Family

BiSeNet (Bilateral Segmentation Network) models for semantic face parsing. Segments face images into 19 facial component classes.

Model Name Params Size Classes
RESNET18 13.3M 50.7 MB 19
RESNET34 24.1M 89.2 MB 19

Training Data

Dataset: Trained on CelebAMask-HQ

Architecture: BiSeNet with ResNet backbone

Input Size: 512×512 (automatically resized)

19 Facial Component Classes:

# Class # Class # Class
0 Background 7 Left Ear 14 Neck
1 Skin 8 Right Ear 15 Neck Lace
2 Left Eyebrow 9 Ear Ring 16 Cloth
3 Right Eyebrow 10 Nose 17 Hair
4 Left Eye 11 Mouth 18 Hat
5 Right Eye 12 Upper Lip
6 Eye Glasses 13 Lower Lip

Applications:

  • Face makeup and beauty applications
  • Virtual try-on systems
  • Face editing and manipulation
  • Facial feature extraction
  • Portrait segmentation

Input Requirements

Input should be a cropped face image. For full pipeline, use face detection first to obtain face crops.


XSeg

XSeg from DeepFaceLab outputs masks for face regions. Requires 5-point landmarks for face alignment.

Model Name Size Output
DEFAULT 67 MB Mask [0, 1]

Model Details

Origin: DeepFaceLab

Input: NHWC format, normalized to [0, 1]

Alignment: Requires 5-point landmarks (not bbox crops)

Applications:

  • Face region extraction
  • Face swapping pipelines
  • Occlusion handling

Input Requirements

Requires 5-point facial landmarks. Use a face detector like RetinaFace to obtain landmarks first.


Portrait Matting Models

MODNet

MODNet (Real-Time Trimap-Free Portrait Matting) produces soft alpha mattes from full images without requiring a trimap. Uses MobileNetV2 backbone with low-resolution, high-resolution, and fusion branches.

Model Name Variant Size Use Case
PHOTOGRAPHIC High-quality 25 MB Portrait photos
WEBCAM Real-time 25 MB Webcam feeds

Model Details

Paper: MODNet: Real-Time Trimap-Free Portrait Matting via Objective Decomposition (AAAI 2022)

Source: yakhyo/modnet — ported weights and clean inference codebase

Output: Alpha matte (H, W) in [0, 1]

Applications:

  • Background removal / replacement
  • Green screen compositing
  • Video conferencing virtual backgrounds
  • Portrait editing

Input Requirements

Operates on full images (not face crops). No trimap or face detection required.


Anti-Spoofing Models

MiniFASNet Family

Face anti-spoofing models for liveness detection. Detect if a face is real (live) or fake (photo, video replay, mask).

Model Name Size Scale
V1SE 1.2 MB 4.0
V2 1.2 MB 2.7

Output Format

Output: Returns SpoofingResult(is_real, confidence) where is_real: True=Real, False=Fake

Input Requirements

Requires face bounding box from a detector.


Face Image Quality Models

eDifFIQA Family

Face image quality assessment. Predicts a single scalar score from an aligned 112x112 face crop — higher = better. eDifFIQA-L ranks first on the NIST FATE-Quality Kiosk-to-Entry track.

Model Name Backbone Params Size
T MobileFaceNet 1.7M 6.6 MB
S IResNet-18 24.6M 93.7 MB
M IResNet-50 44.1M 168.3 MB
L IResNet-100 65.7M 250.6 MB

Output Format

Output: Returns QualityResult(score) — float, roughly in [0, 1]. Not a calibrated probability; calibrate your threshold on a held-out set.

Input Requirements

Requires 5-point landmarks from a detector (e.g. SCRFD, RetinaFace) for alignment, or a pre-aligned 112x112 crop via score_aligned().


Model Management

Models are automatically downloaded and cached on first use.

  • Sources: GitHub Releases, falling back automatically to a Hugging Face mirror when GitHub is unreachable
  • Cache location: ~/.uniface/models/ (configurable via set_cache_dir() or UNIFACE_CACHE_DIR env var)
  • Inspect cache path: get_cache_dir() returns the resolved active path
  • Verification: Models are verified with SHA-256 checksums, whichever source served them
  • Concurrent download: download_models([...]) fetches multiple models in parallel
  • Manual download: Use python tools/download_model.py to pre-download models

See Model Cache & Offline Use for full details.


References

Model Training & Architectures

Papers