EdgeFace ONNX

April 4, 2026 · View on GitHub

Downloads

License: MIT GitHub

Tip

The models and functionality in this repository are integrated into UniFace — an all-in-one face analysis toolkit.
PyPI Version GitHub Stars License

ONNX Runtime inference for EdgeFace face recognition. Uses UniFace for face detection and alignment.

Models

ONNX weights exported from official PyTorch weights. Download via bash download.sh or from Releases.

ModelLFW(%)CALFW(%)CPLFW(%)CFP-FP(%)AgeDB30(%)SizeDownload
EdgeFace-XXS99.5794.8390.2793.6394.924.9 MBLink
EdgeFace-XS (γ=0.6)99.7395.2891.5894.7196.086.9 MBLink
EdgeFace-S (γ=0.5)99.7895.5592.4895.7497.0314 MBLink
EdgeFace-Base99.8396.0793.7597.0197.6070 MBLink

Installation

pip install -r requirements.txt
bash download.sh  # Download model weights

Demo

Aligned Faces (112x112)

EinsteinEinsteinMarie Curie
Einstein 1Einstein 2Marie Curie

Similarity Matrix

p1p2p3
p11.000.550.02
p20.551.000.07
p30.020.071.00

p1 and p2 are the same person (similarity: 0.55), p3 is different.

Usage

CLI

python main.py assets/samples/einstein1.jpg assets/samples/einstein2.jpg

Python API

import cv2
from model import EdgeFace
from uniface import compute_similarity
from uniface.detection import SCRFD

detector = SCRFD()
recognizer = EdgeFace("weights/edgeface_xxs.onnx")

image = cv2.imread("image.jpg")
faces = detector.detect(image)
embedding = recognizer.get_normalized_embedding(image, faces[0].landmarks)

similarity = compute_similarity(emb1, emb2, normalized=True)

Reference

  • EdgeFace - Original PyTorch implementation
  • UniFace - Face detection and alignment

License

MIT License