Full n final prjct

Post on 14-Jun-2015

1,544 views 0 download

Tags:

transcript

features of fingerprint enhancement binarization thinning minutaie detection

A fingerprint is the pattern of ridges and valleys on the surface of a fingerprint. Minutiae are local discontinuities in the fingerprint pattern. Ex-ridge ending and ridge bifurcation.

Ridges and valleys in a local neighborhood form a sinusoidal-shaped plane wave, which has a well-defined frequency and orientation.

In many cases, fingerprints are with numerous discontinuous ridges (dry, wet, damped, scars and smudges).

the main difficulty for feature extraction is that fingerprint quality is often too low, thus noise and contrast deficiency can produce false minutiae or hide valid ones.

Ex- when the person has cuts or scars in his/her fingers.

Fingerprint recognition is one of the oldest and most researched fields of biometrics.

Some biological principles (Moenssens 1971) related

to fingerprint recognition are as follows:

• Individual epidermal ridges and furrows have different characteristics for different fingerprints.This forms the foundation of fingerprint recognition

• The configuration types are individually variable; but they vary within limits that allow for a systematic classification.Herein lies the basis for fingerprint classification.

• The configuration and minute details of furrows are permanent and unchanging.

Diagram of AFMS

• The human fingerprint is comprised of various types of ridge patterns.• Traditionally classified according to the decades-old Henry system:

left loop, right loop, arch, whorl, and tented arch. • Loops make up nearly 2/3 of all fingerprints, whorls are nearly 1/3, and

perhaps 5-10% are arches. • These classifications are relevant in many large-scale forensic

applications, but are rarely used in biometric authentication.

Arch: They are found in most patterns, fingerprints made up primarily of them are called “Arch Prints”.

Loop: A recursive line-type that enters and leaves from the same side of the fingerprint.

Ellipse: A circular or oval shaped line-type which is generally found in the center of the fingerprint, it is generally found in the Whorl print pattern.

Bifurcation: It is the intersection of two or more line-types which converge or diverge.

Island: A line-type that stands alone.( i.e. does not touch another line-type)

Tented Arch: It quickly rises and falls at a steep angle. They are associated with “Tented Arch Prints”.

Spiral: They spiral out from the center and are generally associated with “Whorl Prints”.

Rod: It generally forms a straight line. It has little or no recurve feature. They are gennerally found in the center.

Sweat Gland: The moisture and oils they produce actually allow the fingerprint to be electronically imaged.

Arch Left Loop Right Loop Whorl undecided

Reliable minutiae extraction is extremely important

Enhancement Binarization Thinning

many algorithms and techniques proposed and applied to fingerprint image enhancement: using Fourier transform, Gabor filters, Wavelet transform and minutiae filtering, applied to binary or gray-scale images.

The main of an enhancement algorithm is to improve the clarity of ridge structures of fingerprint images in recoverable regions and to remove the unrecoverable regions.

the pattern is related to the ridge direction. the enhancement can help visualizing the ridges.

In this work, a directional wavelet transform is applied to decompose the image into its orientation representation.

Directional filtering is applied to each direction before image reconstruction.

Performance depends on quality of images Ideal fingerprint Degradation types – ridges are not continuous, parallel

ridges are not well separated, cuts/creases/bruises Leads to problems in minutiae extraction

Well-defined region Recoverable region Unrecoverable region

For each fingerprint image, the fingerprint For each fingerprint image, the fingerprint areasareas

resulting from segmentation can be divided resulting from segmentation can be divided into:into:

Goal – to improve the clarity of the ridge structure in the recoverable regions and mark unrecoverable regions as too noisy for further processing

Input – a gray-scale image Output – a gray-scale or binary image

depending on the algorithm Effective initial steps - Contrast stretching,

Histogram manipulation, Normalization, Wiener Filtering

Most widely cited fingerprint enhancement is by use of wavelet transform and Gabor filtering.

It uses wavelet transform for demising and increases the contrast between the ridge and background (valley) by using a map function to the wavelet coefficient set, and thereafter, the Gabor filter method can further enhance the ridge using the orientation and frequency information.

In modified second derivative Gaussian filter ,we decompose the fingerprint image before directional filtering.

The second derivative of Gaussian filter is applied directly to each sub-image.

We reconstruct the fingerprint image by using the enhanced approximation image and detail images produced in decomposition.

A. NormalizationB. Ridge FrequencyC. Wavelet DecompositionD. Orientation Field Estimation

The processing of fingerprint normalization can reduce the variance in gray-level values along ridges and valleys .

It adjusts the gray-level values to the predefined constant mean and variance.

Normalization can remove the influences of sensor noise and gray-level deformation

In a gray scale image, repeated ridges and valley appearance of fingerprint patterns can be viewed as a sinusoidal shape with some particular frequency..

The inverse of the average distance between the numbers of peaks encountered is the local frequency of that block.

In our case, the ridge frequency of 0.10-0.12 was measured.

Different base function convolution with the image can have different effect in the resolution.

we can decompose the image into sub-images at any level.

However, too low resolution is not suitable because an excessive down sampling of the signal can vanish the orientation characteristic of the ridge structure.

We have used only one decomposition level.

The fundamental unit of data in MATLAB

Scalars are also treated as arrays by MATLAB (1 row and 1 column).

Row & column indices of an array start from 1.

Arrays can be classified as vectors and matrices.

Vector: Array with one dimension Matrix: Array with more than one dimension. Total number of elements in an array=

number of rows(n) * number of columns(m) Size of an array –(n x m )

column vectors row vectors

1

a 2

3

a 1 2 3

>>a=[1;2;3]>>aa = 1 2 3

>>a=[1,2,3]>>aa = 1 2 3

use semi-colonto separate rows

use commato separate columns

Initializing Variables in Assignment Statements

first: increment: last

• Colon operator: a shortcut notation used to initialize arrays with thousands of

elements

>> x = 1 : 2 : 10;>> angles = (0.01 : 0.01 : 1) * pi;

• Transpose operator: (′) swaps the rows and columns of an array

>> g = [1:4];>> h = [ g′ g′ ];

1 12 23 34 4

h=

Initializing with Shortcut Expressions

• The end function: When used in an array subscript, it returns the highest value taken on by that subscript.

arr3 = [1 2 3 4 5 6 7 8];arr3(5:end) is the array [5 6 7 8]arr4 = [1 2 3 4; 5 6 7 8; 9 10 11 12];arr4(2:end, 2:end)

The end function

MATLAB supports six relational operators. Less Than < Less Than or Equal <= Greater Than > Greater Than or Equal >= Equal To == Not Equal To ~=MATLAB supports three logical operators. not ~ % highest precedence and & % equal precedence

with or or | % equal precedence

with and

Built-in MATLAB Functions

• result = function( input )– abs, sign– log, log10– exp– sqrt;– sin, cos, tan– asin, acos, atan– max, min– round, floor, ceil, fix– mod, rem

• help elfun help for elementary math functions

Built-in MATLAB Functions

Math representation Matlab interpretationxz yxy e

y ln(x)

y log(x)

y sin(x)

y cos(x)

y tan(x)

1

1

1

y sin (x)

y cos (x)

y tan (x)

>>z=y^x;

>>y=exp(x);

>>y=log(x);

>>y=log10(x)

>>y=sin(x);

>>y=cos(x);

>>y=tan(x);

>>y=asin(x);

>>y=acos(x);

>>y=atan(x);

x = 0:pi/100:2*pi;y = sin(x);plot(x,y)xlabel('x = 0:2pi')ylabel('Sine of x')title('Plot of the

Sine Function')

A digital image is a representation of a two-dimensional image as a finite set of digital values, called picture elements or pixels

Pixel values typically represent gray levels, colours, heights, opacities etc

Remember digitization implies that a digital image is an approximation of a real scene

1 pixel

Syntax- imread(‘filename’)Ex. F=imread(‘chestxray.jpg’); F=imread(‘d:\myimages\chestxray.jpg’); F=imread(‘.\myimages\chestxray.jpg’);

Syntax imwrite(f,’filename’)Ex- Imwrite(f,’patient10_run’,tif); or Imwrite(f, ’patient10_run.tif’);For jpeg file Imwrite(f,’filename.jpg’,’quality’,q)

Syntax- Imshow(f,g)Where f=image arrayG=no. of intensity level used to display it.• Imshow(f.[low high])

1. Intensity type imagesa data values whose intensity has been scaled to represent intensities.eg.-

scaled uint8,scaled uint162. Binary type images Logical arrays of 0s &1sS=logical(a)Where a is numerical array

Uint8 [0 255] Uint16 [0 65535] Double -10e308 to10e308 Int8 [-128 127] Int16 [-32768 32767] Single -10e38 to 10e38

Im2uint8 Mat2gray Im2double im2bw

TIFF JPEG GIF BMP PNG XWD

Common image formats include: 1 sample per point (B&W or Grayscale) 3 samples per point (Red, Green, and Blue) 4 samples per point (Red, Green, Blue, and

“Alpha”, a.k.a. Opacity)

>>%code for vertical flip of image>> f=imread('finger.png.jpg');>> imshow(f)>> fb=f(end:-1:1,:);>> figure,imshow(fb)

>> f=imread('finger.png.jpg');>> imshow(f)>> fc=f(57:168,57:168);>> figure,imshow(fc)

>> %code for sub sample of image>> f=imread('finger.png.jpg');>> imshow(f)>> fs=f(1:4:end,1:4:end);>> figure,imshow(fs)

>>

ENHANCEMENT includes 2 steps binarization thinning

Based on peak detection in the gray-scale profiles along sections orthogonal to the ridge orientation

A 16x16 oriented window is centered around each pixel [x,y]

The gray-scale profile is obtained by projection of the pixel intensities onto the central section

I= imread(‘image.bmp’) imshow(I)set(gcf,'position',[1 1 600 600]);J=I(:,:,1)>160;Imshow(J);set(gcf,'position',[1 1 600 600]);

Fingerprint is thinned becoz after being thinned, it is easier to find minutiae such as bifurcation and simple end points.

Reduces the width of the ridges to one pixel Skeletons , spikes Filling holes, removing small breaks,

eliminating bridges between ridges etc.

Bwmorph: applies morphological operation on binary image.

Syntax: BW2 = bwmorph(BW,operation,n) applies the operation n times. n can be Inf, in which case the operation is repeated until the image no longer changes

K=bwmorph(~J,'thin','inf');Imshow(~K);set(gcf,'position',[1 1 600 600]);

3 cmds can be used to clear out the window clear all close all clc all