HyperFace-10k-StyleGAN
Face recognition datasets are often collected by crawling Internet and without individuals' consents, raising ethical and privacy concerns. Generating synthetic datasets for training face recognition models has emerged as a promising alternative. However, the generation of synthetic datasets remains challenging as it entails adequate inter-class and intra-class variations. While advances in generative models have made it easier to increase intra-class variations in face datasets (such as pose, illumination, etc.), generating sufficient inter-class variation is still a difficult task. In this paper, we formulate the dataset generation as a packing problem on the embedding space (represented on a hypersphere) of a face recognition model and propose a new synthetic dataset generation approach, called HyperFace. We formalize our packing problem as an optimization problem and solve it with a gradient descent-based approach. Then, we use a conditional face generator model to synthesize face images from the optimized embeddings. We use our generated datasets to train face recognition models and evaluate the trained models on several benchmarking real datasets. Our experimental results show that models trained with HyperFace achieve state-of-the-art performance in training face recognition using synthetic datasets. Project page: https://www.idiap.ch/paper/hyperface/
Overview
- Training: HyperFace-10k-StyleGAN was trained on a variant of HyperFace Synthetic Dataset with 10k identities and StyleGAN for gallery
- Backbone: IResNet50
- Parameters: 43.6M
- Task: Face Recognition models trained on HyperFace Synthetic Face Datasets
- Framework: Pytorch
- Output structure: Batch of face embeddings (ie, features)
Evaluation of Model
Block diagram of HyperFace Dataset Generation: We start from randomly synthesized face images and extract their embeddings using a pretrained face recognition model. The extracted embeddings are normalised and used as initial points in our HyperFace optmization. The HyperFace optimization tries to increase the intra-class variation for synthetic identities on the manifold of the face recognition model over the hypersphere using a regularization term. The resulting points are then used by a face generator model, which can generate synthetic face images from the embeddings.
Performance benchmarks of different variants of HyperFace:
RELEASE NAME | GALLERY | # IDs | # IMAGES | LFW (%) | CPLFW (%) | CALFW (%) | CFP (%) | AgeDB (%) |
---|---|---|---|---|---|---|---|---|
HyperFace-10k-LDM | LDM | 10,000 | 640,000 | 98.65 | 84.35 | 89.17 | 89.09 | 86.35 |
HyperFace-10k-StyleGAN | StyleGAN | 10,000 | 640,000 | 98.67 | 84.68 | 89.82 | 89.14 | 87.07 |
HyperFace-50k-StyleGAN | StyleGAN | 50,000 | 3,200,000 | 98.27 | 85.60 | 91.48 | 92.24 | 90.40 |
Table 1: Comparison of different released HyperFace datasets
Dataset name | #IDs | #Images | LFW | CPLFW | CALFW | CFP | AgeDB |
---|---|---|---|---|---|---|---|
SynFace | 10β000 | 999β994 | 86.57 | 65.10 | 70.08 | 66.79 | 59.13 |
SFace | 10β572 | 1β885β877 | 93.65 | 74.90 | 80.97 | 75.36 | 70.32 |
Syn-Multi-PIE | 10β000 | 180β000 | 78.72 | 60.22 | 61.83 | 60.84 | 54.05 |
IDnet | 10β577 | 1β057β200 | 84.48 | 68.12 | 71.42 | 68.93 | 62.63 |
ExFaceGAN | 10β000 | 599β944 | 85.98 | 66.97 | 70.00 | 66.96 | 57.37 |
GANDiffFace | 10β080 | 543β893 | 94.35 | 76.15 | 79.90 | 78.99 | 69.82 |
Langevin-Dispersion | 10β000 | 650β000 | 94.38 | 65.75 | 86.03 | 65.51 | 77.30 |
Langevin-DisCo | 10β000 | 650β000 | 97.07 | 76.73 | 89.05 | 79.56 | 83.38 |
DigiFace-1M | 109β999 | 1β219β995 | 90.68 | 72.55 | 73.75 | 79.43 | 68.43 |
IDiff-Face (Uniform) | 10β049 | 502β450 | 98.18 | 80.87 | 90.82 | 82.96 | 85.50 |
IDiff-Face (Two-Stage) | 10β050 | 502β500 | 98.00 | 77.77 | 88.55 | 82.57 | 82.35 |
DCFace | 10β000 | 500β000 | 98.35 | 83.12 | 91.70 | 88.43 | 89.50 |
HyperFace | 10β000 | 500β000 | 98.50 | 84.23 | 89.40 | 88.83 | 86.53 |
CASIA-WebFace (real dataset) | 10β572 | 490β623 | 99.42 | 90.02 | 93.43 | 94.97 | 94.32 |
Table 2: Comparison of recognition performance of face recognition models trained with different synthetic datasets and a real dataset (i.e., CASIA-WebFace). The performance reported for each dataset is in terms of accuracy and best value for each benchmark is emboldened.
Running Code
- Minimal code to instantiate the model and perform inference: Please use the corresponding git repository mentioned in the project page and run the following code to extract embeddings using the HyperFace trained face recognition models:
# Inferece (Face Recognition)
from face_alignment import align
from inference import load_pretrained_model, to_input
checkpoint = 'model_checkpoint.ckpt'
model = load_pretrained_model(checkpoint, architecture='ir_50')
path = 'path_to_the_image'
aligned_rgb_img = align.get_aligned_face(path)
bgr_input = to_input(aligned_rgb_img)
feature, _ = model(bgr_input)
License
HyperFace is released under MIT License
Copyright
(c) 2025, Hatef Otroshi Shahreza, SΓ©bastien Marcel Idiap Research Institute, Martigny 1920, Switzerland.
https://gitlab.idiap.ch/biometric/code.iclr2025_hyperface/-/blob/master/LICENSE
Please refer to the link for information about the License & Copyright terms and conditions.
Citation
If you find our work useful, please cite the following publication:
@inproceedings{shahreza2025hyperface,
title={HyperFace: Generating Synthetic Face Recognition Datasets by Exploring Face Embedding Hypersphere},
author={Hatef Otroshi Shahreza and S{\'e}bastien Marcel},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025}
}