Android Based Palmprint Recognition System

This paper aims to build a palmprint recognition system based on Android. Line detection and non-overlapping blocks methods used on the design of palmprint recognition system.Normalized Euclidean distance was used to match the two feature vector. The similarity degrees was measured by the smallest value. The method was applied to the system can result an accuracy rate about 91,88% (FMR = 4,92%, FNMR = 3,2%, T = 0,267). System testing was done as much as 2500 times to the 50 participants with 3 reference images of each user. The factor that influenced on system accuracy was the process of image acquisition.Palmprint images was taken directly by using camera on the android smartphone device


Introduction
Biometric recognition system is a system that usethe unique characteristics of each individual.This system is more reliable than the token inclusion and recognition of knowledge.Each individual has a different physiological characteristic and behavioral characteristic.Physiological characteristic is relatively stable physical characteristic like a fingerprint, iris, face, and hand geometry.While behavioral characteristics such as voice, and signature are influenced by the psychological condition that easily changed.A lot of developers havedeveloped the recognition system based on physical or physiological characteristics.Fingerprint and face are the most commonly used [1][2][3][4].In this paper, biometric recognition system will be designed by using palmprint images.
Palmprint has many unique features that very interest to develop as a self-recognition system.The palmprintis expected to generate a feature which has the distinguishing capability more reliable.The geometry features, principal-line features, wrinkle features, delta-point features, and minutiae features are had by the palmprint [7][8], [16].
The design of biometric recognition system is required a reliable method to generate image feature.In this paper, palmprint recognition system is designed by using line detection method and non-overlapping block method.This methods are able to generate the image feature of palmprint that can be used in recognition proccess.Normalized Euclidean distance is a method that used to measure the similarity degree by a feature of palmprint images.
Android is an operating system which provides an open platform, so that application developers able to develop own applications.Many convenience is provide by Google for software developers, such as the Android Developer Tools plugin for Eclipse, including the ability to logging in realtime, ARM emulator that runs natively realistic error and error reporting.Java is a programming language used on Android.However, the Android has provided some special library that can only be used on Android.

Research Method
In this paper, the application of palmprint recognition system is designed with line detection and non-overlapping blocks methods [4][5][6].The recognition system will be applied to devices based on Android smartphones.Each phase of image processing will be automatically processed on the system.

System Overview
Palmprint recognition system is divided into two modules.Namely the enrollment module and identification module.Enrollment module is the process of storing user data into the database.While the identification module, it is comparing the test data with the user data that has been stored in the database.

Enrollment module
Enrollment module is enrollment phase of the user's identity into a database such as name, address and a feature vector.Phase on enrollment module can be seen in Figure 1.The enrollment module, users enter three palmprint images on the position and same conditions.Then the system will process the palmprint images to generate the feature vector.There are three feature vectors of one user is stored on the database as shown in Figure 1 above.Feature vector A will be used as the primary feature vector by the system in the process of identifying the palmprint images.Feature vector B and C are used as a feature vector calculation.It will generate the threshold value that will be stored in the database.The process of calculation to obtain the threshold value is shown in Figure 2.  The identification phase, the features of test images are compared with the features of reference images with a normalized Euclidean distance method.The smallest value is resulted by the calculation of the normalized Euclidean distance will be compared with the threshold value.If the value of normalized Euclidean distance is smaller than the threshold value, then the system will provide output of a valid or invalid user identity.Conversely, if the value of normalized Euclidean distance is larger than threshold value, the user can not be identified.

Cropping
Palmprint images was taken directly by using camera on the android smartphone device.It is also taken with the same conditions.The process of image acquisition system is shown in Figure 4 (a) and cropping results in the system is shown in Figure 4 (b).Cropping process is adjusted by the blue box area as shown in Figure 4 (a).Then it will be resized into the image of size 64 × 64 pixels.Then palmprint image is converted into a gray image [1][2][3][4][5][6][7][8][9][10][11][12][13][14][15].

Palmprint normalization
Normalization process aims to reduce the errors due to imperfection or inconsistence lighting of image acquisition at the time.The result of intensity normalization light on the system is shown in Figure 5. Results of normalized intensity depends on the value of ɸd and ρd.The value of ɸd and ρd are the mean and variance that expected [1][2][3][4][5][6].The value of ɸd and ρdon the system areɸd = 180 and ρd = 180.

Line detection
Line detection is the initial phase to generate feature of the system needs.The results of line detection process is shown in Figure 6.The process of line detection is done by convolving the pixel values on direction mask: 0 0 , 45 0 , 90 0 , and 135 0 [4][5][6].The mask size is used in the design of this system is 3 × 3 mask.

267
If the first mask is moved around the image it will generate closer lines (one pixel thick) with a horizontal direction.The background of constant is giving maximum response when the line is crossed the center line of the mask.In the same way, a second mask on the image will give the best response that is directed 45 0 , the third mask for vertical lines and the fourth mask for lines direction is 135 0 [4][5].The results of the line detection process will result in four images with size 60 × 60 pixels.Furthermore, the four images will be processed by the method of nonoverlapping blocks.

Block processing
Operation blocks in the design of this program is use non-overlapping blocks.After doing line detection process, then the system will form a feature vector [4][5].The equation is used to non-overlapping block operations as follows: (1) M shows that the total number of pixels in each block, x shows the oixel value and μ shows the average value.The average value (μ) can be calculated by the following equation: σ shows a block standard deviation to i, and N shows the total number of blocks.In palmprint recognition system design based on android is using a block size of 4 × 4.The differences of feature vector of each user are shown in Figure 7 Each result of line detection will be process of non-overlapping blocks, so a palmprint image will result in 900 feature vector to be stored in the database.The system will result in three feature vectors when the user saving the data in database.

Normalized Euclidean distance
Normalized Euclidean distance is a method used to compare the degree of similarity between the feature vector of test image with the reference image.The equation of the normalized Euclidean distance is as follows [1], [4][5]: || v || called the norm of v is expressed as: The smallest value of the normalized Euclidean distance, that the two feature vectors is matched.Conversely the greatest value of the normalized Euclidean distance, that the two feature vectors is different.

Threshold value
Threshold value is the value used as a reference in the external test images focus on user not listed in the database.The determination of threshold value in the design of palmprint recognition system is using the following equation: k constants as the coefficient multiplier to generate threshold value that is more tolerant when image acquisition on the system is not appropriate.User will not be identified or recognized by the system if the resulting value is greater than the threshold value.

Results and Analysis
The purpose of testing these applications is to determine the effectiveness and performance of applications that have been made.This test will be able to provide a conclusion on how effective calculation method that allows to solve the problems that exist and how well the performance of palmprint recognition system implemented on smartphones with Android platform.

Results of Interface Applications
Palmprint recognition system based on android has two system main menus, namely the home menu and database menu.Figure 9 shows the interface palmprint recognition system based on Android.The enrollment of user identity process is done on database menu.Users input palmprint image data to be used as a reference image and identity of names and addresses.User input three palmprint images to be used as a calculation to obtain the threshold value.The identification process is done on the home menu as shown in Figure 10.The results of process the intensity normalization and masking are shown on home menu.Users who not register in the database cannot be identified by the system.

Results of Experiment
System testing is done by finding the value of FMR (False Match Rate) and FNMR (False Non-Match Rate).FMR is error when the application receiving a user identity is not registered in the database as a user or recognize other user.FNMR is an application error when the system rejecting a user identity that is already stored in the database.
An error ratio of FMR and FNMR are influenced by the size threshold value.If the system results in a large threshold value, then the system will more receptive to the user identity.It can cause receive error system of the user's identity who not registered in the database.Meanwhile, if the threshold value is small, then the system will be difficult to accept the identity of the user.It also can cause the system made a mistake in rejecting user identities that have been stored in the database.Tests on the system as much as 2500 times by 50 participants with 3 reference images are stored on the database.Tests carried out on the lighting conditions and the position of the same image acquisition.Receiver Operating Characteristic (ROC) curveof the systemis shown in Figure 11.Palmprint recognition system was designed on the android device which has advantages in the implementation that can be done anywhere.But the accuracy rate was relatively lower than the PC application [4].Differences of accuracy level were influenced by image acquisition process.In general, the acquisition process was designed on a PC using additional tools such as box, so as to produce a high accuracy rate.Meanwhile the design of palmprint recognition system at this time, the acquisition process can be done anywhere and any conditions.The system applied to the android device more flexible than the system implemented on a PC.
Figure 11 (a) shows the system can result in an accuracy rate of 91.08% (FMR = 5,44%, FNMR = 3,48%, T = 0,266) with one reference image, this means that the system has a success acceptance rate of 94,56% and rejection system accuracy rate of 96.52%.Figure 11 (b) shows the system can result in an accuracy rate of 91.40% (FMR = 5,32%, FNMR = 3,28%, T = 0,266) with two reference images, this means that the system has a success acceptance rate of 94,68% and rejection system accuracy rate of 96.72%.Figure 11 (c) shows the system can result in an accuracy rate of 91.88% (FMR = 4,92%, FNMR = 3,20%, T = 0,267) with three reference images, this means that the system has a success acceptance rate of 95,08% and rejection system accuracy rate of 96.80%.The results of test show that the differences of number of reference images influence the system accuracy.Highest of system accuracy generated on testing using 3 reference images.

Conclusion
System testing by using three reference images from 50 participants who performed a total of 2500 times are indicating the system can work well.The test results are showed the android as the mobile device operating system capable of providing satisfactory results in the application of palmprint recognition system.Android has not provided specific libraries to detect the palmprint image.So the problems that often arise in testing is the process of image acquisition.In further developments, this paper is expected to be a reference in the development of other biometric program based on android, such as application of biometric multimodal, attendance application, forensic application and anything else.

Figure 4 .
Figure 4. Preprocessing process (a) image acquisition and (b) cropping process

Figure 7 .TELKOMNIKA
Figure 7.The results of feature vector by the system (a) the feature vector of same palmprint, (b) the feature vector of similar palmprint and (c) the feature vector of different palmprint.

Figure 10 .
Figure 10.The results of recognition system (a) the system recognize and (b) the system unrecognize.


Figure 11.ROC curve of the FMR / FNMR (a) tests of one reference image, (b) tests of two reference image, (c) tests of three reference image