abbet commited on
Commit
5015097
·
0 Parent(s):

Initial commit

Browse files
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Langevin-Dispersion-10k.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e92522365dc92faa9b130fd871ab21a4ed01a8afa5c5ce5dc96d63aceae1f1cc
3
+ size 390034798
Langevin-Dispersion-10k_checksum.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Filename: Langevin-Dispersion-10k.ckpt
2
+ MD5 Hash: 9b9e9aafa7497e4ac9bd7a1657c0fb6f
README.md ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-sa-4.0
3
+ ---
4
+
5
+
6
+ # Langevin-Dispersion-10k
7
+
8
+ 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
9
+
10
+
11
+ ## Overview
12
+
13
+ * **Training**: Face Recognition models trained on [Synthetic Face Recognition Datasets (Langevin-Dispersion-DisCo)](https://zenodo.org/records/11474048)
14
+ * **Backbone**: IResnet50
15
+ * **Parameters**: 43.6M
16
+ * **Task**: Face Recognition models trained on Synthetic Face Datasets
17
+ * **Framework**: Pytorch
18
+ * **Output structure**: Batch of face embeddings (ie, features)
19
+
20
+ ## Evaluation of Models
21
+
22
+ For evaluation, we train face recognition models from scratch using the synthetic datasets and then evaluate trained models on benchmarking datasets.
23
+ Performance benchmarks of face recognition models trained with our dataset and other datasets in the literature:
24
+
25
+ | Dataset Type | Dataset Name | Generator | No. IDs | No. Samples | LFW | CPLFW | CALFW | CFP | AgeDB |
26
+ |---------------------|-----------------------|-----------------|----------|----------|--------|--------|--------|--------|--------|
27
+ | Real images | MS-Celeb-1M | N/A | 85,000 | 5,800,000| 99.82 | 92.83 | 96.07 | 96.10 | 97.82 |
28
+ | Real images | WebFace-4M | N/A | 206,000 | 4,000,000| 99.78 | 94.17 | 95.98 | 97.14 | 97.78 |
29
+ | Real images | CASIA-WebFace | N/A | 10,572 | 490,623 | 99.42 | 90.02 | 93.43 | 94.97 | 94.32 |
30
+ | Computer Graphics | DigiFace-1M | Rendered mesh | 109,999 | 1,219,995| 90.68 | 72.55 | 73.75 | 79.43 | 68.43 |
31
+ | Diffusion-based | DCFace-0.5M | custom trained | 10,000 | 500,000 | 98.35 | 83.12 | 91.70 | 88.43 | 89.50 |
32
+ | Diffusion-based | DCFace-1.2M | custom trained | 60,000 | 1,200,000| 98.90 | 84.97 | 92.80 | 89.04 | 91.52 |
33
+ | Diffusion-based | IDiff-Face (Uniform) | custom trained | 10,049 | 502,450 | 98.18 | 80.87 | 90.82 | 82.96 | 85.50 |
34
+ | Diffusion-based | IDiff-Face (Two-Stage)| custom trained | 10,050 | 502,500 | 98.00 | 77.77 | 88.55 | 82.57 | 82.35 |
35
+ | GAN-based | Synface | StyleGAN2 | 10,000 | 999,994 | 86.57 | 65.10 | 70.08 | 66.79 | 59.13 |
36
+ | GAN-based | SFace | StyleGAN2 | 10,572 | 1,885,877| 93.65 | 74.90 | 80.97 | 75.36 | 70.32 |
37
+ | GAN-based | SFace2 | StyleGAN2 | 10,572 | 1,048,255| 94.03 | 73.2 | 80.33 | 74.87 | 72.98 |
38
+ | GAN-based | Syn-Multi-PIE | StyleGAN2 | 10,000 | 1,800,000| 78.72 | 60.22 | 61.83 | 60.84 | 54.05 |
39
+ | GAN-based | GANDiffFace | StyleGAN3 | 10,080 | 543,893 | 94.35 | 76.15 | 79.90 | 78.99 | 69.82 |
40
+ | GAN-based | IDnet | StyleGAN2 | 10,577 | 1,057,200| 84.48 | 68.12 | 71.42 | 68.93 | 62.63 |
41
+ | GAN-based | ExFaceGAN | GAN-Control | 10,000 | 599,944 | 85.98 | 66.97 | 70.00 | 66.96 | 57.37 |
42
+ |**GAN-based** |**Langevin-Dispersion [ours]**| StyleGAN2 | 10,000 | 650,000 | 94.38 | 65.75 | 86.03 | 65.51 | 77.30 |
43
+ | GAN-based | Langevin-DisCo [ours] | StyleGAN2 | 10,000 | 650,000 | 97.07 | 76.73 | 89.05 | 79.56 | 83.38 |
44
+ | GAN-based | Langevin-DisCo [ours] | StyleGAN2 | 30,000 | 1,650,000| 98.97 | 81.52 | 93.95 | 83.77 | 93.32 |
45
+
46
+ _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._
47
+
48
+
49
+ ## Running Code
50
+
51
+ * Minimal code to instantiate the model and perform inference:
52
+
53
+ ``` python
54
+ # Inferece (Face Recognition)
55
+ from face_alignment import align
56
+ from inference import load_pretrained_model, to_input
57
+
58
+ checkpoint = 'model_checkpoint.ckpt'
59
+ model = load_pretrained_model(checkpoint, architecture='ir_50')
60
+ path = 'path_to_the_image'
61
+ aligned_rgb_img = align.get_aligned_face(path)
62
+ bgr_input = to_input(aligned_rgb_img)
63
+ feature, _ = model(bgr_input)
64
+ ```
65
+
66
+ ## License
67
+
68
+ [CC BY-NC-SA 4.0](https://www.idiap.ch/Paper/?namespace=paper&slug=synthetics-disco)
69
+
70
+ ## Copyright
71
+
72
+ (c) 2025, David Geissbühler, Hatef Otroshi Shahreza, Sébastien Marcel Idiap Research Institute, Martigny 1920, Switzerland.
73
+
74
+ https://www.idiap.ch/paper/synthetics-disco/
75
+
76
+ Please refer to the link for information about the License & Copyright terms and conditions.
77
+
78
+ ## Citation
79
+
80
+ If you find our work useful, please cite the following publication:
81
+
82
+ ```bibtex
83
+ @inproceedings{geissbuhler2025synthetic,
84
+ title={Synthetic Face Datasets Generation via Latent Space Exploration from Brownian Identity Diffusion},
85
+ author={David Geissb{\"u}hler and Hatef Otroshi Shahreza and S{\'e}bastien Marcel},
86
+ booktitle={Forty-second International Conference on Machine Learning},
87
+ year={2025}
88
+ }
89
+ ```