face-detect-gguf / README.md
mudler's picture
Update model card: fix source commit, add buffalo_sc + antelopev2 packs
8178d5a verified
|
Raw
History Blame Contribute Delete
5.28 kB
---
license: other
license_name: mixed-see-model-card
license_link: LICENSE
tags:
- face-detection
- face-recognition
- gguf
- ggml
- localai
- insightface
- opencv-zoo
library_name: gguf
---
# face-detect-gguf
GGUF model packs for the **`face-detect`** backend of [LocalAI](https://github.com/mudler/LocalAI).
Each `.gguf` here is a self-contained, metadata-driven pack (detector + recognizer,
plus genderage / anti-spoof heads when the source provides them) produced by
[face-detect.cpp](https://github.com/mudler/face-detect.cpp), a standalone
C++/ggml port of the insightface and OpenCV-Zoo face pipelines. No Python or ONNX
runtime is needed at inference time: the GGUF carries the weights verbatim plus the
forward-graph topology in its KV metadata, and the C++ engine replays it.
- **Source code commit:** `e22260d5d5490b37b021b7f795079f386d553afd` (face-detect.cpp)
- **Format:** GGUF, `general.architecture = "facedetect"`
- **Dtype:** all packs published as **f16** (near-lossless canonical; see parity below)
- **Consumed by:** LocalAI `face-detect` backend
## License - read before use
The packs in this repo carry **two different licenses** depending on their source
weights. Pick the pack that matches your use case.
| Pack | Source | License | Commercial use |
|---|---|---|---|
| `buffalo_l.gguf` | insightface buffalo_l | **Non-commercial, research-only** | No |
| `buffalo_m.gguf` | insightface buffalo_m | **Non-commercial, research-only** | No |
| `buffalo_s.gguf` | insightface buffalo_s | **Non-commercial, research-only** | No |
| `buffalo_sc.gguf` | insightface buffalo_sc | **Non-commercial, research-only** | No |
| `antelopev2.gguf` | insightface antelopev2 | **Non-commercial, research-only** | No |
| `yunet-sface.gguf` | OpenCV-Zoo YuNet + SFace | **Apache-2.0** | Yes |
> **The insightface buffalo packs (SCRFD + ArcFace) are released by insightface for
> NON-COMMERCIAL research purposes only.** They are redistributed here as derived
> GGUF artifacts under those same upstream terms. If you need a commercial-friendly
> option, use **`yunet-sface.gguf`** (Apache-2.0).
## Models
### `buffalo_l.gguf` - SCRFD det_10g + ArcFace ResNet50 (512-d)
The primary, highest-accuracy insightface pack. SCRFD `det_10g` detector + ArcFace
`w600k_r50` (IResNet50) recognizer producing a 512-d embedding, plus the genderage
head and the MiniFASNet anti-spoof ensemble (V2@2.7 + V1SE@4.0, 80x80) bundled in.
License: non-commercial / research-only.
### `buffalo_m.gguf` - SCRFD det_2.5g + ArcFace ResNet50 (512-d)
Mid-size insightface pack. SCRFD `det_2.5g` detector + ArcFace `w600k_r50` 512-d
recognizer (+ genderage + anti-spoof when present). The det_2.5g topology is replayed
through the metadata-driven graph interpreter. License: non-commercial / research-only.
### `buffalo_s.gguf` - SCRFD det_500m + ArcFace MobileFaceNet (512-d)
Smallest insightface pack. SCRFD `det_500m` detector + ArcFace MobileFaceNet
(`w600k_mbf`) 512-d recognizer (+ genderage + anti-spoof when present). Both the
det_500m detector and the MobileFaceNet recognizer are replayed metadata-driven.
License: non-commercial / research-only.
### `buffalo_sc.gguf` - SCRFD det_500m + a small ArcFace (512-d)
The compact detect-plus-recognize insightface pack. SCRFD `det_500m` detector + a
small ArcFace embedder producing a 512-d embedding, detection and recognition only
(no genderage / anti-spoof heads). License: non-commercial / research-only.
### `antelopev2.gguf` - SCRFD det_10g + ArcFace ResNet100 glint360k (512-d)
The highest-accuracy insightface pack. SCRFD `det_10g` detector + ArcFace ResNet100
trained on glint360k, producing a 512-d embedding. License: non-commercial / research-only.
### `yunet-sface.gguf` - YuNet detector + SFace recognizer (128-d), Apache-2.0
The commercial-friendly alternative. OpenCV-Zoo **YuNet** (`face_detection_yunet_2023mar`)
anchor-free detector + **SFace** (`face_recognition_sface_2021dec`) recognizer producing
a 128-d embedding. SFace carries its `(x-127.5)/128` normalization in-graph. License:
**Apache-2.0** (commercial use OK).
## Parity
Each pack was validated against its reference pipeline (insightface for buffalo,
cv2 `FaceDetectorYN`/`FaceRecognizerSF` for yunet+sface) before upload. The
decode-isolated embedding gate is **cosine >= 0.9999 and max|d| <= 1e-3**.
| Pack | Dtype | Embedding cosine (gate) | Result |
|---|---|---:|---|
| `buffalo_l.gguf` | f16 | 1.000000 | PASS |
| `buffalo_m.gguf` | f16 | 1.000000 | PASS |
| `buffalo_s.gguf` | f16 | 1.000000 | PASS |
| `buffalo_sc.gguf` | f16 | 1.000000 | PASS |
| `antelopev2.gguf` | f16 | 1.000000 | PASS |
| `yunet-sface.gguf` | f16 | 1.000000 | PASS |
f16 quantization is applied only to the large 2-D Gemm weights (the ArcFace / SFace
embedding head); every conv kernel, BN stat, bias and projection head stays F32, so
f16 is near-lossless. All six packs meet the strict near-lossless bound at f16.
## Usage
These packs are intended to be installed through the LocalAI model gallery
(`face-detect-buffalo-l` / `-m` / `-s` / `-sc` / `-antelopev2`, and `face-detect-yunet-sface`) and run by the
`face-detect` backend. See the [LocalAI](https://github.com/mudler/LocalAI) and
[face-detect.cpp](https://github.com/mudler/face-detect.cpp) documentation.