You are on page 1of 11

DELHI TECHNOLOGICAL UNIVERSITY

Biometric Hand Identification System Using Digital Image Processing


(Term Paper EEE IV Sem)
Utkarsh Satyawadi, Utkarsh Raheja, Digvijay Gusain, Aman Samaiyar

Biometrics is derived from Greek words bios meaning life and metrics meaning measurement. This directly translates into the term life measurements. Biometric technologies measure a particular set of persons vital statistics to verify a persons identity. Biometric technologies in todays market have a general perception of identification and verification technologies. These technologies use an individual's unique biological traits to determine one's identity. The traits that are considered include fingerprints, retina and iris patterns, facial characteristics and many more. We attempt to look into the present biometric hand recognition systems in use and advancements in the biometric technologies such as wireless biometric technologies and contact-less hand recognition systems.

Digital Image Processing Biometric Hand Identification System


Utkarsh Satyawadi, Utkarsh Raheja, Digvijay Gusain, Aman Samaiyar

accuracy of identification and decrease error rate. These include lengths of different fingers, contour of the INTRODUCTION boundaries, handprint patterns, etc.. Measurement of such data requires the Biometric Identification systems find person to place their hand in a specific varied applications in security industry. manner, keeping appropriate distance Hand identification is one such system between fingers while not stretching the where the image of a persons hand is used fingers too apart. To ensure correct to identify the person by comparing spacing, many systems provide the outline specific features of the image with an of a hand to demonstrate appropriate already existing image in the database of spacing. After ensuring that required data the system. Such a system has gained a lot has been acquired, processing of data is of popularity owing to the small amount of done before finally comparing it with the space (as small as 10 bytes per record) is database using various image processing required due to which it is extremely techniques. Here, the input image portable. Moreover, these are suitable for considered is a grey scale image. It is first medium and low security work as there is converted to a binary image, after which lack of privacy concern as hand noise filtering is done. The noiseless recognition is not considered distinctive image obtained is then processed by an enough to establish a positive identity. edge detection algorithm using a canny A number of geometric features are filter employing a convolution kernel after considered while identifying any input which feature extraction is done. The image. Some systems use up to 90 different parameters in order to improve

acquired image data is then matched with existing data in the system database. Using hand recognition systems, False acceptance rate (FAR) and False rejection rate (FRR) as low as 2 and 3.5 percent respectively have been obtained. Thus these have acceptable levels of accuracy at implementation levels with other added advantages as mentioned above. These systems can be implemented with software programmed in Matlab code, and

hardware designed in VLSI FPGA system using Verilog/VHDL.

MAIN RESULTS
A. Preprocessing

A flatbed scanner is used to get the grey scale image. It is an image of jpeg format. appropriate level can be found out by hit and trial after which the image can be sent for noise removal. Care should however be taken to ensure that threshold levels are not too low as this could lead to high levels of noise in the image.

Components of a biometric system

The example considered here is of a hand without any deformity. However, if the hand has some deformity, the present system fails to recognize it. RGB values for each pixel are taken and a threshold is selected for each of the RGB colors above which all pixels are white and below it all are black. Initially, a value very close to the black pixels in the RGB image is selected, which renders a hand which is completely white with a black background with some amount of noise. The

Fig 1.Input grayscale Image

Fig 2.Input image after binarization

Noise Removal Noise is defined as perturbations in pixel values. It occurs in the imaging process and can seriously hamper visual interpretation. The image obtained after binarization is a noisy one due to a number of factors contributing in it. These include a dusty or sweaty palm or scanner screen, humidity in atmosphere, arrangement of the scanner, etc. Hence noise is inevitable and affects the accuracy of identification and hence must be removed. Noise filter algorithms step in here. However, there are limitations to this too as such algorithms also affect the useful data and so a balance must be maintained to ensure that no data is lost. The actual handprint is present in only the lower central half of the image. Thus, a binary search algorithm is used which looks for an entire row with black pixels. It starts from the center of the screen and works its way upwards. When such a row

is found, all rows above it are made black which removes any noise present in this region. Similar search is done to find columns towards left and right of the image in which no lit pixels are found and all columns to the left and right of these is made black leading to considerable decrease in the noise level of the image without affecting the actual image. The remaining noise is left in the palm region and between the fingers for which a convolution filter is used which looks for a white pixel completely surrounded by black pixels and converts it into a black one considering it as a noise element. The convolution simply multiplies each pixel value in the neighborhood of a pixel with some static weights and then assigns the sum of these products to the central pixel value. To prevent this process from increasing the brightness of the image, the weights are either chosen to sum up to 1 or else the result is divided by the sum of the weights. This set of weights form what is called a convolution kernel and is generally written in matrix form. Generally, the matrix is a square is of odd order and the convolution is applied to the pixel corresponding to the central cell of the matrix. This is done to prevent the image to shift in position by half a pixel with respect to the original image. First, a 3*3 kernel is used and then it is extended to 5*5 and 7*7 kernels to progressively remove larger and larger noise elements from the image.

Edge Detection This process is necessary to extract features from the palm print. The white pixels should hence be limited to just the boundary of the actual image. The thickness of the boundary should be as small as possible as this adversely affects the accuracy of feature extraction. It should not miss any edge or not recognize a nonedge as an edge. This decides the error rate of the edge detection filter. The distance between the actual edge and the detected filter should not be large and also not provide multiple responses for single edges. Thus, a canny filter is used which employs a convolution operation. The convolution operation employs moving a kernel over the input image starting from the top left corner of the image. The result is the sum of the product of each cell of the kernel with the corresponding pixel values neighboring the pixel on which the kernel is acting. Thus, each movement of the kernel produces one pixel value.

edges. This can distort the image but in this case, all pixel values other than the actual image are black in value so, adding another row or column having same value of 1(black) would not affect the actual image. However, towards the bottom of the image, it may have an added advantage of marking the bottom part of the wrist i.e. the part where the wrist is attached to the palm.

The Kernel to calculate gradient along y-axis

The edge detection filter is basically a high pass filter as it allows only the high frequency or low wavelength pixels to pass through it. The kernels we use here calculate the x- and y- gradient and hence, are able to calculate the angle to which the edge bends. Since the only angles of movement from each pixel can be 0, 45, 90, 135, 180 degrees, the value calculated above is rounded of to one of these values which tells the direction to move for marking the edge. Here the pixel at which the gradient is being calculated is taken as the reference with respect to which the angle is measured.

The Kernel to calculate gradient along x-axis

The size of the output image must not be greater than the input image and this is ensured by not moving the kernel to pixels where the kernel may slide off the actual image, leaving the edges unprocessed. Hence, new pixel values are invented at the

length of each line is first extracted and the length of the finger is the length of any of the longer lines, the shorter ones marking the width of the finger. This method, though not accurate and depends strongly on the way a person places the palm, is a fairly simple technique which provides with the added advantage of faster processing and hence saves time.

Fig 3.Edge detected input image

Feature Extraction The first feature that can be extracted is the finger length which is defined as the distance between the tip of the finger to the third and bottommost line on the finger. The second feature is the width of the finger for which multiple measurements can be taken. The thumb has only one clear line bisecting it and so, the definition of length for a thumb is a little vague. The diameter of the largest circle that can be inscribed in the palm or the fingers can also be used as a feature. Here, we consider finger length and width measurements for the 4 fingers excluding the thumb which makes 12 measurements which along with perimeter of the entire palm makes a total of 13 features of comparison. The tip of the finger is identified first and then, the finger is considered as two parallel lines with two the lines running perpendicular to the first two lines. The

1. FINGER LENGTH: The algorithm for this starts searching for a lit pixel from the top left corner of the image and moves column-wise to find the first lit pixel. This lies somewhere along the left perimeter of the image. It then moves along the lit pixels to reach the tip. As the algorithm traverses the lit pixels, the x- and ycoordinates change with y increasing and x may increase or decrease. The algorithm stops when y cannot increase any further. This point is marked as the tip (x1, y1). A line detection algorithm is now used to find out the bottommost point (x2, y2). The distance between the points is then taken as the length of the finger.

The Kernel for horizontal line

The Kernel for vertical line

The Kernel for 45deg line

Fig 4.Features extracted from input image

The Kernel for 135deg line

The algorithm for line detection utilizes a convolution based scheme. This can be used only for thin lines as is the case here. There are 4 kernels being used, one each for 0, 45, 90,135 degrees, each tuned to give a high positive response for a dark line against a light background and a high negative response for a light line on a dark background. It can hence be used in both cases by using only the absolute value of the response.

Once the tip has been marked, the kernels are each applied to a pixel. The kernel with the highest response is selected and the algorithm moves in that direction subject to the condition that the value of y increases always. The algorithm stops when no positive response is obtained for any pixel for all of the kernels and this is marked as (x2, y2). Hence, the distance can be calculated between the two points. Till now the right boundaries of the fingers had been considered for the little as well as the middle fingers but, for the index finger, the left boundary must be considered as the right boundary extends along the boundary of the palm itself and so, the length of the finger calculated would be much higher than the actual length. The ring finger is longer than the little finger and so, the algorithm looks for an x value farther away from the tip of the little finger and only up to the y coordinate of the little finger. Same relation holds between ring and middle finger but not between middle and index finger. Here, the search for x greater than middle finger and y less than little finger is done. If however, the tip is not found, we search for y less than little with the

assumption that the little finger is longer than index finger. These tip coordinate values are then processed upon by the line detection algorithm to get the length of each finger.

2. FINGER WIDTH: Two fixed points are chosen on the boundary of the finger and width is taken at these points. To find the two fixed points, the boundary is considered as a straight line and two points are selected such that they divide the line into 3 equal halves. The parameters for this line have already been found out while calculating the finger length. The least square method is used for interpolating a straight line along these pixels. All these values are found in one pass through the finger improving the performance considerably. From the previous analysis, (x1, y1) and (x2, y2) mark the tip and bottommost point respectively, from which perpendiculars are dropped on to the interpolated line using least square method. This marks the starting and end points for the line. Once these are known we can find out points which divide this line into 3 equal halves. These points are marked (x3, y3) and (x4, y4). It is from these points that perpendiculars are dropped on the interpolated line to go on to meet the other boundary of the finger. To find the point where this perpendicular meets the other boundary, the algorithm traverses, starting from (x3, y3), along the x-axis towards the other boundary till it finds a lit pixel which marks the other boundary. The algorithm tries to find a

point closest to the perpendicular line by considering all pixels at a distance of two pixels or less from the current pixel. It looks for the pixel with the smallest distance to the perpendicular line. It then considers this pixel and again repeats the above procedure till the minimum distance to the line stops changing. The width of the finger is then the distance between this point and (x3, y3). The same process is repeated for (x4, y4). The basic algorithm is the same for all fingers except the index finger for which the direction of traversal reverses.

3. PERIMETER: To find the perimeter the algorithm must move along the outermost boundary of the palm forming a closed loop. The problem here is posed due to the lines on the fingers and the palm which may form different loops themselves. The loop with the largest perimeter is the actual perimeter of the hand-print. An algorithm which takes the path with the chance of returning the largest perimeter is chosen. While traversing the boundary, complications arise at a fork which is a point from which more than one choice is available. A fork may be formed between the outer boundary and the inner palm lines or may be formed only between the inner lines. Utilizing the fact that the palm structure is constant, the probability that the algorithm traverses the correct path is made unity. Thus, just one traversal is enough as no detours are taken.

Probability Matrix

forced to take a number greater than 6. The priority matrix is then suitably reversed so that even now, it has to select the leftmost point. For reversing the matrix, the mirror image of the original matrix about the point P is taken till another turning point is encountered where the matrix gets reversed to its original form again.

Matching of Features
Priority Matrix

Every pixel is surrounded by eight pixels where it can move next. One of these is however the one from which the counter has moved to the present pixel and so there are only 7 more possibilities where it can move next. In case of a non conflicting situation, we have only one pixel having value 1 and this is the one to which the counter has to move next. Now, consider the algorithm to start from the leftmost boundary. At each step of conflict, thus, it chooses the leftmost pixel having value 1. For this priorities are given to each of the eight neighboring pixels with 1 indicating the highest and 8 the lowest priority so that every time a conflict arises, the algorithm chooses the pixel with the highest priority. These priorities are assigned in such a way, so as to get the largest perimeter. The priorities work fine when moving upwards but when the tip is reached, the priorities must change as now it must move towards the valley between the fingers. The algorithm must decide when the tip has been encountered for which we consider the point when the algorithm is

The features extracted above must be compared with the records in the database for identification. However, even under the best conditions we cannot expect the features to match exactly. The features extracted are positive integers. Thus, the sum of the difference in the values in the database and the values received from a person is calculated. The difference of each feature is treated separately. Lower the magnitude of the feature, the more significant the difference value becomes. To find a match, two separate values are calculated. First is the difference of the features from the two images. The second is the sum of the magnitude of the two images. The relative importance of the first value with respect to the second value must be seen. diff. = magnitude of database image magnitude of input image sum = magnitude of database image + magnitude of input image Using the value of sum the difference between features can be viewed in the proper context. Match = sum / diff. A score is then assigned to this value of match. This is the match-score for this

feature. The sum of the match-score for all the features is called Total match-score. It is this total match-score that is compared with a threshold to authenticate a user. The threshold is determined by testing. A number of negative tests are tried and the match scores are noted. Similarly, a number of positive tests are carried out and the match scores noted. Using these values a match-score is selected such that it is less than a maximum of positive test matchscores and greater than maximum number of negative cases is chosen. This is selected as the threshold value. The value of match may be different for different features but if suppose diff. = 0 for some feature, match is infinite and in such a case, it would not matter what is the difference for the other features as the sum of the match-scores will always be greater than the threshold. Thus, in such a case, a person may get wrongly authenticated. The value of match can be between 0 and infinity but, this range can be broken into a number of smaller ranges using a set of constants. The constants in decreasing order are c1> c2> c3> .. > cn and the ranges are from [0,cn] to [c1, inf.]. To get the score, match is divided by the set of constants. detrange = match / ci This division is continued till, for some value of i, detrange is greater than 1. This provides us with the range in which sum lies depending on which a score is assigned to the feature. Score is an integer and can be positive or negative. Score reflects the closeness of features of the two images. It is highest for differences lying in [0, cn] and lowest for differences in [c1, inf.]. Thus, score for [ ci, ci+1] is double that of

[ci+1, ci+2] unless it is negative in which case the opposite is true. Each feature is assigned a weight depending on its importance. Therefore, Match-score = sumof( wi * scorei) If match-score is greater than the threshold, the system accepts the user as authentic. Ideally, the match-scores for all authentic users must be large positive values and for unauthorized users, should be negative. The advantage of using a weight for every feature is that in case some features are considered unreliable, their weights can be reduced to decrease their contribution to the total match-score, thus increasing the probability for a match.

Conclusion: The use of biometrics as a reliable means meeting the security concerns of todays information and network based society cannot be belittled. Biometrics is being used all over the globe and is undergoing constant development. Hand geometry has proved to be a reliable biometric. The proposed work shows how to utilize the shape of the palm to extract features using very simple algorithms. The palm creases and even the fingerprints can be extracted from the input image. Combining all these biometrics would result in a multimodal system with very high accuracy. The image extracted is in grayscale format. If a colored image is utilized for the system additional features such as the color of the palm can also be used. For huge

databases the search takes a long time and color is so distinct a feature that it can be used as an initial classifier so as to narrow the search space in the database considerably. The use of neural network based classifier trained on a larger database may result in further improvement of the system accuracy.

References 1. Michael M. Blane, Zhibi Lei, Hakan


Civi, and David B. Cooper. The 3l

algorithm for fitting implicit polynomial curves and surfaces to data. IEEE Trans. Pattern Anal. Mach. Intell., 22(3):298313, 2000. 2. Y. Bulatov, S. Jambawalikar, P. Kumar, and S. Sethia. Hand recognition using geometric classifiers. 1999. 3. Francesco Bergadano, Daniele Gunetti, and Claudia Picardi. User authentication through keystroke dynamics. ACM Trans. Inf. Syst. Secur., 5(4):367397, 2002.

You might also like