Fingerprint Analysis and Representation Handbook of Fingerprint Recognition Chapter III Sections 7-10 Direct Gray-Scale Minutiae Detection in Fingerprints D. Mario and D. Maltoni, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.19, no.1,pp. 2739, 1997. Presentation by: Xavier Palathingal Fingerprint Analysis and Representation Handbook of Fingerprint Recognition Chapter III Sections 7-10 Outline Enhancement Minutiae Detection Binarization based methods Direct gray-scale extraction Minutiae Filtering Structural post-processing Minutiae filtering in the gray-scale domain Estimation of Ridge Count Enhancement Performance depends on quality of images Ideal fingerprint Degradation types – ridges are not continuous, parallel ridges are not well separated, cuts/creases/bruises Leads to problems in minutiae extraction Enhancement For each fingerprint image, the fingerprint areas resulting from segmentation can be divided into: Well-defined region Recoverable region Unrecoverable region Enhancement Algorithms Goal – to improve the clarity of the ridge structure in the recoverable regions and mark unrecoverable regions as too noisy for further processing Input – a gray-scale image Output – a gray-scale or binary image depending on the algorithm Effective initial steps - Contrast stretching, Histogram manipulation, Normalization, Wiener Filtering Normalization approach [Hong, Wan, Jain (1998)] Determines the new intensity value of each pixel as, m and v - image mean and variance m0 and v0 - desired values after normalization Pixel-wise operation, does not change the ridge and valley structures Contextual Filters The most widely used technique for fingerprint image enhancement Conventional image filtering – a single filter is used for convolution throughout Contextual filtering - filter characteristics change according to local context Several types of contextual filters proposed Indented behavior – 1)provide a low-pass [averaging] effect along the ridge direction. 2)perform a band pass [differentiating] in the direction orthogonal to the ridges Method proposed by O’Gorman and Nickerson A mother filter defined based on-minimum and maximum ridge width, minimum and maximum valley width. Filter is bell-shaped, elongated along the ridge direction, and cosine tapered in the direction normal to the ridges. The context is defined only by the local ridge orientation Once the mother filtered is generated, a set of 16 rotated versions is derived. The image enhancement is performed by convolving each point of the image with the filter in the set whose orientation best matches the local ridge orientation Method proposed by Sherlock, Monro, and Millard Performed in Fourier domain The filter is defined in the frequency domain by the function: where Hradial depends only on the local ridge spacing ρ = 1/f and Hangle depends only on local ridge orientation θ Both Hradial and Hangle are defined as band-pass filters and are characterized by a mean value and a bandwidth The Fourier transform Pi,i=1,…n of the filters is precomputed and stored Method proposed by Sherlock, Monro, and Millard (cont …) Filtering of an input fingerprint image I is performed as follows: The FFT(Fast Fourier Transform) F of I is computed each filter Pi is point-by-point multiplied by F, thus obtaining n filtered image transforms PFi, i=1,…n (in the frequency domain) Inverse FFT is computed for each PFi resulting in n filtered images PIi, i=1,…n (in the spatial domain) The enhanced image Ienh is obtained by setting, for each pixel [x,y], Ienh[x,y] = PIk[x,y], where k is the index of the of the filter whose orientation is the closest to θxy Method proposed by Hong, Wan, and Jain Based on Gabor filters Gabor filters have both frequency-selective and orientation-selective properties and have optimal joint resolution in spatial and frequency domains A Gabor filter is defined by a sinusoidal plane wave tapered by a Gaussian Method proposed by Hong, Wan, and Jain (cont ..) The even symmetric two-dimensional Gabor filter has the following form: Here, f is the frequency of a sinusoidal plane wave and σx and σy are the standard deviations of the Gaussian envelope along the x and y axes Method proposed by Hong, Wan, and Jain (cont ..) – Gabor Filter 4 parameters – θ,f,σx,σy The selection of the values σx and σy involves a tradeoff A set {gij(x,y) | i=1…n0,1..nf} of filters are priori created and stored , where n0 is the number of discrete orientations {θi | i=1,..n0} and nf the number of discrete frequencies {fj| j=1,..nf} Each pixel [x,y] is convolved, with filter gij(x,y) such that θi is the discretized orientation closest to θxy and fj is the discretized orientation closest to fxy Method proposed by Hong, Wan, and Jain (cont ..) – Examples Shows the application of Gabor-based contextual filtering on medium and poor quality images Minutiae Detection Reliable minutiae extraction is extremely important Enhancement Binarization Thinning Binarization-based methods Simplest method - global threshold Local threshold technique Fingerprint specific solutions necessary FBI “minutiae reader” – by Stock and Swonger Composite approach based on a local threshold and a “slit comparison” formula that compares pixel alignment along eight discrete directions Method proposed by Moayer and Fu Based on an iterative application of a Laplacian operator and a pair of dynamic thresholds At each iteration the image is convolved through a Laplacian operator and the pixels whose intensity lies outside the range bounded by two thresholds are set to 0 and 1 respectively The thresholds are progressively moved towards a unique value to guarantee convergence Binarization-based methods A fuzzy approach – by Verma, Majumdar and Chatterjee Uses an adaptive threshold to preserve the same number of 1 and 0 pixels for each neighborhood Image is partitioned into small regions Each region goes through – smoothing, fuzzy coding of the pixel intensities, contrast enhancement, binarization, 1s and 0s counting, fuzzy decoding, and parameter adjusting. Repeated until number of 1s approximately equals 0s Method proposed by Coetzee and Botha Based on the use of edges in conjunction with the gray-scale image The ridges are tracked by the two local windows: one in the grayscale image and other in the edge image Gray-scale domain – binarization with local threshold Edge-image – a blob-coloring routine is used to fill the area delimited by the two ridge edges The resulting image is the logical OR of the two individual binary images Binarization-based methods Approach by Ratha, Chen and Jain Based on peak detection in the gray-scale profiles along sections orthogonal to the ridge orientation A 16x16 oriented window is centered around each pixel [x,y] The gray-scale profile is obtained by projection of the pixel intensities onto the central section Binarization-based methods Approach by Ratha, Chen and Jain [cont ..] The profile is smoothed through the local averaging; the peaks and the two neighboring pixels on either side of each peak constitute the foreground of the resulting binary image Binarization-based methods Domeniconi, Tari and Liang (1998) modeled fingerprint ridges and valleys as sequences of local maxima and saddle points Maxima and saddle points are detected by evaluating gradient and the Hessian matrix H at each point The Hessian of a two-dimensional surface S(x,y) is a 2x2 symmetric matrix whose elements are the second-order derivatives of S with respect to x2,xy and y2 The eigenvectors of H are the directions along which the curvature of S is extremized Let p be a stationary point and let λ1 and λ2 be the eigenvalues of H in p Then p is a local maximum if λ1 ≤ λ2 < 0 and is a saddle point if λ1. λ2 < 0 Binarization-based methods Approach by Tico and Kuosmanen (1999) A slightly different topological approach Fingerprint image is treated as a noisy sampling of the underlying continuous surface Approximated it by Chebyshev polynomials Ridge and Valley regions are discriminated by the sign of the maximal normal curvature of the surface The maximal normal curvature along any direction d is dTHd Abutaleb and Kamel (1999) Used Genetic Algorithms to discriminate ridges and valleys along the gray-level profile of the scanned lines The optimization criterion is aimed at increasing the correlation between adjacent gray-levels along fingerprint sections Results from different methods Thinning Reduces the width of the ridges to one pixel Skeletons , spikes Filling holes, removing small breaks, eliminating bridges between ridges etc. Thinning Coetzee and Botha (1993) identify holes and gaps by tracking the ridge line edges through adaptive windows and remove them using a simple blob-coloring algorithm Hung (1993) uses an adaptive filtering technique to equalize the width of the ridges To remove the spikes, Ratha, Chen and Jain (1995) implement a morphological “open” operator. Thinning Fitz and Green (1996) - removes small lines and dots both in the ridges and valleys of binary images through an application of 4 morphological operators on a hexagonal grid Luo and Tian (2000) - a two step method. skeleton extracted at the end of the first step is used to improve the quality of the binary image based on a set of structural rules. A new skeleton is extracted from this improved binary image. Ikeda et. al (2002) - use morphological operators to enhance ridges and valleys in the fingerprint binary image Minutiae detection A simple image scan allows the pixel corresponding to minutiae to be detected crossing number of a pixel p Examples of minutiae extraction Direct gray-scale extraction Such methods are used to overcome the problems related to fingerprint binarization and thinning [e.g. spurious minutiae] Leung, Engeler, and Frank (1990) Introduced a neural network-based approach A multi-layer perceptron analyzes the output of a rank of Gabor filters applied to the gray-scale image The image is first transformed into frequency domain where the filtering takes place; The resulting magnitude and phase signals constitute the input to the neural network composed of six subnetworks – each of which is responsible for detecting minutiae at a specific orientation A final classifier is employed to combine the intermediate responses Direct gray-scale extraction Maio and Maltoni (1997) Basic idea – track the ridge lines in the gray-scale image, by “sailing” according to the local orientation of the ridge pattern A ridge line is defined as a set of points that are local maxima along one direction The ridge line extraction algorithm tries to locate the local maximum relative to a section orthogonal to the ridge direction A polygonal approximation of the ridge line can be obtained by connecting the consecutive maxima Results of minutiae detection algorithm on a sample fingerprint Variations of Maio and Maltoni method Jiang, Yau, and Ser (1999) – proposed μ be dynamically adapted Liu, Huang, and Chan (2000) – instead of tracking a single ridge, the algorithm simultaneously tracks a central ridge and 2 surrounding valleys Chang and Fan (2001) – aimed at discriminating the true ridge maxima in the sections Ω obtained during ridge line following. For this 2 thresholds are initially determined. Bolle et. al (2002) - provided a formal definition of minutiae based on the gray-scale image that allows the location and orientation of an existing minutia to be more precisely determined Minutiae Filtering Post-processing stage is useful for removing spurious minutiae [already present or introduced by previous steps] Two main post-processing types: Structural post-processing Minutiae filtering in the gray-scale domain Structural post-processing Xiao and Raafat (1991) identified the most common false minutiae structures and introduced an ad hoc approach The underlying algorithm is rule-based Requires as input – length of the associated ridge(s), the minutia angle, the number of facing minutiae in a neighborhood Structural post-processing Farina, Kovacs- Vajna, and Leone (1999) introduced some optimized variants of some previously proposed rules and algorithms Spurs and bridges are removed based on the observation that in a “spurious” bifurcation, only two branches are generally aligned whereas the third one is almost orthogonal to the other two Short ridges are removed on the basis of the relationship between the ridge length and the average distance between the ridges Terminations and bifurcations are then topologically validated: they are removed if the topological requirements are not fully satisfied Minutiae filtering in gray-scale domain A direct minutiae filtering technique reexamines the gray-scale image in a spatial neighborhood of a detected minutiae with the aim of verifying the presence of a real minutia Maio and Maltoni used a shared weight neural network to verify the minutiae detected by their gray-scale algorithm The minutiae neighborhoods are normalized with respect to their angle and the local ridge frequency Minutiae filtering in gray-scale domain Then they are passed to a neural network classifier, which classifies them as termination, bifurcation and non-minutia A typical three layer neural network architecture has been adopted Estimation of ridge count ridge count has often been used to increase reliability of analysis Ridge count is an abstract measurement of the distances between any two points in a fingerprint image Typically used in forensic matching Summary [of the chapter] Most of the early work was based on generalpurpose image processing techniques Recent developments have 2 important directions: Focus on optimizing the salient discriminatory information in fingerprints Algorithms designed specifically for processing fingerprints images have been proposed Direct Gray-Scale Minutiae Detection in Fingerprints D. Mario and D. Maltoni, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.19, no.1,pp. 27-39, 1997. Outline Introduction Ridge Line Following Sectioning and Maximum Determination Tangent Direction Computation Stop criteria Minutiae Detection Performance Evaluation and Comparison Conclusion Introduction Fingerprints are the most widely used biometric features Most automatic systems for fingerprint matching are based on minutiae matching Minutiae classification is based on 4 classes – terminations, bifurcations, trifurcations (crossovers) and undetermined This work is based on a two-class minutiae classification Introduction This work is a direct gray scale minutiae detection approach (i.e. without binarization and thinning ) Reasons for not using binarization and thinning : Loss of information Time-consuming Unsatisfactory on low-quality images Basic idea – follow the ridge lines on the gray scale image A set of starting points is determined For each starting point, the algorithm keeps following the ridge lines until they terminate or intersects other ridge lines Ridge line following – basic definitions I be an a x b gray scale image with g gray levels Gray(i,j) be the gray level of pixel(i,j) of I , i=1,…,a and j=1,…,b Let z = S (i, j) be the discrete surface corresponding to the image I: S (i, j) = gray (i, j), i=1,…a, j=1,….b. Ridge line is defined as a set of points which are local maxima along one direction At each step, the algorithm attempts to locate a local maximum relative to a section orthogonal to the ridge direction By connecting the consecutive maxima, a polygonal approximation of the ridge line can be obtained Ridge line following – algorithm Starting point : [xc,yc] and starting direction : θc Computes a new point [xt,yt] at each step moving μ pixels from the current point [xc,yc] along direction θc Then it computes a section set Ω as the set of points belonging to the section segment lying on the xy-plane and having median point [xt,yt], direction orthogonal to θc and length 2σ + 1 The new point [xn,yn], belonging to the ridge line, is chosen among the local maxima of an enhanced version of the set Ω The point [xn,yn] becomes the current point [xc,yc] and a new direction θc is computed Ridge line following – algorithm (pseudo-code version) Let (is,js) be a local maximum of a ridge line of I Φ0 be the direction of the tangent to the ridge line in (is,js) Ridge line following algorithm - steps Sectioning and Maximum Determination Sectioning – achieved by intersecting S with a cutting plane parallel to the z direction The section set Ω( (it, jt), Φ, σ) centered in (it, jt), with direction Φ = φc + π/2, and length 2σ + 1 pixels, is defined as, Sectioning and Maximum Determination Difficulty in determining the local maximum of the section set Ω volcano silhouette Sectioning and Maximum Determination An approach aimed at regularizing the section silhouette This makes the determination of the local maxima more reliable During the ridge line following, each time a new section is determined, we regularize its silhouette by means of two steps: Local regularization – step 1 Local regularization – step 2 Local regularization - results Tangent Direction Computation The simplest approach – based on gradient computation The gradient phase angle denotes the direction of the intensity maximum change Therefore, the direction φc of a hypothetical edge which crosses the region centered in the pixel (ic, jc), is orthogonal to the gradient phase angle in (ic, jc) This method, while being simple and efficient, suffers from non-linearity due to the computation of the gradient phase angle Tangent Direction Computation Kawagoe and Tojo – for each 2x2 pixel neighborhood, they make a straight comparison against four edge templates to extract a rough directional estimate, which is then arithmetically averaged over a larger region to obtain a more accurate estimate Stock and Swonger – evaluate the tangent direction on the basis of pixel alignments relative to a fixed number of reference directions Tangent Direction Computation Method used in this work : Uses a gradient type operator to extract a directional estimate from each 2 x 2 pixel neighborhood Then its averaged over a local window by least-squares minimization to control noise Stop Criteria Exit from interest area Termination Intersection Excessive bending Minutiae Detection The main difficulty is of examining each ridge line only once and locating the intersections with ridge lines already extracted To solve this, an auxiliary image T is used T has the same dimension as that of I, and is initialized with pixel values set to 0 Every time a new ridge line is extracted from I, the pixels of T corresponding to the ridge line are labeled by assigning them an identifier. Minutiae Detection The pixels of T corresponding to a ridge line are the pixels belonging to the polygonal, ε-thick, which links the consecutive maximum points (in, jn) The algorithm find minutia searches for a minutia by following the ridge line nearest to the starting point Minutia Detection – Algorithm Minutia detection The algorithm starts by computing a point (ic, jc) belonging to the ridge line nearest to the starting point (is, js). This operation can be carried out as follows: Minutia detection The computation of tangent direction, the sectioning, the regularization and the determination of the maximum are performed as in the ridge line following algorithm. The following figure shows an example: Minutia Detection stop criteria revisited Minutia Detection The algorithm find minutia enables all the fingerprint minutiae within a window W to be detected Figure shows the results obtained by applying this approach to a sample fingerprint Performance Evaluation and Comparison Performance Evaluation and Comparison The technique mentioned in this paper (A) and four other schemes based on binarization and thinning – B, C, D, E In all approaches , the minutiae detected have been filtered by removing: The minutiae belonging to regions where the image contrast is less than half of the average image contrast The pairs of termination minutiae which are less than k pixels (k=6) distant from each other The sets of bifurcation minutiae (except one minutia for each set) belonging to a neighborhood with diameter k pixels (k=6) Performance Evaluation and Comparison Performance Evaluation and Comparison Performance Evaluation and Comparison Conclusions - drawn from the tables the average error percentage, in terms of dropped and exchanged minutiae, as produced by proposed approach is comparable to the errors produced by the other approaches, although slightly larger. the average error percentage, in terms of false minutiae, as produced by proposed approach is considerably lower than the errors produced by the other approaches. the average computational time of proposed approach is considerably lower than the time of the other approaches. approach E, whose performance in terms of total error is comparable with that of proposed approach, is one order of magnitude slower than our approach. Performance Evaluation and Comparison Computational complexity We assume, for simplicity, that a fingerprint pattern is made up of a set of straight horizontal segments, which are ξ-pixels thick and ξpixels distant from each other The elementary operations carried out at each ridge line following step Conclusion A new technique is proposed – based on ridge line following algorithm In spite of greater conceptual complexity, this technique has less computational complexity than the complexity of techniques requiring binarization and thinning