Fingerprint Matching Chapter 4, sections 4.4-4.8 Handbook of fingerprint recognition & Filterbank-Based Fingerprint Matching Jain A.K. Prabhakar S., Jonh L. and Pankanti S., “IEEE Trans. On Image Processing”, vol. 9, No. 5, 2005. Alireza Tavakkoli Outline • Fingerprint Matching – Global vs Local Minutiae Matching. – Dealing with Distortion. – Ridge Feature-based Matching Techniques. – Comparing the Performance. • Filterbank-based Matching: – Motivation – Filter-based feature extraction: • Reference point location. • Filtering • Feature vectors – Matching – Experimental results 2 Global vs. Local Minutiae Matching • Trade offs: – Simplicity, low cost, high distortion tolerance. – High distinctiveness. • [Hrechak and McHugh (1990)]: – Eight dimensional feature vector: vi1 , vi 2 ,, vi8 vi bifurcations, – Minutiae: dots, ridge endings, ridge islands, spurs, crossovers, bridges and short ridges. – Invariant to fingerprint alignments. – Practical applicability!!!!!! 3 Global vs. Local Minutiae Matching • Chen and Kuo (1991), Wahab, Chin and Tan (1998): – Enriched local structures proposed by Harchak and McHugh in 1990. • • • • Distance The ridge count Relative orientation of each surrounding minutiae with the central one. Angle between orientation of the line connecting each minutiae to central one and its orientation. – Comparing local structures by correlation or tree-matching. • Fan, Liu and Wang(2000): (Geometric Clustering) – Each cluster rectangular bonding box. – Using a fuzzy bipartite weighted graph matching. • Willis and Myers (2001): – Minutiae counting in a dart board pattern of wedges and ridges. – Partially invariant to rotation and translation. 4 Global vs. Local Minutiae Matching • [Jiang and Yau, Ratha et. al. (2000)]: (Using both methods advantages) – Fast local matching for recovering alignments. – Consolidation stage. Jiang Ratha Vi m j | sd mi , m j d max Si Vi , Ei Ei eij | i, j, d mi , m j , rcmi , m j , ij 5 Variants of the 2 Stage Algorithm • Zhang and Wang (2002): – Using Core points • speed up the initial local structure matching. • Lee, Choi and Kim (2002): – Using more minutiae pairs: • Guide the consolidation step. • Robustness – Normalization. 6 More Local Minutiae Matching Methods • Maio and Maltoni (1995) and Kovac-Vajna (2000): – Enhancement and accurate minutiae extraction only on template. – Extraction of minutiae template T. – Locally checking correspondence in verification stage. • Maio: – Gray level minutiae extraction. – Locally tracking the ridges in verification for finding correspondence. 7 Kovac Algorithm • Kovac: – 16x16 neighborhood of minutiae in T correlated by I list of candidate positions. – Triangular matching: • Start with 2 minutiae in T and candidate positions in I. • Expanding the list by adding a pair of minutiae and candidate. – Consolidation: • Checking the correspondence of gray scale profiles between every pair. • 1) Ridge count. • 2) Dynamic time warping (Handle small perturbations). 8 Dealing with Distortion • One of the most critical intra-class variability. (NIST 24) – Mechanical force sensor less distortion – Automatic detection of distortion from videos. • Distortion-tolerant matchers: – Both of the above solutions are difficult to implement in commercial sensing systems. 9 How to deal with distortion? • Relaxing spatial relationships between minutiae: – Global matching techniques: • Tolerance boxes (spheres): – High distortion larger Boxes high false match – Polar coordinate boxes (Jain (97) and Luo (2000)): • Edit distance for matching pre-aligned minutiae. • Size of boxes increase by the distance from center. – Kovac method: • Triangular matching can tolerate large global distortions. • Adding this small differences may be large!!!! • Non of the above explicitly address the problem! 10 Dealing with Distortion • Almansa and Cohen (2000): – A 2D warping algorithm (mapping FP patterns): • Controlling warping by minimizing and energy function. – Two minutiae spatially coincide. – Penalty term increasing by the irregularity of the warping. • Two step iterative algorithm to minimize energy. – Problem with convergence!!! 11 Dealing with Distortion • Bazen and Gerez (2002): – Smoothed mapping between template and input minutiae. – Algorithm: • Initially computing minutiae through a local approach and consolidation step. • Reduction of the size of tolerance box – Use of a thin spline model to deal with non-linear distortion. • Locally moving minutiae in input image to best fit the template minutiae, iteratively. (According to the model smoothness constrains) – Significant improvements achieved. 12 Normalization to canonical form Senior and Bolle (2001) 13 Normalization Techniques • Lee Chi and Kim (2002): – Normalization during the matching stage: • Normalization according to local ridge frequency. • Distortion increase in distance between minutiae local ridge frequency decreases Normalization can compensate for that. – Problem: • Far apart ridges normalization may have higher distortion errors than the distortion itself. 14 Modeling Skin Distortion [Maio] 15 Distortion Recovery 16 Ridge Feature-based Matching Techniques • Why? – Difficulty in reliable minutiae extraction from poor quality images. – Time consuming. – Use of additional features increases the accuracy and robustness. • Alternative features: – – – – – – – Size and silhouette. Singularities. Spatial relationship. Shape features. Global/local texture. Sweat pores. Fractal features. (unstable) (unstable) (tree grammars, incremental graph matching) (1D signature from 2D, used with minutiae-based) (Texture properties from ridge lines) (Very discriminative but expensive) 17 Fingerprint Texture Analysis • Analyzing texture in furrier domain: (Coetzee and Botha (93) and Willis and Myers (2001)) – Spatial fingerprint texture Almost constant in frequency domain. – Small deviations from the dominant frequency minutiae!! – Wedge-ring detector. • Accumulating the harmonic of individual regions. – Global texture analysis all regions into one measurement Loss of spatial information. • Filterbank-based Analysis of Fingerprint: (Jain (2000)) – Topic of next talk (!). 18 Comparing Performance • Various fingerprint matching techniques. – Which one is the best algorithm? • Performance involves a Trade off among different measures. • Performance relates to difficulty of the benchmark lack of a global one. • Before FVC NIST Databases not good for live-scan. – NIST 4, 10, 14: Rolled inked impressions. – NIST 24 : Videos. – NIST 27 : Latent fingerprints. • FVC2000/02 : (can be found on the DVD of the book) 19 Typical Mistakes • Using the same datasets for trainig, validation and testing. • Computing performance on very small dataset. • Cleaning the dataset by removing rejected or misclassified samples. • Claiming better classification while using different datasets. • Hiding the weak points of an algorithm/ Documenting its failures. 20 Second Talk Filterbank-Based Fingerprint Matching Jain A.K. Prabhakar S., Jonh L. and Pankanti S. “IEEE Trans. On Image Processing”, vol. 9, No. 5, 2005. 21 Outline • Motivation • Filter-based feature extraction: – Reference point location. – Filtering – Feature vectors • Matching • Experimental results 22 Introduction • Extraction and explicit detection of complete ridge structures!??? • Use of components of rich discriminatory information. • Local ridge structures. • Matching fingerprints with different number of registered minutiae. 23 Overview • Single reference point: – Assuming the vertical alignment. – Rotation invariance can be achieved by a cyclic rotation of the extracted feature values. • Tessellation of region of interest around reference point. • Filtering the region of interest in 8 direction using Gabor filter-banks. • Computation of the Average Absolute Deviation (AAD) of gray values in each sector. • Generation of the “Finger Code”. 24 Overview 25 Reference Point Location • Using conspicuous landmarks to locate reference point. – Point of maximum curvature of concave ridges. 26 Reference Point Location (Contd.) • Multiple resolution analysis of orientation map: – Handling noise in poor quality images: • Using large neighborhoods. – Accurate localization: • Sensitive to local variations. • Estimation of Orientation Field. 27 Least Square Orientation Estimation • Divide Image into wxw blocks. • Compute gradient at each pixel. • Estimate the local orientation at center of each block. 28 Reference Point Location Algorithm • Estimate the orientation field described above. • Smooth the orientation field in a local neighborhood: – Use a continuous vector field. • Compute the sine component of the smoothed orientation field, (E) • Initialize a label image, (A). 29 Reference Point Location Algorithm • For each pixel in the E, integrate the values of region RI and RII and compute: Ai, j E i, j E i, j RI RII • Find maximum of A and assign its coordinate to core. • Perform algorithm for a fixed number of times with less window sizes. 30 Localization of Core Point 31 Tessellation of Region of Interrest 32 Filtering • Gabor filters: – Remove noise. – Preserve true ridge and valley structures – Provide directional information. • Minutiae: – Anomaly in local parallel ridges. 33 Filtering Stages • Normalization: • Even Symmetric Gabor Filter: – Mask 32x32. – Ferq. = 1/k – Angels: 0 ,22.5 ,45 ,,157.5 34 Filtering Results 35 Feature Vector • Average Absolute Deviation: 1 Vi ni Fi x, y Fi n i 36 How Discriminatory? 37 Matching • Euclidian distance. – Translation Invariance: • Reference Point – Rotation Invariance: • Approximated by cyclic rotation of Finger Codes. • Generating 11.25 degree rotated image in registration stage. 38 Experiments • Database 1: (MSU-DBI) – – – – – – – – – – – – 167 subjects. Digital Biometrics’ optical sensor. Image size: 508x480 35% women. 46.5% under 25. 50.51% between 25 and 50. 2.5% older than 50. Two impressions taken from four finger. A second round of collection after 6 weeks. Total database size: 2672 images. Live feedback at collection time well centered images. Distortion in data collected after 6 weeks Challenging. 39 Experiments • Database 2: (NIST 9 Vol. 1 CD 1) – 1800 images. – 900 different fingers. – 832x768 40 Experiments • MSU-DBI – Rejected: 100(4%) • Why? – Ref point at corner. – Poor Quality. (dryness) • NIST 9 – Rejected: 100 (5.6%) • Why? – The same reasons. 41 Genuine and Imposter Probabilities 42 Experiments 43 ROC curve (MSU-DBI) 44 ROC Curve (NIST9) 45 Observations • Most of false accepts are among the same type. – Good for indexing. • Captures the discriminatory information. – Good for combining with minutiae. • Combination by Neyman-Pearson Rule. 46 Neyman-Pearson Rule p X1 | wG , p X 2 | wG , pX1 | wI , p X 2 | wI p X1 , X 2 | wG p X1 | wG pX 2 | wG Joint Probs p X1 , X 2 | wG p X1 | wG pX 2 | wG Classifica tion : w X10 , X 02 G wI p X10 , X 02 | wG if 0 0 p X1 , X 2 | wI otherwise p X1 , X 2 | wG 1) pX , X | w 1 2 I must satisfy : 2) 0 2 pX1 , X 2 | wI dX1dX 2 RG R 2 RG2 RI2 47 Questions? 48