Anda di halaman 1dari 8

Rotation Invariant Thinning Algorithm to Detect Ridge Bifurcations for Fingerprint Identification

Pradeep M. Patil VIT, Pune patil_pm@rediffmail.com Shekar R. Suralkar SSBTs COET, Jalgaon Faiyaz B. Sheikh AISSMS COE Pune-1 faiyaz04@rediffmail.com

Abstract
In this paper we have modified the thinning algorithm proposed by Ahmed and Ward [1]. The unique feature that distinguishes the algorithm is its ability to thin any symbol or fingerprint to its central line taking care that the shape of the symbol is preserved while being rotation invariant. Our Modified algorithm also incorporates a process to thin zigzag diagonal lines having a width of two pixels which was not considered in [1]. The algorithm is iterative and makes use of parallel processing to speed up execution. The system has 21 rules in its inference engine which are applied simultaneously to every pixel in each iteration. The algorithm is implemented for thinning fingerprints, fonts and symbols to a single pixel width. We also introduce a 24 rule based mask for detection of ridge bifurcations, which can be helpful for recognition / authentication of fingerprints as a biometric.

1. Introduction
Fingerprints are the ridge and furrow patterns of the tip of the finger [2] and can be used for personal identification of people [3]. An automatic recognition of people based on fingerprints requires the input fingerprint to be matched with a large number of fingerprints in a database. Different databases may consist of large sets of data dealing with various features extracted from a fingerprint. There are two main types of features in a fingerprint [4], 1) Global ridge and furrow structures that form special patterns in the central region of the fingerprint and 2) Local ridge and furrow minute details of features such as ridge endings and bifurcations, also known as minutiae.

In this paper we shall concentrate on the thinning process of any image and recognition of bifurcation points of a fingerprint. In the literature many schemes make use of local landmarks i.e. minutiae based fingerprint matching systems [3-6] or exclusively global information [4, 7-8]. The minutiae based automatic identification techniques first locate the minutiae points and then match their relative placement in a given fingerprint and the stored template [3]. A good quality fingerprint contains between 60 to 80 minutiae. The main steps for minutiae extraction are smoothing, local ridge orientation estimation, ridge extraction, thinning and minutiae detection [9]. Thinning is the process of reducing the thickness of each line of patterns to just a single pixel width. The requirements of a good thinning algorithm with respect to a fingerprint are 1) The thinned fingerprint image obtained should be of single pixel width with no discontinuities. 2) Each ridge should be thinned to its centre pixel. 3) Noise and singular pixels should be eliminated. 4) No further removal of pixels should be possible after completion of thinning process. It may seem arguable to remove singular pixels considering them as a part of the object to be thinned, but in case of fingerprints, these singular pixels are of no importance and can be treated as noise. Many rules applicable for thinning of characters or symbols may not be necessary for the thinning of fingerprint images. For example removal of singular pixels/noise produce a better output as illustrated in section 3. A comprehensive survey of thinning algorithms is described by Lam et al [11]. Templates of (3X3) or (3X4) and (4X3) windows are usually used to perform thinning and trimming of extraneous pixels. The algorithm described in [12] has the advantage that its rules are applied in one sequential pass only. A two step algorithm that improves thinning results of Chinese characters is described in [13]. In [14], an theory is proposed for thinning Arabic characters.

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE

Rule 1
0 0 0 0 0 0 IF 0 1 0 THEN 0 0 0 0 0 0 0 0 0

Rule 2
1 X 0 1 X 0 IF 1 1 0 THEN 1 0 0 1 1 X 1 1 X

Rule 3
1 1 X 1 1 X IF 1 1 0 THEN 1 0 0 1 X 0 1 X 0

Rule 4
1 1 1 0 0 X 1 1 1 0 0 X

IF X 1 1 THEN X 0 1

Rule 5
1 1 1 1 1 1 IF 1 1 X THEN 1 0 X X 0 0 X 0 0

Rule 6
1 X 0 1 X 0 IF 1 1 0 THEN 1 0 0 X 0 0 X 0 0

Rule 7
1 1 X 1 1 X IF X 1 0 THEN X 0 0 0 0 0 0 0 0

Rule 8
1 1 1 1 1 1 1 1 1 1 1 1

IF 1 1 0 THEN 1 0 0

Rule 9
1 1 1 1 1 1 IF 1 1 1 THEN 1 0 1 1 0 1 1 0 1

Rule 10
X 0 0 X 0 0 IF 1 1 0 THEN 1 0 0 1 X 0 1 X 0

Rule 11
0 0 0 0 0 0 IF X 1 0 THEN X 0 0 1 1 X 1 1 X

Rule 12
X 1 1 0 0 0 X 1 1 0 0 0

IF 0 1 X THEN 0 0 X

Rule 13
0 X 1 0 X 1 IF 0 1 1 THEN 0 0 1 0 0 X 0 0 X

Rule 14
0 0 0 0 0 0 IF 0 1 X THEN 0 0 X X 1 1 X 1 1

Rule 15
0 0 X 0 0 X IF 0 1 1 THEN 0 0 1 0 X 1 0 X 1

Rule 16
1 1 1 1 1 1 1 1 1 1 1 1

IF 0 1 1 THEN 0 0 1

Rule 17
1 0 1 1 0 1 IF 1 1 1 THEN 1 0 1 1 1 1 1 1 1

Rule 18
0 X 1 0 X 1 IF 0 1 1 THEN 0 0 1 X 1 1 X 1 1

Rule 19
X 1 1 X 1 1 IF 0 1 1 THEN 0 0 1 0 X 1 0 X 1

Rule 20
0 0 X 1 1 1 0 0 X 1 1 1

IF X 1 1 THEN X 0 1

Rule 21
X 0 0 1 1 1 X 0 0 1 1 1

IF 1 1 X THEN 1 0 X

Fig 1. 21 Rule Set for thinning of fingerprints or symbols.


Diagonal Rule 1
X 1 X X 1 X IF 1 1 0 THEN 1 0 0 X 0 0 X 0 0

Diagonal Rule 2
0 0 X 0 0 X IF 0 1 1 THEN 0 0 1 X 1 X X 1 X

Diagonal Rule 3
X 1 X X 1 X IF 0 1 1 THEN 0 0 1 0 0 X 0 0 X

Diagonal Rule 4
X 0 0 X 0 0 IF 1 1 0 THEN 1 0 0 X 1 X X 1 X

(a)

(b)

(c)

(d)

Fig 2. 4 Rule Set for thinning of diagonals. Many thinning algorithms, their performance, and evaluation have been studied in [15]. Many are specific to digits, Arabic, Bengali, Chinese or any other script. In this paper we present a modified thinning system that can be used to thin any symbol, font or fingerprint irrespective of their shape and orientation. The resultant thinned image will be the central lines of the symbol and thus the system is invariant to rotations on the original pattern. The system preserves the topology and does not produce any discontinuity. On completion of the thinning process we apply 24 rulebased masks on the thinned image to extract the bifurcation points from the image. The paper is organized as follows: Section 2 gives the detailed Thinning algorithm. Section 3 shows the algorithm applied to various symbols, language scripts and finally its application on fingerprints. In section 4 we introduce a 24-rule based bifurcation detection algorithm. Section 5 shall cover comparison and results. Finally the conclusion is presented in Section 6.

2. Thinning Algorithm
The process of thinning begins with eliminating the pixels that lie on the outer boundary of the ridge until the ridge is one pixel wide. This result in the 21 rules listed in Fig 1 which are applied simultaneously in each iteration to every pixel. The 21st Rule is exclusively incorporated for implementation on fingerprint images for the removal of singular pixels. For the thinning process we consider a (3X3) pixel neighborhood of a black pixel with its 8 neighbor pixels. The maximum number of iterations depends on the thickest symbol or ridge present in the image.

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE

(a)

(b)

(c)

Fig 3. Thinning applied to diagonal lines (a) The original image (b) Ahmed and Ward method (c) Our method It is observed that on application of the 21 rules to the image under consideration, some lines containing only two pixel width are deleted. This happens because each pixel of a two pixel width line is considered to be the outer boundary. Hence it is eliminated causing discontinuities in the image. To overcome this problem, apart from the 21 rules, other issues have to be considered initially as discussed in section 2.2. algorithm. Results show that a uniform image of single pixel diagonals can be obtained by our method.

2.2. Procedure for Thinning


X 1 1 X 0 P 1 0 X 1 1 X X 1 1 X 0 1 P 0 X 1 1 X

2.1. Thinning of Diagonal Lines


After application of the set of 21 Rules to zigzag / diagonal lines having two neighboring pixels either in horizontal or in vertical direction as displayed in Fig 3, it is found that pixels forming diagonal lines or curves are not thinned to a single pixel width. (Fig 3(b)). To overcome this shortcoming we introduce a set of four Diagonal Rules. These rules have been formulated considering that if any two pixels lie adjacent to each other at an angle of 45 and a third pixel connects both these pixels at 90 then this third pixel should be eliminated. This leads to the formation of four diagonal rules as illustrated in Fig 2. The following points have been considered while designing the set of four Diagonal Rules: 1. On removal of any extra pixel discontinuities should not be formed. 2. The pixel to be removed should be the central pixel of the (3X3) mask under consideration. 3. The removal of a pixel should not affect a bifurcation point or else the original shape of the subject is disturbed. It can be seen in Fig 2 that we have placed zeros 0 (denoting white pixels) around the center 1 (denoting black pixels) by which discontinuity at the point of bifurcation is prevented. The X denote dont care and can assume either a 0 or a 1. 4. The original angle of the diagonal or curve should not be affected. Fig 3(a) displays the original image consisting of diagonal lines with varied pixel widths. Fig 3(b) is the thinned version using the method in [1]. It can be seen that diagonal lines are not thinned to single pixel width. Fig 3(c) is obtained by using proposed

X 1 0 P X 1

1 1 1

X 0 X

(a)
X 1 0 1 X 1 1 P 1 X 0 X 0 0 1 1

(b)
0 P 1 0 0 0 0 0 0 0 0 0 0 P 1 0

(c)
0 0 1 1

(d)
1 1 0 0 0 1 P 0 0 0 0 0 0 0 0 0

(e)
0 1 P 0 1 1 0 0 0 0 0

(f)
0 P 0 0 1 1 0 0 1

(g)
0 0 0 0 P 0 1 1 0 1 0 0 0 0 1

(h)
0 1 1 0 P 0 0 0 0 1 0 0 1 1 0

(i)
0 P 0 0 0 X

(j)

(k)

(l)

Fig 4. Various masks for pre-thinning procedure Step 1: Repeat the following iteration until no changes occur from one iteration to the next. For iteration i do the following: For every pixel P in the image do the following: 1) If P belongs to two pixels wide in the vertical direction, go to 2). If P belongs two pixels wide in the horizontal direction, go to 3); otherwise go to 6). 2) If P belongs to Fig 4(a), stop calculations for that pixel, otherwise check if P belongs to Fig 4(b). If yes, delete P and stop calculations for that pixel, otherwise go to 4). 3) If P belongs to Fig 4(c), stop calculations for this pixel, else, check if P belongs to Fig 4(d), If yes,

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE

delete P and stop calculations for this pixel; otherwise go to 5). 4) If P belongs to Fig 4(e) or Fig 4(f), stop calculations for that pixel, otherwise check if P belongs to Fig 4(g) or Fig 4(h). If yes, stop calculations for this pixel; otherwise go to 6). 5) If P belongs to Fig 4(i) or Fig 4(j), stop calculations for that pixel, otherwise check if

P belongs to Fig 4(k) or Fig 4(l). If yes, stop calculations for this pixel; otherwise go to 6). 6) Apply the 21 rules and stop calculations for this pixel. Step 2: 7) After completion of the above iterations apply the 4 Diagonal rules displayed in Fig 2. sequentially over the image in a single pass. 8) End the procedure.

3. Experimentation on Different Images

Fig 5 (a) Image of Different language scripts and Handwritten Characters (b) Thinned Image

Fig 6 (a) Original image with 0.01% Salt &Pepper Noise. (b) Thinning by MATLAB internal function. (c) Thinning by Rabab & Ward (d) Thinning by proposed algorithm

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE

Fig 5 displays different language scripts such as Bengali, Arabic, Devnagiri and Chinese. The result obtained after running the proposed algorithm shows the center lines of each object having single pixel width. Here, only the initial 20 rules plus 4 diagonal rules have been implemented on the figure. The 21st Rule has been excluded to prevent removal of symbols with single pixels. This can be observed below the ? symbol and along the Arabic font. In Fig 6(a) we have introduced 0.01% of Salt and Pepper Noise in the image. Smoothening of the image has been carried out to remove any discontinuity in the object structure. Fig 6(b) shows the output obtained by using the internal MATLAB function for thinning. The algorithm does not have much effect on noise and also produces extraneous pixels (distortions). Fig 6(c) displays the output obtained by using the algorithm proposed in [1].

Here we can observe that the algorithm has no effect on noise. Also pixels along zigzag diagonals and curves are not thinned to their proper single pixel value. Fig 6(d) shows the output obtained by the proposed algorithm. Here it is observed that most of the noise pixels have been eliminated by making use of the 21 rules and at the same time a much better thinning is obtained due to proper thinning of diagonal lines by using the 4 Diagonal Rule set. Fig 7(a) displays different symbols for thinning. The thinned image produced by our modified algorithm is shown in Fig 7(b). The image obtained is of single pixel width with each symbol displayed along their centre lines. Fig 8 displays the rotation invariance nature of the algorithm. It shows that the angle of rotation of any symbol or character does not affect the output image and produces satisfactory results.

Fig 7 (a) Original image containing different symbols. (b) Thinned image

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE

Fig 8 (a) Image to illustrate rotation invariance. (b) Thinned Image

(a)

(b)

(c)

(d)

Fig 9. Fingerprint thinning (a) Original Image (b) Thinning by Hilditch (c) Thinning by M. Ahmed and R. Ward
(d) Thinning by our algorithm

3.1 Implementation of Thinning Algorithm on Fingerprint Image


On application of the procedure discussed in section 2 we will achieve the thinned image of the original fingerprint. Fig 9(a) shows an original image which has to be thinned. Fig 9(b) shows the thinned image obtained using the Hilditch algorithm. It can be seen that the Hilditch algorithm produces an image whose ridges are not centered and at the same time the ridges are shortened producing false ridge endings. Fig 9(c) shows the thinned image using [1] which does not take into consideration single or isolated pixels which may be caused due to noise present. Also certain diagonal lines have not been thinned to single pixel value. Fig 9(d) shows the thinned image obtained by using our algorithm. It displays a highly thinned image which satisfies all four rules of thinning stated in section 1.

formulated taking into consideration all valid possibilities of occurrence of bifurcations. On detection of a dark pixel i.e. any pixel of a ridge in the image, each mask of (3X3) size from Fig 10 is matched with the immediate neighborhood of that pixel sequentially. If the neighborhood around any black pixel matches with any mask of Fig 10 then that pixel has to be considered as a bifurcation point. The conditions to validate a bifurcation point are as follows: 1. There must be minimum three pixels within the immediate neighborhood of the centre pixel such that all three pixels apart from the centre pixel are never adjacent to each other. 2. The maximum number of pixels allowable in the mask is five. 3. The centre pixel is connected to every other pixel in the mask. Results obtained by rotating the thinned image by any angle are found to have the same distances between bifurcation points irrespective of its orientation. Since all possible conditions have been considered, the recognition rate of bifurcation points is between 98% to 100%. The process is rotation invariant and hence can be applied to any binary fingerprint image. Fig 11(a) is a thinned image obtained by using our modified thinning algorithm. Fig 11(b) displays the bifurcation points present. Fig 11(c) displays the bifurcation points after false rejection.

4. Ridge Bifurcation Detection


A ridge bifurcation is that point on an image where the ridge branches out into two. This feature is unique for every fingerprint and is used for fingerprint recognition. The prerequisite for obtaining accurate bifurcation points is to acquire a binary image where all the ridges of the fingerprint have been properly thinned to their central line. The thinned image should be of single pixel width without any discontinuities due to thinning. The 24 masks shown in Fig 10 have been

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

(11)

(12)

(13)

(14)

(15)

(16)

(17)

(18)

(19)

(20)

(21)

(22)

(23)

(24)

Fig 10. Masks of all bifurcation points possible.

(a)

(b)

(c)

Fig 11. (a) Thinned image (b) Bifurcation points before false rejection (c) Bifurcation points after false rejection. For false rejection we have used a (7X7) mask. A database can be created for all the detected ridge bifurcation points in an image after false rejection. can be observed in Fig 6. that our algorithm not only has low distortion, but can also withstand noise to a considerable amount. The results obtained after thinning clearly indicates that no discontinuity is produced. Table 2 compares simplicity in implementing the algorithm. Our proposed algorithm basically consists of a set of 21 rules in its inference engine along with 4 diagonal rules. Here no complicated mathematical equations are used, making our system simple to implement. Again, since the complete process is carried out by parallel processing our algorithm is comparable to other algorithms in speed. Table 2. Comparison based on complexity and thinning methodology Algorithm Hilditch Rabab & Ward Proposed Algorithm Implementation Complexity Medium Complex Simple Simple Thinning methodology Sequential, Single pass Parallel, iterative Parallel, iterative

5. Comparison & Results


Our Modified thinning algorithm has been implemented using MATLAB Version 6.1 and C++ on a 833 MHz Pentium PC. On comparing various thinning algorithm it is found that our proposed algorithm is superior to other algorithms. Table 1. Comparison of different thinning algorithms according to curvature property of symbol Algorithm Hilditch Gonzalez & Woods Rabab & Ward Proposed Algorithm Distortion Produced Highest Medium Low Lowest Connectivity Disconnected Connected Connected Connected

Various algorithms based on distortion produced and connectivity after thinning are compared in Table 1. It

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE

As observed in Table 3, no other algorithm produces an output of exactly single pixel width. On applying the Hilditch algorithm to Fig 7(a) it is found that the ridges are not thinned to their central pixel and the bifurcation points are displaced. Fig 7(c) is obtained by using [1], but it can be seen that the pixels around curvatures and diagonals are not singular. Fig 7(d) shows the thinned image of a fingerprint obtained by using our proposed algorithm. The output obtained clearly shows an image thinned to a single pixel width. Hence our algorithm supersedes most other algorithms. Table 3. Comparison based on output obtained Algorithm Hilditch Rabab & Ward Proposed Algorithm Single pixel output No No Yes Rotation Invariant No Yes Yes.

Approach to Fingerprint classification, IEEE trans. On Pattern Analysis and Machine Intelligence, vol 21, no. 4, pp. 348-556, April 1999. [4] A. K. Jain, L. Hong, S. Pankanti, and R. Bolle, An identity authentication system using fingerprints, Proc. IEEE, vol. 85, pp 1365-1388, Sept 1997.

[5] D. Maio and D. Maltoni, Direct gray scale minutiae detection in fingerprints, IEEE trans. On
Pattern Analysis and Machine Intelligence, vol 19, pp. 2740, Jan 1997. [6] S. Prabhakar, A. K. Jain, Wang Gianguo, S. Pankanti, R. Bolle, Minutiae Verification and classification for fingerprint matching, in proceeding of 15th International conference on Pattern Recognition, 2000, vol. 1, pp. 25-29, Sept. 2000. [7] A. K. Jain, A Ross and S. Prabhakar, Fingerprint matching using minutiae and texture features in proceeding of International conference on Image Processing, 2001, vol. 3, pp. 282-285, 7-10 Oct. 2001. [8] G. T. Canbela, P. J. Grother, C. I. Watson, R. A. Wilkinson and C. L. Wilson, PCASYS: A Pattern-level Classification automation system for fingerprints, NIST Tech. Rep. NISTIR 5647, Aug. 1995. [9] L. Hong and A. K. Jain, Classification of fingerprint images in Proc. 11th Scandinavian Conf. Image Analysis, Kangerlussaq, Greenland, June 7-11, 1999. [10] A. K. Jain, L. Hong and R. Bolle, Online fingerprint verification, IEEE trans, vol. 19, no. 4, pp. 302-314, 1997. [11] L. Lam, S. Lee and C. Suen, Thinning methodologiesA Comprehensive survey, IEEE transactions on Pattern Analysis and Machine Intelligence, vol. 14, no. 3, pp. 369387, 2000. [12] M. Ahmed and R. Ward A fast one pass Knowledge Based system for thinning, Electronic Imaging, vol. 7, no. 1, pp. 111-116, 1998. [13] R. He and H. Yan, Stroke Extraction as preprocessing step to improve thinning results of Chinese Characters, Pattern Recognition Letters, vol. 21, pp. 817-825, 2000. [14] M. Altuwaijri and M. Bayoumi, A new thinning Algorithm for Arabic characters using a Self Organizing Neural Network,. Proc. IEEE Int. Symp. Circuits and systems, vol. 3, pp 1824 1827, 1995. [15] L. Lam and C. Suen, An Evaluation of parallel Thinning Algorithms for Character Recognition,. IEEE transactions on Pattern Analysis and Machine Intelligence, vol. 17, no.9, pp. 914-919, 1995.

6. Conclusion
Thinning algorithm should preserve the topology (shape) of symbols. Preserving the shape is accomplished by representing symbols by their central lines. Since the central lines of the image form the resultant thinned symbol, our system can be used to thin fingerprints, symbols, characters and letters belonging to any language or script. The algorithm is based on 21 thinning rules plus 4 Diagonal rules. These rules are applied in parallel to every pixel in each iteration. The total number of iterations is half the number of pixels in the thickest part of the pattern. Our method has the advantage of being rotation invariant. Experimental results show that the developed method is effective, fast and can thin any symbol, irrespective of the direction of rotation, flipping or containing the extremity of a zigzag diagonal line. The system is also shown to tolerate noisy symbols. The 24 rules proposed for bifurcation point detection are very effective and almost 100% result is obtained.

7. References
[1] M. Ahmed and R. Ward, A Rotation Invariant RuleBased Thinning Algorithm for Character Recognition, IEEE transactions on Pattern Analysis and Machine Intelligence, vol. 24, no.12, pp. 1672-1678, Dec 2002. [2] Advances in Fingerprint Technology, H.C. Lee and R.E. Gaensslen, eds. New York : Elsevier, 1991. [3] Anil K. Jain, Salil Prabhakar, Lin Hong, A Multichannel

Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI05)

1082-3409/05 $20.00 2005 IEEE