Fingerprint Recognition System - - Release 5.1 -
| |
|
|
|
|
|
Fingerprint Recognition System --- Release
5.1 ---
Filterbank-Based Fingerprint Matching (A.K.Jain, S.Prabhakar, L.Hong and S.Pankanti, 2000)
Abstract [1]
With identity fraud in our society reaching unprecedented proportions and with an increasing emphasis on
the emerging automatic personal identification applications, biometrics-based verification, especially
fingerprint-based identification, is receiving a lot of attention. There are two major shortcomings
of the traditional approaches to fingerprint representation. For a considerable fraction of population,
the representations based on explicit detection of complete ridge structures in the fingerprint are
difficult to extract automatically. The widely used minutiae-based representation does not utilize a
significant component of the rich discriminatory information available in the fingerprints. Local ridge
structures cannot be completely characterized by minutiae. Further, minutiae-based matching has difficulty
in quickly matching two fingerprint images containing different number of unregistered minutiae points.
The proposed filter-based algorithm uses a bank of Gabor filters to capture both local and global details
in a fingerprint as a compact fixed length FingerCode. The fingerprint matching is based on the Euclidean
distance between the two corresponding FingerCodes and hence is extremely fast. We are able to achieve a
verification accuracy which is only marginally inferior to the best results of minutiae-based algorithms
published in the open literature. Our system performs better than a state-of-the-art minutiae-based system
when the performance requirement of the application system does not demand a very low false acceptance rate.
Finally, we show that the matching performance can be improved by combining the decisions of the matchers
based on complementary (minutiae-based and filter-based) fingerprint information.
Index Terms: Biometrics, FingerCode, fingerprints, flow pattern, Gabor filters, matching, texture, verification.
The localization of core point represents the
most critical step of the whole process. A good matching requires an
accurate positioning, so the small errors must also be avoided. The usage
of complex filtering techniques, as shown in [2], can greatly improve
accuracy. On the other side, for very poor quality input images, a
traditional algorithm can fail even using a hierarchical approach with a
multiscale filtering.
 Figure 1.
Complex filtering output
We have developed a novel, hybrid technique for core point detection.
This algorithm, to our knowledge, is not documented in literature and is based on the mutual information
that is exchanged between improved procedures. The core point location is
more accurately detected by this merging of multiple techniques.
This new
algorithm was tested on FVC2004 training fingerprint images.
Test results are available on request. Please email me in order to obtain them.
Release
5.1 Demo code (protected
P-files) available for performance evaluation
|
Release |
Date |
Major features |
|
5.1 |
2005.05.21 |
|
|
5.0 |
2005.05.15 |
- The merging technique is greatly improved. This new
algorithm was tested on FVC2004 training fingerprint images.
Test results are available on request. Please email me in order to obtain them.
- Parameters for image segmentation are estimated
automatically
- An improved algorithm is used when the rotated FingerCode is
added to database. Now this procedure does not introduce any
additional noise
- A faster fingerprint image acquisition when a new
fingerprint image is added to database
- Implementation of 1D and 2D recursive Gabor
filtering
- Optimized pixel-wise orientation field estimation ( 80%
faster than Release 4.0 )
- List of fingerprint databases available on the web
|
| 4.0 |
2005.03.21 |
- An improved algorithm for core point detection, based on a
novel hybrid technique
- A better fingerprint segmentation which makes use of
morphological operations (binary erosion and dilation)
- Exhaustive documentation of the implemented algorithms
- Improved GUI
- Better error management
- Image enhancement [3]
- Orientation field estimation [3]
|
| 3.0 |
2004.06.22 |
- Major bugs fixed
- New GUI
- Complex filtering techniques [2]
- Improved core point determination
- Robustness against noise
- Modifiable simulation parameters
|
| 2.0 |
2003.11.29 |
- New GUI
- 8 Gabor filters 0 22.5 45 67.5 90 112.5 135 157.5 degrees
- Convolution is performed in frequency domain
- DataBase
- Fingerprint matching
- Error management
|
 Figure 2.
Poor quality input fingerprint and correspondig core point
[1] Anil K. Jain, Salil Prabhakar, Lin Hong
and Sharath Pankanti, “Filterbank-Based Fingerprint Matching”, IEEE
Transactions On Image Processing, Vol. 9, No. 5, May 2000, pagg. 846-859
[2] Kenneth Nilsson and Josef Bigun, “Localization of corresponding points
in fingerprints by complex filtering”, Pattern Recognition Letters 24
(2003), 2135-2144 [3] Sharat Chikkerur's submission at Matlab File Exchange, available at http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=6830&objectType=file
I recommend to check the secure
connection to PayPal, in order to avoid any fraud.
This donation has to be considered
an encouragement to improve the code itself.
|
|
Fingerprint Recognition System - Release
5.1 - Click here for your donation. In order to
obtain the source code you have to pay a
little sum of money: 30 EUROS (less than 42 U.S. Dollars).
|
|
|
Fingerprint Recognition System - Release
5.0 - Click here for your donation. In order to
obtain the source code you have to pay a
little sum of money: 25 EUROS (less than 35 U.S. Dollars).
|
|
Fingerprint Recognition System - Release 4.0 - Click here for your donation. In order to
obtain the source code you have to pay a
little sum of money: 5 EUROS (less than 7 U.S. Dollars). |
Once you have done this, please email
me luigi.rosa@tiscali.it As soon as possible (in a few days) you will
receive my new release of Fingerprint Recognition System.
Alternatively, you can bestow using my banking coordinates:
Name : Luigi Rosa
Address : Via Centrale 35 67042 L'Aquila Italy
Bank name : Poste Italiane
IBAN
(International Bank Account Number) : IT-50-V-07601-03600-000058177916 BIC
(Bank Identifier Code) : BPPIITRRXXX
The author has no relationship or partnership with The Mathworks.
All the code provided is written in Matlab language (M-files and/or M-functions), with no dll or other protected
parts of code (P-files or executables). The code was developed with Matlab 14 SP1. Matlab Image Processing Toolbox is required. The code
provided has to be considered "as is" and it is without any kind of
warranty. The author denies any kind of warranty concerning the code as
well as any kind of responsibility for problems and damages which may be
caused by the use of the code itself including all parts of the source
code.
|
| |
|
| |
|
|
|
|
Fingerprint recognition, Gabor filter, Convolution, Fingercode, Complex
filtering, Core point, Delta point, Biometrics, Flow pattern, Gabor filters,
Matching, Texture, Verification, FFT, Fast Fourier Transform, Fingerprint recognition, Gabor filter, Convolution, Fingercode, Complex
filtering, Core point, Delta point, Biometrics, Flow pattern, Gabor filters,
Matching, Texture, Verification, FFT, Fast Fourier Transform, matlab, velocità, memoria, ottimizzazione, m file, m-file, m file, profiler, incrementare, aumentare, accelerare, generazione codice, mex, c, c++, fortran, speeding up, management,
compiler, compilatore, ottimizzare, speed, memory, optimize, disk space, routine, compiling, funzione, function, script, funzioni, functions, scripts, application, applicazione, applicazioni, execution, esecuzione, tempo, time, simulazione numerica, simulation, numeric,
trucchi, collegamenti, informazioni, risorsa, gratis, gratuito, informazione, rete, disponibili, gratuiti, triks, tips matlab, velocità, memoria, ottimizzazione, m file, m-file, m file, profiler, incrementare, aumentare, accelerare, generazione codice, mex, c, c++, fortran, speeding up, management,
compiler, compilatore, ottimizzare, speed, memory, optimize, disk space, routine, compiling, funzione, function, studenti, tesi, tesine, tesina,
studente, laurea, laureando, laureanda, relazione, supportoscript, funzioni, functions, scripts, application, applicazione, applicazioni, execution, esecuzione, tempo, time, simulazione numerica, simulation, numeric,
trucchi, collegamenti, informazioni, risorsa, gratis, gratuito, informazione, rete, disponibili, gratuiti, triks, tips matlab, velocità, memoria, ottimizzazione, m file, m-file, m file, profiler, incrementare, aumentare, accelerare, generazione codice, mex, c, c++, fortran, speeding up, management,
compiler, compilatore, ottimizzare, speed, memory, optimize, disk space, routine, compiling, funzione, function, script, funzioni, functions, scripts, application, applicazione, applicazioni, execution, esecuzione, tempo, time, simulazione numerica, simulation, numeric,
trucchi, collegamenti, informazioni, risorsa, gratis, gratuito, informazione, rete, studenti, tesi, tesine, tesina,
studente, laurea, laureando, laureanda, relazione, supporto, disponibili, gratuiti, triks, tips matlab, velocità, memoria, ottimizzazione, m file, m-file, m file, profiler, incrementare, aumentare, accelerare, generazione codice, mex, c, c++, fortran, speeding up, management,
compiler, compilatore, ottimizzare, speed, memory, optimize, disk space, routine, compiling, funzione, function, script, studenti, tesi, tesine, tesina,
studente, laurea, laureando, laureanda, relazione, supporto, funzioni, functions, scripts, application, applicazione, applicazioni, execution, studenti, tesi, tesine, tesina,
studente, laurea, laureando, laureanda, relazione, supporto, esecuzione, tempo, time, simulazione numerica, simulation, numeric,
trucchi, collegamenti, informazioni, risorsa, gratis, gratuito, informazione, rete, disponibili, gratuiti, triks, tips