14
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

SGN-3057 Digital Image Processing II Fingerprint processing

  • 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).