Langevin-DisCo-10k
Face recognition models are trained on large-scale datasets, which have privacy and ethical concerns. Lately, the use of synthetic data to complement or replace genuine data for the training of face recognition models has been proposed. While promising results have been obtained, it still remains unclear if generative models can yield diverse enough data for such tasks. In this work, we introduce a new method, inspired by the physical motion of soft particles subjected to stochastic Brownian forces, allowing us to sample identities distributions in a latent space under various constraints. We introduce three complementary algorithms, called Langevin, Dispersion, and DisCo, aimed at generating large synthetic face datasets. With this in hands, we generate several face datasets and benchmark them by training face recognition models, showing that data generated with our method exceeds the performance of previously GAN-based datasets and achieves competitive performance with state-of-the-art diffusion-based synthetic datasets. While diffusion models are shown to memorize training data, we prevent leakage in our new synthetic datasets, paving the way for more responsible synthetic datasets. Project page: https://www.idiap.ch/paper/synthetics-disco
Overview
- Training: Face Recognition models trained on Synthetic Face Recognition Datasets (Langevin-Dispersion-DisCo)
- Backbone: IResnet50
- Parameters: 43.6M
- Task: Face Recognition models trained on Synthetic Face Datasets
- Framework: Pytorch
- Output structure: Batch of face embeddings (ie, features)
Evaluation of Models
For evaluation, we train face recognition models from scratch using the synthetic datasets and then evaluate trained models on benchmarking datasets. Performance benchmarks of face recognition models trained with our dataset and other datasets in the literature:
Dataset Type | Dataset Name | Generator | No. IDs | No. Samples | LFW | CPLFW | CALFW | CFP | AgeDB |
---|---|---|---|---|---|---|---|---|---|
Real images | MS-Celeb-1M | N/A | 85,000 | 5,800,000 | 99.82 | 92.83 | 96.07 | 96.10 | 97.82 |
Real images | WebFace-4M | N/A | 206,000 | 4,000,000 | 99.78 | 94.17 | 95.98 | 97.14 | 97.78 |
Real images | CASIA-WebFace | N/A | 10,572 | 490,623 | 99.42 | 90.02 | 93.43 | 94.97 | 94.32 |
Computer Graphics | DigiFace-1M | Rendered mesh | 109,999 | 1,219,995 | 90.68 | 72.55 | 73.75 | 79.43 | 68.43 |
Diffusion-based | DCFace-0.5M | custom trained | 10,000 | 500,000 | 98.35 | 83.12 | 91.70 | 88.43 | 89.50 |
Diffusion-based | DCFace-1.2M | custom trained | 60,000 | 1,200,000 | 98.90 | 84.97 | 92.80 | 89.04 | 91.52 |
Diffusion-based | IDiff-Face (Uniform) | custom trained | 10,049 | 502,450 | 98.18 | 80.87 | 90.82 | 82.96 | 85.50 |
Diffusion-based | IDiff-Face (Two-Stage) | custom trained | 10,050 | 502,500 | 98.00 | 77.77 | 88.55 | 82.57 | 82.35 |
GAN-based | Synface | StyleGAN2 | 10,000 | 999,994 | 86.57 | 65.10 | 70.08 | 66.79 | 59.13 |
GAN-based | SFace | StyleGAN2 | 10,572 | 1,885,877 | 93.65 | 74.90 | 80.97 | 75.36 | 70.32 |
GAN-based | SFace2 | StyleGAN2 | 10,572 | 1,048,255 | 94.03 | 73.2 | 80.33 | 74.87 | 72.98 |
GAN-based | Syn-Multi-PIE | StyleGAN2 | 10,000 | 1,800,000 | 78.72 | 60.22 | 61.83 | 60.84 | 54.05 |
GAN-based | GANDiffFace | StyleGAN3 | 10,080 | 543,893 | 94.35 | 76.15 | 79.90 | 78.99 | 69.82 |
GAN-based | IDnet | StyleGAN2 | 10,577 | 1,057,200 | 84.48 | 68.12 | 71.42 | 68.93 | 62.63 |
GAN-based | ExFaceGAN | GAN-Control | 10,000 | 599,944 | 85.98 | 66.97 | 70.00 | 66.96 | 57.37 |
GAN-based | Langevin-Dispersion [ours] | StyleGAN2 | 10,000 | 650,000 | 94.38 | 65.75 | 86.03 | 65.51 | 77.30 |
GAN-based | Langevin-DisCo [ours] | StyleGAN2 | 10,000 | 650,000 | 97.07 | 76.73 | 89.05 | 79.56 | 83.38 |
GAN-based | Langevin-DisCo [ours] | StyleGAN2 | 30,000 | 1,650,000 | 98.97 | 81.52 | 93.95 | 83.77 | 93.32 |
Comparison of the existing synthetic face datasets present in the literature with the best performing datasets created in this work. In addition to the number of identities and number of images, we present the recognition accuracy obtained by training an FR model on each dataset and evaluating on standard face recognition benchmarking datasets.
Running Code
- Minimal code to instantiate the model and perform inference:
# 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
Copyright
(c) 2025, David Geissbühler, Hatef Otroshi Shahreza, Sébastien Marcel Idiap Research Institute, Martigny 1920, Switzerland.
https://www.idiap.ch/paper/synthetics-disco/
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{geissbuhler2025synthetic,
title={Synthetic Face Datasets Generation via Latent Space Exploration from Brownian Identity Diffusion},
author={David Geissb{\"u}hler and Hatef Otroshi Shahreza and S{\'e}bastien Marcel},
booktitle={Forty-second International Conference on Machine Learning},
year={2025}
}