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 Enhancement
• Normalization
• Orientation Estimation
• Frequency Estimation
• Filtering
• Binarization
• Skeletonization
• Feature Extraction (Minutiae)
• Fingerprint Matching

Fingerprint Segmentation

• Separates foreground from background regions
• Fingerprint regions have higher gray scale variance

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.

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.

Skeletonization

Thinning the foreground regions until one pixel wide.

Minutiae Extraction

Performed by using the concept of Crossing Number, CN:

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

• CN = 1, correspond to ridge ending
• CN = 3, corresponds to bifurcation

This is illustrated in the following figure.

All minutiae stored as ($x$, $y$, $\theta$ , $CN$) quadruples where — $x$, $y$: the spatial coordinates; $\theta$: orientation; $CN$: the Crossing Number.

2. Minutiae Pairing: minutiae are paired if their difference in $x$, $y$, $\theta$ is within the range of the tolerance box.
$m$ – paired minutiae, $n$ – minutiae within the bounding box.