0% found this document useful (0 votes)
36 views55 pages

Math of Fingerprint

The document describes the key steps in a fingerprint identification system: image enhancement, orientation computation, core and delta detection, type classification, image binarization, thinning, minutiae detection, pattern matching, and storage in a fingerprint database. It outlines the algorithms used for each step and provides examples of results, such as segmented regions of interest, detected singular points, and thinned fingerprint images.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views55 pages

Math of Fingerprint

The document describes the key steps in a fingerprint identification system: image enhancement, orientation computation, core and delta detection, type classification, image binarization, thinning, minutiae detection, pattern matching, and storage in a fingerprint database. It outlines the algorithms used for each step and provides examples of results, such as segmented regions of interest, detected singular points, and thinned fingerprint images.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 55

Mathematics of Fingerprint

Identification System

Research Thesis

Saif Al Aryani 200304349


Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Flowchart of An AFIS
Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Image Enhancement
 The moisture and scars of a finger as well as the pressure due to a
fingerprint sensing could distort the quality of the acquired fingerprint
image.

 We adopt an ad hoc strategy to enhance the quality of a fingerprint image.

 Support that A (i, j) is image gray level at pixel (i, j), μ and s 2 are the mean
and variance of gray levels of input image, and α=150, γ=95, γ must satisfy
γ>s.

The enhanced image B( i , j ) is given as follows.

 B( i , j ) α + γ * ([A ( i , j ) – μ] / s)
Result of Image Enhancement
Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Orientation Computation(1)

 First we apply a 5 by 5 median filtering on the image to avoid


false gradient vectors generated by noise.

 Then compute the gradient (Gx,Gy) at each pixel by a Sobel


operator.
z1 z2 z3
z4 z5 z6 G x  ( z 7  2 z8  z 9 )  ( z1  2 z 2  z 3 )
G y  ( z 3  2 z 6  z 9 )  ( z1  2 z 4  z 7 )
z7 z8 z9

mask Sobel Operation


Orientation Computation(2)

G x    cos       Gx  G y 
2 2

G         1 
 y   sin      tan G y G x 

Gy

θ
0
Gx X

The relationship between [Gx, Gy]T and [ρ,θ]T


Orientation Computation(3)
 Because of opposite gradient vectors might offset each other, we double the
angles of the gradient vectors before averaging each block, and let the
length of the gradient vectors be squared.

 Let  x , y 
T
be represented by


 x    2 cos 2    2 cos 2   sin 2    G  G y2 
2
x
    2  2   
 y    sin 2    2 sin  cos    2G G
 x y 

The average gradient ~x , ~y  in each block R (w×w) is


T

~x  1  x  1 G x2  G y2 
~   2  R    2  R  
 y w  y w 2G x G y 
Orientation Computation(4)
 The block gradient direction ψ is

  ~x ,~ y 
1
2

where ( x, yis)defined as:

tan 1  y / x  x0
 for
x, y   tan  y / x   
1
x0  y0
tan 1  y / x    x0  y0

Orientation Computation(5)

Block orientation images


Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Region of Interest Detection(1)
 To avoid obtaining false singular points or minutiae, we use mean and
standard deviation in each block to determine if the block is “good” (not a
marginal block) or not.

v  w 0 (1   )  w 1    w 2

where w 0  0.5, w 1  0.and5 wis2 the ratio of distance to the center of the
fingerprint image. μ and σ are normalized to be in [0,1].

 If v > 0.8, the block is what we want.


Region of Interest Detection(2)

Enhanced image Region of interest


Singular Point Detection(1)
 Because of noisy directions, we have to smooth the
direction before computing the Poincaré index.
 We regard the direction as a vector, double the angles
and use a 3 by 3 averaging filter to smooth the
direction.

B3 B2 B1 1 1 1
a  i  0 Bi , x  2 Bc , x
7

B4 Bc B0 1 2 1
b  i  0 Bi , y  2 Bc , y
7

B5 B6 B7 1 1 1 Bi  Bi , x , Bi , y , 0  i  7 or i  c

1 b
 The average direction of the block is   arctan 
2 a
Singular Point Detection(2)
 We compute Poincaré index by summing up the difference in the direction
surrounding the block P. For each block Pj, we compute the angle difference
from 8 neighboring blocks along counter-clockwise direction.

P1 P8 P7
P1 → P2 → P3 → P4 → P5 → P6 → P7 → P8 → P1

P2 P P6
Core if the sum of difference is 180°
P3 P4 P5 Delta if the sum of difference is -180°
Singular Point Detection(3)

Singular points of Fingerprint Images


Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
4+1 Fingerprint Type Classification

Arch Left Loop Right Loop Whorl undecided


Type Classification

Type Arch Left loop Right Whorl Others


(tented loop (twins
arch) loop)

# of cores 0 or 1 1 1 2 0 or >2

0 or 1
# of deltas 1(right) 1(left) 0~2 0 or >2
(middle)
Implementation of classification
 All Fingerprint Images are collected by a Veridicom FP110
reader with resolution 500 dpi

 Experiment on Rindex28: 4x28 Right Index Fingerprint Images


collected from 28 students
 No classification error

 Experiment on Lindex101
 17 classification errors
 Due to inappropriately pressing, too complex structure, or poor quality.
Inappropriately Pressing

Whorl Left Loop


Inappropriately Pressing

Right Loop Arch


Too Complex Structure

Left or Whorl Left or Arch


Fingerprint Images of Poor Quality

? X ? X
Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Image Binarization(1)
 We have to distinguish valley and ridge of a fingerprint image before
smoothing and thinning. So the gray value of pixels in the enhanced
fingerprint image will be binarized to 0 or 255.

 First we compute the gray value of P25 and P50 from the enhanced image,
where Pk is the kth percentile of enhanced fingerprint image histogram.

 Then we partition an enhanced fingerprint image into w by w blocks and


compute the mean of each blocks. We define that Mj is the mean of the j-th
block.
Image Binarization(2)
 If the gray value of pixel Si is less than P25, we assign 0 to Si .
 If the gray value of pixel Si greater than P50, we assign 255 to Si .
Otherwise, the pixel value is defined by the following rule:

 1 8
255 if 8  S x  M j
Si   x 0
x i

0 otherwise
Smoothing
 After binarization, we find that there is still much noise on ridge region. In order to
make the result of thinning better, we have to smooth the fingerprint image first. A
smooth stage uses neighboring pixels to remove noise.

 First a 5 by 5 filter is used. The pixel pi is assigned by:


pi = { 255 if Σ5x5Nw≧18
0 if Σ5x5Nb≧18
pi otherwise

 Then a 3 by 3 filter is further proceed by:


pi = { 255 if Σ3x3Nw≧5
0 if Σ3x3Nb≧5
pi otherwise
(a) Original image (b) Enhanced image

(c) Binarization image (d) Smoothed image


Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Thinning

 The purpose of thinning stage is to gain the skeleton structure of fingerprint


image.
 It reduces a binary image consisting of ridges and valleys into a ridge map of
unit width.

(d) Smoothed image (e) Thinned image


Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Minutiae Detection
 From a thinned image, we can classify each ridge pixel into the following
categories according to its 8-connected neighbors.

 A ridge pixel is called :


 an isolated point if it does not have any 8-connected neighbor.
 an ending if it has exactly one 8-connected neighbor.
 an edgepoint if it has two 8-connected.
 a bifurcation if it has three 8-connected.
 a crossing if it has four 8-connected.
Minutiae Extraction
Due to broken ridges, fur effects, and ridge endings near the margins of an
image, we have to remove the spurious minutiae as described below.

(1) Two endings are too close (within 8 pixels)


(2) An ending and a bifurcation are too close (< 8 pixels)
(3) Two bifurcations are too close (< 8 pixels)
(4) Minutiae are near the margins (< 8 pixels)
Minutiae Extraction
 Spurious minutia pixels include :
(a) Ending that lie on the margins of the region of interest.
(b) Two nearest endings with the same ridge orientation.
(c) ending and bifurcation that are connected and close enough.
(d) two bifurcations that are too close.
Example of Minutiae Extraction
Example of Minutiae Extraction
Example of Minutiae Extraction
Minutiae Extraction (10)
 Fingerprint Template Data
The information format of fingerprint template data.
Type #of Core* # of deltas Delta* # of Minutiae*
cores minutiae
4 bits 2 bits 24 bits 2 bits 24 7 bits 26 bits
bits

The information format of singular points, core or delta.


X Coordinate Y Coordinate Direction
10 bits 10 bits 4 bits

The information format of a minutia.


Kind of Minutiae X Coordinate Y Coordinate Direction

2 bits 10 bits 10 bits 4 bits


Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Minutiae Matching
Minutiae Pattern Matching
Minutiae Pattern Matching
Fingerprint Matching Score
The matching score of these two fingerprints is calculated by

M
1 r
S  100 
M
 (1 
j 1
)
R j

where M is the number of potential type-matching minutiae within a disk of a


certain user-specified radius, R (about 8~16 pixels). r measures the distance
between a pair of potentially matched minutiae points.
Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Fingerprint Database (1)
 Rindex28
Rindex28, is obtained from PRIP Lab at NTHU. It contains 112
images of size 300 by 300 contributed by 28 different individuals.
Each contributed 4 times with the same right index finger scanned
by a Veridicom FPS110 live scanner with 500 dpi
Fingerprint Database (2)
 Lindex101
Lindex101, is obtained from PRIP Lab at NTHU. It contains 404
images of size 300 by 300 contributed by 101 different individuals.
Each contributed 4 times with the same left index finger scanned by a
Veridicom FPS110 live scanner with 500 dpi
Fingerprint Database (3)
 FVC2000

Sensor Type Image Size Resolution

DB1 Low-cost Optical Sensor 300x300 500 dpi

Low-cost Capacitive
DB2 256x364 500 dpi
Sensor

DB3 Optical Sensor 448x478 500 dpi

DB4 Synthetic Generator 240x320 about500 dpi


Fingerprint Database (4)

Examples of fingerprint images from each database of FVC2000


Experimental Results

Rindex28 Lindex101 DB1 DB2 DB3 DB4

Recognition 99.11% 82.67% 92.50% 90.00% 87.50% 92.50%


rate 111/112 334/404 74/80 72/80 70/80 74/80

Enrolling time
for each fingerprint
0.25 sec 0.25 sec 0.25 sec 0.25 sec 0.45 sec 0.17 sec
image

Matching
0.359 sec 3.14 sec 0.25 sec 0.218 sec 0.234 sec 0.156 sec
time

The experimental results of 6 databases


Mismatched Fingerprint Images
Outline
 A Flowchart of Fingerprint Identification
 Image Enhancement
 Orientation Computation
 Core & Delta Detection
 Type Classification
 Image Binarization
 Thinning
 Minutiae Detection
 Pattern Matching
 Fingerprint Database
 Conclusion
Conclusion

Three main problems may affect the Fingerprint Identification

 Noise produces the poor binarization results

 Broken ridges result in the error orientation, which causes the


misclassification of a fingerprint type

 The shifted fingerprint image is difficult to match the minutiae pattern


well, for example, the type misclassification due to the missing cores or
deltas

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy