For training was use the follow dataset CelebA
Project structure:
-
./model - you can take all checkpoints from here
-
jupyter/train_baseline.ipynb - baseline face recognition solution, no tricks(no scheduler, no augmentation, not all dataset, only 10 epoch) - test accuracy 78%
-
face_alignment.py - face alignment
-
jupyter/test_identification_rate_metric.ipynb - tests for Identificaton rate metric (TPR@FPR).
- jupyter/train_triplet_margin_loss.ipynb - checked IR metric on triplet loss function
-
jupyter/train_arcface.ipynb - trained arcface, was use pytorch-metric-learning
-
jupyter/train_triplet_loss.ipynb - trained triplet loss, was use open-metric-learning
-
app/ - here is simple demo of face recognition system
- If you want run app locally, you can just change workdir to
cd ./app
and use docker- docker compose build
- docker compose up
- If you want run app locally, you can just change workdir to
-
dataset.py - some helpers for CelebA dataset