A high performance fingerprint matching system for large databases based on GPU

This Website contains complementary material to the paper:

P.D. Gutiérrez, M. Lastra, J.M. Benítez and F.Herrera , A high performance fingerprint matching system for large databases based on GPU. IEEE Transactions on Information Forensics and Security, submitted .

Summary:

  1. Abstract
  2. Experimental Framework
    1. Synthetic database
  3. Results obtained

 

P.D. Gutiérrez, M. Lastra, J.M. Benítez and F.Herrera , A high performance fingerprint matching system for large databases based on GPU.

Abstract

Fingerprints are the biometric features most used for identification. They can be characterized through some particular elements called minutiae. The identification of a given fingerprint requires the matching of its minutiae against the minutiae of other fingerprints. Hence fingerprint matching is a key process. The efficiency of current matching algorithms does not allow their use in large fingerprint databases, to apply them, a breakthrough in running performance is necessary. Nowadays the Minutia Cylinder-Code (MCC) is the best performing algorithm in terms of accuracy. Notwithstanding a weak point of this algorithm is its computational requirements. In this paper we present a GPU fingerprint matching system based on MCC. The many-core computing framework provided by CUDA on NVIDIA Tesla and GeForce hardware platforms offers an opportunity to enhance fingerprint matching. Through a thorough and careful data structure, computation and memory transfer design we have developed a system that keeps its accuracy and reaches a speed-up up to 100.8x compared to a reference sequential CPU implementation. A rigorous empirical study over captured and synthetic fingerprint databases show the efficiency of our proposal. These results open up a whole new field of possibilities for reliable real time fingerprint identification in large databases.

Experimental framework

The proposed GPU algorithm has been tested with different databases including captured and synthetic fingerpritns. DB4 and DB14 databases are captured fingerprints provided by the NIST (National Institute of Standards and Technology). On the other hand a synthetic fingerprint database was created using SFinGe software.

Synthetic database

A Synthetic database has been generated for this paper using the SFinGe software. This databases contains two samples of 100,000 fingerprits following the Galton-Henry distribution. Table 1 shows the parameters set to generate the database with the SFinGe software.

Table 1: Parameters for the SFinge database
Scanner Parameters
Acquisition area 0.58'' x 0.77'' (14.6mm x 19.6mm)
Resolution 500 dpi
Image size 288 x 384
Background type Optical
Background noisee Default
Crop borders 0 x 0.
Generation Parameters
Impression per finger 25
Class distribution Natural
Set all distributions as ''Varying quality and perturbations''
Generate pores enabled
Save ISO templates enabled
Output Settings
Output file type WSQ
 

 

Results obtained

In this section, we report the results obtained in the experimental study. We divide the results in three parts: the first part contains results associated to the accuracy of our implementation compared to the MCC baseline implementation of the FVC-onGoing benchmark, the second part includes the speed-up results and charts and finally the third part includes the results in terms of fingerprints per second.

We present these data in xls and ods files available for download. Charts summarizing the results are included in the spreadsheet files to make easier their usage.

Accuracy results from the FVC-onGoing benchmark

The following files shows the comparison between MCC baseline algorithm and our CPU implementation of MCC on the FMISO-STD-1.0 FMISO-HARD-1.0 benchmarks of the FVC-onGoing competition. Each benchmark results are presented in one page of the spreadsheet.

Table 2: FVC on-Going results
  xls file ods file
FVC on-Going results xls file ods file

Speed-up results over different databases

In this section we present the speed-up results for the different databases and tests performed. In the first file the speed-up achieved with each database is shown on one page of the spreadsheet. The second file shows the scalabilty test performed with the SFinGe database. The third file presents the experiments performed with two GPUs. The final page of each file includes graphics sumarizing the results.

Table 3: Speed-up results
  xls file ods file
Speed-up results xls file ods file
Scalability results xls file ods file
Multi-GPU results xls file ods file

Fingerprints per second

Finally, this section introduces the fingerprints that can be processed in one second taking into account the characteristics of each database. The numerical and graphical results of each database are presented in a different page of the spreadsheet.

Table 4: Fingerprints per second results
  xls file ods file
Fingerprints per second results xls file ods file