Finger Print Recognition Progress Report
CHAPTER -I
1
INTRODUCTION
General Statement of the Problem In order to aid forensics in criminal identification, authentication in civilian applications and for preventing unauthorized there is a need to develop a finger print recognition and analysis system.
Background Fingerprint verification is an important biometric technique for personal identification. Biometrics are automated methods of recognizing an individual based on their physiological (e.g., fingerprints, face, retina, iris) or behavioral characteristics (e.g., gait, signature). Biometric-based solutions are able to provide for confidential financial transactions and personal data privacy.
Importance of problem Each biometric has its strengths and weaknesses and the choice typically depends on the application. No single biometric is expected to effectively meet the requirements of all the applications. The match between a biometric and an application is determined depending upon the characteristics of the application and the properties of the biometric.
Information Fingerprints are graphical flow-like ridges present on human fingers. They are fully formed at about seven months of fetus development and finger ridge configurations do not change throughout the life of an individual except due to accidents such as bruises and cuts on the fingertips. This property makes fingerprints a very attractive biometric identifier. Fingerprint system can be separated into two categories Verification and identification. Identification system recognizes an individual by searching the entire template database for a match. It conducts one-to-many comparisons to establish the identity of the individual. In an identification system, the system establishes a subject’s identity (or fails if the subject is not enrolled in the system database) without the subject having to claim an identity.
Created by Blue Lions
Finger Print Recognition Progress Report
2
Detailed Description of Fingerprint System The various steps involved in a typical fingerprint recognition system are shown Below
Figure 1: Various steps in a Fingerprint system
A finger print system works in two modes they are Enrollment mode and Authentication mode. Enrollment mode: fingerprint system is used to identify and collect the related information about the person and his/her fingerprint image. Authentication mode: fingerprint system is used to identify the person who is declared to be him/her.
Figure 2: Enrollment and Authentication stages of a fingerprint system
Created by Blue Lions
Finger Print Recognition Progress Report
CHAPTER -II
3
OBJECTIVES
The overall objective of the project is to develop a finger print system based on directional filter bank technique which works on minutiae. A point in the fingerprint image is designated as a minutia if it belongs to an ending, beginning or bifurcation of a ridge. The extraction of minutiae relies heavily on the quality of the input images. • Simple smoothing and sharpening • Contrast stretching • Dry and wet area detection
Steps In The Design Process
Created by Blue Lions
Finger Print Recognition Progress Report
4
. Figure 3: Image Preprocessing and Feature Extraction
CHAPTER -III
PHASES
Image Preprocessing To eliminate extraction of erroneous minutiae & consequently mining the mismatch as much as possible, image preprocessing is a necessary step before any feature extraction is preformed. Histogram Equalization Extraction and Modification of Ridge Direction
Dynamic Threshold
Ridgeline Thinning
Histogram Equalization Created by Blue Lions
Finger Print Recognition Progress Report
5
The method used for the unwanted part of the image is made lighter so as to emphasize the desired parts. Then the accumulation of histogram from 0 to I is given by
Extraction and Modification of Ridge Direction The introduction of unnecessary false minutiae in the feature extraction process. To prevent this directional information of ridges is obtained & modified.
Figure 4: Ridges Direction
The effect of modifying the directional codes is shown in fig.
Figure 5: Before Enhancement
Figure 6: After Modification Directional
Dynamic Threshold Mapping of all data points having gray level more than the average gray level in a 16 x 16 sampling square 255 ( white ) and all other to zero (black). The result of it shown in fig.
Created by Blue Lions
Finger Print Recognition Progress Report
6
Figure 7: After Dynamic Threading
Ridgeline Thinning Before the features can be extracted, the fingerprints have to be thinned or skeletons so that all the ridges are one pixel thick. Applying the thinning functions the following shows the result as under.
Figure 8: Before Thinning
Figure9: After Thinning
The basic features extracted from a fingerprint image are ridge ending and ridge bifurcation. Mask used for features extraction is
Figure 10: 3x 3 Windows for Feature Extraction
Created by Blue Lions
Finger Print Recognition Progress Report
7
Features Extraction The two basic features extracted from a fingerprint image are ridge endings & bifurcations. Response of the result for ridge ending is
Response of the result for ridge bifurcation is
CHAPTER –V •
DELIVERABLES
MATLAB source code.
Function to enhance the fingerprint and then applying basic global threshold image is differentiated from background function image = enhanced(img) img = double(img); img1 = histeq(img); T = graythresh(img1) % T = 200 ; % global C1 C2 G1 G2 % C1 = 0 ; % C2 = 0 ; Created by Blue Lions
Finger Print Recognition Progress Report
8
% G1 = 0 ; % G2 = 0 ; % img = thresholding(img1,T) ; % u1 = G1/C1 ; % u2 = G2/C2 ; % T = (u1+u2)/2 ; % C1 = 0 ; % C2 = 0 ; % G1 = 0 ; % G2 = 0 ; % img1 = thresholding(img,T) ; % u1 = G1/C1 ; % u2 = G2/C2 ; % T = (u1+u2)/2 ; % C1 = 0 ; % C2 = 0 ; % G1 = 0 ; % G2 = 0 ; image = thresholding(img1,T) ; image %%%%Helper Function Starts%%%%%% function imag2 = thresholding(img,T) [M,N] = size (img); for i=1:M for j=1:N if ( img(i,j) > T ) img(i,j) = 1 ; imag2 = img(i,j); % G1 = G1 + img(i,j) ; % C1 = C1 + 1 ; else img(i,j) = 0 ; imag2 = img(i,j); % G2 = G2 + img(i,j) ; % C2 = C2 + 1 ; end end end imag2
Created by Blue Lions
Finger Print Recognition Progress Report
9
%%%%%Helper Function Ends%%%%%%%% Function "Preprocessing" is used to preprocess the image for features extraction. The main objective of the function is to change the finger ridges into 1 pixel thick line which is mandatory for the extraction of bifurcation & minutiae. %Syntax: %I = imread('fingerprint.tif'); % %then pass the image matrix 'I' as an argument and the function will %return the 'image' in which ridges are 1 pixel thickl % %image = preprocessing(img); function image = preprocessing(img) img = histeq(img); %T = threshold value T = graythresh(img) ; %bwimage is image got from thresholding using 'im2bw' function bwimage = im2bw(img,T); bw1 = bwmorph(bwimage,'thin',inf); %bw1 is 1 pixel thick ridge line which was the main objective of the whole %process. This is necessary for the extraction of the features from the %finger print images. comp = imcomplement(bw1); image = comp Function "Features" extracts the minutiae points, ridge endings & bifurcations , and write them to a file. This will use the function preprocessing as auxiliary function to preprocess the image for features extraction. Implementing the following 3x3 window for features extraction. % X1 X2 X3 % X8 M X4 % X7 X6 X5 % % M is the center pixel and it will decide whether the center pixel % is a ridge ending ( M = 2 ), or it is ridge bifurcation ( M = 6 ) % % Syntax: % fingerprint = imread('fingerprint.tif'); % Features_extract(fingerprint);
Created by Blue Lions
Finger Print Recognition Progress Report 10
function Features_extract(image) image1 = preprocessing( image ); image = imcomplement( image1 ); [M,N] = size( image ) ; imview( image ) ; K = M -2 ; L = N -2 ; x=1; y=1; m=1; n=1; global C for i=2: K for j=2: L C=0; C = abs( image(i,j+1) - image(i,j) ) ; C = C + abs( image(i,j+2) - image(i,j+1) ) ; C = C + abs( image(i+1,j+2) - image(i,j+2) ) ; C = C + abs( image(i+2,j+2) - image(i+1,j+2) ) ; C = C + abs( image(i+2,j+1) - image(i+2,j+2) ) ; C = C + abs( image(i+2,j) - image(i+2,j+1) ) ; C = C + abs( image(i+1,j) - image(i+2,j) ) ; C = C + abs( image(i,j) - image(i+1,j) ) ; if ( C == 2 ) ending1(x) = i ; ending2(y)= j ; x=x+1; y=y+1; end if ( C == 6 ) bif1(m) = i ; bif2(n) = j ; m=m+1; n=n+1; end
Created by Blue Lions
Finger Print Recognition Progress Report 11
end end save minut
GANTT CHART Stages
Figure 11: Gantt chart
Time
REFERENCES Journal Articles 1)
K. Jain, L. Hong, S. Pankanti, and R. Bolle, “An identity authentication system using fingerprints,” Proc. IEEE, vol. 85, pp. 1365-388, Sept. 1997
2)
K. Jain, L. Hong, and R. Bolle, “On-line fingerprint verification,” IEEE Trans. Pattern Anal. Machine Intell., vol. 19, pp. 302–314, Apr. 1997
3)
Aho, A. V., Hopcroft, J.E., and Ullman J. D., 1983, “Data Structures and Algorithms”, Addison-Wesley Publishing Company, Massachusetts, USA
Books
Created by Blue Lions
Finger Print Recognition Progress Report 12
•
Rafeel C. Gonzalez, Richard E. Woods, Digital Image Processing, 2nd Edition, Prentice Hall, New York, 2002
•
Rafeel C. Gonzalez, Richard E. Woods, Digital Image Processing using MATLAB, 2nd Edition, Prentice Hall, New York, 2002
Web Pages 1) 2) 3) 4)
http://www.atvs.diac.upm.es/publicaciones/publicaciones_en.htm http://fpserver.cse.cuhk.edu.hk/paper/fingertechpart2.pdf http://www.research.ibm.com/ecvg/pubs/sharat-minver.pdf http://www.cordis.lu/infosec/src/stud5fr.htm
Created by Blue Lions