Overview Of Finger Vein Recognition Software Computer Science Essay

Published:

Finger vein recognition is one of the biometric methods to indentify a person base on their personal characteristic. Biometric is well developed nowadays and it is mainly applied on security issue. Biometric is still being improved continuously to increase the accuracy. Applying biometric need a few requirement which must be fulfil:

Uniqueness: Indicates that two different people cannot have the same characteristic.

Permanence: Characteristic cannot change according to the time.

Collectability: The characteristic can be measured quantitatively.

Performance: Acceptable result must be present from the identification process.

Circumvention: Referring to the ability to get destroyed.[1]

Finger vein recognition uses infrared light passing through the human hand skin and it is absorbed by the haemoglobin in the vein. With the infrared light absorbed by the haemoglobin, the finger vein can be visible through a CCD (charge-coupled device) camera.

There are few main parts for the vein recognition process:

Lady using a tablet
Lady using a tablet

Professional

Essay Writers

Lady Using Tablet

Get your grade
or your money back

using our Essay Writing Service!

Essay Writing Service

Vein image acquisition

Pre-processing

Feature extraction

Matching

Vein image acquisition

First process which gather information or sample (images) and saved all the data for each different person. As for this project, the image of finger veins is provided.

Pre-processing

The image given will be crop out and enhancement and filtering will be done. The vein will be enhanced until it is easy to visible. Filtering is to reduce the noise and filter out those unwanted object.

Feature extraction

During this process, morphological is used with the structuring element Small object from the image will be removed and morphological operation or other equivalent method will be applied for further process of matching.

Matching

For the last process, this stage dose comparison between the obtained data after process and the image from the database.

1.2 Technical Objective

No

Technical Objectives

1

To Design and develop a finger vein recognition using MATLAB algorithm.

2

To research a new method to extract finger vein based on the literature review.

3

To enhance the vein information by using filtering and threshold technique.

4

To produce the segmented object image by using morphological operation.

5

Develop a matching algorithm in order to evaluate finger vein extraction method.

CHAPTER 2: LITERATURE REVIEW

2.1 Finger Vein Recognition

Finger vein recognition had been developing for decade. There are people develop finger vein recognition with several of software such as MATLAB and FPGA-based. There are several method which had been commonly apply on finger vein recognition such as median filter, Gabor filter, DT-CNN(Discrete Time-Cellular Neural Network) and GA(Generic Algorithm). All the process of extraction and enhancement are almost the same in ways that the combinations of the method apply. The matching results from different type of method also maybe vary.

2.2 Image Enhancement

For image enhancement, every image must convert to greyscale for further processing. Greyscale is a measurement of intensity. The range for the intensity of greyscale is from 0 to 255. 0 represent the darkest pixel while 255 is the brightest pixel. Enhancement can be done by reading the greyscale histogram of the image and intensity can be adjusted according to the user. From greyscale, binary form is one of the outcomes. Binary basically have only two greyscale, which is 0 and 1. 0 represent black while 1 represent white.

2.2.1 Median Filter

Median filter is mainly use in image or signal processing for noise reduction. It mainly applies during pre-processing to enhance and improve the image quality for further processing. This filter use a window consists of an area of the image which has several numbers of pixels. It then apply median to calculate the median for the area and the value is replace with the median value. This filter is much better compare with other filter as it maintains better sharp edges which it use back the median value pixel.

152

123

143

143

143

143

123

146

164

143

143

143

127

121

154

143

143

143

Above left shows the original windows which consist of a 3 x 3 neighbourhood. The median value is calculated and the value is 143. The intensity values of the neighbourhood pixels will change according to the median value which shown above right.

Lady using a tablet
Lady using a tablet

Comprehensive

Writing Services

Lady Using Tablet

Plagiarism-free
Always on Time

Marked to Standard

Order Now

fce5noi4 fce5med2

Figure 2.1: Image before median filter Figure 2.2: Image after median filter [2]

2.2.2 Low-Pass Filter

Low pass filter is a sort of smoothing filter which it remove high spatial frequency components of the image. The most common low-pass filter is 2D Gabor filter. The definition of the 2D Gabor filter is

x and y are the coordinate of the image [I(x, y)] used. θ is the direction for the filter and µ is the frequency of complex sine function. Σ is the SV (standard variant) of Gaussian envelop along x and y axis. [3]

Below is the example shown for the effect of Gabor filter which apply mean = 0 and σ of 8. The image after Gabor filter has left noise which it reduces the noise and smoothen the image.

fce5noi4 fce5med3

Figure 2.3: Image before Gabor filter Figure 2.4: Image after Gabor filter [2]

2.2.3 Image Normalization

Normalization is a process which changes the range of intensity values for a pixel. Image normalization is very useful in eliminating noise, occlusion or illumination. During the pre-processing stage, image normalization is applied when there is interference on the image, such as object recognition.

2.3 Image Segmentation

Segmentation in image processing is a process which partitioning an image into multiple segments. The usage of segmentation is to simplify or change the representation of an image into other things which can be analysis in an easy way. Image segmentation usually used to locate objects and boundaries in the images. Besides that, it assigned a label to every pixel in the image as the pixel with same label share certain visual characteristic. [4]

2.3.1 Global Thresholding

Thresholding is one of the simplest methods of image segmentation. [5] Global Thresholding can differentiate the important data which is the main object and the background. Global Thresholding collect the pixel intensity info for the whole image and values between certain ranges will be set to one and the rest will set to zero. The output for Thresholding is a binary image.

One of the famous method apply in Thresholding is Otsu's method. He suggested a method which threshold is minimized between different classes variance. His method is applied on the MATLAB toolbox which the function is "graythresh". The syntax is shown as below:

Level = graythresh (I)

Level is the normalized intensity value which is between the ranges of 0.0 to 1.0. im2bw is used to convert the threshold image.

2.3.2 Local Adaptive Thresholding

Global adaptive Thresholding may not be useful when background of the image has uneven illumination. To overcome this situation, a common method is apply which during the pre-processing of the image, illumination is compensated and global adaptive threshold is applied to the pre-processing image. Improvement can be done by applying a morphological top-hat operator and use graythresh later on the image. The process of thresholding f(x, y) is similar to threshold function T(x, y):

where

fo is the morphological opening of f, the result of function graythresh applied to fo is the constant To. [6]

There is an alternative way to find the local threshold is to examine the intensity values of the local neighbourhood of each pixel statically. This include the simple and fast functions of mean of the local intensity distribution,

T = mean

the median value,

T = median

or the mean of the maximum and minimum values,

T = (max + min)/2

Sufficient foreground and background pixels must have neighbourhood which have enough size to cover else poor threshold is chosen. Choosing larger regions can affect the assumption of approximately uniform illumination.

Alternative way to stimulate adaptive threshold operation with the following steps:

Convolve the image with a suitable statical operator, i.e. the mean or the median.

Subtract the original from the convolved image.

Threshold the difference image with C.

Invert the thresholded image.

2.4 Morphological Image Processing

After the process of image segmentation, the following process is morphology transforms. This process which used the image, that had been converted to binary or logic type. By selecting an appropriate shape for neighbours, the image can be constructed with a certain shape.

2.4.1 Dilation and Erosion

Lady using a tablet
Lady using a tablet

This Essay is

a Student's Work

Lady Using Tablet

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Examples of our work

Dilation and Erosion is the fundamental to morphological image processing. [7] Dilation and Erosion basically are opposite of each other and this two functions only apply in binary image.

2.4.1.1 Dilation

Dilation function is used to enlarge or expand the boundaries of regions of the foreground pixels. When the boundaries enlarge or expand, the hole within the regions will become smaller or even disappear. To effectively apply dilation, structure element is the key for the function. This will be discussed in section 2.3.1.3.

2.4.1.2 Erosion

Erosion works oppositely from dilation which it shrink or reduce the boundaries of regions of the foreground pixels. As the boundaries of the regions of the foreground keep shrinking, holes can be more visible and grow larger after eroding. Erosion functions also need structure elements to function properly.

2.4.1.3 Structure Element

Structure element have varies type of patterns and shapes. It mostly applies on to dilation and erosion. This every pattern has a specific coordinates of a number of discrete point relative to some origin. Cartesian coordinates is normally applied to it as it is much convenient to represent the element is as small image on a rectangular grid. The origin does not always must be at the center of the structure element, but sometimes other position also can be used. Figure below shows some of the structure element example. [8]

http://homepages.inf.ed.ac.uk/rbf/HIPR2/figs/strctels.gif

Figure 2.5: Some example of structure element. [8]

Types of structure element used in MATLAB with syntax:

se=strel ('diamond', R)

Creates a flat diamond shaped structure element with R as the as the distance from the origin of structure element to the extreme point of the diamond.

se=strel ('disk', R)

Creates a flat disk shaped structure element with R as the radius size from the origin structure element.

se=strel ('line' LEN, DEG)

Creates a flat linear structure element with LEN as the length and DEG as the angle (in degree). It measured in a counter clockwise direction from the horizontal axis.

2.4.2 Thinning

Thinning is one of the morphological functions that used to remove selected foreground pixels from a binary image. This function normally used to join up the output of edge detector by shrink all lines to a single pixel thickness. Thinning function is related to the hit-and-miss transform. It can be express in simple terms, the thinning of an image I by a se (structure element) J is:

Thin (I, J) = I-hit-and-miss (I, J)

Whereby the subtraction is a logical subtraction can be defined by X-Y = X ∩NOT Y. [10]

2.4.3 Matching

Matching is the last step of an image processing. The matching matched between an image being process and a template image. This matching process basically applied correlation which is quite simple in principle. An image f(x, y) is correlated with a template image w(x, y) to find all the possible match location by using sum-comparing matrix (i.e. cross-correlation, SSD (Sum of Square Difference), SAD (Sum of Absolute Difference)). The output maximum value is the similarity ratio where the results near to 1 have higher percentage of similarity. The template image must either have smaller or equal size compare with the image to be correlated.

2.5 Software

The software used in this project is MATLAB 7.10.0 (R2010a). This software has a unique own image processing toolbox which has all the functions and operations needed in developing image processing. Other than image processing toolbox, there are plenty of other toolbox such as neural network toolbox, aerospace toolbox, image and acquisition toolbox. For image processing, image used have 3 major types which is RGB, intensity and binary. RGB contains colours while intensity can be called as greyscale image which has range of 0 to 255 to represent the intensity. Lastly, binary contains black and white which is represent by 1 as white while 0 as black.

CHAPTER 3: METHODOLOGY

3.1 Block diagram overview

ROI selection

Pre-processing

Feature extraction

Matching

Convert image from RGB to grayscale

Figure 3.1: Project block diagram overview

This project starts by read the image to be processed. By select the ROI (Region Of Interest) of the image to select the region which contains finger veins. After the ROI had been crop out, the image will undergo a pre-processing. During the pre-processing stage, the image will be reposition by comparing with a image. Median filter is applied to remove the unwanted noise while maintaining the image details. Gaussian filter is applied to remove high spatial frequency components and smoothen the image.

An additional normalization function is applied to eliminate noise, occlusion and illumination which cannot be filter out by the previous two filters. Basically normalization adjusts the image histogram to a better contrast which can remove all the noise, occlusion and illumination. For recognition process, normalization is very useful when there is interference o the image.

Local adaptive thresholding is applied to isolate the important data which is the finger vein and the background. After the pre-processing stage, morphological operation is applied which is the feature extraction. Dilation and erosion is applied to reconstruct the data which allow the important data to be maintained for further process. Small and unwanted object is filter out and thinning process is applied where the vein line's is shrink to a single pixel size thickness. Lastly, the processed image will be match with the template database and results are obtained.

3.2 Programming Flow Chart

Start

Image conversion from GRB to Grayscale

ROI selection

Median filtering

Gaussian Low-pass filtering

Normalization

A

Match image points and realign to standardize the alignment

A

Dilation and Erosion

Remove unwanted small pixel objects

Template matching

End

Vein Endpoints process

Erosion apply on image

Local Adaptive Thresholding

Figure 3.2: Project flow chart

3.3 Image realignment

Start

Obtains key points

Sort matches on vector distance

Make vectors with the coordinates of the best matches

Find the best matches

End

Calculate affine matrix

Put landmark descriptors in a matrix

Figure 3.3: Image realignment flow chart

This function is an implementation of Speeded Up Robust Features (SURF). This function will detect the landmark point of the matrix and describe the points by a vector, where it is robust against rotation, scaling and noise. It used same way as Scale-invariant feature transform (SIFT) whereby it is used to align two or more images based on corresponding points.

3.4 ROI (Region of Interest) selection

Start

Image conversion from GRB to BW

Located the min and max for x, y coordinates

Crop the selected region

Find the pixel in object when 1 and back to coordinate

End

Figure 3.3: Flow chart of ROI selection

The raw image give for the database contains the data of finger veins and some others unwanted data. By only selecting the data for finger vein, region of interest is applied. The image will be converted to binary image. From binary image, the important data will have different result compare with others non important data. By finding the starting point where the binary change and end, the finger vein data can be obtained.

From the function im2bw, the image converts from RGB to black and white format. The background will change 0 as in black while the image is change to 1 as white.

Using the find function, the function will locate the starting point (min) when the image changes to 1 and the end point (max). After the min and max had been located, the ROI can be crop according the point. The crop function crop the image using the min and max for both x-axis and y-axis coordinates.

3.5 Image Enhancement

3.5.1 Median Filtering

Median filtering will select a neighbourhood of pixel intensity and the median number of the neighbourhood will replace all current numbers. A neighbourhood of 5 x 5 is applied to remove noises of the vein image. The larger the neighbourhood, the better enhancement as there is not equal distribution of intensity values. The function used for the program is MF = medfilt2 (AI3, [5 5]). AI3 is the two dimension matrix that undergoes the filtering where a 5 x 5 neighbourhood is applied.

3.5.2 Gaussian Filtering

The transfer function of a Gaussian low-pass filter is while σ is the standard deviation. [12] The Gaussian low-pass filter is applied with a standard deviation of σ = 0.8 to filter out the high frequency noise on the image. The function used for the program is LP = fspecial ('gaussian', [3 3], 0.8). The neighbourhood used is 3 x 3 and standard deviation of 0.8. The larger of the neighbourhood applied, the more blur caused to the image.

3.6 Normalizing image

Start

Convert image to double

y-direction shearing invariance

x-direction shearing invariance

End

Calculate affine matrix

Convert the coordinate to the image centroid

Perform inverse normalization

Perform overall transformation

Anistropic scaling invariance

Figure 3.4: Normalizing image flow chart

This normalization method is implemented by P. Dong. [13] Normalization is to obtain the invariance under affine geometric distortion. The coordination of the image is converted to centroid by using translation matrix. The image moment is computed and the shearing transform in x-direction is applied. The shearing of y-direction is also applied.

The image will then be scaled to a constant size by using scaling matrix. Anistropic scaling invariance is obtained. Scaling both x and y direction to obtain the overall performance. The inverse normalization will scale the image to its original position as the normalization output is rotated. The image has less noise compare to previous process and the luminance and occlusion problem will be overcome.

The image that been normalized, need to convert to gray scale image. There are few ways of converting it from matrix to gray scales where there is a build-in function mat2gray can.

3.7 Local Adaptive Thresholding

Start

Determine input for IM, ws, C, tm

End

Input =3

Input <3

Input <3

No

Error

Yes

Yes

No

No

Matrix to grayscale image conversion

IM = mat2gray(IM)

tm = 0

Yes

tm = 0

Calculate median filter

Calculate mean filter

Convert to binary image

Invert image

Figure 3.5: Local adaptive thresholding flow chart

The main function of local adaptive thresholding is to differentiate the foreground with the background with non-uniform illumination. Below are the syntax for the function:

Bw = adaptivethreshold(IM,ws,C,tm)

where

IM = input image

Ws = local window size

C = constant value

tm = 0 (mean), tm = 1 (median)

The image window is set to 65 x 65 as it had better output result. The result will be shown in section 4.1.1. Then constant c value is set to 0.02. The median value of the 65 x 65 neighborhood pixel is calculated and the original image value is subtracted with the median value. The constant c-value can affect the data quality by improving the thresholding. The thresholded image will convert to binary image for further process.

3.8 Morphological Operation

3.8.1 Dilation and Erosion

Dilation and erosion is to enhance the threshold image for better processing. Erosion is applied first by using structure element of "line" and width of 8 with 65 degrees angle. The vein size will also increase by the structure element. This is to link all unconnected vein. Dilation is applied with structure element of "disk" with the radius of 10 to shirk the vein to a better size for further processing.

3.8.2 Remove small object

This part applied the regionprops function to remove the small object. The vein in the image is set to "1" and "0" is set for the background. A region is created which contain the object area and if the object area is less than 100, the condition set that object less than 100 pixels will be removed.

3.9 Thinning

The vein will undergo the thinning process which all veins will shrink it size to 1 pixel size. This function will have better result compare to skeletonization. This is to increase the accuracy for the matching process.

4.0 Matching

Matching is the last process for this project and the data will be compared with the template in the database. Normalize correlation is applied in this matching process which will correlate the processed image and the template image.

For this method of image processing to obtain the vein, the result is unlikely to be acceptable where the error of accuracy for different data is quite high. Another method is applied to improve the accuracy and the result will be discuss in section 4.9.

5.0 Alternative method

5.1 Radon Transform

The Radon transform is named after an Austrian mathematician Johann Karl August Radon [15]. By applying an image f(x, y) with radon transform, a set of angles can be thought of by computing the projection of the image with the given angles. The sum of intensities of the pixel in every direction is the result of projection [14]. At an arbitrary point, the value of a 2D-function is uniquely obtained by the integral along the lines of all directions passing the point. The Radon transform function can be written as:

As for the syntax in MATLAB, the Radon transform is written as:

R = radon(I, theta)

The intensity of image I will be return to R for the angle theta degrees.

5.2 Two-dimensional discrete Fourier Transform

The Discrete Fourier transform (DFT) and inversed are obtained using a fast fourier transform (FFT) algorithm. The FFT of an M x N image array x can be obtained in the image processing toolbox with function fft2, where the syntax is: [16]

F =fft2 (x)

If f is a vector, the result will have the same orientation.

5.3 Phase Correlation

Phase correlation uses a straight-forward estimation of rigid translation motion between two images, which is based on the well-known Fourier shift property; shift in spatial domain of two images have a linear phase difference at the frequency domain of the Fourier transform. Two 2-D image functions of g(x, y) and h(x, y) are shift by a in horizontal and b in vertical directions. The Fourier transform are denoted G(u, v) and H(u, v). Thus,

The phase correlation can be defined as normalized cross power spectrum between G and H, which is a matrix: [17]

Chapter 4: Result

Through out the whole project all the result had been recorded. Result will shown base on table and diagram. Both of the method result will compare base on table plotted.

4.1 Image Realign

The input raw image is compare with another raw image where one of the raw images is taken as template for alignment. Figure 4.1 shows the functions where the input image is compare with the template image. The points from the two images are pointed and both of the same points between images will be link shown in figure 4.1.

Figure 4.1 Similar points between input image and template image

Figure 4.2 Result from the realignment

4.2 ROI Selection

C:\Users\Ryan\Desktop\All database\11.jpg

(a)

(b)

Figure 4.3: ROI selection

Figure 4.4: ROI selection in binary image

From figure 4.3, the left image is the raw image, by finding the region of interest, the image is converted to binary show in figure 4.4. Crop the finger region according to the white object. The output shows in right of figure 4.3.

4.3 Image Enhancement

4.3.1 Median Filtering

(a)

(b)

(c)

(d)

Figure 4.5: (a) Image before median filtering. (b) Image after median filtering.

(c) Histogram of image (a). (d) Histogram of image (b).

From the figure 4.5, the image noise is greatly reduce by the median filtering as median filtering is one of the best filtering to remove noise in an image. The image (b) is much smoother compare to (a). As the noise is removed and the image is much smoother, it is easier to continue the next process.

4.3.2 Gaussian Filtering

(a)

(b)

(c)

(d)

Figure 4.6: (a) Image before Gaussian filtering. (b) Image after Gaussian filtering.

(c) Histogram of image (a). (d) Histogram of image (b).

From the figure 4.6, figure 4.6(a) shows the image before Gaussian filtering and figure 4.6(b) shows the image after Gaussian filtering. From naked eyes, the difference between (a) and (b) don't have much different. But from the histograms show in figure 4.6(c) and 4.6(d), there are different where our eyes can't differentiate it.

4.3.3 Normalizing Image

(a)

(b)

(c)

(d)

Figure 4.7: (a) Image before normalization. (b) Image after normalization.

(c) Histogram of image (a). (d) Histogram of image (b).

From figure 4.7, the image before and after normalization have only slightly different. This is due to the image from previous process has low luminance and occlusion. The noise had successfully removed from the previous process which the noise from image 4.7(b) is similar to figure 4.7(a).

4.4 Image Extraction

4.4.1 Local Adaptive Thresholding

(a)

(b)

Figure 4.8: (a) Threshold with mean value. (b) Threshold with median value.

(a)

(b)

Figure 4.9: (a) Threshold with (mean value & window size =70).

(b) Threshold with (median value & window size =65).

From figure 4.8, by comparing mean value and median value, there is a lot of different between them. From figure 4.8, the threshold use median value have better result as it maintain the vein line while the mean value starts to join up all the vein which can caused error and accuracy can be reduce.

Window size of 65 is chosen. The result shows in figure 4.9. The bigger then window size, the less noise it have but the more data will lose. The smaller window size, the better data can be maintained but the more noise it have. To overcome this problem, morphological operation is applied.

4.5 Morphological Operation

Figure 4.10: threshold image to use for further process of morphological process.

4.5.1 Dilation and Erosion

(a)

(b)

Figure 4.11: (a) Image after dilation using (line). (b) Image after dilation using (disk).

(a)

(b)

Figure 4.12: (a) Image after erosion using (line). (b) Image after erosion using (disk).

By comparing figure 4.11 and figure 4.12, dilation have much more better result than erosion with maintaining the vein. For dilation, structure element of 'line' works better compare to 'disk' as it maintain a lot of data while 'disk' had some of the vein lost.

As for erosion, if the process is after dilation, then the erosion can produce a better vein data which the vein can be thicken where the matching part can done more accurately.

4.6 Remove Small Object

Figure 4.13: Remove small object

From the left is the dilation image as shown in figure 4.13(a), the middle is the erosion of figure 4.12(a). The region of small object is set to 100 pixels where if the object has less than 100 pixels, the object will be remove and the result can be observed from figure 4.10 where the most right is the image after removal of small objects.

4.7 Thinning Process

Figure 4.14: Thinning process

From figure 4.14, the thinning process starts after the removal of small objects. From the previous process, the image is thin until the left only 1 pixel thickness shown in middle image figure 4.14. After the thinning, the image is invert and erosion is done to increase the width of the vein for better matching result.

4.8 Matching

For matching part, normalized cross correlation is applied. Two of the image will cross correlation to find the maximum similarity for both images. Cross correlation is suitable for image where there is no orientation needed. If the image is slightly out of phase, the result obtained is less even the vein is from the same person, whereby the accuracy is low and error of accuracy is high. An alternative method is implemented. This will discuss in the next part. The result for both method will be compare at section 4.9.

4.9 Alternative method

For this alternative method, a new program is implement. The coding is much more less than the first method and the accuracy is much higher. A GUI is design to show the result for the matching process. Random permutation is applied to compare randomly for the method.

4.9.1 Radon transform

C:\Users\Ryan\Desktop\All database\47.jpg

Figure 4.15: Radon transform

Figure 4.15 shows the radon transform from image on the left. After radon transform, the image is convert to FFT (Fast Fourier Transform) to do further process to phase correlation.

4.9.2 FFT (Fast Fourier Transform)

Figure 4.16: FFT (Fast Fourier Transform)

Figure 4.16 show the transform from Radon transform to FFT (Fast Fourier Transform).

4.9.3 Phase correlation

(a)

(b)

(c)

Figure 4.17: Phase correlation (c) of (a) and (b)

From the phase correlation, the image will transform back to FFT and absolute value is obtained. The absolute value from the data will be calculate to obtained the maximum value where that is the point of similarity.

*The threshold point is determined at 75% where more or equal to 75% is the same person and less than that is a different person.

Vein from two different person is compare.

The percentage of similarity is 95%.

Full-fill the threshold point.

Vein match.

Vein from two different person is compare.

The percentage of similarity is 91%.

Full-fill the threshold point.

Vein match.

Vein from two different person is compare.

The percentage of similarity is check.

Not full-fill the threshold point.

Vein not match.

Input Template

Data 6

Status

Image 61

≥60% match

Data 6

Image 61

100%

match

Image 62

63%

match

Image 63

67%

match

Image 64

64%

match

Image 65

62%

match

Image 66

61%

match

Image 67

62%

match

Image 68

59%

match

Image 69

63%

match

Image 70

60%

unmatched

90%

Table 1: Match percentage calculation for first method (Using extracted finger vein image)

Input Template

Data 6

Status

Image 61

≥75% match

Data 6

Image 61

100%

match

Image 62

79%

match

Image 63

85%

match

Image 64

78%

match

Image 65

77%

match

Image 66

82%

match

Image 67

76%

match

Image 68

75%

match

Image 69

77%

match

Image 70

73%

unmatched

90%

Table 2: Match percentage calculation for alternative method (Using finger vein image)

4.10 Comparison between two methods

From two of the tables above, both of the methods have 90% match. From the table 1, the same data images comparison has accuracy of 66%. The threshold point for first method is 60% where image have % more than 60 is the same person while less than 60 is a different person.

Same to table 2, the same data images comparison has accuracy of 80%. The threshold point is set at 75%. From two of the table above, alternative method have better accuracy of matching.

  Temp In

Data 1

Data 2

Data 3

Data 4

Data 5

Data 6

Data 7

Data 8

Data 1

60%

77%

75%

66%

54%

60%

53%

66%

Data 2

54%

70%

66%

54%

49%

63%

65%

54%

Data 3

63%

57%

100%

73%

57%

56%

64%

70%

Data 4

54%

63%

58%

70%

61%

77%

71%

63%

Data 5

58%

65%

62%

75%

80%

53%

52%

54%

Data 6

70%

71%

73%

60%

74%

70%

63%

64%

Data 7

78%

56%

76%

67%

53%

74%

90%

72%

Data 8

68%

74%

65%

58%

69%

56%

53%

80%

Table 3: Match (different data) % calculation for first method (Using extracted finger vein image)

Error of accuracy for match data (similar data)

  Temp In

Data 1

Data 2

Data 3

Data 4

Data 5

Data 6

Data 7

Data 8

Data 1

90%

33%

75%

40%

54%

40%

39%

43%

Data 2

49%

100%

34%

54%

49%

34%

39%

34%

Data 3

37%

43%

100%

33%

47%

53%

44%

47%

Data 4

45%

39%

41%

100%

33%

43%

31%

50%

Data 5

55%

42%

51%

75%

80%

32%

55%

35%

Data 6

43%

52%

37%

51%

34%

90%

35%

46%

Data 7

57%

36%

40%

48%

42%

37%

100%

53%

Data 8

42%

36%

35%

40%

31%

28%

33%

100%

Table 4: Match (different data) % calculation for alternative method (Using finger vein image)

Error of accuracy for match data (similar data)

Error of accuracy for mismatch data (different data)

First method

Alternative method

Overall error of accuracy for matching

First method

Alternative method

From table 3 and table 4, table 3 shows that the matching is not so accurate compare to alternative method where the error of mismatch data is higher. From the equation above, the overall error of accuracy for matching for both are 32% for first method and 24.5% for alternative method. Alternative method has better accuracy and less error of matching compare to first method. First method is less accurate and has higher chances of error.

Chapter 5: Discussion

Problem Encounter

From the start of the project, the finger vein databases are provided. The problem encounter is that all databases don't have same intensity and the finger being scan some are out of the alignment. To overcome this problem, the finger vein image is being enhanced to improve the image quality and alignment is done to realign back the image to a stand alignment.

Before local adaptive thresholding is applied, the result obtained is not acceptable where some of the foreground and background are count as a object. Without the local adaptive thresholding, the foreground and background are very hard to differentiate. After applying the local adaptive thresholding, the foreground and background are differentiate equally. Further extraction can be done more accurately.

When doing the morphological operation, there are a lot of structure element can be applied with and each of the structure element have different output. To select which of the structure element to be used, all the structure element are tried and use on both dilation and erosion.

For thinning process, there are several ways of thinning the vein such as skeletonization and thinning. The problem encounter here is that the matching is much more inaccurate if skeletonization is applied as there are a lot of spikes. By using thinning, the vein is much better to do matching and if endpoints is applied, thinning have less end point compare to the skeletonization. Both with endpoints and without endpoints had been try out for this project.

For the first method of matching, normalized cross correlation is applied. The problem occur for this process is that all images are not at the same location and some maybe unaligned. For cross correlation, two of the image must have the same alignment to achieve better result whereas the result will totally unacceptable as the accuracy is very low.

For the first method of matching, the result are not good enough as the overall error is quite where different person vein can be matching as the same person. From the alternative method, even though the error of accuracy for different data is slightly high, but this problem is solve by the high accuracy of matching. Finger vein more than 80% is defined as same person while less than 80% is count as another person. From the table 4, error of accuracy for different data has approximately 60% to 70% similar but the threshold point is at 80%. So, there wont be a problem if the error of accuracy for different data is slightly higher.

Chapter 6: Conclusion

This project algorithm had been develop by using two method. Both of the method can perform image processing from pre-processing till the last process which is the matching. From the raw image of the finger vein, the ROI is cropped to do enhancement. Enhancement is applied to remove the noise of the image and improve the image quality. The enhancement reduces the noise approximately 65% from the image.

The image which has problem of luminance or occlusion is being overcome using the image normalization. The foreground and background can differentiate well by use the local adaptive thresholding. Morphological operation is applied to improve the matching accuracy by repairing the image in ways that the unconnected vein is connected using dilation and erosion. Thinning method is applied to thin the vein to a 1 pixel size line for matching process.

For the matching process, the first method used normalized cross correlation while the alternative method used phase correlation. Both correlation are done and data and plotted. For finger vein recognition, normalized cross correlation are not suitable as two of the images being correlated doesn't have same alignment or phase which can reduce the accuracy of matching. For phase correlation, two images which has different alignment or phase can be correlate with high accuracy as the correlation happen on every angle and phase which increase the accuracy.

The percentage of error for match data is as low as 4% for the alternative method and 18% for the first method. The percentage of error for mismatch data is slightly higher which is 45% for alternative method and 26% for first method. Overall of the project is considered successful, as the overall error is acceptable for the alternative method.

Chapter 7: Recommendation

This project still has a lot of space to be improved for the matching accuracy of the finger vein pattern. Better enhancement can be applied to the raw image to increase the image quality and reduce the noise and lighting problem. Other filtering method can be apply such as Gabor filter, Gabor wavelet, DFT (Discrete Fourier Transform) and FFT (Fast Fourier Transform). Apply algorithm on frequency spectrum to improve the image enhancement and the matching accuracy.

BLPOC (Band Limit Phase Only Correlation) method can be applied to improve the image enhancement and the matching result. The accuracy of the matching result may have error of accuracy less than 1 %.

Better database can be provided or image capture must have better quality in order to improve the finger recognition.

No

Technical Objectives

Status and Explanation

1

To Design and develop a finger vein recognition using MATLAB algorithm.

Achieved by develop an algorithm using MATLAB for finger vein recognition.

2

To research a new method to extract finger vein based on the literature review.

Achieved. Research on using phase correlation compare with cross correlation in matching process

3

To enhance the vein information by using filtering and threshold technique.

Achieved. Filtering through median filter, Gaussian filter and Local Adaptive Thresholding

4

To produce the segmented object image by using morphological operation.

Achieved. Implementation of dilation, erosion, and thinning

5

Develop a matching algorithm in order to evaluate finger vein extraction method.

Achieved. Additional task on comparing matching method using normalized cross correlation and phase correlation. Output showed under result section.

REFERENCE

[1] http://www.globalsecurity.org, Sept 2010

[2] http://homepages.inf.ed.ac.uk/rbf/HIPR2/median.htm, Nov 2010

[3] Wang Kejun, Liu Jingyu , Popoola Oluwatoyin P and Feng Weixing, "Finger Vein Identification Based On 2-D Gabor Filter"

[4] http://en.wikipedia.org/wiki/Image_segmentation, Nov 2010

[5] http://en.wikipedia.org/wiki/Thresholding_(image_processing), Nov 2010

[6] R. Gonzalez, R. Woods and S. Eddins, "Digital Image Processing Using MATLAB", Pearson Prentice Hall Publishing Company, pg 407.

[7] R. Gonzalez, R. Woods and S. Eddins, "Digital Image Processing Using MATLAB", Pearson Prentice Hall Publishing Company, pg 337.

[8] http://homepages.inf.ed.ac.uk/rbf/HIPR2/strctel.htm, Dec 2010

[9] R. Gonzalez, R. Woods and S. Eddins, "Digital Image Processing Using MATLAB", Pearson Prentice Hall Publishing Company, pg 343.

[10] http://homepages.inf.ed.ac.uk/rbf/HIPR2/thin.htm, Dec 2010

[11] R. Gonzalez, R. Woods and S. Eddins, "Digital Image Processing Using MATLAB", Pearson Prentice Hall Publishing Company, pg 490.

[12] R. Gonzalez, R. Woods and S. Eddins, "Digital Image Processing Using MATLAB", Pearson Prentice Hall Publishing Company, pg 131.

[13] P. Dong et al.'s paper: "Digital Watermarking Robust to Geometric Distortions," IEEE Trans. Image Processing, Vol. 14, No. 12, pp. 2140-2150, 2005.

[14] http://www.cvmt.dk/education/teaching/e07/MED3/IP/Carsten_Hoilund_-_Radon_Transform.pdf, Jan 2011

[15] Wikipedia. Johann Radon. http://en.wikipedia.org/wiki/Johann Radon, Jan 2011

[16] R. Gonzalez, R. Woods and S. Eddins, "Digital Image Processing Using MATLAB", Pearson Prentice Hall Publishing Company, pg 112.

[17] http://www.isprs.org/proceedings/XXXVII/congress/7_pdf/6_WG-VII-6/43.pdf, Mar, 2011

Coding reference

http://www.mathworks.com/matlabcentral/fileexchange/8647-local-adaptive-thresholding

http://www.mathworks.com/matlabcentral/fileexchange/15686-image-normalization-and-inverse-normalization

http://www.mathworks.com/matlabcentral/fileexchange/28300-opensurf-including-image-warp

http://compgroups.net/comp.soft-sys.matlab/Problem-about-using-phase-correlation-to-find-rotation-angle