SFinGe (Synthetic Fingerprint Generator) is a novel method for the generation of synthetic fingerprint images ("sfinge" is the Italian for "sphinx").
Why a synthetic fingerprint generator?
Testing a fingerprint recognition algorithm requires a large database of samples (thousands or tens of thousands), due to the small errors which have to be estimated, but collecting large databases of fingerprint images is:
- expensive both in terms of money and time;
- boring for both the people involved and for the volunteers, which are usually submitted to several acquisition sessions at different dates;
- delicate due to the privacy legislation which protects such personal data.
SFinGe can be used to create, at zero cost, large databases of fingerprints, thus allowing recognition algorithms to be simply tested and optimized. For instance, a database containing 100,000 fingerprints can be batch-generated in about one day on a single PC. Fingerprints generated by SFinGe are extremely realistic: in FVC2000, FVC2002, FVC2004 and FVC2006, one of the four databases used (DB4) was synthetically generated and, in all the four competitions, the participant algorithms performed on DB4 similarly to the other DBs. This proves that the main inter-class and intra-class variations of fingerprints in nature are very well captured by SFinGe.
The generation method
Gabor-like space-variant filters are used for iteratively expanding an initially empty image containing just one or a few seeds.A directional image model, whose inputs are the number and location of the fingerprint cores and deltas, is used for tuning the filters.Very-realistic fingerprint images are obtained after the final noising-and-rendering stage.
The generation method sequentially performs the following steps:
- Directional map generation (Steps 1-2 in the animation)
- Density map generation
- Ridge pattern generation (Step 3 in the animation)
- Noising and Rendering (Step 4 in the animation)
Step a, starting from the positions of cores and deltas, exploits a mathematical flow model to generate a consistent directional map. Step b creates a density map on the basis of some heuristic criteria; in step c, the ridge-line pattern and the minutiae are created through a space-variant linear filtering; the output is a near-binary very clear fingerprint image. Step d adds some specific noise and produce a realistic gray-scale representation of the fingerprint.
- Version 1.0 - first version released
- Version 2.0:
- Selection of the fingerprint shape
- "Orientation correction" which allows to generate more realistic directional images
- Morphology erosion/dilation of the ridge lines (to simulate various dryness/pressure levels)
- Fingerprint image distortion (to keep into account skin plasticity)
- Fingerprint contrast adjustment, fingerprint rotation and translation, ...
- Automatic generation of different "impressions" of the same "finger"
- Version 2.5:
- Selection of the fingerprint-image size
- Generation of realistic backgrounds
- New batch-generation interface
- Advanced batch-generation options
- Version 3.0:
- New improved noising algorithm
- New Advanced batch-generation options
- Version 4.0:
- Automatic creation of an ISO/IEC 19794-2 minutiae template for each generated fingerprint (ground-truth minutiae data)
- Automatic creation of other ground-truth data about the generated images (orientation image, ridge-line skeleton, …)
- Possibility of distributing the database generation among more PC in a network to speed up the process
- Version 4.1:
- Generation of pores
- Possibility of generating fingerprints at 250/500/1000 dpi
- Faster generation using SSE2 instructions
- Option for simulating ten-fingerprints records
- New noising parameters
- Version 5.0:
- A systematic analysis of real databases allowed to further improve generation models, algorithms and default parameters
- New parameter for controling the probability of generating very low-quality fingerprints
Examples of fingerprints generated by SFinGe
Bibliography(Click here if you are interested in any of the publications below)
D. Maltoni, D. Maio, A.K. Jain and J. Feng, Handbook of Fingerprint Recognition (Third Edition), Springer Nature, 2022.
D. Maltoni, D. Maio, A.K. Jain and S. Prabhakar, Handbook of Fingerprint Recognition (Second Edition), Springer (London), 2009.
R. Cappelli, M. Ferrara and D. Maltoni, "Generating synthetic fingerprints", in Martin Drahanský, Hand-Based Biometrics: Methods and technology, IET, 2018. Abstract
R. Cappelli, "Fingerprint Sample Synthesis", in Stan Z. Li and Anil K. Jain (Editors), Encyclopedia of Biometrics (second edition), Springer, 2015.
R. Cappelli, "SFinGe", in Stan Z. Li and Anil K. Jain (Editors), Encyclopedia of Biometrics (second edition), Springer, 2015.
R. Cappelli, "Synthetic fingerprint generation", in D. Maltoni, D. Maio, A.K. Jain and S. Prabhakar, Handbook of Fingerprint Recognition (Second Edition), Springer (London), 2009.
R. Cappelli, "Fingerprint Sample Synthesis", in Stan Li (Editor), Encyclopedia of Biometrics, Springer, 2009. Abstract
R. Cappelli, "SFinGe", in Stan Li (Editor), Encyclopedia of Biometrics, Springer, 2009. Abstract
D. Maltoni, "Generation of Synthetic Fingerprint Image Databases", in N. Ratha and R. Bolle, Automatic Fingerprint Recognition Systems, Springer, 2004. Abstract
J. Galbally, R. Cappelli, A. Lumini, G. Gonzalez-de-Rivera, D. Maltoni, J. Fierrez-Aguilar, J. Ortega-Garcia and D. Maio, "An Evaluation of Direct Attacks Using Fake Fingers Generated from ISO Templates", Pattern Recognition Letters, vol.31, no.8, pp.725-732, June 2010. Award winning papers from the 19th International Conference on Pattern Recognition (ICPR), 19th International Conference in Pattern Recognition (ICPR). Abstract
R. Cappelli, A. Lumini, D. Maio and D. Maltoni, "Fingerprint Image Reconstruction from Standard Templates", IEEE Transactions on Pattern Analysis Machine Intelligence, vol.29, no.9, pp.1489-1503, September 2007. Abstract
J. Galbally, R. Cappelli, A. Lumini, D. Maltoni and J. Fierrez-Aguilar, "Fake Fingertip Generation from a Minutiae Template", in proceedings 19th International Conference on Pattern Recognition (ICPR2008), Tampa, Florida, USA, pp.1-4, December 2008. IBM Best Student Paper Award. Abstract
R. Cappelli, "Use of Synthetic Data for Evaluating the Quality of Minutia Extraction Algorithms", in proceedings Second NIST Biometric Quality Workshop, Gaithersburg, Maryland, November 2007.
R. Cappelli, A. Lumini, D. Maio and D. Maltoni, "Evaluating Minutiae Template Vulnerability to Masquerade Attack", in proceedings 5th Workshop on Automatic Identification Advances Technologies (AutoID2007), Alghero, June 2007. Abstract
R. Cappelli, A. Lumini, D. Maio and D. Maltoni, "Can Fingerprints be Reconstructed from ISO Templates?", in proceedings International Conference on Control, Automation, Robotics and Vision (ICARCV2006), Singapore, pp.191-196, December 2006. Abstract
R. Cappelli, D. Maio and D. Maltoni, "An Improved Noise Model for the Generation of Synthetic Fingerprints", in proceedings Eighth International Conference on Control, Automation, Robotics and Vision (ICARCV2004), Kunming, China, December 2004. Abstract
R. Cappelli, "SFinGe: an Approach to Synthetic Fingerprint Generation", in proceedings International Workshop on Biometric Technologies (BT2004), Calgary, Canada, pp.147-154, June 2004. Invited paper. Abstract
R. Cappelli, D. Maio and D. Maltoni, "Synthetic Fingerprint-Database Generation", in proceedings 16th International Conference on Pattern Recognition (ICPR2002), Québec City, vol.3, pp.744-747, August 2002. Abstract
R. Cappelli, "SFinGe: Synthetic Fingerprint Generator", in proceedings 12th CardTech/SecurTech (CTST2002), April 2002. Invited. Abstract
R. Cappelli, A. Erol, D. Maio and D. Maltoni, "Synthetic Fingerprint-image Generation", in proceedings 15th International Conference on Pattern Recognition (ICPR2000), Barcelona, vol.3, pp.475-478, September 2000. Abstract