Title: Fingerprint Analysis and Representation
1Fingerprint 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. 27-39, 1997.
Presentation by Xavier Palathingal
2Fingerprint Analysis and Representation
- Handbook of Fingerprint Recognition
- Chapter III Sections 7-10
3Outline
- 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
4Enhancement
- 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
5Enhancement
- For each fingerprint image, the fingerprint areas
- resulting from segmentation can be divided into
- Well-defined region
- Recoverable region
- Unrecoverable region
6Enhancement 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
7Normalization 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
8Contextual 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
9Method proposed by OGorman 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
10Method 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,i1,n of the filters is
pre-computed and stored
11Method 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,
i1,n (in the frequency domain) - Inverse FFT is computed for each PFi resulting in
n filtered images PIi, i1,n (in the spatial
domain) - The enhanced image Ienh is obtained by setting,
for each pixel x,y, - Ienhx,y PIkx,y, where k is the index of
the of the filter whose orientation is the - closest to ?xy
12Method 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
13Method 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 sx and sy are the standard deviations
of the Gaussian envelope along the x and y axes
14Method proposed by Hong, Wan, and Jain (cont ..)
Gabor Filter
- 4 parameters ?,f,sx,sy
- The selection of the values sx and sy involves a
tradeoff - A set gij(x,y) i1n0,1..nf of filters are
priori created and stored , where n0 is the
number of discrete orientations ?i i1,..n0
and nf the number of discrete frequencies fj
j1,..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
15Method proposed by Hong, Wan, and Jain (cont ..)
Examples
- Shows the application of Gabor-based contextual
filtering on medium and poor quality images
16Minutiae Detection
- Reliable minutiae extraction is extremely
important - Enhancement
- Binarization
- Thinning
17Binarization-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 -
18Binarization-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 gray-scale 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 -
19Binarization-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
20Binarization-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
21Binarization-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 lt 0 and is a
saddle point if ?1. ?2 lt 0
22Binarization-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 -
23Results from different methods
24Thinning
- Reduces the width of the ridges to one pixel
- Skeletons , spikes
- Filling holes, removing small breaks, eliminating
bridges between ridges etc.
25Thinning
- 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.
26Thinning
- 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
27Minutiae detection
- A simple image scan allows the pixel
corresponding to minutiae to be detected - crossing number of a pixel p
28Examples of minutiae extraction
29Direct 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 sub-networks each of which is
responsible for detecting minutiae at a specific
orientation - A final classifier is employed to combine the
intermediate responses
30Direct 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
31Results of minutiae detection algorithm on a
sample fingerprint
32Variations 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 O 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
33Minutiae 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
34Structural 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
35Structural 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
36Minutiae 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
37Minutiae 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
38Estimation 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
39Summary of the chapter
- Most of the early work was based on
general-purpose 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
40Direct 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.
41Outline
- Introduction
- Ridge Line Following
- Sectioning and Maximum Determination
- Tangent Direction Computation
- Stop criteria
- Minutiae Detection
- Performance Evaluation and Comparison
- Conclusion
42Introduction
- 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
43Introduction
- 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
44Ridge 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 ,
i1,,a and j1,,b - Let z S (i, j) be the discrete surface
corresponding to the image I S (i, j) gray (i,
j), i1,a, j1,.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
45Ridge 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 O 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 2s 1 - The new point xn,yn, belonging to the ridge
line, is chosen among the local maxima of an
enhanced version of the set O - The point xn,yn becomes the current point
xc,yc and a new direction ?c is computed
46Ridge line following algorithm (pseudo-code
version)
- Let (is,js) be a local maximum of a ridge line of
I - F0 be the direction of the tangent to the ridge
line in (is,js)
47Ridge line following algorithm - steps
48Sectioning and Maximum Determination
- Sectioning achieved by intersecting S with a
cutting plane parallel to the z direction - The section set O( (it, jt), F, s) centered in
(it, jt), with direction F fc p/2, and length
2s 1 pixels, is defined as,
49Sectioning and Maximum Determination
- Difficulty in determining the local maximum of
the section set O - volcano silhouette
50Sectioning 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
51Local regularization step 1
52Local regularization step 2
53Local regularization - results
54Tangent Direction Computation
- The simplest approach based on gradient
computation - The gradient phase angle denotes the direction of
the intensity maximum change - Therefore, the direction fc 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
55Tangent 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
56Tangent 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
57Stop Criteria
- Exit from interest area
- Termination
- Intersection
- Excessive bending
58Minutiae 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.
59Minutiae Detection
- The pixels of T corresponding to a ridge line are
the pixels belonging to the polygonal, e-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
60Minutia Detection Algorithm
61Minutia 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
62Minutia 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
63Minutia Detectionstop criteria revisited
64Minutia 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
65Performance Evaluation and Comparison
66Performance 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 (k6) distant from each other - The sets of bifurcation minutiae (except one
minutia for each set) belonging to a neighborhood
with diameter k pixels (k6)
67Performance Evaluation and Comparison
68Performance Evaluation and Comparison
69Performance Evaluation and Comparison
70Conclusions - 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.
71Performance Evaluation and Comparison
72Computational 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
73The elementary operations carried out at each
ridge line following step
74Conclusion
- 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