Martin Saveski

PhD Student, MIT Media Lab

msaveski [AT] mit.edu

Fingerprint Verification System

This is system I developed as a class project for an introductory Image Processing course during the last year of my undergraduate studies.

The text below summarizes the main processing steps required for verifying if the fingerprint image belongs to a given person. All details are provided in the project report. Also, the slides I have prepared for presentation in class provide a good summary (slightly more detailed than what is given below).

Summary

The process consistis of the following steps:

Fingerprint Segmentation

Image Segmentation based on local variance thresholding
Image Segmentation based on local variance thresholding

Fingerprint Image Enhancement

The quality of ridge structure of the FP image is essential for successful feature extraction. In this project, we adopt the Gabor filter as it is both frequency and orientation selective. The filtering includes the following steps: (1) Normalization, (2) Orientation Estimation, (3) Ridge Frequency Estimation.

Fingerprint Image Enhancement with Gabor Filter
Fingerprint Image Enhancement with Gabor Filter

Binarization

Refers to the process of conversion from grayscale to binary images. It is useful step as it improves the contrast between the ridges and valleys.

Binarization based on global threshold
Binarization based on global threshold

Skeletonization

Thinning the foreground regions until one pixel wide.

Skeletonization of a binariazed image
Skeletonization of a binariazed image

Minutiae Extraction

Performed by using the concept of Crossing Number, CN:

All minutiae extracted by a simple image scan of the skeletonized image:

This is illustrated in the following figure.

Intuition behind the CN number (Maltoni et al., 2009)
Intuition behind the CN number (Maltoni et al., 2009)

All minutiae stored as (, , , ) quadruples where — , : the spatial coordinates; : orientation; : the Crossing Number.

Minutiae detected on a skeletonized image
Minutiae detected on a skeletonized image

Fingerprint Matching

Determines the degree of similarity between two fingerprint images. Attempts to find the alignment of the images which will result in maximum number of minutiae pairings. Must cope with: displacement, rotation, non-linear distortion, noise.

The matching algorithm adopted consists of 3 steps:

  1. Registration: finding the best transformation which when applied to the one of the images will result in maximum overlapping minutiae.
  2. Minutiae Pairing: minutiae are paired if their difference in , , is within the range of the tolerance box.
  3. Matching Score:

– paired minutiae, – minutiae within the bounding box.