FastFace
FastFace is a CPU-efficient face age and gender model family. Phase 1 freezes three variants:
| Variant | Purpose | Input | Primary artifact |
|---|---|---|---|
fastface-large-128 |
Recommended accuracy/throughput student | aligned RGB face crop, 128x128 | models/fastface-large-128/model_fp32.onnx |
fastface-small-112 |
Highest-throughput student | aligned RGB face crop, 112x112 | models/fastface-small-112/model_fp32.onnx |
fastface-teacher-v2s-128 |
Audit/teacher model, not CPU default | aligned RGB face crop, 128x128 | models/fastface-teacher-v2s-128/model_fp32.onnx |
fastfacedetector-retinaface-mnetv1-960 |
Full-image face detector and 5-point alignment stage | raw BGR/RGB image | models/fastfacedetector-retinaface-mnetv1-960/fastfacedetector_retinaface_mobilenetv1_050_whole960_epoch34.onnx |
The released task is gender classification plus numeric age estimation. Race prediction is intentionally out of scope.
Training Data
Training used aligned face crops and manifests built from public/research datasets available in the local training workspace:
- FairFace train/validation labels.
- UTKFace aligned face images.
- IMDB-clean derived from the IMDB-WIKI family after quality filtering.
- Lagenda-hosted face-age data was explored but is not part of the frozen phase-1 student release.
See data_provenance.md and technical_report.md in this repository for the exact source policy, manifest contract, and limitations.
Metrics
Validation gender balanced accuracy on the mixed public validation set:
| Model | Mixed GBA | FairFace GBA | IMDB-clean GBA | UTKFace GBA |
|---|---|---|---|---|
fastface-teacher-v2s-128 |
0.98605 | 0.94386 | 0.99138 | 0.95424 |
fastface-large-128 |
0.97929 | 0.92877 | 0.98548 | 0.95017 |
fastface-small-112 |
0.96800 | 0.90562 | 0.97542 | 0.94101 |
In a 24,333-sample comparison set, gender balanced accuracy was:
fastface-teacher-v2s-128: 0.96638fastface-large-128: 0.95618- public
fairface-onnx: 0.94658 fastface-small-112: 0.94059
Public FairFace-ONNX vs fastface-large-128 disagreed on 1,301 samples. Against the available public labels, fastface-large-128 was correct on 762 of those and public FairFace-ONNX was correct on 539.
The detector candidate was evaluated on full WIDER FACE validation:
| Detector | Precision | Recall | F1 | Seconds/Image |
|---|---|---|---|---|
fastfacedetector-retinaface-mnetv1-960 |
0.87832 | 0.48082 | 0.62144 | 0.02088 |
| UniFace RetinaFace MNetV2 baseline | 0.87753 | 0.44552 | 0.59099 | 0.02699 |
Intended Use
- High-throughput CPU inference on already-detected/aligned face crops.
- Gender and age signals for product analytics or moderation-assist workflows where uncertainty and bias are handled upstream/downstream.
- Teacher-assisted auditing and future distillation.
Limitations
- The age/gender models do not detect faces; they expect aligned face crops.
- The detector candidate provides the raw-image face detection and 5-point alignment stage, but its alignment benchmark uses UniFace RetinaFace MNetV2 as the comparison baseline rather than human landmark annotations.
- Age labels are noisy across public face-age datasets, so age should be treated as an estimate.
- Gender labels follow dataset annotations and can encode social and labeling bias.
- Race/ethnicity classification is not provided.
- Metrics reflect the assembled validation manifests, not universal real-world performance.