ZenTrainer models

Model files that ZenTrainer downloads when a feature needs them, converted to safetensors so they run in plain PyTorch with no extra packages.

analysis/faces

What ZenTrainer's face reports (faces per picture, outliers in a dataset) and sample likeness scores run on. These are InsightFace's pretrained models, unchanged apart from the file format:

File Model From Precision
det_10g.safetensors SCRFD-10G face detector (boxes + 5 keypoints) buffalo_l/det_10g.onnx (antelopev2's scrfd_10g_bnkps.onnx is the same file) fp32
w600k_r50.safetensors ArcFace IResNet-50, trained on WebFace600K buffalo_l/w600k_r50.onnx fp16
glintr100.safetensors ArcFace IResNet-100, trained on Glint360K antelopev2/glintr100.onnx fp16

The recognition models are stored in fp16 (half the download; embeddings agree with the fp32 ones to a cosine of 0.999999) and run in fp32. Batch norms are folded into the convolutions where InsightFace's exported files have them folded.

source/ holds the networks (nets.py) and the one-off conversion (convert.py, which needs onnx). Run through ZenTrainer's pipeline (InsightFace's detection and alignment, ported), the results match InsightFace 2.1 with onnxruntime: the same faces on every picture tested, boxes within 0.003 px, and embeddings at a cosine of 0.99999 or more to InsightFace's.

Commercial use: YuNet + AuraFace

For commercial pipelines, a detector and a recognition model under permissive licenses, run through the same pipeline (YuNet gives the same 5 keypoints, so the alignment is the same):

File Model From License Precision
yunet_2023mar.safetensors YuNet face detector (boxes + 5 keypoints) opencv_zoo face_detection_yunet_2023mar.onnx MIT (licenses/yunet-MIT.txt) fp32
auraface_r100.safetensors AuraFace IResNet-100 fal/AuraFace-v1 glintr100.onnx Apache 2.0 (licenses/auraface-Apache-2.0.md) fp16

Unchanged apart from the file format, and checked against onnxruntime: YuNet's outputs within 1.4e-5, AuraFace's embeddings at a cosine of 0.99999 (fp16). source/convert_commercial.py and source/yunet.py are the conversion. Note that AuraFace-v1's own repository also ships InsightFace's SCRFD detector (scrfd_10g_bnkps.onnx, byte for byte buffalo_l's det_10g.onnx), which stays non-commercial: it isn't used here.

AuraFace is a little less accurate than the InsightFace models. Measured through ZenTrainer's pipeline on LFW (the first 3 folds of pairs.txt, 1800 pairs), accuracy at the best threshold:

Detector + recognition Accuracy Same person, median cosine Different people, median
SCRFD + ArcFace R50 (buffalo_l) 99.83% 0.68 0.01
SCRFD + ArcFace R100 (antelopev2) 99.83% 0.71 0.00
YuNet + AuraFace R100 99.56% 0.60 0.06

Its scores sit closer together, so compare them with each other, not with the other models'. All credit for the models goes to their authors.

License

The InsightFace files above (det_10g, w600k_r50, glintr100) are non-commercial; the YuNet and AuraFace files are MIT and Apache 2.0, as listed.

InsightFace's pretrained models are for non-commercial research use only, and so are these converted copies: see InsightFace's license. They are hosted here so ZenTrainer can run them without installing InsightFace; all credit for the models goes to the InsightFace authors.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support