TECHNISCHE UNIVERSITÄT MÜNCHEN

FAKULTÄT FÜR INFORMATIK

Fingerprint Recognition by Matching of Gabor Filter-based Patterns

Diplomarbeit in Informatik

Markus Huppmann 2 e e e e e e e e FAKULTÄT FÜR INFORMATIK e e e e e DER TECHNISCHEN e e e e e e e UNIVERSITÄT MÜNCHEN Forschungs- und Lehreinheit IX Bildverstehen und wissensbasierte Systeme

Fingerprint Recognition by Matching of Gabor Filter-based Patterns

Diplomarbeit in Informatik

Aufgabensteller : Prof. Bernd Radig Betreuer : Dipl. Inf. Matthias Wimmer

Abgabedatum : 15. Januar 2007 4 Ich versichere, dass ich diese Diplomarbeit selbständig verfasst und nur die angegebe- nen Quellen und Hilfsmittel verwendet habe.

München, den 15. Januar 2007

(Markus Huppmann) Abstract In the modern computerized world, it has become more and more important to authenticate people in a secure way. Modern applications like online bank- ing or online shopping use techniques that depend on personal identification numbers, keys, or passwords. Nevertheless, these technologies imply the risk of data being forgotten, lost, or even stolen. Therefore biometric authentication methods promise a unique way to be able to authenticate people. A secure and confidential biometric authentication method is the utilization of fingerprints. Usually a technique called minutiae matching is used to be able to handle au- tomatic fingerprint recognition with a computer system. This thesis proposes a different fingerprint recognition technique, which uses the matching of Gabor filter-based patterns.

6 Contents

1 Introduction 13 1.1 Importance of Authentication ...... 13 1.2 History of the Use of for Authentication ...... 13 1.3 Thesis Overview ...... 14

2 Technical Introduction 17 2.1 Biometric Systems ...... 17 2.1.1 Identification and Verification ...... 17 2.1.2 Biometric Authentication Techniques ...... 18 2.1.3 Introduction to Fingerprints ...... 19 2.1.4 Sensors ...... 20 2.1.5 Workflow of Biometric Systems ...... 21 2.2 Fingerprint Recognition Methods ...... 22 2.2.1 Minutiae Matching ...... 23 2.2.2 Pattern Matching ...... 25 2.2.3 Overview of Fingerprint Recognition Methods ...... 26

3 Pattern Matching Using Gabor Filters 29 3.1 Normalization ...... 30 3.2 Segmentation ...... 32 3.3 Reference Point Detection ...... 34 3.4 Gabor-Filter ...... 42 3.5 Creation of the Feature Map ...... 46 3.6 Matching ...... 49

4 Evaluation 53 4.1 Biometric Benchmarks ...... 53 4.2 Tests ...... 54 4.3 Conclusion of the Test Results ...... 58

5 Summary and Outlook 59

7 Contents

5.1 Summary ...... 59 5.2 Outlook ...... 59

8 List of Figures

2.1 The different fingerprint classes and their frequency of occurrence ...... 19 2.2 Two sensors from UPEK ...... 20 2.3 Recording of a fingerprint ...... 21 2.4 Low quality fingerprints ...... 22 2.5 Workflows: Identification, verification ...... 23 2.6 Minutiae ...... 23 2.7 Fingerprint with marked minutiae ...... 24 2.8 Ridge matching ...... 25 2.9 Filterbank-based matching ...... 26

3.1 Fingerprint before normalization ...... 30 3.2 Fingerprint after normalization ...... 31 3.3 Fingerprint segmentation ...... 32 3.4 Orientation angle θ of pixel (i,j) ...... 34 3.5 Local ridge orientation of a fingerprint ...... 36 3.6 Restricted region of interest ...... 37 3.7 Smoothed orientation map ...... 39 3.8 Results of the reference point detection ...... 40 3.9 Failures of the reference point detection ...... 41 3.10 Inter-ridge distance ...... 43 3.11 Filter directions of a Gabor filter ...... 44 3.12 Real part of the impulse response of a Gabor filter...... 44 3.13 Imaginary part of the impulse response of a Gabor filter...... 44 3.14 Gabor filter output ...... 45 3.15 Rectangular and circular tessellation ...... 46 3.16 Rectangular and circular tessellation superimposing a fingerprint ...... 47 3.17 Obtained feature maps ...... 48 3.18 Matching of two fingerprints of the same class ...... 51 3.19 Matching of two fingerprints of different classes ...... 52 3.20 Rotation during matching ...... 52

9 List of Figures

4.1 Result of test 1 ...... 56 4.2 Result of test 2 ...... 56 4.3 Result of the test with an alternative matching equation ...... 58

10 List of Tables

2.1 Overview of different biometric authentication techniques ...... 18 2.2 Overview of various matching algorithms ...... 27

4.1 Result of test 1 ...... 55 4.2 Result of test 2 ...... 55 4.3 Overview of all test results ...... 57 4.4 Result of the test with an alternative matching equation ...... 57

11 List of Tables

12 1 Introduction

This chapter introduces into the basic concepts of authentication. After that, it reflects the history of the use of fingerprints for authentication. At last, an overview of this thesis is given.

1.1 Importance of Authentication

Since the opening of the internet to commercial use at the beginning of the 1990s, handling financial transactions via online banking over the internet instead of personally going to the bank has become more and more common to modern people. Online shopping sales have also increased rapidly over the last few years. At the same time, it has remained difficult for the providers of these applications to assure that the users who carry out transactions or place orders in online shops are who they claim to be. Vice versa, it is more than unpleasant for the users if someone else orders on their behalf as fraud cases in a famous online auction house have shown in the past [1]. Therefore, several techniques have been developed in recent years to allow precise authentication of people. These techniques include the use of personal identification numbers (PIN), keys, or passwords. Unfortunately, it happens frequently that, for example, not only the owner of a credit card who is allowed to withdraw money knows the corresponding PIN. Nowadays, people have to memorize many numbers, pins, and passwords. Forgetful people are often not able to keep their specific code in mind. Furthermore, many people write down their PIN and store it along with their credit card in their wallet or keep their computer password written under their keyboard. In such cases, every technique that uses numbers, keys, or passwords becomes useless. Thus, it is evident that an assured and secure method for authentication has to be provided, which cannot be forgotten, lost, or even stolen.

1.2 History of the Use of Fingerprints for Authentication

For this reason, using the biometrical attributes of a human being seems to be the per- fect way for unique authentication. At the end of the 19th century, fingerprints were used for the first time to identify people. In India, Sir William J. Herschel used fingerprints

13 1 Introduction to avoid double retirement payments to Indian workers and also to verify the identity of prisoners. In the process he collected thousands of fingerprints and after many years he was able to prove that fingerprints do not alter during lifetime. This consistency is an important reason for the use of fingerprints in addition to their uniqueness. Sir Fran- cis Galton developed a fingerprint classification and published his work in 1892 [2]. His book became the standard reference for many years. At the same time another system of authentication was developed based on the anatomi- cal attributes of people. This method is called anthropometry and chooses attributes such as the geometry of hand or measure of head to identify people. Those anatomic attributes, however, change during lifetime and are difficult to acquire. Therefore, the use of finger- prints became the leading way of identifying people. At the beginning of the 20th century, many criminal investigation departments all over the world started to use fingerprints to identify delinquents. After years of comparing fingerprints by hand, the FBI defined in 1969 the goal of the automation of fingerprint recognition, which led to the development of the "Integrated Automatic Fingerprint Iden- tification System (IAFIS)" [3]. This system became fully operational in 1998. But even to- day the FBI does not fully rely on this system and special trained agents verify the results by hand. Therefore, the recognition of fingerprints by automated computer systems has to be further developed.

1.3 Thesis Overview

Almost every automated fingerprint authentication system today relies on the recogni- tion of singularities of a fingerprint called minutiae. The practical part of this thesis was the implementation of a new fingerprint recognition technique, which uses a Gabor filter- based pattern matching method instead of minutiae matching. Thus, the thesis is struc- tured as follows:

Chapter 2 is an introduction to biometric systems, fingerprint recognition, and different techniques of fingerprint matching.

Chapter 3 provides information on the different processing steps of the implemented Ga- bor filter-based pattern matching method.

Chapter 4 shows the different matching results using this method on a fingerprint database.

Chapter 5 outlines the results and offers an outlook on future developments.

14 1.3 Thesis Overview

15 1 Introduction

16 2 Technical Introduction

As mentioned in Chapter 1, using fingerprints has become the generally accepted way to authenticate people and moreover these methods are cheap and fast. To this day, no human being has been found with the same fingerprint as another one. As technology becomes more and more advanced, specialized fingerprint sensors have become more af- fordable and provide better records of fingerprints. By contrast, authentication by means of DNA or the human iris takes a long time and is a very complex and expensive mat- ter. In the past, it was a laborious business to search for a fingerprint in a database by looking for similarities. Nowadays, computer technology provides us with the power to do that much faster and more reliably than before. Different ideas have been devel- oped performing fingerprint recognition automatically using computer systems. In this chapter different biometric systems will be presented and rated according to their advan- tages and disadvantages. Then, different methods of automatic fingerprint recognition are introduced.

2.1 Biometric Systems

This section introduces into the general function of biometric systems used for identifi- cation or verification. After that, a short overview of different biometric authentication techniques is given and these techniques are rated. Then, the use of fingerprints for au- thentication is shortly described and different fingerprint sensors are introduced. At the end of this section, the different steps of an authentication are shown.

2.1.1 Identification and Verification

Generally, two different ways of biometric authentication are distinguished in practice: identification and verification. Identification is proving the identity of someone ("Who is the person?"). In this scenario, someone who is unknown provides his biometric data to the system and the system checks if the data belong to a person already registered in its database. This is also known as a 1:n comparison. In contrast, verification proves a given identity ("Is he the person he claims be?"). In practice, someone reveals his identity to the system, for example, with his user identification number. The system then checks if

17 2 Technical Introduction this identity belongs to the received biometric attributes. This corresponds to a 1:1 com- parison. It is easy to realize that a verification system works much faster and even more reliably than an identification system, but it also depends much more on the cooperation of the users. This cooperation consists, for example, of the entering of a personal identifi- cation number and the input of a smart card.

2.1.2 Biometric Authentication Techniques

As mentioned before, there are many different ideas on how individual biometric at- tributes are used for matters of authentication today. Table 2.1 shows a number of popular types of techniques, which are used in practice.

FINGERPRINTS HAND IRIS FACE VOICE GEOMETRY Ease of Use + 0 0 0 + Error Incidence dryness, wetness, injury, lighting lighting, age, noise, dirt, scars dirt glasses, hair cold Accuracy + + ++ + + Long-Term Stability + 0 + 0 0

Table 2.1: Overview of different biometric authentication techniques

Fingerprints are easy to use, because the user only has to put his fingertip on a sensor, whereas a biometric system, which relies on the recognition of the iris or the face, is influ- enced on how the user presents his eye or face to a camera. The use of the hand geometry as mentioned in Chapter 1 is also more complicated in comparison to fingerprints, be- cause the specialized sensors have to deal with different hand sizes, whereas fingertips of adults are of almost the same size. The use of the voice for authentication is easy; the user only has to speak something in a microphone. Errors in fingerprint recognition appear if the recorded fingertip is too dry, too wet, or possesses too many scars. A fingerprint sensor is also influenced by dirt on the sensor surface. Errors using the geometry of hand occur if the hand is injured or dirty. The recognition of the iris is influenced by the incidence of light, because the changing of lighting during daytime possibly disturbs the iris scanner. The camera, which records the face of a user, is also influenced by the lighting, but also by aged faces. Another possible error incidence using face recognition are users that wear glasses or have a different hair- cut. Background sounds disturb the recording of the voice as well as the voice is altered, if the user has a cold.

18 2.1 Biometric Systems

All five presented techniques are proven to function in practice. The recognition of the iris generally possesses the highest accuracy, because iris recognition technology identi- fies humans to a degree of accuracy surpassing even DNA matching [4]. Concerning long-term stability, fingerprints, the iris, and the voice of adult human beings normally do not change significantly during lifetime, whereas the geometry of hand and the face alter during lifetime. In comparison to other methods, it is apparent that even nowadays fingerprint recogni- tion provides a fast and easy authentication with a good cost-performance ratio.

2.1.3 Introduction to Fingerprints

A fingerprint consists of ridges (lines across fingerprints) and valleys (spaces between ridges). Every individual possesses a unique pattern of ridges and valleys. In practice, the most common classification refers to the classification, which was introduced by Sir Francis Galton in 1892 [2]. This classification divides fingerprints in the following basic classes: loops, whorls, and arches. Loops are distinguished according to their different directions so there are left and right loops. Arches are divided into plain arches and tented arches. Figure 2.1 shows the different classes and their frequency of occurrence [5].

Figure 2.1: The different fingerprint classes and their frequency of occurrence (Source [5])

19 2 Technical Introduction

The rectangle represents a special singularity in a fingerprint which is called core point or reference point. This is the point where the ridges of the fingerprint possess the highest curvature. It is difficult to find such a point in fingerprints of the plain arch class, because in a plain arch multiple ridges possess nearly the same curvature. However, as shown in Figure 2.1, a fingerprint of the plain arch class occurs quite rarely. The triangles are the so-called deltas, which are another unique feature. These are points in the fingerprint where there is a triangulation or a dividing of the ridges.

2.1.4 Sensors

In practice, there are two types of fingerprint sensors: area sensors and swipe sensors. Area sensors record the fingerprint at once because the whole fingertip contacts the sen- sor. In contrast, a swipe sensor only reads line for line just like a computer scanner by drawing over the fingertip. These lines are then assembled to form one complete finger- print. Figure 2.2 shows two sensors of different types from UPEK Inc..

Figure 2.2: Two sensors from UPEK (www.upek.com), a swipe sensor (left) and an area sensor (right).

Depending on the different types of recording techniques, the resulting fingerprint pic- tures have different types of attributes. For pictures from area sensors, it is possible that the fingerprint is rotated or the reference point is located only at the border or in a cor- ner. Swipe sensors normally deliver good aligned fingerprint pictures, but they have the problem that the reference point is also located at the border, which happens more of- ten than when using area sensors. Users tend to be more accurate having to draw over the fingertip using a swipe sensor than having to place the fingertip for a moment on an area sensor. Another great advantage of swipe sensors is that the user leaves no latent fingerprint, in contrast to an area sensor. Figure 2.3 shows the procedure of a fingerprint recording using a swipe sensor from Atmel. Atmel developed the very first commercial

20 2.1 Biometric Systems swipe sensor which uses thermal effects to record the fingerprint.

Figure 2.3: Recording of a fingerprint using a swipe sensor from Atmel (www.atmel.com).

To be able to perform fingerprint recognition as fault-free as possible it is necessary to obtain an input fingerprint in which the ridges are recorded as cleanly as feasible. Many factors influence the quality of the fingerprint greatly:

• Dryness: fragile ridges

• Wetness: barely distinguishable ridges

• Dirt: distortions

• Poor contact of the fingertip with the sensor

• Traces from previous users on the sensor (latent image)

Figure 2.4 shows some examples of low quality fingerprints due to some of the factors mentioned above. Generally, it is possible to state, that the better the quality of the recorded fingerprint the more accurately the fingerprint recognition functions.

2.1.5 Workflow of Biometric Systems

The basic principle of biometric recognition is the same in every system. All biometric systems contain components to personalize or register users. This operation is called enrollment. The relevant biometric data is collected in several operations, which will be discussed later. At the end of the acquisition process, a special form of data is created, which is called a template. For every fingerprint these templates are stored in a database. In the next step, the user’s template is compared to all templates in the database in an identification system or to the particular template in the database in a verification sys- tem. This operation is called matching. The result of the matching is called the matching

21 2 Technical Introduction

Figure 2.4: Low quality fingerprints: dry fingertip (left), wet fingertip (right). score. The matching score indicates the degree of resemblance between the two templates. After performing a statistical evaluation on a database, it is possible to recognize a cer- tain threshold for the matching score. This evaluation is done before the matching is performed in practice. If the matching score is higher than the threshold, the candidate is accepted as a legalized person. If the matching score is lower than the threshold, the user is rejected because he is not included in the database (identification) or does not resemble to the person who he claims to be (verification). Figure 2.5 shows the workflow of both an identification and a verification system. A ver- ification system works obviously quite fast, because the system only has to compare the template given by the candidate to the template, which belongs to the pretended iden- tity registered in the system. By contrast, an identification system has to compare the template given by the candidate to every single template in its database.

2.2 Fingerprint Recognition Methods

In general, there are two major methods of fingerprint matching: Minutiae matching and global pattern matching. The first approach analyzes ridge bifurcations and endings. The second method repre- sents a more macroscopic approach, taking into account the whole fingerprint not just a few singularities that have been found. The following sections explain these two meth- ods.

22 2.2 Fingerprint Recognition Methods

Figure 2.5: Workflows: Identification (left), verification (right).

2.2.1 Minutiae Matching

Minutiae matching is the most well known and widely used technique for fingerprint matching. In almost all countries, forensic experts use this method and the results are accepted as proof of identity in court. Minutiae points are local ridge characteristics that emerge generally at a ridge ending or a ridge bifurcation. Figure 2.6 shows these two basic minutiae types. There are additional special types of minutiae, but in this thesis, they will not be discussed any further.

Figure 2.6: Minutiae: Ridge bifurcation (left), ridge ending (right). In this figure, as in every figure from now on ridges are colored black, whereas valleys are colored white.

A complete fingerprint consists of about 100 minutiae points on average. In practice, the measured fingerprint area contains about 30-60 minutiae points, depending on the finger, the sensor area and the way the fingertip of the user contacts the sensor. Figure 2.7 shows an input fingerprint and the same fingerprint with marked minutiae. The marked

23 2 Technical Introduction minutiae were automatically detected. It is visible that there are minutiae, which are not recognized and that there are marked points, which are not minutiae.

Figure 2.7: Fingerprint input (left), Fingerprint with marked minutiae if detected (right).

The matching between two fingerprints in this method is done by localizing the minu- tiae and their direction. Usually, this information is computed and then stored in a special format called a template. Correlating distances between minutiae points with similar di- rections are now found by using the information provided by the two templates of the two fingerprints. It has to be checked if enough minutiae with the same localization and direction are found. After that, it is possible to certify if the two fingerprints belong to one and the same person. For further information about minutiae matching, see Chapter 4.3 of [6]. The advantage of minutiae matching is that it is well known and widely used, because in former times the authentication using fingerprints was done by searching for minutiae by hand. This search is now done automatically. Therefore, the algorithms used are sophis- ticated, relatively fast, and provide good results. The shortcoming of minutiae matching is that sometimes it is impossible to find enough correlating minutiae between two fin- gerprints from the same person. This occurs, for example, because of fingerprints of low quality. Sometimes, special filter operations to enhance the fingerprint are used before searching for the minutiae. Different possible methods of doing this are described in [7]. Another source of error is that two fingerprints, derived from the same person, differ too much, because the scanned areas do not have a sufficient overlap.

24 2.2 Fingerprint Recognition Methods

2.2.2 Pattern Matching

Unlike the minutiae technique, just discussed, which bases on a few singularities, pattern matching uses the complete discriminatory information available in a fingerprint. Pattern matching methods employ a global approach using special representations of the whole fingerprint. There are various different ideas on how to obtain a unique representation. Recently, the ISO/IEC developed a standard [8] for exchanging formats of various pat- tern matching templates. This includes methods with quantized co-sinusoidal triplets, discrete Fourier transformations and Gabor filters. In the next sections, two methods of pattern matching are presented and discussed, ridge matching and filterbank-based matching.

Ridge Matching

The basic idea of ridge matching is that the global ridge pattern of a fingerprint is matched with another fingerprint. This is accomplished using algorithms, which are able to iden- tify the fingerprint ridges. Then the two fingerprints are superimposed and a matching score is computed using, for example, a pixel-wise XOR operator. Figure 2.8 shows an example where the minutiae matching of two fingerprints fails, but a ridge matcher is able to find the correct match.

Figure 2.8: Failed minutiae match (above), successful ridge match (below).

25 2 Technical Introduction

For further information see [9]. The advantage of ridge pattern matching is that it only needs two areas with clear ridges to manage a successful match as the picture above demonstrates. The weakness is that the algorithms to correlate the ridges of two finger- prints are computationally expensive, so the complete matching process requires a lot of computation time, especially if an identification has to be done.

Filterbank-based Matching

The essential idea of the filterbank-based technique is that before matching the finger- print is filtered using appropriate filters. In practice, these filters are wavelet filterbanks, like the widely used Fourier filters and the quite new Gabor filters. The function of these filters is to enhance the ridges and diminish the valleys. Then the filtered image of the fingerprint is transformed into a representation, the template. The templates are then matched. The result is a value called the matching score, which indicates how good the two fingerprints resemble to each other. Figure 2.9 shows a fingerprint and a correspond- ing template called feature map. Detailed explanations of filterbank-based matching will follow in the Chapter 3, when the main part of this thesis is described.

Figure 2.9: Filterbank-based matching: Input fingerprint on the left and one corresponding tem- plate (feature map) on the right.

2.2.3 Overview of Fingerprint Recognition Methods

The idea of using the whole fingerprint for the matching is promising. Contrary to the ridge matching method, testing the correlation of two fingerprints is less expensive using a filterbank-based matching method. It is only necessary to compare the values of the

26 2.2 Fingerprint Recognition Methods template of a fingerprint and not to the whole fingerprint as done with ridge matching. In a minutiae matching method it is necessary to find correlating minutiae points with- out knowing if the same minutia is even included in the other fingerprint. Therefore, the matching process in the filterbank-based matching method is handled much faster than with any other technique. Still, the idea of a filterbank-based matching has only existed for a few years, so there is a lot of potential to develop and enhance this technique. Table 2.2 shows the advantages and the disadvantages of the different methods.

Matching method Complexity Template Size Insensitivity Accuracy Minutiae 0 + + 0 Ridge - - 0 + Filterbank-based + 0 0 -

Table 2.2: Overview of various matching algorithms

The complexity criterion expresses how expensive and therefore fast the particular matching method works. Filterbank-based matching only compares the template values, whereas minutiae matching requires a more expensive search for correlating minutiae. As explained in Section 2.2.2 ridge matching is even more expensive. The template size describes the size of the template, which has to be stored in the database. The minutiae matching method only needs the coordinates and the direction of the minu- tiae, whereas the filterbank-based method has to store the complete feature map. Ridge matching requires all ridges of the complete fingerprint. Insensitivity expresses how prone the method is to errors during the matching process. Minutiae matching is not affected if two fingerprints are matched, which are twisted to each other, because it is has to find correlating minutiae with the same directions anyway. The two pattern matching methods are very prone to twisted fingerprints. Therefore they need an alignment of the two fingerprints to be matched. Accuracy describes the reliability of the results obtained by the particular method. The accuracy of ridge matching is high, because if the ridges of two fingerprints correlate, it is certain, that they derive from the same finger. Quite less accurate is the minutiae matching method, because in this method only some singularities are included for the matching. Filterbank-based matching is less accurate. It is imaginable, that two feature maps of different fingers are able to resemble enough, to receive a false acceptance. This has to be handled later in Chapter 3.

In the practical part of this thesis, a fingerprint matching technique is implemented

27 2 Technical Introduction which uses a Gabor filter-based pattern matching method. In the next chapter, the dif- ferent steps necessary to carry out a Gabor filter-based matching are presented and dis- cussed in detail.

28 3 Pattern Matching Using Gabor Filters

The main objective of this thesis is to implement a pattern matching fingerprint recog- nition technique. The newly developed ISO/IEC-Standard 19794-3 [8] provides three possibilities:

• Quantized co-sinusoidal triplets

• Discrete

• Gabor filters

The method using quantized co-sinusoidal triplets has been patented by Bioscrypt Inc. as mentioned in [8]. In several publications, see [10] and [11], it has been mentioned that using a Gabor filter provides better fingerprint enhancement results than using a Fourier transform. Therefore, the Gabor filter technique was selected. This chapter describes the different processing steps from pre-processing to matching as the final step of the fingerprint authentication. The first step is the normalization, which results in a better contrast of the fingerprint image. After that, the fingerprint is seg- mented, which crops areas of the recorded image, which do not contain any relevant information. This is the end of the pre-processing. The last pre-processing step usually consists of a fingerprint enhancement as described in [7]. However, tests have shown that the subsequent reference point detection works on non-enhanced fingerprint images as well as on enhanced. Therefore, any further enhancement is not required for the subse- quent processing steps. The next step is the detection of the reference point previously mentioned in Section 2.1.3. After that, the fingerprint image is filtered using a Gabor filter. Now, it is possible to create the feature map, which is used as the template. This template is matched in the subsequent matching step with templates of other fingerprints. The result of the matching is the matching score, which represents how good two fingerprints resemble each other.

29 3 Pattern Matching Using Gabor Filters

3.1 Normalization

Normally, the color space used for fingerprint images is made up of a gray scale with 8 Bit representing 256 shades of gray. The color values run from value 0, which represents black, to 255, which stands for white. Depending on the fingerprint sensor and other factors, the obtained image does not typi- cally use the whole scale. This often results in a suboptimal contrast as seen in Figure 3.1, which shows the input fingerprint image and the corresponding grayscale histogram.

Figure 3.1: Fingerprint before normalization (left), its grayscale histogram (right), which shows the frequency (y-axis) of the specific gray values (x-axis)

The so-called normalization is the first step in the pre-processing phase with the aim of obtaining a better contrast of the fingerprint image. The intention is to obtain an image, which makes use of the full grayscale. This results in a better contrast of the fingerprint. The normalization algorithm works as follows:

1. Detect the minimum and maximum gray value of the input fingerprint image gmin

and gmax.

2. Compute the range of gray values in the fingerprint image grange:

grange = gmax − gmin

3. If the computed range is not zero, scale all gray values of the fingerprint image by using the gray range to get a gray value range [0..255]: 255 grayvaluenew = (grayvalueold − gmin) grange Regarding this equation, it is obvious that the normalization does not a simple scal- ing of the gray values but a complete adjustment of the gray values to the full scale.

30 3.1 Normalization

Figure 3.2 shows the fingerprint from Figure 3.1 after normalization. It is easy to see that the fingerprint image has now a much better contrast. As visible in the histogram, the gray level value starts at 0 (black) and ends at 255 (white). This will pay off in further processing steps like the computation of the gradients of the ridges, which will be shown in Section 3.3. Also the results of the Gabor filter are much better, if the input fingerprint image possesses a higher contrast, which is the subject in Section 3.4.

Figure 3.2: Fingerprint after normalization (left), its grayscale histogram (right), which shows the frequency (y-axis) of the specific gray values (x-axis).

The normalization algorithm works quite fast, because it mainly consists of two loops running over the fingerprint image. Therefore, the complexity of this step is O(n). It is recommendable to apply normalization every time at the beginning. There also exist fingerprint sensors, which provide a priori a fingerprint image with full gray level values. In such cases, the normalization operation is not necessary.

31 3 Pattern Matching Using Gabor Filters

3.2 Segmentation

After normalization, it is necessary to find out which part of the image contains the fin- gerprint information. Area sensors in particular provide sometimes pictures where con- siderable parts do not contain fingerprint ridges, as Figure 3.3 shows.

Figure 3.3: Fingerprint before segmentation (left), after segmentation (right), marked parts are be- yond the region of interest.

The image part containing the image information is usually called the region of interest (ROI). The region of interest is the part of the image where the reference point of the fin- gerprint is searched for in the next step and the feature map is created later. There are some more complex algorithms, which provide even better and more differentiated re- gions of interest, especially at the border of the fingerprint. Regarding the subsequent processing steps, however, the result obtained by the described algorithm is sufficient. For minutiae matching the segmentation algorithm is much more important, because dis- tortions of the fingerprint, which are possibly recognized as a minutia, are cropped before the actual minutiae detection. The segmentation is done for the following reasons:

• A segmented fingerprint enhances the performance of the subsequent processing steps. The subsequent processing steps are applied only to the region of interest. Therefore, the computation cost of these operations is decreased. For example, areas beyond the region of interest are not filtered in the Gabor filter step, thus saving a lot of computation time.

• The obtained region of interest becomes important during the reference point detec- tion. This will be explained in Section 3.3.

32 3.2 Segmentation

• Artifacts beyond the region of interest are eliminated. It is possible that the sensor records something like dirt out of the fingerprint area. Those artifacts, from now on, will not have any influence in the subsequent processing steps, because they are cropped during the segmentation.

The segmentation algorithm works as follows:

1. Divide the fingerprint image into blocks of specific size (for example 16x16 pixels).

2. Count the number of gray pixels in every block. This is done by defining a threshold, for example gray level 200, to decide if a pixel is counted or not.

3. At a certain threshold of gray pixels (for example 20 percent of all pixels of a block), every pixel in the block is set to belong to the region of interest.

This segmentation algorithm consists out of four for-loops. Two of them carry out the di- vision into blocks; two count the gray pixels per block and set them to their proper region of interest value. Therefore the complexity of the segmentation algorithm is O(n).

33 3 Pattern Matching Using Gabor Filters

3.3 Reference Point Detection

For the implemented pattern matching method, a so-called feature map is used, which has the form of a circle. To create this circle a point in the fingerprint is needed which is used as the center of the feature map. This point is the reference point mentioned be- fore in Section 2.1.3. This reference point has to be located at the same position in every impression of the finger to receive similar feature maps. For this reason, this section de- scribes the detection of the reference point. The detection of the reference point is quite complex, so many methods were published in the past ([12], [13], [14], [15], [16], [17], [18]) but none of them seems to work perfectly, especially concerning low quality fingerprints. The reference point detection algorithm described in this section works as follows: First of all, the fingerprint image is divided into blocks of specific size. After that, the gradi- ent of every block is computed and an estimation of the orientation field is calculated by using the gradients. The subsequent step creates a continuous vector field out of the ori- entation field. Then, the vector field is filtered and a smoothed orientation field is created. After that, the reference point is detected by selecting the pixel with the most neighboring pixels with different orientations.

The reference point is defined as the point where the ridges of the fingerprint have the highest curvature. Thus, it is necessary to determine the curvature of the ridges. For this purpose it is necessary to compute the orientation map of the fingerprint. The orientation map is a representation of the fingerprint, which illustrates the local orientation of the ridges like a vector field as shown in Figure 3.4. The orientation is defined as the sharp angle relating to the horizontal line, which represents an orientation of 0◦.

Figure 3.4: Orientation angle θ of pixel (i,j)

The steps for computing the orientation map are as follows [11]:

34 3.3 Reference Point Detection

1. The fingerprint input image I(i, j) is divided into non-overlapping blocks of size ω x ω, which are centered at pixel (i, j). In practice, the best compromise between ori- entation map granularity, which requires quite small blocks, and fast computation speed, which requires big blocks, is needed. The size of the blocks depends also on the computation power of the system. The division into blocks is necessary, because pixels, which do not belong to a ridge, do not possess any orientation. Therefore, every pixel in a block is assigned to the dominant orientation of the ridges in the block, which is shown in the next processing steps.

2. For each pixel (i, j), compute the gradients ∂x(i, j) and ∂y(i, j). To compute those gradients an algorithm is needed. In [11] and [7] it

is proposed to compute ∂x(i, j) by using the horizontal Sobel operator

1 0 −1   ∂x(i, j) = 2 0 −2 I(i, j), 1 0 −1

and ∂y(i, j) by using the vertical Sobel operator:

 1 2 1   ∂y(i, j) =  0 0 0 I(i, j). −1 −2 −1

Technically, the Sobel operator is a discrete differentiation operator, computing an approximation of the gradient of the image’s intensity function. After implementation, the result did not prove to be satisfactory, as will be shown later. Therefore, another edge detection operator is needed to obtain a better result. During tests it turned out that quite good results are achieved by simply adding

up the differences in gray level in horizontal direction to get ∂x(i, j) and in vertical

direction to get ∂y(i, j). This operator is known as the symmetric difference operator:

 0 0 0   ∂x(i, j) = −1 1 0 I(i, j), 0 0 0 0 −1 0   ∂y(i, j) = 0 1 0 I(i, j). 0 0 0

3. The local orientation of each block, centered at pixel (i, j), is then estimated using

35 3 Pattern Matching Using Gabor Filters

the following equations taken from [11] and [7]:

i+ω/2 j+ω/2 X X Vx(i, j) = 2 ∂x(u, v)∂y(u, v), u=i−ω/2 v=j−ω/2 i+ω/2 j+ω/2 X X 2 2 Vy(i, j) = (∂x(u, v) − ∂y (u, v)), u=i−ω/2 v=j−ω/2 1 V (i, j) O(i, j) = tan−1 y . 2 Vx(i, j)

Vx(i, j) and Vy(i, j) are the elementary orientations in x and y direction. The orien- tation map O is a matrix which contains the orientation angle for every pixel (i, j) of the input fingerprint. The equation for computing the orientation map O(i, j) derives from the mathematical definition of the tangent.

Figure 3.5 shows the ridge orientations obtained as an intensity distribution. Every di- rection is assigned to a certain gray level in this representation. It is obvious in Figure 3.5 that the edge detection using the symmetric difference operator provides much better direction information than the Sobel operator, because it contains far less distortions and a much smoother orientation map. This was proven generally by a large test over a fin- gerprint database containing 800 fingerprints. Using the Sobel operator especially creates distortions, when it is applied to dry fingertips and fingerprints with many scars. The important feature to remember is the edge between white and black in the orientation map, which represents a horizontal ridge direction. This will be the essential feature for the reference point detection later on. It has to be mentioned that this edge between black and white is something artificial. The changeover from black to white is due to the coding that every gray value represents a bandwidth of ridge orientation.

Figure 3.5: Input image (left), local ridge orientation using the Sobel operator (middle), local ridge orientation using the symmetric difference operator (right).

Before going on with the reference point detection, the segmentation information ob- tained before is used to crop off the borders of the fingerprint. As shown in Figure 3.5,

36 3.3 Reference Point Detection the border of the fingerprint often contains a lot of distortion, which disturb the reference point detection. Fingertips are not flat which leads to the problem that at the border of the fingerprint the fingertip sometimes does not fully contact the sensor. Hence, the border of the fingerprint is somewhat disturbed and for this reason the ridge orientation infor- mation obtained at the border is quite distorted. Therefore, the information obtained at the segmentation step is used. Every block, which borders on a block outside the region of interest, is also cropped. Figure 3.6 shows the restricted region of interest obtained by doing this. The large marked part represents the blocks outside the region of interest using the segmentation algorithm described in Chapter 3.2. The small marked part at the border to the fingerprint area contains the blocks, which have a direct neighbor block that belongs to the area outside the region of interest. Every step in the reference point detection from now on only works on the restricted region of interest, which is unmarked in Figure 3.6.

Figure 3.6: Input image (left), restricted region of interest (right).

The orientation field is now smoothed using the particular local neighborhood by using equations from [11]:

1. To be able to smooth the orientation it has to be converted into a continuous vector field:

Φx(i, j) = cos(2O(i, j)),

Φy(i, j) = sin(2O(i, j)),

whereas Φx and Φy are the x and y component of the vector field.

2. This vector field is low-pass filtered as follows:

37 3 Pattern Matching Using Gabor Filters

ωΦ/2 ωΦ/2 0 X X Φx(i, j) = W (u, v)Φx(i − u, j − v),

u=−ωΦ/2 v=−ωΦ/2

ωΦ/2 ωΦ/2 0 X X Φy(i, j) = W (u, v)Φy(i − u, j − v).

u=−ωΦ/2 v=−ωΦ/2

W (u, v) is a two-dimensional low-pass filter with size ωΦ × ωΦ. In practice, the filter

of the size 9×9(ωΦ = 9) provides the best compromise between slick smoothing and fast processing speed:

  1 2 3 4 5 4 3 2 1   2 3 4 5 6 5 4 3 2     3 4 5 6 7 6 5 4 3   4 5 6 7 8 7 6 5 4 1     W (u, v) = 5 6 7 8 9 8 7 6 5 369   4 5 6 7 8 7 6 5 4     3 4 5 6 7 6 5 4 3   2 3 4 5 6 5 4 3 2   1 2 3 4 5 4 3 2 1

The factor in front of the matrix is the scaling factor, which levels the sum of the multiplications to one. This is done because the vector field has to be smoothed on the same level, the global gray level value remains the same.

3. The smoothed orientation field O0(i, j) is now computed using the following equa- tion, which derives from the mathematical definition of the tangent:

 0  0 1 −1 Φy(i, j) O (i, j) = tan 0 . 2 Φx(i, j)

Figure 3.7 shows the smoothed orientation field with different filter sizes W (u, v). It is obvious that a greater filter size smoothes unwanted singularities better than filters with smaller size. However, filters of greater size require more computation time. The final step to determine the reference point is now to detect the point at the bottom of the edge between white and black. This has to be the point where the ridges have the highest curvature as defined in Section 2.1.3. The technique described in [11] provides suboptimal results in practice, because it only works well on straightly aligned finger- prints. For this reason, another idea is applied to detect the reference point. The reference

38 3.3 Reference Point Detection

Figure 3.7: Smoothed orientation map: Input fingerprint (top left), smoothed orientation map:

ωΦ = 5 (top middle), ωΦ = 7 (top right), ωΦ = 9 (bottom left), ωΦ = 11 (bottom

middle), ωΦ = 13 (bottom right). The marked area is the region beyond the special region of interest. point is the point in the fingerprint where the ridges have the highest curvature. Corre- lating to that, the reference point is the point where the most different orientations are in the neighborhood of the designated reference point, which is represented by the most dif- ferent gray values. Following that, the proposed algorithm selects the reference point by counting different directions in the neighborhood of each pixel. The pixel with the most different directions in its neighborhood has to be the reference point. To summarize it, the detection of the reference point using the computed orientation map works as follows:

1. Counting the number of different orientations in the neighborhood of every pixel in the orientation map. In practice, the neighborhood of one pixel was defined as every pixel up to two pixel distance.

2. Selecting the pixel with the most different orientations as the reference point.

This works quite well in most fingerprints as shown in Figure 3.8. Problems occur when it is not possible to create a good orientation field. Usually, this is caused by a fingerprint with a very low quality or with many scars as shown in Figure 3.9. Another shortcoming of all reference point detection algorithms are fingerprints of the plain arch class. A plain arch fingerprint has by definition no reference point because various ridges possess similar curvature. For this reason, fingerprints of the plain arch

39 3 Pattern Matching Using Gabor Filters

Figure 3.8: Reference point detection of various fingerprints of different classes (Whorl (top), loop (middle), tented arch (bottom)). On the left, there is the input fingerprint, in the middle the smoothed orientation field with marked reference point (red cross), on the right only the fingerprint with the marked reference point. class are sorted out during the tests. Nevertheless, there are some ideas how it is possible to process also plain arches. This will be explained in Chapter 5.2 as a possible further improvement. As visible in Figure 3.9 the typical edge between black and white has no end point where the reference point is usually detected because all ridges have a quite similar orientation around the center of the fingerprint. Tests on a database of 400 fingerprints have shown that on almost all non-plain-arch fingerprints with acceptable quality the reference point is detected with a very high accu- racy. The reference point was located on the exact position or only up to 3 pixels distance away from the exact position, which would be selected by hand as the correct position. This accuracy is high enough to use the automatically located reference point for the cre- ation of the feature map described in Section 3.5. As mentioned before, only fingerprints with low quality or fingerprints of the plain arch class interfere with the reference point

40 3.3 Reference Point Detection

Figure 3.9: Failed reference point detections: Fingerprint with low quality, hence poor orientation field and false reference point position (Top), Fingerprint of plain arch class at the bot- tom with a continuous black-white edge. detection. Unfortunately, it is impossible in those cases to do an accurate matching as will be shown later in Section 3.6. Relating to performance, the reference point detection algorithm is much more expen- sive regarding computation cost compared with the segmentation or the normalization algorithms because of the expensive filtering and smoothing operations required. These operations consist altogether of eight loops with complexity O(n2).

41 3 Pattern Matching Using Gabor Filters

3.4 Gabor-Filter

After the reference point detection, the fingerprint is filtered by a 2D-Gabor filter [19]. A Gabor filter is a linear filter whose impulse response is defined by a harmonic function multiplied by a . The main objective of the Gabor filter step is to en- hance the ridges and soften the valleys. An even symmetric Gabor filter G has the following general form [8],[7]:

Real part:

2 2 s1+t1 − 2 G(δ,f,θ)(s, t) = e 2δ cos (2πf(s1))

and the imaginary part:

2 2 s1+t1 − 2 G(δ,f,θ)(s, t) = e 2δ sin (2πf(s1)),

whereas

s1 = s cos θ + t sin θ

and

t1 = t cos θ − s sin θ.

δ is the width of the Gaussian envelope along s1 and t1 axes, f is the frequency of the sinusoidal plane wave along the direction θ from the x-axis and θ is the orientation of the Gabor filter. Those three variables (δ, f, and θ) have to be set before the filtering. The selection of δ is a compromise. Large values make the filters more robust to noise but the filters will more likely create spurious ridges and furrows. Smaller values will make the filters less effective regarding the removal of noise but spurious ridges and furrows are less likely to be created. This is due to the curvature of the ridges, which does not fully correspond to the straight Gabor filter. Consequently by using a small δ it is possible that a Gabor filter is applied which is too short to form a ridge, which is falsely displayed dis- connected. Therefore, the Gabor filter is then less effective in enhancing the fingerprint. By contrast, a big δ leads to a Gabor filter which exceeds the ridge and because of that will create artificial spurious ridges and furrows. This creates artificial features which are a problem in further processing steps. Tests have shown that a value of δ = 4 is a good compromise. The frequency f of the sinusoidal plane is determined by the local ridge frequency be- cause it is the reciprocal of the average ridge distance. The ridge distance is the distance between the maximum of two ridges as illustrated in Figure 3.10.

42 3.4 Gabor-Filter

Figure 3.10: Inter-ridge distance in a cross section of a fingerprint.

Tests have shown that a fingerprint with a resolution of 500 dpi normally has an inter- 1 ridge distance of 10 pixels in average. Accordingly, the frequency f is set to 10 . If f is set like this the maximum of the sinusoidal plane wave of the Gabor filter correlates to the ridges of the fingerprint and the minimum of the sinusoidal plane wave to the valleys of the fingerprint. The orientation of the Gabor filter θ depends on how many filter orientations are wanted. Due to symmetry a rotated Gabor filter with θ = 180◦ is identical to the Gabor filter with θ = 0◦ and so on. The filter orientations are computed by using the following equation: n θ = π , n = [0 ... (k − 1)] . n k − 1

θn is the orientation and k is the number of filter directions. Therefore, chosing for exam- ple eight filter orientations results in θ ∈ {0◦, 22.5◦, 45◦, 67.5◦, 90◦, 112.5◦, 135◦, 157.5◦}. The filter directions are illustrated in Figure 3.11. Figure 3.12 shows the real part of the impulse response of a Gabor filter in the spatial domain and Figure 3.13 shows the imaginary part of the impulse response of a Gabor filter in the spatial domain. From now on only real part Gabor filtering is used in all of the subsequent processing steps. Real part Gabor filtering serves the purpose better to strengthen the ridges in the according direction than Gabor filtering using the imaginary part. This is visible in the Figures 3.12 and 3.13. Figure 3.14 shows an input fingerprint filtered in 8 directions using a filter core of size 16 × 16 (ω = 16). It is noticeable that in the particular direction of the Gabor filter the ridges of the fingerprint are enhanced because the ridges correlate with the highest peak of the Gabor filter curve. Consistent with this, all ridges, which do not correlate with the Gabor filter are diminished or even smoothed completely. Overall, the Gabor filter algorithm works as follows:

43 3 Pattern Matching Using Gabor Filters

Figure 3.11: Directions for a Gabor filter in 8 directions (left) and 16 directions (right).

Figure 3.12: Real part of the impulse response of a Gabor filter.

Figure 3.13: Imaginary part of the impulse response of a Gabor filter.

44 3.4 Gabor-Filter

Figure 3.14: Gabor filter (Real part): Input fingerprint (top left corner), Gabor filtered fingerprint in direction 0◦ (top middle), 22.5◦ (top right corner), 45◦ (middle left), 67.5◦ (middle middle), 90◦ (middle right), 112.5◦ (bot tom left corner), 135◦ (bottom middle), 157.5◦ (bottom right corner).

• Creation of the Gabor filter core.

of the fingerprint with the Gabor filter core.

With regard to performance the Gabor filter is more expensive compared with the seg- mentation or the normalization algorithms, because of the expensive convolution. The performance of the Gabor filter algorithm also depends heavily on the size of the filter core. The larger the filter core the higher the computation cost at the convolution. Never- theless, the complexity of the Gabor filter algorithm is O(n). Before a matching is carried out, one last step has to be completed: the creation of a template from the Gabor filter responses, which will be described in Chapter 3.5.

45 3 Pattern Matching Using Gabor Filters

3.5 Creation of the Feature Map

To be able to match two fingerprints special representations of the fingerprints have to be created, which are then compared in the matching process. For reasons of performance it is reasonable not to compare the Gabor filtered representations directly. Otherwise the matching process would require a pixel-wise comparison and the whole fingerprint has to be stored in the database as the template. Therefore, the Gabor filter responses have to be transformed in a so-called feature map. There are two ways to create such a template: a circular or a rectangular tessellation, which will be put over the particular fingerprint. Figure 3.15 shows the two types of tessellations.

Figure 3.15: Rectangular tessellation (10 × 10 sectors, left), circular tessellation (5 bands at 16 sec- tors, right).

The variant with a circular tessellation was selected because usually the most interest- ing areas of a fingerprint are around the reference point. With a circular tessellation with the reference point as center, those areas are represented in a higher resolution. By con- trast, a rectangular feature map resolves every area in the fingerprint in the same way. This is illustrated in Figure 3.16. Furthermore, the rectangular tessellation can be applied only on straightly aligned fingerprints to obtain resembling feature maps of two finger- prints, which are twisted to each other. As will be shown later in Section 3.6 the circular tessellation is able to handle twisted fingerprints as well.

The content of every sector si of the feature map is to represent how good the ridges in a sector correlate to the specific Gabor filter direction. The feature map is computed by calculating the average absolute deviation from the mean gray level Viθ for every sector

46 3.5 Creation of the Feature Map

Figure 3.16: Rectangular and circular tessellation superimposing a fingerprint.

si using this equation [11]: 1 X Viθ = ( |Fiθ(x, y) − Piθ|), ni ni where i is the sector index, ni is the number of pixels in sector si. Piθ is the mean of pixel values of the filtered image Fiθ(x, y) in sector si. The average absolute deviation Viθ of each sector in each filtered image defines the components of every feature map. The circle and the lines of the feature map are computed using Bresenham’s algorithms [20],[21]. After marking the boundaries of the sectors in this way, the number of pixels in a sector is counted and the gray values of the pixels are summed up. This happens using the boundary-fill algorithm [21] which ensures that all pixels in the sector are passed through. After that, the average absolute deviation from the mean gray level is computed. To be able to present the feature map the sectors are filled with their particular value again using the boundary-fill algorithm. As an example Figure 3.17 shows the feature maps obtained using those steps. The previously computed reference point is used as the center of the feature map. Different parameters of the feature map are evaluated in Chapter 4.2. Black sectors represent a low average absolute deviation from the mean gray level in this sector corresponding to a low correlation between the Gabor filter in the specific direction and the fingerprint. By contrast, white sectors have a high average absolute deviation from the mean gray level in this sector representing a low correlation between the Gabor filter in the specific direction and the fingerprint. The feature map is storable at low costs, because for every sector only one byte is needed to store the average absolute deviation from the mean gray level. Accordingly, the template size needed for storing is computed by:

S = b · k · n,

47 3 Pattern Matching Using Gabor Filters

Figure 3.17: Obtained feature maps: Input fingerprint (top left corner), feature map created with parameters 5 bands at 16 sectors in direction 0◦ (top middle), 22.5◦ (top right corner), 45◦ (middle left), 67.5◦ (middle middle), 90◦ (middle right), 112.5◦ (bottom left corner), 135◦ (bottom middle), 157.5◦ (bottom right corner). where S is the needed memory size in bytes, b is the number of concentric bands of the feature map, k is the number of sectors per band and n is the number of directions of the used Gabor filter. For example, a feature map with five bands at 16 sectors and a Gabor filter with eight directions needs 640 bytes to be stored. To summarize the creation of the feature map takes the following steps:

• Tessellation using Bresenham’s line and circle algorithms.

• Compute the average absolute deviation from the mean gray level of every sector.

This algorithm is quite fast compared, for example, to the reference point detection or the Gabor filtering. It contains two loops of complexity O(n) for the line and circle algorithms. The computation of the average absolute deviation from the mean gray level of every sector is done by loops of complexity O(n).

48 3.6 Matching

3.6 Matching

Basically, the matching is a comparison of the templates. The templates themselves con- sist of the previously generated feature map, which contains the computed average ab- solute deviation from the mean level. The matching of two feature maps is a simple comparison of the deviation of every related sector. To be able to evaluate how closely two fingerprints resemble each other a so-called matching score M is computed using the following matching equation on every feature map:

b·k 1 X M = |D (i) − D (i)| , b · k A B i=0 where i is the sector index, b is the number of bands, and k is the number of sectors per band. DA(i) and DB(i) are the average absolute deviation from the mean level in the two fingerprints A and B which have to be matched. The result M is the matching score which is computed and as a result it represents the average of the deviation of the gray level values of the feature maps. The smaller the matching score, the better the two fin- gerprints match. Hence, a higher matching score indicates that the two fingerprints do not resemble each other very much. To be able to match rotated fingerprints the matching is enhanced to compare also a ro- tated feature map. The following equations from [11] show how the rotated feature maps are obtained if the fingerprint is filtered using a Gabor filter in eight directions which leads to a rotating angle difference of 22.5◦. Accordingly, those equations have to be adopted if the fingerprint is Gabor filtered in more or fewer directions:

R Viθ = Vi0θ0 , i0 = (i + k + R) mod k + (i div k) × k, θ0 = (θ + 180◦ + 22.5◦ × R) mod 180◦.

In this equation V represents the feature map where R is the rotation step which corre- sponds to a R × 22.5◦ for a Gabor filter in eight directions. k is the number of sectors per band for example k = 16. i is the sector index in the example i ∈ {0, 1, 2,..., 78, 79} at five bands per 16 sectors. θ is the direction of the Gabor filter, for example, at eight directions θ ∈ {0◦, 22.5◦, 45◦, 67.5◦, 90◦, 112.5◦, 135◦, 157.5◦}. Every rotated feature map is now matched using the matching equation. The minimum of all matching scores obtained in this way is taken as the matching score for the two finger- prints. The use of the rotated fingerprint provides a slight improvement of the matching results especially if the fingerprints originated from an area sensor. As mentioned in Sec- tion 2.1.4 area sensors are more prone to record twisted fingerprints than swipe sensors.

49 3 Pattern Matching Using Gabor Filters

Figure 3.18 shows the feature maps of different records of the same fingerprint. It is clearly visible that the feature maps of the same fingerprint look similar while the feature maps of two different fingerprints show great differences resulting particularly in low and high matching scores. For the example in Figure 3.18 two fingerprints of the same class (left loop) were taken to prove the practicality of the method applied. Figure 3.19 shows the feature maps of two fingerprints of the different classes loop and whorl. It is obvious that those feature maps differ even more greatly than fingerprints of the same class (see Figure 3.18), which results in a high matching score. Figure 3.20 demonstrates in which cases the rotation of the feature maps leads to a lower matching score, which results in the correct acceptance. It shows two feature maps of the same fingerprint. The second fingerprint on the right is twisted compared to the first one, which possesses a straight alignment. To get the lowest matching score the feature map of the first fingerprint is rotated and matched with the corresponding direc- tion of the Gabor filtered feature map. In the case shown in Figure 3.20 the appropriate rotation is 22.5◦ clockwise. Every rotation step increases the computation time needed in the matching process. Therefore, it is sufficient to try only rotations in the directions [−45◦, −22.5◦, 22.5◦, 45◦] because fingerprints are usually not rotated more strongly. It is understandable that with this technique only rotations of fingerprints with roughly the multiple of the difference angle (for example 22.5◦) are processible. Intermediate rotations need a smaller angle; therefore a Gabor filter in 16 directions is able to handle rotations of multiple 11.25◦. As shown in this chapter the matching process is easy and is therefore fast compared to minutiae matching or ridge matching explained in Section 2.2. It is only required to compare the computed average absolute deviations from the mean level of every sector, which are stored in the template. In practice, it is reasonable to store all fingerprints not as the recorded fingerprint picture but as their template representation. In this case, only the input fingerprint has to be fully processed (Normalization, segmentation, reference point detection, Gabor filtering, tessellation and computation of the feature map). After that, the template has to be matched against the other templates stored in the database, which results in a fast obtained matching result. Chapter 4 evaluates the pattern matching method described based on the Gabor filter by using it on a fingerprint database.

50 3.6 Matching

Figure 3.18: Various feature maps. Feature maps of different fingerprints A and B of the same finger 1 or 2 have only small differences in their gray values. By contrast, fingerprints A or B of different fingers 1 and 2 show major differences in their feature map gray values (Parameters: Gabor filter in eight directions, feature map at five bands at 16 sectors ⇒ template size of 640 byte). The comparison of the feature maps enables acceptance or rejection in an accurate way according to the obtained matching score.

51 3 Pattern Matching Using Gabor Filters

Figure 3.19: Feature maps of fingerprints of different classes. These feature maps differ even more greatly than feature maps of different fingerprints of the same class seen in Figure 3.18. In this case the matching scores between the feature maps are very high thus leading to the correct rejection.

Figure 3.20: Rotation of the feature maps. In this example, the lowest matching score is achieved by rotating the feature maps of the left fingerprint in 22.5◦ clockwise. Then the ro- tated feature maps are matched against the appropriate direction. In this case, the rotations of the feature maps lead to the correct match because of a low matching score obtained.

52 4 Evaluation

This chapter describes the benchmarks, which are used to evaluate a biometric authenti- cation system. After that, the fingerprint recognition provided in Chapter 3 is tested on a large database and results of the tests are evaluated.

4.1 Biometric Benchmarks

There are several benchmarks to test biometric authentication methods. These bench- marks allow an evaluation of the particularly used biometric authentication method.

• The false acceptance rate (FAR) indicates the number of cases where two different fingerprints are assumed to have the same origin. For example, if one fingerprint per 100 matches is falsely accepted, the FAR is 1%.

• The false rejection rate (FRR) specifies how often a fingerprint is rejected if it is matched against a fingerprint of the same origin. For example, if two fingerprints per 100 matches are rejected despite originating from the same finger, the FRR is 2%.

• The equal error rate (EER) is the point at which the probability of a false acceptance is equal to the probability of a false rejection. The lower the equal error rate, the higher the accuracy of a biometric system. The EER is usually used as the most important benchmark of a biometric authentication system.

To be able to decide if the biometric system accepts or rejects the tested inputs, it is neces- sary to set a threshold. The threshold of the system has to be obtained during tests before a biometric system operates in practice. If the matching score, obtained priorly during the matching, is then below this threshold, the tested input is accepted. If the matching score is above this threshold, the input is rejected. It is possible to vary the threshold accord- ing to environment the biometric system is used in, resulting in different FAR and FRR. If the biometric system, for example, has to be more restrictive, the threshold is raised, which leads to a lower FAR. Correspondingly, fingerprints from the same origin are more often rejected in this case, resulting in a higher FRR. If the biometric system is used in a banking environment, for example, the application provider specifies the lowest FAR possible. This results in more false rejections, which have to be handled by the customers,

53 4 Evaluation for example, by retrying the verification. In another environment, the identification pro- cess has to be as fast as possible, for example, when it is used for access control of a gate. In this case, is acceptable to receive some false acceptances, if likewise false rejections are lowered and therefore considerably fewer retries are required.

4.2 Tests

To evaluate the Gabor filter-based pattern matching method it was tested on a database. This database (Number 1) was used in the Fingerprint Verification Contest 20021. It con- sists of 100 fingers and eight different fingerprints per finger. As mentioned in Chapter 3 the Gabor filter-based pattern matching method depends largely on a correct core point detection. If it is not possible to detect the correct reference point, the created feature map has the wrong center and all the created feature maps therefore become completely useless. Therefore, it is impossible to accomplish a reasonable matching. For this reason, some fingerprints with failed reference point detection were removed from the database. The second problem was that some of the fingerprints in the database had a reference point on the border of the recorded fingerprint. Even if the reference point is correctly de- tected, the computed feature map therefore consists of many sectors, which are beyond the region of interest. These fingerprints were also removed before the test, because the matching of incomplete feature maps with many black sectors has not to have any impact on the matching results. Hence, the test includes 80 fingers with a set of four different fin- gerprints per finger. Each test is divided into two steps:

• The genuine test: this is the test in which all fingerprints of the same finger are matched with each other to figure out how accurately the same fingerprint is recognized and correctly accepted or falsely rejected. Every fingerprint of the set is matched to the other three fingerprints.

• The imposter test: in this test, the fingerprints from different fingers are matched to detect if they are correctly rejected or falsely accepted. The first fingerprint of every set is matched to every other first fingerprint of the database.

In both tests every single matching results in a matching score value. As mentioned in Section 3.6 the lower the matching score the better the resemblance of two fingerprints.

1http://bias.csr.unibo.it/fvc2002/databases.asp

54 4.2 Tests

Therefore, a "good" matching score has to be as low as possible. To test the influence of the parameters of the feature map (number of bands, number of sectors per band and number of direction of Gabor filters), the matching method was applied using various parameters. The following Tables 4.1, 4.2, 4.3, and 4.4 contain the following benchmarks obtained during the particular tests with different feature map parameters:

• EER: Equal error rate (see above).

• FAR100: The lowest false rejection rate for a false acceptance rate ≤ 1%.

• ZeroFAR: The lowest false rejection rate for a false acceptance rate = 0%.

• ZeroFRR: The lowest false acceptance rate for a false rejection rate = 0%.

Figures 4.1, 4.2, and 4.3 illustrate the tests. The score distributions on the left show how often the different matching scores appear. The left curve represents the result of the im- poster test, whereas the right curve represents the genuine test. The more the two curves are separated from each other, the fewer false acceptances and false rejections there were during the test. On the right, the curves of the false acceptance rate resulting from the imposter test and the false rejection rate from the genuine test are illustrated. The inter- section point of the curves marks the equal error rate.

ERR FAR100 ZEROFAR ZEROFRR 1.88 % 5.42 % 16.25 % 8.59 %

Table 4.1: Test result, parameters radius = 10, bands = 10, sectors = 16, and filter directions = 16

ERR FAR100 ZEROFAR ZEROFRR 1.94 % 5.42 % 15.83 % 8.46 %

Table 4.2: Test result, parameters radius = 10, bands = 10, sectors = 16, and filter directions = 8

All tests are summarized in Table 4.3. Another matching equation was also tested, which computes the matching score by summing up the square of the absolute value of the gray value distance of the feature map relating to the equation from Section 3.6:

b·k 1 X 2 M = |D (i) − D (i)| , b · k a b i=0

55 4 Evaluation

Figure 4.1: The best equal error rate (1.88 %): parameters 10 pixel radius, 10 bands per 16 sectors with 16 Gabor filter directions.

Figure 4.2: The best compromise between equal error rate (1.94 %) and template size (1280 byte): parameters 10 pixel radius, 10 bands per 16 sectors with 8 Gabor filter directions.

56 4.2 Tests

RADIUS BANDS SECTORS FILTERS TEMPLATE EER FAR100 ZERO ZERO SIZE FAR FRR 20 5 16 4 320 3.01% 6.67% 20.42% 20.00% 20 5 16 8 640 2.88% 5.42% 31.67% 18.97% 20 5 16 16 1280 2.56% 5.42% 32.08% 20.26% 10 10 16 4 640 2.10% 4.58% 22.92% 7.95% 10 10 16 8 1280 1.94% 5.42% 15.83% 8.46% 10 10 16 16 2560 1.88% 5.42% 16.25% 8.59% 20 5 32 4 640 2.13% 5.83% 20.00% 10.90% 20 5 32 8 1280 2.20% 5.42% 12.08% 12.69% 20 5 32 16 2560 2.32% 5.42% 19.58% 12.95% 10 10 32 4 1280 2.08% 5.00% 20.00% 5.00% 10 10 32 8 2560 2.47% 5.42% 15.00% 7.05% 10 10 32 16 5120 2.47% 5.00% 14.58% 6.79%

Table 4.3: Overview of all test results

The idea was that in relation good matching scores are strengthened whereas low match- ing scores are diminished. In practice, this does not work out well, because high matching scores resulting in correct acceptances and low matching scores representing correct re- jections were not affected by this very much. By contrast, the area in the middle overlaps stronger than before, which results in more false acceptances and false rejections. For example, with parameters of 10 bands per 10 pixels and 16 sectors by using eight Gabor filters the equal error rate was 1.94% by using the equation from Section 3.6. By con- trast, the equal error rate increased to 2.47% using the square of the absolute value of the gray value distance as Table 4.4 and Figure 4.3 show. This example of another matching equation is mentioned here to show that there are possible alternatives to the equation presented in Section 3.6.

ERR FAR100 ZEROFAR ZEROFRR 2.47 % 4.58 % 19.58 % 17.82 %

Table 4.4: Test result with alternative matching equation, parameters radius = 10, bands = 10, sec- tors = 16, and filter directions = 8

57 4 Evaluation

Figure 4.3: Result by using another matching equation, which computes the matching score by summing up the square of the absolute value of the gray value distance of the feature map.

4.3 Conclusion of the Test Results

As an overall result, it is possible to state that the equal error rate is roughly between 2% and 3% regardless of the number of Gabor filter directions and the feature map param- eters. A closer look at the results shows that more bands with smaller radius provide basically better results. According to this, ten bands per ten pixel radius perform better than five bands with 20 pixel radius. In addition to that, the fewer sectors the feature map contains the more false acceptances happen. This is especially visible if only four Gabor filter directions are used. With four Gabor filter directions, the results are usually worse than with the same parameters with more Gabor filter directions. Contrary to that, it is demonstrated that in a certain number of sectors in the feature map there is no signifi- cant enhancement of the results. As mentioned before in Chapter 3, the more Gabor filter directions and the more sectors in the feature map are used, the more computing time is necessary for the filtering, the tessellation and the matching step. For this reason, the best compromise is obtained with parameter settings of a Gabor filter in eight directions and a feature map with ten bands per 16 sectors with ten pixel width for this special type of database. This requires also only memory of 1280 bytes per feature map.

58 5 Summary and Outlook

5.1 Summary

This thesis introduces into the subject of user authentication by using the biometric at- tributes of human beings. After evaluating different biometric techniques, various tech- niques for authentication using fingerprint recognition are presented. In the main part of the thesis a fingerprint recognition method is described, which based on Gabor filter- based pattern matching. This method consists of the pre-processing steps normalization and segmentation. After that, a method is specified, which provides a correct detection of the reference point on all non-plain-arch class fingerprints with acceptable quality. Then, the Gabor filter is described, which is used to filter the fingerprint image. The next step is the creation of the feature map, which results in a template, which is used in the following matching step. In the matching step the matching score is computed which indicates the resemblance between two fingerprints. After all, the provided Gabor filter-based match- ing method is tested on a large database and the results of these tests are presented and evaluated. The proposed Gabor filter-based pattern matching method is quite promising. On a database, which is cleaned from fingerprints, which are of low quality or where the ref- erence point is not detected correctly, the method provides an acceptable equal error rate of circa 2%, depending on the parameters selected. Despite that, the provided Gabor filter-based pattern matching method is not as well as commercial sophisticated minutiae matching methods right now. These minutiae based matching methods are able to pro- vide equal error rates of less than 1%. Nevertheless, this thesis proves that it is possible to accomplish fingerprint recognition using a Gabor filter-based pattern matching method.

5.2 Outlook

During the implementation, there emerged many promising ideas that can be further pur- sued. The main objective of the practical part of the thesis was to analyze how Gabor filter- based pattern matching works. Therefore, there was no great importance attached to the

59 5 Summary and Outlook runtime performance of the algorithms. For this reason, there is potential to enhance the performance of the algorithms. Especially the triangulation functions are computed much faster by using lookup tables instead of computing the sine and cosine directly, which takes a lot of time. The use of the Gabor filter for enhancing the fingerprint during the pre-processing prob- ably helps a lot when processing low quality fingerprints. For further information it is referred to [7]. Another idea is to use a rectangular or quadratic tessellation for creating the feature map. If it is ensured that the fingerprints are straightly aligned, for example by using a swipe sensor for the recording of the fingerprint, a reference point detection is not needed. An- other benefit is that using a rectangular or quadratic tessellation it is possible to process plain arches, too. Another argument in favor of a rectangular tessellation is that espe- cially by using swipe sensors it is sometimes not possible to create a complete circular tessellated feature map in the fingerprint area without hitting the borders. A rectangular tessellation is able to handle this by simply selecting a smaller width of the feature map in the x-axis according to the specifications of the sensor. It is also possible to combine a minutiae matching method with the Gabor filter-based pat- tern matching method. This is also known as a hybrid matching method, which is already described in [22]. One advantage is that if not enough minutiae are found it is possible to make a correct match by using the pattern matching method. It is also imaginable to use some minutiae for aligning the fingerprint and doing the matching subsequently by using the pattern matching method. Another reason for using a hybrid matcher is the possibility processing fingerprints of the plain arch class. This is done by computing the center of some minutiae in the middle of the fingerprint, for example, and using this point as the reference point for creating the feature map.

60 Bibliography

[1] Ebay Inc. Security and Privacy, January 2007. http://pages.ebay.com/securitycenter/Security.pdf.

[2] Francis Galton. Finger Prints. Macmillan, London, 1892. http://www.galton.org/books/finger-prints/index.htm.

[3] FBI, January 2007. http://www.fbi.gov/hq/cjisd/iafis.htm.

[4] Argus Solution. Iris recognition: How it works. January 2007. http://www.argus-solutions.com.

[5] Andrew Senior. A Hidden Markov Model Fingerprint Classifier. 31st Asilomar conference on Signals, Systems and Computers, 1997.

[6] D. Maltoni, D. Maio, A.K. Jain, and S. Prabhakar. Handbook of Fingerprint Recognition. Springer, New York, 2003.

[7] Lin Hong, Yifei Wang, and Anil Jain. Fingerprint Image Enhancement: Algorithm and Performance Evaluation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(8), August 1998.

[8] International Standard Organization, International Electrotechnical Commission. Information technology - Biometrics - Biometric data interchange formats - Part 3: Finger pattern spectral data, January 2006. ISO/IEC FDIS 19794-3.

[9] Aparecido Nilceu Marana and Anil K. Jain. Ridge-Based Fingerprint Matching Using Hough Transform. Proc. of Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI), October 2005.

[10] Muhammad Umer Munir and Dr. Muhammad Jounas Javed. Fingerprint Matching using Gabor Filters. National Conference on Emerging Technologies, 2004.

[11] Anil K. Jain, Salil Prabhakar, Lin Hong, and Sharath Pankanti. Filterbank-Based Fingerprint Matching. IEEE Transactions on image processing, 9(5), May 2000.

61 Bibliography

[12] Junbum Park and Hanseok Ko. Robust Reference Point Detection Using Gradient of Fingerprint Direction and Feature Extraction Method. Computational Science - ICCS 2003 Part 1, 2003.

[13] Manhua Liu, Xudong Jiang, and Alex Chiung Kot. Fingerprint Reference-Point Detection. EURASIP Journal on Applied Signal Processing, 2005.

[14] Asker M. Bazen and Sabih H. Gerez. Systematic Methods for the Computation of the Directional Fields and Singular Points of Fingerprints. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(7), July 2002.

[15] Piotr Porwik and Lukasz Wieclaw. A new approach to reference point location in fingerprint recognition. IEICE Electronics Express, 1(18), December 2004.

[16] Jie Zhou and Jinwei Gu. A Model-Based Method for the Computation of Fingerprints Orientation Field. IEEE Transactions on Image Processing, 13(6), June 2004.

[17] Sharat Chikkerur and Nalini Ratha. Impact of Singular Point Detection on Fingerprint Matching Performance. Fourth IEEE Workshop on Automatic Identification Advanced Technologies, 2005.

[18] Jinwei Gu and Jie Zhou. Analysis of Singular Points in Fingerprints based on Topological Structure and Orientation Field. Technical Report, 2005.

[19] Javier R. Movellan. Tutorial on Gabor Filters, 2002. http://mplab.ucsd.edu/tutorials/tutorials.html.

[20] J. E. Bresenham. Algorithm for computer control of a digital plotter. IBM Systems Jornal, 4(1).

[21] Vincent Zammit, Mike Rizzo, and Kurt Debattista. CSM213 Computer Graphics, February 2001. Department of Computer Science and A.I., University of Malta.

[22] Arun Ross, Anil Jain, and James Reisman. A hybrid fingerprint matcher. Pattern recognition (Elsevier), 36(7), 2003.

62