Upload
reza-rahimi
View
1.312
Download
6
Embed Size (px)
DESCRIPTION
BS project presented at Sharif University of Technology and ICEE 2001 conference.
Citation preview
1
Reza. Rahimi, E. Pakbaznia, Reza. Rahimi, E. Pakbaznia, Sharif University of Technology,Sharif University of Technology,
Tehran, Iran.Tehran, Iran.
Fingerprint High Fingerprint High Level ClassificationLevel Classification
2
Outline 1. Introduction 1.1 Problem Statement 1.2 Common Classification Methods 2. Proposed Algorithms 2.1 Proposed Algorithm (1)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 Proposed Algorithm (2) 2.2.1 Detection of Singular Points 2.2.2 Classification 3. Experimental Results 4. Discussion
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.
4
( a ) ( b ) ( c )
( d ) ( e )
Fig. 1: Typical FP images:(a) arch, (b) tented arch, (c) left loop, (d) right loop,(e) whorl.
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.
6
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.
Methods based on Fourier transform. These methods are not very efficient because they work in frequency-domain.
7
2.1 Proposed Algorithm (1)
Fig. 2: Overall block diagram of the first proposed algorithm.
8
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)>.
2.1.1 Directional Image Space
9
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.
2.1.2 Directional Masks
10
( a ) ( b ) ( c )
Fig. 3: Different masks: ( a ) directional masks, ( b ) core mask, ( c ) delta mask.
w1 w2 w3 w4 w5
w6 w7 w8 w9 w10
w11 w12 w13 w14 w15
w16 w17 w18 w19 w20
w21 w22 w23 w24 w25
45 0 0 0 135
90 45 0 135 90
90 90 0 90 90
90 135 0 45 90
135 0 0 0 45
60 60 90 120 120
50 50 90 130 130
40 40 90 140 140
30 30 90 150 150
0 0 0 0 0
11
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, cvariance,experimental factor).
The point is assigned as a delta point if delta correlation factor is greater than T=md+d ( md: mean, dvariance,experimental factor).
2.1.3 Detection of Neighborhood of Singular Points
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.
13
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.
2.1.4 Detection of Singular Points
( a ) ( b )
Fig. 5: Core/ Delta histogram: (a) neighborhood of core points, (b) neighborhood of delta points.
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:
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.
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.
17Fig. 7: Block diagram of the second proposed algorithm.
2.2 Proposed Algorithm (2)
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 respect to x( ) is larger in (b) than (a).
2
2
dx
yd
19
Fig. 8: Tangent slope changes faster in (b) than (a).
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. With above points it is possible to calculate:
yIxI
dxdy
m)()(
yI
xI
dxd
dxyd
2
2
2
2
dx
yd
21
AAreas with larger curvature are extracted by applying an appropriate threshold.
Fig. 9: Result of the first stage of the algorithm: (a) query image, (b) Related directional image, (c) neighborhood detected for core.
( a ) ( b ) ( c )
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 mask. Results of applying this stage on a FP image is shown in Fig. 10.
nm
23
Fig. 10: Results of the neighborhood detection for delta points: (a) query image, (b) Related directional image, (c) neighborhood detected for delta points.
( a ) ( b ) ( c )
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. ),(
21 ),( yxdo fyxPI
If C is a circle with radius:
.)sin,cos(21
lim ),(
dyxOfyxPI
C
0
25
Fig. 11: Different cases for PI: (a) ordinary point, (b) core point, (c) delta point.
( a ) ( b ) ( c )
26
Fig. 12: results of applying Poincare index: (a) core points, (b) delta points.
( a ) ( b )
27
Adaptive Noise Cancellation
Adaptive Noisy Core Cancellation
Make an neighborhood around each detected core point. Consider if it has any of below shapes around itself.
Fig. 13: different acceptable neighborhoods around core points.
continuedcontinued
55
( a ) ( b ) ( c ) ( d )
28
Cancel each point which has not any of above shapes around it . .
Adaptive Noisy Delta Cancellation
Make a neighborhood around each detected delta point. Consider if it has any of below shapes around it.
Fig. 14: different acceptable neighborhoods around delta points.continuedcontinued
53
( a ) ( b )
29
Cancel each point which has not any of above shapes
around it.
Fig. 15: final results for core and delta detection after applying noise cancellation step: (a) core point, (b) delta point.
( a ) ( b )
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 classes. . Distinguishing Between Loops and Tented Arch
Make an neighborhood around SPs of FP image. Compute the average of directions (ave_dir) in this neighborhood.
nm
31
Compute slope of the core/delta (slope) line in image. Make a decision as below:
_
LoopClassFingerelse
ArchTentedClassFinger
TLslopediraveif th
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.
Fig. 17: The average is smaller than the core/delta line slope: (a) left loop, (b) right loop.
( a ) ( b )
33
3. Experimental Results
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
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.
Proposed algorithms were tested on several fingerprint images with different qualities.
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.
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.