18
FingerPrint Image Enhancement E.Kranthi Kiran M050007CS Guided by: Prof.V.K.Govindan April 6, 2006 1

Finger Print Enhancement

Embed Size (px)

Citation preview

Page 1: Finger Print Enhancement

FingerPrint Image Enhancement

E.Kranthi KiranM050007CS

Guided by: Prof.V.K.Govindan

April 6, 2006

1

Page 2: Finger Print Enhancement

ACKNOWLEDGEMENT

I have been very fortunate to have V.K.Govindan,Professor, Departmentof computer Engineering, as my guide whose timely guidance, advice andinspiration helped me in the preparation of this Mini Project. I express mysincere gratitude for having guided me through this work. I am thankful toDr. M.P Sebastian, Head of Computer Engineering Department for hisencouragement and for giving me this opportunity.

E.Kranthi Kiran.

2

Page 3: Finger Print Enhancement

Contents

1 Introduction 5

2 FingerPrint Enhancement 72.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5 Orientation Image . . . . . . . . . . . . . . . . . . . . . . . . 112.6 Ridge Frequency Image . . . . . . . . . . . . . . . . . . . . . 132.7 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Screen shots 16

4 Conclusion 17

5 References 18

3

Page 4: Finger Print Enhancement

Abstract

A critical step in automatic fingerprint matching is to automati-cally and reliably extract minutiae from the input fingerprint images.However, the performance of a minutiae extraction algorithm reliesheavily on the quality of the input fingerprint images. In order toensure that the performance of an automatic fingerprint identifica-tion/verification system will be robust with respect to the quality ofinput fingerprint images, it is essential to incorporate a fingerprintenhancement algorithm in the minutiae extraction module.

This project presents a fingerprint enhancement algorithm, whichcan adaptively improve the clarity of ridge and valley structures ofinput fingerprint images based on the estimated local ridge orientationand frequency.

The report is organized as follows: the first part provides an overviewof importance of FingerPint Image Enhancement; the second partstates the actual FingerPrint Enhancement; the third part,shows thescreen shots of Implementation; Finally, a conclusion is drawn basedon the experiment results, and possible applications are suggested.

4

Page 5: Finger Print Enhancement

1 Introduction

Fingerprint identification is one of the most important biometrictechnologies which has drawn a substantial amount of attention re-cently. A fingerprint is the pattern of ridges and valleys (also calledfurrows in the fingerprint literature ) on the surface of a fingertip.Each individual has unique fingerprints. The uniqueness of a finger-print is exclusively determined by the local ridge characteristics andtheir relationships. A total of 150 different local ridge characteris-tics (islands, short ridges, enclosure, etc.) have been identified. Theselocal ridge characteristics are not evenly distributed. Most of them de-pend heavily on the impression conditions and quality of fingerprintsand are rarely observed in fingerprints. The two most prominent localridge characteristics, called minutiae, are

1. ridge ending.

2. ridge bifurcation.

A ridge ending is defined as the point where a ridge ends abruptly. Aridge bifurcation is defined as the point where a ridge forks or divergesinto branch ridges. A good quality fingerprint typically contains about40 to 100 minutiae. Examples of minutiae are shown in Fig. 1.

Figure 1: Examples of minutiae. (a) A minutiae can be characterized by itsposition and its orientation. (b) Minutiae overlaid on a fingerprint. image.

Automatic fingerprint matching depends on the comparison of theselocal ridge characteristics and their relationships to make a personal

5

Page 6: Finger Print Enhancement

identification . A critical step in fingerprint matching is to automati-cally and reliably extract minutiae from the input fingerprint images,which is a difficult task. The performance of a minutiae extractionalgorithm relies heavily on the quality of the input fingerprint images.In an ideal fingerprint image, ridges and valleys alternate and flow ina locally constant direction and minutiae are anomalies of ridges, i.e.,ridge endings and ridge bifurcations. In such situations, the ridgescan be easily detected and minutiae can be precisely located fromthe thinned ridges. Fig. 1 shows an example of good quality live-scan fingerprint image. However, in practice, due to variations inimpression conditions, ridge configuration, skin conditions (aberrantformations of epidermal ridges of fingerprints, postnatal marks, occu-pational marks), acquisition devices, and noncooperative attitude ofsubjects, etc., a significant percentage of acquired fingerprint images(approximately 10 percent) is of poor quality. The ridge structures inpoor-quality fingerprint images are not always well-defined and, hence,they cannot be correctly detected. This leads to following problems:

1. a significant number of spurious minutiae may be created.

2. a large percent of genuine minutiae may be ignored.

3. large errors in their localization (position and orientation) maybe introduced.

In order to ensure that the performance of the minutiae extractionalgorithm will be robust with respect to the quality of input fingerprintimages, an enhancement algorithm which can improve the clarity ofthe ridge structures is necessary.

A fingerprint expert is often able to correctly identify the minutiaeby using various visual clues such as local ridge orientation, ridge con-tinuity, ridge tendency, etc., as long as the ridge and valley structuresare not corrupted completely. It is possible to develop an enhance-ment algorithm that exploits these visual clues to improve the clarityof ridge structures in corrupted fingerprint images.

6

Page 7: Finger Print Enhancement

2 FingerPrint Enhancement

A fingerprint image enhancement algorithm [1] receives an inputfingerprint image, applies a set of intermediate steps on the inputimage, and finally outputs the enhanced image. In order to introducethe fingerprint image enhancement algorithm, a list of notations andsome basic definitions are given below.

2.1 Notations

A gray-level fingerprint image, I, is defined as an N×N matrix, where,(i, j) represents the intensity of the pixel at the ith row and jth column.We assume that all the images are scanned at a resolution of 500 dotsper inch (dpi), which is the resolution recommended by FBI. The meanand variance of a gray-level fingerprint image, I, are defined as

M(I) =1

N2

N−1∑i=0

N−1∑j=0

I(i, j) (1)

V AR(I) =1

N2

N−1∑i=0

N−1∑j=0

(I(i, j)−M(I))2 (2)

respectively. An orientation image, O, is defined as an N ×N image,where O(i, j) represents the local ridge orientation at pixel (i, j). Localridge orientation is usually specified for a block rather than at everypixel; an image is divided into a set of w × w nonoverlapping blocksand a single local ridge orientation is defined for each block. Notethat in a fingerprint image, there is no difference between a local ridgeorientation of 90o and 270o, since the ridges oriented at 90o and theridges oriented at 270o in a local neighborhood cannot be differentiatedfrom each other.

A frequency image,F, is an N ×N image, where F (i, j) representsthe local ridge frequency, which is defined as the frequency of theridge and valley structures in a local neighborhood along a directionnormal to the local ridge orientation. The ridge and valley structuresin a local neighborhood (Fig. 2) where minutiae or singular pointsappear do not form a well-defined sinusoidal-shaped wave. In suchsituations, the frequency is defined as the average frequency in theneighborhood of block (i, j). Like orientation image, frequency imageis specified block-wise.

7

Page 8: Finger Print Enhancement

Figure 2: Ridge and valley structures in a local neighborhood of minutiae.

2.2 Algorithm

The flowchart of the fingerprint enhancement algorithm is shown inFig. 3. The main steps of the algorithm include:

1. Segmentation:This is the process of separating the foregroundregions in the input image from the background regions.

2. Normalization: An input fingerprint image is normalized so thatit has a prespecified mean and variance.

3. Local orientation estimation: The orientation image is estimatedfrom the normalized input fingerprint image.

4. Local frequency estimation: The frequency image is computedfrom the normalized input fingerprint image and the estimatedorientation image.

5. Filtering: A bank of Gabor filters which is tuned to local ridgeorientation and ridge frequency is applied to the ridge-and-valleypixels in the normalized input fingerprint image to obtain anenhanced fingerprint image.

2.3 Segmentation

The first step of the fingerprint enhancement algorithm is image seg-mentation. Segmentation is the process of separating the foregroundregions in the image from the background regions. The foregroundregions correspond to the clear fingerprint area containing the ridgesand valleys, which is the area of interest. The background correspondsto the regions outside the borders of the fingerprint area, which do notcontain any valid fingerprint information. When minutiae extractionalgorithms are applied to the background regions of an image, it re-sults in the extraction of noisy and false minutiae. Thus, segmentationis employed to discard these background regions, which facilitates thereliable extraction of minutiae.

8

Page 9: Finger Print Enhancement

Figure 3: A flowchart of the fingerprint enhancement algorithm.

In a fingerprint image, the background regions generally exhibit avery low grey-scale variance value, whereas the foreground regionshave a very high variance. Hence, a method based on variance thresh-olding can be used to perform the segmentation. Firstly, the image isdivided into blocks and the grey-scale variance is calculated for eachblock in the image. If the variance is less than the global threshold,then the block is assigned to be a background region; otherwise, it isassigned to be part of the foreground. The grey-level variance for ablock of size W ×W is defined as:

V AR(I) =1

N2

N−1∑i=0

N−1∑j=0

(I(i, j)−M(I))2 (3)

where VAR(k) is the variance for block k, I(i, j) is the grey-level valueat pixel (i, j), and M(k) is the mean grey-level value for the blockk.The Fig. 4 gives shows the result of Segmenting the Image.

2.4 Normalization

Let ,(i, j) denote the gray-level value at pixel (i, j), M and VARdenote the estimated mean and variance of I, respectively, and G(i, j)denote the normalized gray-level value at pixel (i, j). The normalizedimage is defined as follows:

G(i, j) = M0 +

√V AR0(I(i, j)−M)2

V ARifI(i, j) > M (4)

G(i, j) = M0 −

√V AR0(I(i, j)−M)2

V ARotherwise (5)

9

Page 10: Finger Print Enhancement

Figure 4: The result of segmentation using a variance threshold of 100 anda block size of 16× 16.

where M0 and V AR0 are the desired mean and variance values, re-spectively. Normalization is a pixel-wise operation. It does not changethe clarity of the ridge and valley structures. The main purpose ofnormalization is to reduce the variations in gray-level values alongridges and valleys, which facilitates the subsequent processing steps.Fig. 5 shows an example of image normalization.

Figure 5: The result of normalization. (a) Input image. (b) Normalizedimage (M0 = 100, V AR0 = 100).

10

Page 11: Finger Print Enhancement

2.5 Orientation Image

The orientation image represents an intrinsic property of the finger-print images and defines invariant coordinates for ridges and valleys ina local neighborhood. By viewing a fingerprint image as an orientedtexture, a number of methods have been proposed to estimate the ori-entation field of fingerprint images . A least mean square orientationestimation algorithm is used [1]. Given a normalized image, G, themain steps of the algorithm are as follows:

1. Divide G into blocks of size w × w (16× 16).

2. Compute the gradients δx(i, j) and δy(i, j) at each pixel,(i, j).Depending on the computational requirement, the gradient op-erator may vary from the simple Sobel operator to the morecomplex Marr-Hildreth operator [3].

3. Estimate the local orientation of each block centered at pixel (i,j) using the following equations [2]:

ϑx(i, j) =u=i+w

2∑u=i−w

2

v=j+w2∑

v=j−w2

2δx(u, v)δy(u, v) (6)

ϑy(i, j) =u=i+w

2∑u=i−w

2

v=j+w2∑

v=j−w2

(δ2x(u, v)− δ2

y(u, v)) (7)

θ(i, j) =12tan−1(

ϑy(i, j)ϑx(i, j)

) (8)

where Θ(i, j) is the least square estimate of the local ridge ori-entation at the block centered at pixel (i, j). Mathematically,it represents the direction that is orthogonal to the dominantdirection of the Fourier spectrum of the w × w window.

4. Due to the presence of noise, corrupted ridge and valley struc-tures, minutiae, etc. in the input image, the estimated localridge orientation, θ(i, j), may not always be correct. Since localridge orientation varies slowly in a local neighborhood where nosingular points appear, a low-pass filter can be used to modifythe incorrect local ridge orientation. In order to perform thelow-pass filtering, the orientation image needs to be convertedinto a continuous vector field, which is defined as follows:

φx(i, j) = cos(2θ(i, j)) (9)

φy(i, j) = sin(2θ(i, j)) (10)

11

Page 12: Finger Print Enhancement

where φx and φy are the x and y components of the vector field,respectively. With the resulting vector field, the low-pass filter-ing can then be performed as follows:

φ′x(i, j) =

wφ2∑

u−wφ2

wφ2∑

v−wφ2

W (u, v)φx(i− uw, j − vw) (11)

φ′y(i, j) =

wφ2∑

u−wφ2

wφ2∑

v−wφ2

W (u, v)φy(i− uw, j − vw) (12)

where W is a two-dimensional low-pass filter with unit integraland wφ×wφ specifies the size of the filter. Note that the smooth-ing operation is performed at the block level. The default size ofthe filter is 5× 5.

5. Compute the local ridge orientation at (i, j) using

O(i, j) =12tan−1(

φ′y(i, j)

φ′x(i, j)

) (13)

With this algorithm, a fairly smooth orientation field estimatecan be obtained. Fig. 6 shows an example of the orientationimage estimated with the algorithm.

Figure 6: Original Image and Orientation Image

12

Page 13: Finger Print Enhancement

2.6 Ridge Frequency Image

In a local neighborhood where no minutiae and singular points ap-pear, the gray levels along ridges and valleys can be modeled as asinusoidal-shaped wave along a direction normal to the local ridgeorientation (see Fig.7). Therefore, local ridge frequency is another in-trinsic property of a fingerprint image. Let G be the normalized imageand O be the orientation image, then the steps involved in local ridgefrequency estimation are as follows:

1. Divide G into blocks of size w × w (16× 16).

2. For each block centered at pixel (i, j), compute an oriented win-dow of size l×w (32×16) that is defined in the ridge coordinatesystem (Fig. 7).

3. For each block centered at pixel (i, j), compute the xsignature,X[0], X[1], ... X[l - 1], of the ridges and valleys within the orientedwindow, where

x[k] =1w

w−1∑d=0

G(u, v), k = 0, 1, ...l − 1 (14)

u = i + (d− w

2)cosO(i, j) + (k − 1

2)sinO(i, j) (15)

v = j + (d− w

2)sinO(i, j) + (

12− k)cosO(i, j) (16)

If no minutiae and singular points appear in the oriented win-dow, the x-signature forms a discrete sinusoidal- shape wave,which has the same frequency as that of the ridges and valleysin the oriented window. Therefore, the frequency of ridges andvalleys can be estimated from the x-signature. Let τ(i, j) be theaverage number of pixels between two consecutive peaks in thex-signature, then the frequency, Ω(i, j), is computed as:

Ω(i, j) = 1/τ(i, j) (17)

If no consecutive peaks can be detected from the x-signature,then the frequency is assigned a value of −1 to differentiate itfrom the valid frequency values.

2.7 Filtering

The configurations of parallel ridges and valleys with welldefined fre-quency and orientation in a fingerprint image provide useful informa-tion which helps in removing undesired noise. The sinusoidal-shaped

13

Page 14: Finger Print Enhancement

Figure 7: Oriented window and x-signature.

waves of ridges and valleys vary slowly in a local constant orientation.Therefore, a bandpass filter that is tuned to the corresponding fre-quency and orientation can efficiently remove the undesired noise andpreserve the true ridge and valley structures. Gabor filters have bothfrequency-selective and orientation - selective properties and have op-timal joint resolution in both spatial and frequency domains. There-fore, it is appropriate to use Gabor filters as bandpass filters to removethe noise and preserve true ridge/valley structures.

The even-symmetric Gabor filter has the general form

h(x, y : φ, f) = exp−12[x2

φ

δ2x

+y2

φ

δ2y

]cos(2πfxφ) (18)

xφ = xcosφ + ysinφ (19)

yφ = −xsinφ + ycosφ (20)

where φ is the orientation of the Gabor filter, f is the frequency of asinusoidal plane wave, and δx and δy are the space constants of theGaussian envelope along x and y axes, respectively. To apply Gaborfilters to an image, three parameters must be specified:

14

Page 15: Finger Print Enhancement

Figure 8: An even-symmetric Gabor filter. The Gabor filter with φ = 10 andf = 0.

1. the frequency of the sinusoidal plane wave, f,

2. the filter orientation,

3. the standard deviations of the Gaussian envelope, δx and δy.

Obviously, the frequency characteristic of the filter, f, is completelydetermined by the local ridge frequency and the orientation is deter-mined by the local ridge orientation. The selection of the values ofδx and δy involves a trade-off. The larger the values, the more robustto noise the filters are but the more likely the filters will create spu-rious ridges and valleys. On the other hand, the smaller the valuesof δx and δy, the less likely the filters will create spurious ridges andvalleys; consequently they will be less effective in removing the noise.The values of δx and δy were set to 4.0 and 4.0, respectively based onempirical data. Let G be the normalized fingerprint images, O be theorientation image, F be the frequency image, and R be the recoverablemask, the enhanced image E is obtained as follows:

E(i, j) =

wg2∑

u−wg2

wg2∑

v−wg2

h(u, v : O(i, j), F (i, j))G(i− u, j − v) (21)

where wg = 11 specifies the size of the Gabor filters.

15

Page 16: Finger Print Enhancement

3 Screen shots

Figure 9: Normalized Image.

Figure 10: Oriented Image Estimation.

16

Page 17: Finger Print Enhancement

4 Conclusion

This project implements a fingerprint enhancement algorithm whichcan adaptively improve the clarity of ridge and valley structures basedon the local ridge orientation and ridge frequency estimated from theinputed image. The algorithm can be used in an online fingerprintverification system in its minutiae extraction module. Experimentalresults show that this enhancement algorithm is capable of improvingthe verification performance.

17

Page 18: Finger Print Enhancement

5 References

References

[1] Lin Hong, Yifei Wan, and Anil K. Jain, “Fingerprint image en-hancement: Algorithm and performance algorithm”. IEEE Trans-actions on Pattern Analysis and Machine Intelligence, vol. 20, no.8, pp.777-789, May 1998.

[2] A. Rao, “Taxonomy for Texture Description and Identification”.New York, NY: Springer − V erlag, 1990.

[3] http : //www.cee.hw.ac.uk/hipr/html/hiprtop.html,“HyperMediaImage Processing Reference”.

18