35
1 Reza. Rahimi, E. Pakbaznia, Reza. Rahimi, E. Pakbaznia, Sharif University of Technology, Sharif University of Technology, Tehran, Iran. Tehran, Iran. Fingerprint High Level Fingerprint High Level Classification Classification

Fingerprint High Level Classification

Embed Size (px)

DESCRIPTION

BS project presented at Sharif University of Technology and ICEE 2001 conference.

Citation preview

Page 1: Fingerprint High Level Classification

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

Page 2: Fingerprint High Level 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

Page 3: Fingerprint High Level Classification

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.

Page 4: Fingerprint High Level Classification

4

( a ) ( b ) ( c )

( d ) ( e )

Fig. 1: Typical FP images:(a) arch, (b) tented arch, (c) left loop, (d) right loop,(e) whorl.

Page 5: Fingerprint High Level Classification

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.

Page 6: Fingerprint High Level Classification

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.

Page 7: Fingerprint High Level Classification

7

2.1 Proposed Algorithm (1)

Fig. 2: Overall block diagram of the first proposed algorithm.

Page 8: Fingerprint High Level Classification

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

Page 9: Fingerprint High Level Classification

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

Page 10: Fingerprint High Level Classification

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

Page 11: Fingerprint High Level Classification

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

Page 12: Fingerprint High Level Classification

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.

Page 13: Fingerprint High Level Classification

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.

Page 14: Fingerprint High Level Classification

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:

Page 15: Fingerprint High Level Classification

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.

Page 16: Fingerprint High Level Classification

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.

Page 17: Fingerprint High Level Classification

17Fig. 7: Block diagram of the second proposed algorithm.

2.2 Proposed Algorithm (2)

Page 18: Fingerprint High Level Classification

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

Page 19: Fingerprint High Level Classification

19

Fig. 8: Tangent slope changes faster in (b) than (a).

Page 20: Fingerprint High Level Classification

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

Page 21: Fingerprint High Level Classification

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 )

Page 22: Fingerprint High Level Classification

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

Page 23: Fingerprint High Level Classification

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 )

Page 24: Fingerprint High Level Classification

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

Page 25: Fingerprint High Level Classification

25

Fig. 11: Different cases for PI: (a) ordinary point, (b) core point, (c) delta point.

( a ) ( b ) ( c )

Page 26: Fingerprint High Level Classification

26

Fig. 12: results of applying Poincare index: (a) core points, (b) delta points.

( a ) ( b )

Page 27: Fingerprint High Level Classification

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 )

Page 28: Fingerprint High Level Classification

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 )

Page 29: Fingerprint High Level Classification

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 )

Page 30: Fingerprint High Level Classification

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

Page 31: Fingerprint High Level Classification

31

Compute slope of the core/delta (slope) line in image. Make a decision as below:

_

LoopClassFingerelse

ArchTentedClassFinger

TLslopediraveif th

Page 32: Fingerprint High Level Classification

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 )

Page 33: Fingerprint High Level Classification

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.

Page 34: Fingerprint High Level Classification

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.

Page 35: Fingerprint High Level Classification

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.