Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
Tampere University of Technology, Institute of Signal Processing
SGN-3057 Digital Image Processing II
Fingerprint processing
Artem Migukin
Department of Signal Processing, Tampere University of Technology (TUT)
2012
Tampere University of Technology, Institute of Signal Processing
Motivation: fingerprint is a unique pattern which can be used for verification of a person.
Image acquisition by different sensors:
- optical (Frustrated Total Internal Reflection, fiber optic, electro-optical, sweep optical, roller-
style, touchless) scanners;
- semiconducter (capacitive, pressure, thermal, RF-Field, thermal sweep, capacitive sweep,
RF-Field sweep) scanners;
- ultrasonic.
Brands: Atmel, Fujitsu, BioLink, Veridicom, Authentec, …
Brief overview
filtering
thinning
binarization minutiae
extraction
The main algorithm of verification/identification consists 4 steps:
Tampere University of Technology, Institute of Signal Processing
Comparison of fingerprints
Identification is realized by comparison of the whole images or specific areas/points (minutiae).
These minutiae are classified as follows:
(a) Local features, minutiae; (b) Global features (see Fig. 1.7 in [1])
Tampere University of Technology, Institute of Signal Processing
Preprocessing
1. Segmentation: fing an area with high energy E(x,y) according to the following equation
2. Normalization as
where M,V – desire value of mean and std, M0, V0 – the calculated values, respectively
Hint: It can be also realized using morphological operations
Region mask, see Eq. 2.25 in [1]
Hint: start from m0 = 0, v0 = 100 for uint8
Tampere University of Technology, Institute of Signal Processing
Gabor filter
Filtering is performed block-wise, where
f is a block of a frequency image,
Θ is the corresponding orientation image of
blockes, see also Eq. 2.4 in [1] or Eqs.
2.14-2.16 in [2]
Hint:
>> gr = exp(-xp.^2/dx.^2-yp.^2/dy.^2).*cos(2*pi/f*xp);
>> y = ifft2(fft2(blk,FFTN,FFTN).*fft2(gr,FFTN,FFTN),FFTN,FFTN);
Tampere University of Technology, Institute of Signal Processing
Orientation image
For each block of an image we find an angle Θ:
Hint: use Sobel/Prewitt mask to calculate the gradients
Here Gx, Gy – horizontal and
vertical gradients respectively,
see Eqs. 2.10-2.12 in [1]
or Eqs. 2.5-2.7 in [2]
Perform blockwise operations with a proper windows size WxW, explain your choice.
Tampere University of Technology, Institute of Signal Processing
Orientation image
Averaging in order to avoid inconsistency in the calculated direction
where V(x,y) – Gaussian kernel for block-wise low-pass filtering,
* denotes the block-wise convolution operation
See Eq. 2.13 in [1] or Eqs. 2.10-2.12 in [2]
Hint: all filtering operations are easy to perform using a complex-
valued representation
Tampere University of Technology, Institute of Signal Processing
Orientation image
Hint: >> quiver(cos(oimg),sin(oimg)) % oimg is your orient. image
Tampere University of Technology, Institute of Signal Processing
Frequency image
- set the direction of the image blocks w.r.t. the direction of the ridges;
- block-wise averaging of intensities:
- combine blocks with close frequencies;
a – real data image, b - smoothed image
где S(i,j) – averaged distance between columns,
F(i,j) – a block of the frequency image. ,
- averaging :
Hint: an example is presented on our web page
Tampere University of Technology, Institute of Signal Processing
Result of Gabor filtering
Hint: blockwise operation for zero-padded to a square image
The result should be normilized
Tampere University of Technology, Institute of Signal Processing
Thinning (skeletonization)
Note that the erronious ”spurs” should be deleted
Tampere University of Technology, Institute of Signal Processing
Minutiae extraction
j
j
We will consider two different minutiae: CN = 1 – ending, CN = 3 – bifurcation.
See Eq. 3.1 and Fig. 3.2 in [2]
Tampere University of Technology, Institute of Signal Processing
Verification
Matching could be done by various algorithms as
- CGA (calculation of geometry of minutiae distribution);
- K-plet (encoding of local neighbors);
- higher statistics (robust to scaling and rotation !!!)
Your suggestions ???
Tampere University of Technology, Institute of Signal Processing
References
[1] S. Chikkerur. "Online fingerprint verification system," M.Sc. thesis, State University of New York at
Buffalo, 2005.
[2] R. Thai. "Fingerprint image enhancement and minutiae extraction," Programme report, University of
Western Australia, 2003.
[3] D. Maltoni, D. Maio, A. Jain and S. Prabhakar, [Handbook of fingerprint recognition,] Springer, 2002.
[4] F. Galton, [Finger Prints], Mcmillan, London, 1892.
[5] N. Otsu, "A threshold selection method from gray level histograms," IEEE Transactions on Systems,
Man and Cybernetics, 9:62--66 (1979).
[6] S. Chikkerur, A. N. Cartwright and V. Govindaraju, "K-plet and CBFS: a graph based fingerprint
representation and matching algorithm," ICB (2006).
[7] L. Hong, Y. Wan and A. Jain, "Fingerprint Image Enhancement: Algorithm and Performance
Evaluation", IEEE PAMI, 20, (1998).