1. Fingerprint High Level
Classification
Reza. Rahimi, E. Pakbaznia,
Sharif University of Technology,
Tehran, Iran.
1
2. Outline
1. Introduction
1.1 Problem Statement
1.2 Common Classification Methods
2. Proposed Algorithms
2.1 Proposed Algorithm (1)
2.1.1 Directional Image Space
2.1.2 Directional Masks
2.1.3 Detection of Singular Points Neighborhood
2.1.4 Detection of Singular Points
2.2 Proposed Algorithm (2)
2.2.1 Detection of Singular Points
2.2.2 Classification
3. Experimental Results
4. Discussion
2
3. 1.1 Problem Statement
Fingerprint (FPs) have been used as a unique identifier of
individuals for a very long time.
FPs of a person are unique and features used in matching
remain invariant with age.
Fingerprint database are characterized by their large size, so
we must find a way to narrow the search area.
In high level classification FPs are classified into five main
groups: arch, tented arch, left loop, right loop, and whorl.
In high level classification singular points (SPs) namely core
and delta points are used.
3
5. 1.2 Common Classification Methods
There are four main approaches to allocate SPs:
Methods based on mathematical representation of FPs.
Because of the complexity of FP images the representation
of FPs is a difficult task. Almost all of these methods
use”Poincare” index to extract SPs.
Methods based on statistical approaches.
In these methods using directional histogram reduces noise
effect.
5
6. Methods based on Fourier transform.
These methods are not very efficient because they work in
frequency-domain.
Methods based on intellectual computation.
These methods use neural networks, fuzzy logic, and genetic
algorithm.
Combination of these tools with first three methods results in
Powerful algorithms.
6
7. 2.1 Proposed Algorithm (1)
Fig. 2: Overall block diagram of the first proposed algorithm.
7
8. 2.1.1 Directional Image Space
Each elements of directional image is a vector.
Exp.: D(i,j):=(d1(i,j),d2(i,j)) 0 < i,j <n-1.
Directional images make a linear space.
The inner product in this vector space is defined as:
<F,G>:=ΣΣ F(i,j).G(i,j).
The correlation function between two directional images is
defined as:
C(m,n):=<F(i,j),G(i-m,j-n)>.
8
9. 2.1.2 Directional Masks
Directional masks are use to extract special features from
directional images.
For extracting core points a mask which can extract rotational
region, in directional image, must be designed.
For extracting delta points we must find a mask which can extract
triangular region, in directional image.
By sliding these masks over directional image and computing the
correlation function a factor is founded which represents the
amount of similarity between that area and core/delta mask.
9
11. 2.1.3 Detection of Neighborhood of Singular Points
After finding core/delta correlation results, neighborhood of SPs
must be founded.
Detection of SPs neighborhood efficiently reduces the
computational load of exact SP allocation process.
The point is assigned as a core point if core correlation factor is
greater than T=mc+γσ c (mc: mean, σc: variance,γ: experimental
factor).
The point is assigned as a delta point if delta correlation factor is
greater than T=md+γσ d ( md: mean, σd: variance,γ: experimental
factor).
11
12. (a) (b) (c) (d)
Fig. 4: First stage of allocation of SPs neighborhoods: ( a ) typical left loop
fingerprint image, ( b ) directional image, ( c ) core point neighborhoods
after soft thresholding, ( d ) delta point neighborhoods after soft
thresholding.
12
13. 2.1.4 Detection of Singular Points
After finding most similar points to delta/core points the exact
location of core/delta points must be extracted.
Directional histogram is used to extract the exact location of SPs.
(a) (b)
Fig. 5: Core/ Delta histogram: (a) neighborhood of core points,
(b) neighborhood of delta points.
13
14. For each region the mean and variance is computed.
The Point is assigned as a core point if one of the following
conditions are satisfied:
m1>90, m2<90, m1-m2<θ( i), {σ1 , σ2 } < σ( i ),
m3<90, m4>90, m4-m3<θ( i), {σ3 , σ4 } < σ( i ),
m1>90, m3<90, m1-m2<θ( i), {σ1 , σ3 } < σ( i ),
m2<90, m4>90, m4-m2<θ( i), {σ2 , σ4 } < σ( i ).
The point is assigned as a delta point if both of the following
conditions is satisfied:
14
15. m1<90, m1-m3<θ( i), {σ1 , σ3 } < σ( i ),
m2>90, 180-( m2+ m3)< θ( i), {σ2 , σ3 } < σ( i ).
θ( i) and σ( i) are chosen from a look-up-table (experimentally
assigned look-up table).
Algorithm is iterated until coverage to 2 points.
15
16. (a (b)
)
Fig. 6: Core/ Delta allocation final results: ( a ) a typical left loop
image, ( b ) core and delta points detected by the proposed algorithm.
16
18. 2.2.1 Detection of Singular Points
Fingerprint(FP) images can be classified into different groups
based on their SPs.
First of all it is better to detect SP neighborhood in FP images.
Neighborhood Detection of SPs
Core Point
Tangent slope changes faster in Fig.8(b) than Fig.8(a),
The absolute value of second order derivative of y with
2
respect to x( d y ) is larger in (b) than (a).
2
dx
18
20. Ridges and valleys are the constant contours of gray level
function.
Gradient vector of a function is perpendicular to the constant
contours in each point of domain.
d2y
With above points it is possible to calculate: dx 2
dy (∇ I ) x
m= =−
dx (∇ I ) y
∂I
d y d ∂x
2
=−
dx2 dx ∂I
∂y
20
21. Areas with larger curvature are extracted by applying an
appropriate threshold.
(a) (b) (c)
Fig. 9: Result of the first stage of the algorithm: (a) query image,
(b) Related directional image, (c) neighborhood detected for core.
21
22. Delta Point
We can always find an area around delta points which
contains two perpendicular directions.
It can be recognized by scanning the whole directions
with a m×n mask.
Results of applying this stage on a FP image is shown
in Fig. 10.
22
23. (a) (b) (c)
Fig. 10: Results of the neighborhood detection for delta points: (a) query image,
(b) Related directional image, (c) neighborhood detected for delta points.
23
24. 1.2 Poincare Index Computation for Candid Points
PI is defined as summation of direction differences between
neighbor blocks in block-directional image on a closed
curve, when the curve is traveled counterclockwise.
PI ( x, y) = 1 ∫do f ( x′ y ′
, )
2π C
If C is a circle with radius:
1 ∂
PI (x, y) = lim ∫ Of (x +ε cosθ, y +ε sinθ)dθ.
ε →0 2π ∂θ
24
25. (a) (b) (c)
Fig. 11: Different cases for PI: (a) ordinary point, (b) core point,
(c) delta point.
25
27. Adaptive Noise Cancellation
Adaptive Noisy Core Cancellation
Make an 5×5 neighborhood around each detected core point.
Consider if it has any of below shapes around itself.
(a) (b) (c) (d)
Fig. 13: different acceptable neighborhoods around core points.
continued
27
28. Cancel each point which has not any of above shapes around it.
Adaptive Noisy Delta Cancellation
Make a 3×5 neighborhood around each detected delta point.
Consider if it has any of below shapes around it.
(a) (b)
Fig. 14: different acceptable neighborhoods around delta points.
continued
28
29. Cancel each point which has not any of above shapes
around it.
(a) (b)
Fig. 15: final results for core and delta detection after applying
noise cancellation step: (a) core point, (b) delta point.
29
30. 2. Classification
Distinguishing Whorl and Arch Class from Other Classes
Knowing that a whorl has 2 pairs of SPs and an arch has no SPs,
we can distinguish them from other classes.
Distinguishing Between Loops and Tented Arch
Make an m×n neighborhood around SPs of FP image.
Compute the average of directions (ave_dir) in this
neighborhood.
30
31. Compute slope of the core/delta (slope) line in image.
Make a decision as below:
if ave _ dir −slope ≤ TLth
Finger Class = Tented Arch
else
Finger Class = Loop
31
32. Distinguish Between Left Loop and Right Loop
Compute the average of directions in a special rectangular
in the block-directional image.
In a left loop this average is smaller than the core/delta line
slope and in a right loop it is larger.
(a) (b)
Fig. 17: The average is smaller than the core/delta line slope:
(a) left loop, (b) right loop.
32
33. 3. Experimental Results
Proposed algorithms were tested on several fingerprint images
with different qualities.
The first stage of the proposed algorithm reduces the No.
of
core/delta probable points to 1/10~1/5 (of FP size).
Table 1: Results of the First proposed algorithm.
FP-Type Arch T-Arch R-Loop L-Loop Whorl Multiple
Group
Arch(5) 5 Yes
T-Arch(5) 5 Yes
R-Loop(10) 8 Yes
L-Loop(10) 10 Yes
Whorl(10) 10 Yes
33
34. The second proposed algorithm was tested on 40 different FP images
and led to successfully classification of almost 90% of images.
Table 2: Results of the Second proposed algorithm.
34
35. 4. Discussion
In this talk two different algorithms for fingerprint classification
were discussed.
In the first algorithm, using the new proposed tool (directional mask)
speeds up the the process and in the second stage using an adaptive
directional histogram increases the accuracy of the algorithm.
In the second proposed algorithm, detection of the SPs neighborhood
speeds up the process and also increases the accuracy of the
second stage, the noisy detected SPs were cancelled in the third
stage.
35