--- license: apache-2.0 library_name: onnx tags: - computer-vision - image-classification - face-analysis - age-estimation - gender-classification - onnx - cpu pipeline_tag: image-classification --- # 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.96638 - `fastface-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.