Toward Palmprint Recognition Methodology Based Machine Learning Techniques

— The presented paper proposes an algorithm for palmprint recognition using seven different machine learning algorithms. First of all, we have proposed a region of interest (ROI) extraction methodology which is a two key points technique. Secondly, we have performed some image enhancement techniques such as edge detection and morphological operations in order to make the ROI image more suitable for the Hough transform. In addition, we have applied the Hough transform in order to extract all the possible principle lines on the ROI images. We have extracted the most salient morphological features of those lines; slope and length. Furthermore, we have applied the invariant moments algorithm in order to produce 7 appropriate hues of interest. Finally, after performing a complete hybrid feature vectors, we have applied different machine learning algorithms in order to recognize palmprints effectively. Recognition accuracy have been tested by calculating precision, sensitivity, specificity, accuracy, dice, Jaccard coefficients, correlation coefficients, and training time. Seven different supervised machine learning algorithms have been implemented and utilized. The effect of forming the proposed hybrid feature vectors between Hough transform and Invariant moment have been utilized and tested. Experimental results show that the feed forward neural network with back propagation has achieved about 99.99% recognition accuracy among all tested machine learning techniques.

and ridges which are unique for each human [3]. Fig. 1 shows the main morphological lines of palmprints. In this paper, we have proposed a palmprint recognition system in the state of the art of supervis ed machine learning techniques. The proposed methodology has three main stages as discussed in Fig. 2; (i) specifying the appropriate region of interest (ROI) with respect to its two key points as shown in Fig. 3, (ii) indicating the principle Lines of interest with the most salient features. These features have been formulated by interlacing two types of features; a) morphological featuresbased Hough transform algorithm for detecting principle lines of the palmprint effectively, b) Invariant moments based seven hues, (iii) Recognizing the target palmprint. The rest of this paper is organized as follow: section II represents the literature review of interest, section III represents the proposed steps and algorithms for ROI extraction, section IV introduces the proposed steps and algorithms for the applied techniques of feature extraction, section V presents the tested ML algorithms, section VI introduces the experimental results and discussion, and section VII introduces the final conclusions and the future work of interest.
II. RELATED WORK D. Zhong et .al has presented an extensive overview of research processed at palmprint recognition. The manuscript has discussed the main types of image acquisitions, different methods for ROI extraction and the most used feature extraction and matching techniques in the previous studies [4].  of multi-algorithm used for palmprint recognition system. They have applied many techniques such as competitive valley hand detection methods (CHVD) which is responsible for getting the Region of Interest (ROI). They have presented three methods for feature extraction: local binary pattern (LBP), twodimensional locality preserving projection (2DLPP) and fusion of LBP+2DLPP [5].
N. Charfi et .al presented a bimodal hand identification technique based on scale invariant feature transform (SIFT). The recognition has been utilized based on features that would be extracted from hand shape and palmprint modalities. In addition, they have performed incorporation between features and decision levels using a cascade incorporation technique in order to generate the final identification rate of their bimodal system [6].
J. Cheng et .al presented a technique that is called deep convolutional feature depending on supervised hashing (DCFSH) for palmprint recognition. They have extracted the palmprint convolutional features based on convolution neural network (CNN) architecture, filtered using Principal component analysis (PCA) for the coding. The results show that DCFSH would have high verification accuracy [7].
J. Cui et .al presented an appearance-based palmprint identification technique called bidirectional representation method-based pattern classification (BRBPC) for recognition.
The proposed (BRBPC) technique would provide an enhancement by at least 1% more accuracy rather than the traditional techniques [8].
L. Fei et .al presented a feature extraction technique for different categories of palmprint images. They have classified palmprint images into four categories. In addition, they have utilized the feature extraction for the four image categories, and they have done the matching algorithm with different state of the art methods [9].
L. Fei et .al presented the method of double layer direction extraction for palmprint identification. They have extracted both the apparent and latent direction features. They have applied this method on several palmprint datasets. Their experimental results have a promising conclusion specially with the noisy images [10].
A. Genovese et .al presented novel method called PalmNet using (CNN) based on Gabor responses and (PCA) for touchless palmprint images. The training also done with an unsupervised technique with no class labels assigned [11].
W. Jia et .al presented palmprint recognition method based on direction representation (DR) on frequency domain called Complete Direction Representation (CDR).
They have extracted CDR using multi-scale radon modified finite transformation (MFRAT). In addition, for matching process, they have used Band-Limited Phase-Only Correlation (BLPOC) algorithm [12].
L. Leng et .al presented a method called double-line-singlepoint (DLSP) for enhancing the ROI extraction process. This method is targeted a platform on mobile phones that would provide the user with the availability to place their hands in a specific place [13].
S. Al-Maadeed et .al proposed a method to solve the large variation problem of the samples which would be appeared at the same class. They have applied sparse-and-dense hybrid representation (SDR) for palmprint recognition [14].
W. Matkowski et .al presented a method for recognition palmprints images collected from the internet for uncontrolled and uncooperative environment. Authors have applied a deep learning algorithm on them [15].
S. Raj et .al presented a palmprint recognition method. They have extracted feature based on Gabor filter. The neural network has been used on the classification with a back propagation for learning using gradient descent [16].
A. Younesi et .al presented a palmprint recognition method based on Gabor filter. They have used a binarized statistical image features (BSIF) to extract textural information. They have applied K-nearest neighbor (KNN) classifier for the recognition palmprints [17].
X. Zhou et .al presented a biologically inspired transform (BIT) as a feature extractor. The main idea is to solve the variation problem in translation, rotation and scaling which would have an adverse impact on the recognition accuracy [18].

A. Image Acquisition
The palmprint images are downloaded from CASIA data set which is an online source for biometrics data sets [19]. CASIA data set consists of 5,502 palmprint images taken from 312 persons. It also contains both left and right palmprints images with 8 images samples per hand. Each image is an 8bit JPEG format. Fig. 4 shows palmprint image samples of CASIA data set [20].

B. Image Preprocessing
We have performed some sort of pre-processing for database in order to achieve the best ROI extraction. Firstly, we have applied a Gaussian filter on the palmprints images with a filter mask of 3×3. In addition, we have binarized the Gaussian filter output in order to detect the appropriate boundaries of interest.

C. ROI Localization and Isolation
After detecting the desired boundaries of interest, we have estimated the centroid which is very important to locate the edges we interested in. Moreover, we have located three points in order to identify the accurate place of the ROI by using two key points method [21]. This method has been utilized according to Fig. 5 (a) which would make it easier to detect the angle of rotation. This angle has been applied to the ROI. We have done the rotation in order to justify all extracted ROI at the same alignment [21], [22]. Fig. 5 (b) shows a sample of the isolated ROI images. Fig. 6 shows some samples of ROI images. The extracted ROI image size is 192×192. Algorithm 1 represents the proposed ROI extraction of interest.

A. Preprocessing for Hough Transform
In this section, we have introduced some sort of image enhancement on the extracted ROI images as shown in Fig. 7. This would ease the process of applying Hough transform in order to extract the principle lines of interest. These changes have been manipulated according to the following group of operations; (i) we have applied a sobel edge detector [23], [24] to the ROI images in order to extract the principle lines that have different color intensities Compared with its surrounding as displayed in Fig. 7(b), (ii) we have applied the output of step (i) to another sobel edge detector with a threshold value of -0.15 which shows the best results over many applied values [23], [24] as displayed in Fig. 7(c), (iii) we have filled all the remaining small holes as displayed in Fig. 7(d), (iv) we have applied a dilation process in order to close the big holes that wouldn't be closed through step (iii) in addition, it increases the thickness of the basic lines as displayed in Fig.  7(e), (v) we have applied a morphological closing by converting the value of the pixel from 0 to 1 if all its surrounding pixels are equal to 1 as displayed in Fig. 7(f). Finally, (vi) we have applied median filter with a mask of 3×3 in order to restore the remaining noise as displayed in Fig.  7(g).

B. Hough transform
The Hough transform is a technique which would be used to detect lines, circles and other parametric curves [25], [26]. We have applied it in order to extract the most salient features from the palmprint images. These features are the principle lines information. The main methodology is to detect all possible straight lines within an image. This would be acquired by calculating all possible lines determined by finding all pairs of points that would represent a line. The mathematical representation would be described as follow: where is the perpendicular distance from the line to the origin, θ is the value of the angle between the x-axis and this vector measured in degrees. The Hough transform have been utilized according to the following a group of operations; (i) find the peaks of the Hough transform matrix which would decrease the number of lines that we are dealing with as shown in Fig 8(c), (ii) measure both the slope and the length of the output lines according to the extracted point from part (i), (iii) delete the deviated lines to avoid any redundancy or duplication and this have been done by deleting the lines with similar slope and as shown in Fig. 8(d). Finally, (iv) plot the strongest three lines on the ROI image as shown in Fig. 8(e).

C. Palmprint principle lines data extraction
We have extracted the following features from the detected basic lines that discussed before: • Length of each detected basic line (3 basic lines) according to the Euclidean distance principle: Where L is the length of the line, xi is the intensity value in the x direction, and yi is the intensity value in the y direction.
• Slope of each detected basic line (3 basic lines) according to the equation: Where m is the slope of the line, xi is the intensity value in the x direction, and yi is the intensity value in the y direction.
• The angle between the two connected basic lines according to the equation: Where mi is slope of the lines and θ is the angle between the two connected lines.
All extracted features (about 7 morphological features) have been saved as feature vectors in an external Excel file. This would perform the first part of the main features. In the next section, we will discuss the second part of the extracted feature vectors in the state of the art of 7 hues invariant moments.

D. Invariant Moments Extraction
Invariant moments have played a vital role in pattern recognition applications due to its ability to extract features that is invariant to shape translation, rotation and scaling. Seven hues would be extracted with no matter of its position, size or orientation as described in Fig. 9. In our proposed method, we have applied the 7 Hue moments technique to extract the palmprint features [27], [28] according to the ROI. For ROI image R(x, y), the moment of order (w+z) can be described as [28]: where represents the value of moments, m represents the number of rows, n represents the number of columns in the ROI image, and R(x, y) represent the ROI image. The estimated value of moments will variate when R(x, y) is translated. In order to decrease and remove passive effect, moments are described as [28]: where is the centralized moments and it can be shown that the central moments have no change under translation. The normalized central moments are described as [27], [28]: with respect to normalized central moments, all invariant moments are described as [27], [  , Algorithm 2 represents the complete feature extraction process of interest.

V. MACHINE LEARNING TECHNIQUES
In this work we have applied 7 supervised machine learning techniques in order to recognize the palmprints. We have utilized a complete comparative study among the tested algorithms in order to conclude the best machine learning technique which satisfy the highest recognition accuracy. All tested methodologies have been listed as follow:

A. Neural Networks (NNs)
NNs would be formulated for classification, recognition according to its layers and neurons and many other purposes. The backbone of its basic methodology is driven from the biological neural systems [29]. The simplest mathematical representation for the NNs can be summarized as: Where x is the inputs vector, w is the weights vector, b is the bias, and ̂ is the predicted output.

B. Support Vector Machine
Support vector machine (SVM) is a supervised learning technique. It has a wide variety on many classification and regression process [30]. SVM can be categorized into linear and nonlinear based on the virtual line or curve in order to take the decision according to the given object. The main methodology is to classify the given data to predefined n classes depending on both object features and the previously training results of interest. The decision surface separating the classes can be defined as: where W is a weight vector, X is input vector, and b is the bias.

C. Naïve Bias
A group of simple probabilistic classifiers depending on the application of Bayes theorem and conditional probability where: Where P is the conditional probability, G is the class, and f is a vector which contains number of salient features. naïve bias classifiers assume that all features are nonlinear and independent features [31]. Naïve bias has wide applications in the state of the art of both object classification and recognition.

D. K-Nearest Neighbors
K-nearest neighbors (KNN) is an algorithm based on distance metrics used for classification and regression. The process is done firstly by training data features and assign a specified label for each class. Secondly, the classification phase is done by assigning data to classes according to their distance from query points [32]. Voting would be acquired according to neighbors of interest. The basic idea of KNN is that similar data with the same classes are more likely to be closer to each other with respect to their distance. KNN mainly based on the Euclidian distance which in this case can be represented as: Where d is the Euclidian distance, is the input sample, is the training sample, and p is the number of features on the input sample.

E. Random Forest
The main idea of the algorithm is the creation of some groups of decision trees [33]. Each tree votes by predicting target class, those votes are then tallied to reach the final prediction. It has a many application on classification, prediction, and regression.

F. Decision Tree
In this technique, the main methodology depends on the tree construction where each internal node represents a feature [34]. The value of this feature in the input sample decides which branch does this sample belong to which is in this case is the target class [35].

G. Adaptive Boosting
Adaptive boosting (AdaBoost) method is building a solid classification based on many simple classifiers [36]. This would be done by forming a network based on training data, and then constructing a second model which aims to correct the first model errors. Models are implemented before the training set is being correctly estimated or until a certain number of models are being applied.

VI. EXPERIMENTAL RESULTS AND DISCUSSION
Training and testing have been applied using MATLAB R2017a, Spyder 3.3.6, processor core i7, and (16GB RAM). The proposed framework has been applied according to 500 images 8-bit gray level with size of (480×640) pixels for palmprints captured by a CMOS camera according to CASIA dataset [18]. These images are including the palmprints of 50 users for both left and right hands. Five different images have been used for each hand.
We have used four variables to perform the measurements:   (e) Jaccard: specified as the measurement of the similarity between the predicted and target matrixes, as shown in the Eq. (17).
(f) Correlation coefficient (CC): helps you to determine the relation between quantities. CC value helps to give the decision for the best classification algorithm. Correlation coefficient best value is 1 and worst value is -1, as shown in the Eq. (18).

= (20)
Experiment (1): a complete comparison study between machine learning techniques have been utilized according to different performance metrics. Table I represents the results of this comparison study which would be focused according to the 7 supervised machine learning techniques (NN, SVM, KNN, Naïve Bias, Random Forest, Decision Tree, and AdaBoost). We have applied cross validation with 5 folds to measure those performance indices for the mentioned ML algorithms. All results have been estimated according to the following predefined parameters: • sample size = 500 samples belong to 50 persons • each sample with 14 features as we have mentioned before.
• the neural network model is a feed forward back propagation network with 10 hidden layers, Relu activation function, and adam's solver. Experimental results show that the neural network has the best results on all performance metrics that we have estimated. However, it suffers from a high training time. In addition, SVM, Naïve Bias, and KNN have acceptable recognition accuracy. However, the rest of ML used algorithms have the worst recognition accuracy which are deviated from the desired recognition accuracy.
Experiment (2): comparison study between the 7 ML techniques previously mentioned have been utilized according to precision, sensitivity and dice metrics using different training set sizes. Table II, Table III, and Table IV represents the comparison study of precision, sensitivity and dice results respectively for the 7 ML algorithms. Experimental results show that the increase of training set size was very effective. In addition, SVM, KNN, and Naïve Bias have introduced an acceptable recognition accuracy. However, the other ML algorithms didn't introduce the required performance which would directly affect the recognition quality.
Experiment (3): a comparison study between different KNN models have been utilized according to different performance metrics according to of 5 folds' cross validation. Table V represents the results of this comparison study.
We have performed this experiment due to the high recognition accuracy of KNN that appears in the first two experiments. Experimental results show that the fine KNN has the best recognition accuracy between all the applied KNN models. However, it was the slowest KNN model. In addition, weighted KNN have showed an acceptable recognition accuracy with an acceptable training time between all the applied KNN models.   (4): comparison study between different SVM models have been utilized according to different performance metrics by the using of 5 folds' cross validation. Table VI represents the results of this comparison study. We have performed this experiment because of the high performance of SVM in the first two experiments to find out if any SVM model can have better performance. Experimental results show that the medium Gaussian SVM has the best performance on recognition between all the applied SVM models. However, it isn't the fastest SVM model. In addition, it can be observed that all SVM algorithm models have high processing time in comparison with KNN models on experiment 3. This would represent the main drawback of using SVM in the recognition process.
Experiment (5): from the previously discussed four experiments, we have concluded that the NNs algorithm has the best recognition accuracy. Accordingly, in this experiment we have compared between different NN training size sets with respect to different performance metrics as we have represented in Table VII. Experimental results show that the 80% training set size NN has the best results even with the comparison with models on the other experiments results. Fig.  10, Fig. 11, Fig. 12, and Fig. 13 represent the performance curves of 50%, 60%,70%, and 80% training set size respectively.

VII. CONCLUSION
This paper proposes an efficient methodology of recognizing palmprints in the state of the art of supervised machine learning techniques. The recognition process has been targeted the use of hybrid salient features of some morphological features combined with the 7 hues invariant moments.
The presented system offers a successful ROI extraction with acceptable accuracy. A complete comparison between different ML techniques have been utilized and tested. According to the five experiments, we have concluded that NNs and Fine KNN have targeted the best recognition accuracy for palmprints of interest. The extension of our work will target the implementation of optimized deep learning techniques for such palmprint recognition.