This repository implements a facial recognition system using ArcFace-based models, focusing on training and evaluation with identity classification and comparison metrics.
- ArcFace Models: Implementation of two ArcFace variants,
ResNetArcFace
andResNetDreamArcFace
, for robust facial recognition. - Training Pipeline: Train models with custom loss functions, optimize using SGD, and log the training loss for comparison.
- Evaluation Metrics: Supports one-to-one and one-to-many facial identity comparison, calculating metrics such as genuine and impostor distances.
- Dataset Handling: Automatic dataset preparation, including identity-based image organization and splitting into train/test sets.
-
Training
Run the training script using Hydra for easy configuration:python train.py
The trained models are saved for future use.
-
Testing
Evaluate model performance using one-to-one and one-to-many comparisons:python test.py
Results include precision metrics and visual plots.
- Utilizes the CelebA-HQ dataset. Images are organized by identity and split into train/test sets.