# Privacy-Friendly Datasets of Synthetic Fingerprints for Evaluation of Biometric Algorithms
## 3 Research Methodology
### Training of Generative Models
#### 3.1.5 Technical Aspects of Model Training  
As a backbone for our generative models, we cloned the pix2 pix network from the following repository: [[https://github.com/junyanz/pytorch-CycleGAN-and-pix2](https://github.com/junyanz/pytorch-CycleGAN-and-pix2) pix]([https://github.com/junyanz/pytorch-CycleGAN-and-pix2](https://github.com/junyanz/pytorch-CycleGAN-and-pix2) pix) (accessed on 4 September 2023) and extended both the generator and discriminator architectures by one convolutional layer. This step enables training and further synthesis with full fingerprints at a native resolution in 512 \(\times\) 512 pixel images. The modified pix2 pix network is available at [[https://gittics.uni-magdeburg.de/[PERSON]/gensynth-pix2](https://gittics.uni-magdeburg.de/[PERSON]/gensynth-pix2) pix]([https://gittics.uni-magdeburg.de/[PERSON]/gensynth-pix2](https://gittics.uni-magdeburg.de/[PERSON]/gensynth-pix2) pix) (accessed on 4 September 2023). For training, we use the desktop PC with the AMD Ryzen 9 3950X 16-Core CPU (3.5 GHz) and 128 GB RAM. It has two NVIDIA Titan RTX GPUs with 24 GB VRAM each. **Training Dataset. ** Considering the requirements mentioned in the beginning of Section 3.1, we decided to use high-fidelity plain fingerprints for training our generative models. Our primary focus is on fingerprints captured by optical biometric sensors similar to CrossMatch Verifier 300 [56]. There are three subsets in our training dataset:  
1. The 408 samples from the Neurotechnology CrossMatch dataset. The images are license free and can be downloaded from: [[https://www.neurotechnology.com/download.html](https://www.neurotechnology.com/download.html)]([https://www.neurotechnology.com/download.html](https://www.neurotechnology.com/download.html)) (accessed on 4 September 2023). 2. The 880 samples from the FVC2002 DB1 A+B dataset. This dataset has been created for the Second International Fingerprint Verification Competition (FVC2002) back in 2002: [[http://bias.csr.unibo.it/fvc2002/databases.asp](http://bias.csr.unibo.it/fvc2002/databases.asp)]([http://bias.csr.unibo.it/fvc2002/databases.asp](http://bias.csr.unibo.it/fvc2002/databases.asp)) (accessed on 4 September 2023). Note that in contrast to other two datasets, the fingerprints in FVC2002 DB1 A+B are from Identix TouchView II and not from CrossMatch Verifier 300. 3. The 880 samples from the FVC2004 DB1 A+B dataset. This dataset was created for the Third International Fingerprint Verification Competition (FVC2004) back in 2004: [[http://bias.csr.unibo.it/fvc2004/databases.asp](http://bias.csr.unibo.it/fvc2004/databases.asp)]([http://bias.csr.unibo.it/fvc2004/databases.asp](http://bias.csr.unibo.it/fvc2004/databases.asp)) (accessed on 4 September 2023). The total number of samples is **2168**. In order to increase the size and diversity of our training dataset, we perform data augmentation. Fingerprint images are horizontally flipped and rotated with eight angles of rotation: \(\pm\)5\({}^{\circ}\), \(\pm\)10\({}^{\circ}\), \(\pm\)15\({}^{\circ}\), and \(\pm\)20\({}^{\circ}\). Calculating together the original images, flipped images, rotated original, and rotated flipped images, we increase the number of training samples by a factor of 18. After data augmentation, the total number of samples is **39,024**. In the remainder of the paper, we refer to this dataset as **\"aug39k\"**. **Training Hyperparameters. ** After abundant experimentation with different training hyperparameters, we ended up with a learning rate of 0.002 and 120 epochs, the first 60 epochs with a constant learning rate, and 60 epochs with linear decay of the learning rate. In our very first training runs, we trained models with batch normalization. The best results have been achieved with the batch size of 64, but the resulting fingerprint patterns were quite noisy. Especially the background, which is expected to be blank containing only white pixels, exhibited a lot of noise. For this reason, batch normalization was replaced by instance normalization, as suggested in [57].