Fingerprint Recognition System - - Release 5.1 -
     
Go to Matlab Official Web Site

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.

 
   
 
Home Page
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