Palmprint image registration using convolutional neural networks and Hough transform
11 Palmprint image registration using convolutionalneural networks and Hough transform
Mohsen Ahmadi, Hossein Soleimani
Abstract —Minutia-based palmprint recognition systems got lots of interest in the last two decades. Due to a large number of minutiaein a palmprint, approximately 1000 minutiae, the matching process is time-consuming which makes it unpractical for real-timeapplications. One way to address this issue is aligning all palmprint images to a reference image and bringing them to a samecoordinate system. Bringing all palmprint images to a same coordinate system, results in fewer computations during minutia matching.Using convolutional neural network (CNN) and generalized Hough transform (GHT), we propose a new method to register, align,palmprint images accurately. This method, finds the corresponding rotation and displacement (in both x and y direction) between thepalmprint and a reference image. Proposed method is capable of distinguishing between left and right palmprint automatically whichhelps to speed up the matching process. Furthermore, designed structure of CNN in the registration stage gives us the segmentedpalmprint image which is a pre-processing step for minutia extraction. The proposed registration method followed by minutia-cylindercode (MCC) matching algorithm has been evaluated on the THUPALMLAB database, and the results show the superiority of ouralgorithm over most of the state-of-the-art algorithms. Index Terms —Palmprint Matching, Image Registration, CNN, Hough Transform. (cid:70)
NTRODUCTION B IOMETRICS is used to recognize or verify human iden-tity based on physical or behavioral characteristics.Biometric features such as face, iris, fingerprint, hand ge-ometry, palmprint and signature have been used for humanidentification and recognition [1]. Among all these features,recently, palmprint recognition has gained considerable at-tention as a reliable personal identification technique. Palm-print inherits many of the fingerprint features. Both of themare represented by the information presented in a frictionridge impression including ridge flow, ridge characteristics,and ridge structure. Due to their uniqueness and perma-nence, palmprint and fingerprint identification has beengenerally trusted [2], [3].In palmprint recognition systems mainly two differenttypes of images: 1) low resolution, i.e. less than dpi, and2) high resolution ( dpi) images are used [3], [4]. Featuresin the low resolution palmprints includes principal lines,wrinkles and ridges. These features define the palmprintas a texture containing discriminatory features which arerelatively stable and applicable in biometric identification orverification systems [5], [6], [7]. In low-resolution palmprintimages, ridges are not seen, and it is not feasible to extractthe second-level information, which is more discriminant[8]. Features obtained from low resolution images aremore suitable for civil and commercial application suchas access control [3]. On the other hand, features obtainedfrom high resolution images are minutiae, the orientationimage, singular points, and the ridge frequency image.High resolution images are suitable for forensic applicationsuch as criminal detection [9]. Because these features arerobust against time passing, they are considered admissiblein a court of law [10]. In this paper, our focus will beon high resolution palmprint images and minutia-basedpalmprint matching. Our designed registration method isbased on first-level information (mainly orientation image of palmprint), and it is applicable as long as the palmprintimages are high resolution .In literature, a lot of effort has been made regardingminutia-based palmprint matching in order to reduce thematching time and to address other challenges. In [11],similarity between two palmprints is calculated by means ofa weighted sum of minutiae and orientation field matchingscores. Li et.al describes a palmprint matching algorithmwhere minutiae are compared by means of a local and globalmatching [12]. Multi-feature-based palmprint recognitionsystem is another strategy which is suggested in [8]. Minu-tia, orientation image, density map, and major creases areextracted to achieve higher matching accuracy. In [13], a newcoarse-to-fine palmprint algorithm is proposed to deal withthe large number of minutiae in palmprints. A clusteringalgorithm is applied to separate minutiae into differentgroups and make the matching process much faster. Raffaeleand his colleagues, in [14], proposed a matching algorithmwhich is robust against skin distortion. They apply twostage minutia-based matching: 1) local minutia matchingusing Minutia Cylinder-Code (MCC) algorithm [15] and 2)new global score computation.Use of spectral minutiae representation and segmentingpalmprint into three different regions is another approachwhich aims to design faster matching algorithm [16]. In[17] ridge distance and conventional minutia descriptors areused together to speed up the matching. The difference ofridge distance near the minutiae is calculated, and only thepairs with similar ridge distance are considered. Hence, thenumber of minutiae comparison is greatly reduced whichresults in less time complexity. In [18], a novel region-qualitybased minutia extraction algorithm is proposed to improvethe accuracy of palmprint recognition. Also, authors pro-posed an efficient and minutiae based encoding and match- a r X i v : . [ c s . C V ] A p r ing algorithm to accelerate the palmprint matching.Despite the available algorithms, some problems withthe palmprint matching still need to be solved for large-scale applications [19]: skin distortion, diversity of differentpalm regions, and computational complexity. Registeringpalmprint images into the same coordinate, has been used toaddress the skin distortion and problem of large number ofminutia comparison during the match process [19], [20]. Byregistration, it does not need to compare all minutia fromtwo pamprint. Therefore we need to apply the matchingalgorithm only to the same parts of the two palmprints.This helps to mitigate the effects of skin distortion and im-prove matching speed. However, the registration methodsproposed in [19], [20] are not accurate enough, and also foralgorithm in [19] there is no criterion to show whether theregistration is successful.To increase the matching speed and accuracy, motivatedby [19] and our previous work [20], we developed a newpalmprint registration method. In this method we combineCNN and GHT to register all palmprint images with a ref-erence image. Using CNN, we first roughly find the rotationdifference between the current pamprint and the referencepalmprint. Then, we find the exact rotation difference andtranslation between these two images by GHT. Two newcriteria are used to measure the confidence of the registra-tion. Also, using these two criteria our method is capable ofrecognizing left palm from right palm which can double thematching speed if we do not know whether the current palmis coming from the left hand or right hand. Furthermore,the designed structure of CNN in registration stage, givesus the segmented palmprint image from background whichis a pre-processing step for minutia extraction.Our minutiae matching stage is based on the MCCmethod with some modification [15], which includes a localmatching stage based on MCC, followed by a relaxationprocedure to compute a global matching score.By proposed method, the matching time is much betterthan the state-of-the-art. On the other hand, because of accu-rate registration, we could subside the distortion effect, andas a result the matching accuracy improved. The experimen-tal results on THUPALMLAB database [21] indicate that theproposed system achieves a false non-match rate (FNMR)of . while the false match rate (FMR) is controlledat . As for the speed of our system, the average time offull palmprint matching is about milliseconds. The restof this paper is organized as follows: Section 2 outlines thedetails of the proposed palmprint registration process. Insection 3 matching strategy is explained. In Section 4, theexperimental results are presented and analyzed. Finally, weend up with conclusions in section 5. ROPOSED PALMPRINT R EGISTRATION
Most of the raw palmprint images are not in the samecoordinate system. By applying registration and bringingimages to same coordinate system, the matching processwill be facilitated. By registering, we need to compare onlyminutiae in both the query and gallery image which havealmost the same location and direction, and this acceleratesthe matching process. Fig. 1: Steps of proposed palmprint registration methodMost of the palmprint registration methods are basedon intervals between fingers [22], [23] or hand contourand principle lines [24]. These features are suitable forlow resolution images which are captured by contact-lessdevices, ensuring the whole palm region and the fingerroots are visible. However, in high resolution images fingersare not seen or hand contour is incomplete and unreliable.Orientation fields of different palms are quite similar, butthe orientation of different palm regions is distinctive. Thismakes the orientation field to be a reliable feature for palm-print registration.In [19], [20], the average orientation field of palmprintshas been used as the reference image, and other palmprintsare aligned with this image. Parameters (rotation around z axis and displacement in x and y direction) of rigidregistration between reference orientation field and the esti-mated orientation field of each palmprint are obtained. Thistransformation (rigid body) is applied to unregistered im-ages and brings them to the same coordinate system. Thesemethods fail when the rotation difference between the refer-ence image and the floating image is large (greater than degrees). The situation is much worse when the palmprintimage is not that high quality, and as a result the estimatedorientation field is not reliable. To address this issue, we firstroughly find the rotation difference between two images byCNN. CNN does not need to extract orientation field, and itis robust against distortion and low quality. After that, theexact values of registration parameters is obtained by useof GHT. Figure 1 shows the steps of proposed registrationmethod. To find the rotation of a plamprint image around z axis,CNN is applied. Raw palmprint image is fed to CNN, andthe output will show us the rotation of the image around z axis. We formulated this task as a classification problem,i.e., the input palmprint will be classified to one of the existing classes. Theses classes are ◦ , ◦ , ..., ◦ . Thearchitecture of designed CNN is shown in figure 2.It consists of convolutional layers, each layer includesconvolution and max-pooling steps, followed by a fullyconnected layer and a soft-max function to calculate the finalprobabilities of each class. Kernel size in first layer is × and it changes to × in other convolutional layers. In the Fig. 2: Architecture of designed CNNproposed network, as illustrated in figure 2, , , , , , , , and kernels are used for Conv layer , , , , , , and respectively, with stride . For poolinglayers, kernel size is set to × , and stride . We alsoapplied dropout , Batch-Normalization [25] and extensivedata augmentation to overcome over fitting. Rectified LinearUnit (Relu) activation function is widely used in DNN.Because of Dying Relu problem, we applied exponentiallinear unit (ELU) [26] activation function instead of Relufunction.We used palm images in training phase, palmsrandomly selected from THUPALMLAB database [21] and palms acquired by a live scanner. All these palmswere rotated around z axis such that their rotation is al-most ◦ rspect to y axis. To build the augmented train-ing data, images were rotated with random values from { ◦ , ◦ , ..., ◦ } set respect to y axis. For each image,we produced different images with different randomrotations, and each new image with its rotation informationwas saved in data set. Therefore, the training data contains ∗
20 = 10000 palmprint images. To have a muchgeneralized data set, other augmentation techniques suchshrinkage, adding noise and flipping respect to y axis wereapplied.CNN output is vector Y with length showing theprobabilities of each classes. The class with highestprobability shows the rotation of input palmprint imagerespect to y axis. For instance, if the probability of class i, i = 0 , , ..., is maximum, then the rotation around z axis and respect to y axis is ( i × ◦ . To use CNN andfind the rotation, for a given input image we smooth theoutput vector Y by a window with length and call it Y s .Then, maximum value of vector Y s is considered, M s . If M s > . , then the output of network is reliable. Thoseimages that satisfies this condition, are rotated around z axis by − ( i ∗ ◦ (correcting rotation, see figure 1) and arepassed to the second round of registration. On the otherhand, images with smaller value of M s are passed directlyto feature extraction step; more likely registration will failif we pass these images to “registration refining”. For thesepalm images we do not apply registration, and treat themdifferently in local matching step (section 3.1).Another advantage of designed CNN is its ability tosegment palm region from the background. We noticed thatin trained model, the outputs of layer In previous section, by assigning each palmprint to one of classes of angles, we roughly found the rotation differ-ence between palmprint images respect to ground truth. Tofind exact values of registration (displacement in x and y directions and rotation around z axis), we apply GHT. Weknow that rotation around z axis can not be larger than = 15 ◦ (we already corrected the rotation difference, θ ). This will help us to find the exact value of θ much faster.CNN outputs ( M s ) are used to judge the level of confidenceof registration. If it is larger than a threshold, it means thatthe estimated θ is reliable. For images with small values of M s we can not trust the estimated θ , and as a result weignore doing registration on these images (see figure 1).Similar to [20], we used orientation field of each palm-print image to find the registration parameters. The averageorientation field of palmprints is used as the referenceimage, and other palmprint are aligned with this image.The proposed orientation field estimation algorithm in [20]is used to compute the orientation field in each × blocks. Finally, the GHT algorithm [27], is applied to findregistration parameters.All possible pairs of × blocks between the in-put (unregistered) palmprint orientation and the referenceorientation field vote for corresponding rotation and thedisplacement (in x and y directions). Contrary to [19] whichuses inverse of circular standard deviation as weights ofeach block in voting system, we calculate the weight of eachblock based on its quality [20].Palmprint registration, brings palm images to the samecoordinate, which helps to speed up the matching, with asmall accuracy reduction. We need a criterion to judge theresult of the registration and to check if it can be trustedor not. To measure the reliability of registration results, wedefine few new parameters: • q = of all blocks in foreground of all blocks in image • q = blocks vote for best candidate ( θ,d x ,d y ) of all blocks in foreground q shows the percentage of blocks in an image whichbelong to palmprint, i.e., foreground. A larger value of q Fig. 4: Results of final registration for both original(left) andflipped image(right). For both images q = 0 . , for originalimage q = 0 . and for flipped version q = 0 . .shows the higher quality of a palmprint or it could alsoindicate larger palmprint image. Small values of q showthat the palmprint image is not a full palmprint (latentpalmprint) or the palmprint image has low quality. If thisvalue is less than a threshold (in our case . ), we ignoreregistration for that palmprint. q shows the quality ofregistration, and is the ratio of blocks which vote for finalregistration parameters to all blocks in foreground. q withlarger values guarantees the registration accuracy; q > . is acceptable. These parameters can be used to determine ifthe input palmprint is for right hand or left hand.The reference orientation palmprint which we use for re-fining the registration , belongs to left hand. GHT is appliedto do exact registration for both original and flipped versionof the input palmprint (flipped around y axis). Now, two q sare in hand, resulted from registration of reference imagewith orientation of input palmprint and its flipped version.If q of original palmprint is larger than q of flipped image,then input palmprint is left hand and vice versa. Note that,if the larger q is less than . , then the registration has mostlikely failed. Therefore, our algorithm can automaticallyrecognize left palmprint from right palmprint which willincrease the palmprint matching speed and accuracy.Figure 4 shows results of registration for a sample righthand palmprint. q = 0 . satisfies the threshold while q for left hand palmprint is less than . and it is much smallerthan q = 0 . of right hand palmprint. Therefore, features(Minutia) are extracted from right image, and palmprintclass is known, i.e., the palmprint belongs to right hand.We applied the proposed registration strategy to THU-PALMLAB database(train set) and only a few of the imagesdid not satisfy q > . . Maximum allowed rotation waslimited to ◦ (with steps= ◦ ) and maximum displacementwas restricted to pixels, which is of the image widthand height. For palmprints that q or q do not satisfythresholds, palmprint class is “unknown”.Figure 5 shows some raw palmprint samples, from thesame hand, and their registered version. As it is seen inthe second row, all three images are almost in the samecoordinate. ALMPRINT M ATCHING
After registration, the segmented palmprint is enhancedby applying Gabor filters [28]. The enhancement, which is guided by the estimated local orientations and frequencies,produces a near binary image which is then simplybinarized. The thinning algorithm in [29] is applied tothe enhanced binary image and the palmprint skeleton isobtained. Using the algorithm in [2] minutiae are extractedand the results are refined by approach in [30]. Once theminutiae have been extracted, the matching process canbe done. Figure 6 shows the whole procedure for samplepalmprint image.The matching algorithm is similar to what we havedone in [20]. It consists of two stages: a ) local minutiamatching and b ) global score calculation. In the localminutia matching stage, the similarity of a minutia pairs iscomputed with the MCC descriptor to make the matchingprocess more efficient and fast. In the second stage, overallsimilarity of two palmprints is calculated. The MCC descriptor is a local data structure which isinvariant for translation and rotation. This structure encodesspatial and directional relationships among the minutiaand its (fixed-radius) neighborhood. It is represented by abit vector of fixed length. To check the similarity of twolocal minutiae from two different images, we compare theirMCC descriptors. For N S = 16 (number of cells alongthe cylinder diameter) and N D = 5 (number of cylindersection), each MCC descriptor contains a vector with lengthequal to × × bits. To check the similarityof two minutiae, we need to do a XOR operation betweentwo vectors, with length , which is a time consumingprocess and may not be suitable for palmprint images.To decrease the number of similarity computation, we useregistered images. In other word, we only check the MCCsimilarity between two minutia which roughly belong to thesame part of the palm. By decreasing the number of MCCsimilarity computations, the matching process will speedup. For a given minutia m A ( x mA , y mA , θ mA ) from palm-print A and minutia m B ( x mB , y mB , θ mB ) from palmprintB; If m A and m B do not belong to the same region, theirlocal similarity is zero. This means, if | x mA − x mB | > T x , | y mA − y mB | > T y or θ mA − θ mB > T rot their MCC similarityis set to zero. For images which fail to be registered byCNN, T rot = 180 ◦ , T x = T y = 2048 . Images with smallvalues of q or q in second phase of registration(refining byGHT), T rot , T x and T y are set to ◦ , and respec-tively. Finally, for images which are successfully registered, T rot = 20 ◦ , T x = T y = 500 (see figure 1).Without registration , the original MCC algorithm needsto compare N A minutiae from image A with N B minutiaefrom image B , where N A and N B are number of minutia inimage A and B , respectively. This amount of comparisonis time consuming and use of registration decrease thiscomplexity, dramatically. In order to compare two palmprints, a global score (denot-ing their overall similarity) needs to be derived from thelocal similarities. The approach proposed in [20] is used
Fig. 5: Sample palmprint registered by proposed method. First row shows the original images and the second raw indicatesthe registered imagesto calculate the global score. For two given MCC minutiadescriptor sets A = { M CC a , M CC a , ..., M CC a NA } and B = { M CC b , M CC b , ..., M CC b NB } , there is a local sim-ilarity score matrix, S N A × N B , showing the MCC similaritybetween minutiae of image A with those of image B . S ( i, j ) is the MCC similarity of minutia i from image A withminutia j from image B . Based on the section 3.1, S is alow density matrix; most of its elements is zero.To compute the global score, n R minutia pairs withmaximum similarity values are selected. Suppose P = { ( r t , c t ) , < r t < N A and < c t < N B } is the selected n R minutiae-index pairs. First ˆ S , normalized version of S ,is computed: ˆ S ( i, j ) = (cid:104) − (cid:80) N A k = 0 k (cid:54) = i S ( k, j ) + (cid:80) N B k = 0 k (cid:54) = j S ( i, k ) N A + N B − (cid:105) S ( i, j ) . (1)The normalization modifies each value according to theaverage of the values in the same row and in the same col-umn. After normalization, n R minutiae pairs, correspond-ing to the top n R values in ˆ S matrix, are selected and arelaxation procedure is applied to the n R similarity scoresguided by their corresponding minutia pairs.Let ˆ s t = ˆ S ( r t , c t ) is initial normalized similarity of pair t ; the similarity of pair t at iteration i of the relaxationprocedure is: ˆ s it = w R . ˆ s i − t + (1 − w R ) . (cid:80) n R k =1 ,k (cid:54) = t ρ ( t, k ) . ˆ s i − k n R − , (2)where w R ∈ [0 , is a weighting factor and: ρ ( t, k ) = (cid:81) i =1 Z ( d i , µ ρi , τ ρi ) ,d = | d s ( a rt ,a rk ) − d s ( b ct ,b ck ) | max ( d s ( a rt ,a rk ) ,d s ( b ct ,b ck )) ,d = | d ϕ ( d θ ( a r t , a r k ) , d θ ( b c t , b c k )) | ,d = | d ϕ ( d R ( a r t , a r k ) , d R ( b c t , b c k )) | , (3)where d s ( m , m ) shows the Euclidean distance betweenminutia m , m and d ϕ ( θ , θ ) is the difference (modulo π )between two angles θ , θ . d θ ( m , m ) indicates directionaldifference between two minutiae ( d θ ( m , m ) = d ϕ ( θ , θ ) ). ρ ( t, k ) measures compatibility between two minutiae pairs ( a r t , a r k ) from image A and ( b c t , b c k ) from image B. It iscomputed as the product of three feature, d , d and d andnormalized by a sigmoid functions with its specific µ and τ : Z ( ν, µ, τ ) = 11 + e − τ ( ν − µ ) , (4) d computes distance similarity of two minutia pairs. d isthe similarity of directional differences and d denotes the (a) Original image (b) Registered by CNN (c) Registered by GHT(d) Enhanced image (e) Skeleton image (f) Minutiae Fig. 6: Sample output of each step of whole procedureradial angle similarity. Radial angle is the angle between lineconnecting two minutiae and the direction of the first minu-tia. The smaller d , d and d results in a smaller similarityvalue between two minutia pairs { ( a r t , a r k ) , ( b c t , b c k ) } .Relaxation procedure (2) is repeated for n rel times andan efficiency of each pair t is computed as follow: ε t = ˆ s n rel t ˆ s t . (5)At the end, global score of two palmprint images A andB is calculated as the average of the n P similarity values, ˆ s n rel t , corresponding to top n P pairs with highest efficiencyvalues. XPERIMENTAL RESULTS
In this section, experiments were carried out to evaluatethe proposed method. The proposed method is comparedwith other palmprint matching algorithms, and results andparameters are reported.
The only publicly available high-resolution palmprintdatabase, Tsinghua Palmprint Database [21], is used as themain database. It consists of palmprint images from different people (left and right palms and eight impressionsper palm). All images are × pixels with dpi resolution and 256 gray levels. By zero padding, the imagesize is changed to × ( is divisible by whichis block-size in orientation field estimation algorithm). TheTHUPALMLAB database consists of two separate sets: 1) thetraining set and 2) the test set. The training set (the first subjects) includes palmprints (from different palms),while the test set contains the remaining palmprints(from different palms).The training set is used to tunethe parameters, and it is done by minimizing Equal ErrorRate (EER).Thanks to the registration, the MCC similarity of smallpercent of all possible minutia pairs is non-zero, i.e, matrix S is sparse. In the global score computation phase, n R minutiapairs with maximum local similarity score are selected from ˆ S Matrix. Therefore, the remaining non-zero elements ofthe similarity matrix S are more reliable, and the relaxationphase can be done even with small values of n R . Reducing n maxR from (in original MCC) to decreases the relax-ation phase computations dramatically. With n maxR = 300 , ρ ( t, k ) needs to be calculated almost ×
300 = 90000 times in each iteration and this value is much bigger than ×
70 = 4900 . In contrast to [14] where N S = 16 , in ourproposed system, N S is and the resulted MCC descriptorlength is × × bits, and it takes much lesstime to compute the MCC similarity of two minutiae. Also,since palmprint images are registered, the maximum globalrotation between two images cannot be a large value. TABLE 1: Average matching time (second)
Method Matching time
Jian and Feng [11] . Dai and Zhou [8] . Chen and Guo [17] . Tariq et.al(CPU) [18] . Proposed method
Capelli and Ferrara [14] (Multithreaded) . Proposed method (Multithreaded)
TABLE 2: Required memory for a typical palmprint image
Method Required memory
Jian and Feng [11] KB Dai and Zhou [8] KB Chen and Guo [17] less than 8 KB
Tariq et.al [18] KB Capelli and Ferrara [14] KB Proposed algorithm KB A typical palmprint contains minutiae on average; thenthe original MCC algorithm needs to do × MCC local similarity computations. Our statistical observa-tion showed that by applying proposed registration algo-rithm, we only need to do percent of all computations,i.e. . × local MCC similarity computation. Resultsin table 1 confirm this, and show that the contributionof the registration toward the matching time reduction issignificant. By the proposed system, = 111 palmprintmatches per second can be done whereas the feasible num-ber of matches per second for algorithm in [14] (the fastestalgorithm to the best of our knowledge) is = 26 .Note that, we can double the matching speed by applyingproposed left-right palm detector, i.e. average matching timeis . milliseconds(222 matches per seconds).The proposed algorithm was tested on an Intel(R)Core(TM) 2 Quad Q9550 CPU at 2.83 GHz, using single andmulti-threaded C++ implementation. Table 1 summarizesaverage matching times of the proposed system with thoseof four other approaches in [11], [8], [17], [18] and [14]. Thetimes of the methods in [11], [8] have been measured onan Intel Xeon E5620 at 2.4 GHz, with a single-thread inC++, and the time of [17] has been measured by Intel(R)core (TM) i7 CPU 2.8 GHz in C++. Time of the algorithm in[14] has been measured by Intel Core 2 Quad Q9400 CPUat 2.66 GHz, using a multi-threaded C milliseconds, while the authors of this algorithm report amatching time of milliseconds with a weaker computerand C × × bits forthe MCC descriptor, and about five bytes for ( x m , y m , θ m ).In total it needs to store
40 + 5 = 45 bytes per minutiawhich is a small value in comparison to the bytes (perminutia) required by the algorithm in [14]. The methodin [12] requires bytes per minutia and one byte perorientation element; the algorithm in [9] needs five bytes perminutia, two bytes per orientation. For a typical palmprint( × ) with an average minutiae and × orientation elements, the amount of memory required bythese algorithms is summarized in table 2. Among all thesealgorithms, the proposed system requires relatively lessamount of memory to store minutia descriptors and tem-plates. The method in [17] needs less memory in comparisonto ours, but the matching time and the accuracy of thisalgorithm are much worse. To evaluate the matching algorithms, impostor and genuinetests need to be done. For this database, the total numberof genuine matches is ( × ×
120 = 3 , . Each im-pression is compared with the remaining impressions ofthe same palmprint. The number of impostor matches ismuch larger than that of genuine matches. All impres-sions from subjects are compared with the remainingimpressions; therefore, the number of impostor matches is ( × = 456 , .The accuracy of the proposed system is compared to thesome state-of-the art( [11], [8], [14], [16] and [17]). As seenin Table 3, our algorithm shows a higher accuracy at anyFMR. At zero FMR, the proposed algorithm makes falsenon-match errors. Most of these errors occur because of theimages with low quality, regions with small area and lesspattern (similar to latent palmprints), and less overlap areawith other palmprints. When two palmprint images haveno minutia in common, i.e. no overlap, non of the existingalgorithms can find a high matching score between them.It is noteworthy that without registration , the accuracy ofthe proposed system reduces dramatically. This is becauseof the small values of n R , N S and some other parametersthat we have changed in MCC algorithm.As for the accuracy of the registration phase, palm-prints were not successfully registered, which is less thanone percent of all the palmprints within the test database.All of the failure cases are due to bad image quality orpattern-less and small areas. In all of these images, oneof M s , q or q was less than the corresponding threshold. ONCLUSION
Because of the existence of creases, a large number of minu-tia and skin distortion, minutia-based palmprint matching isa challenging task. In this paper, we designed new strategyto speed up the palmprint matching speed. CombiningCNN and GHT, an accurate palmprint registration was de-signed which can bring all palmprints to a same coordinatesystem. In the first round of registration, CNN finds therotation θ of a palmprint image respect to y axis. Image TABLE 3: EER and FMMR at give FMRs
Method EER FNMR at FMR ≤ . FNMR at FMR ≤ . FNMR at FMR = 0
Jian and Feng [11] .
04% 17 .
32% 19 .
43% 22 . Dai and Zhou [8] .
99% 8 .
78% 10 .
45% 11 . Wang and Ram [16] . > > > Chen and Guo [17] .
29% 2% 5% > Tariq et.al [18] . > . > . > . Capeli and Ferara [14] .
18% 0 . Proposed method .
04% 0 . is rotated by ( − θ ) , and exact registration is done by GHT.Registration helps to compare only minutiae belonging tothe same part of the palmprint, ignoring comparison ofminutiae which are far apart. This reduces computations inlocal match phase, and makes the matching algorithm faster.Our method is six times faster than the state-of-the-artwhile the matching accuracy is still very high.The proposedalgorithm was applied on THUPALMLAB database and theresults revealed that our algorithm has the capability of do-ing palmprint matches per second with EER = 0 . . R EFERENCES [1] Z. Guo, D. Zhang, L. Zhang, and W. Zuo, “Palmprint verificationusing binary orientation co-occurrence vector,”
Pattern RecognitionLetters , vol. 30, pp. 1219–1227, 2009.[2] D. Maltoni, D. Maio, A. Jain, and S. Prabhakar,
Handbook ofFingerprint Recognition , 2nd ed. London: Springer-Verlag, 2009.[3] A. Kong, D. Zhang, and M. Kamel, “A survey of palmprintrecognition,”
Pattern Recognition , vol. 42, pp. 1408–1418, 2009.[4] D. Zhang, W. Zuo, and F. Yue, “A comparative study of palmprintrecognition algorithms,”
ACM Computing Surveys , vol. 44, p. 2,2012.[5] D. S. Huang, W. Jia, and D. Zhang, “Palmprint verification basedon principal lines,”
Pattern Recognition , vol. 41, pp. 1316–1328,2008.[6] W. Jia, D. S. Huang, and D. Zhang, “Palmprint verification basedon robust line orientation code,”
Pattern Recognition , vol. 41, pp.1504–1513, 2008.[7] X. Wu and Q. Zhao, “Deformed palmprint matching based onstable regions,”
IEEE Transactions on Image Processing , vol. 24, pp.4978–4989, 2015.[8] J. Dai and J. Zhou, “Multifeature-based high-resolution palmprintrecognition,”
IEEE Transactions on Pattern Analysis and MachineIntelligence , vol. 33, pp. 945–957, 2011.[9] K. C. Mangold,
Data Format for the Interchange of Fingerprint, Facial& Other Biometric Information , 3rd ed. Gaithersburg, Maryland,USA: ANSI/NIST-ITL, 2016.[10] D. R. Ashbaugh,
Quantitative-Qualitative Friction Ridge Analysis: AnIntroduction to Basic and Advanced Ridgeology , 1st ed. Boca Raton:CRC Press, 1999.[11] A. K. Jain and J. Feng, “Latent palmprint matching,”
IEEE Transac-tions on Pattern Analysis and Machine Intelligence , vol. 31, pp. 1032–1047, 2008.[12] J. Li and G. Shi, “A novel palmprint feature processing methodbased on skeleton image,”
IEEE International Conference on SignalImage Technology and Internet Based Systems , 2008.[13] E. Liu, A. K. Jain, and J. Tian, “A coarse to fine minutiae-basedlatent palmprint matching,”
IEEE Transactions on Pattern Analysisand Machine Intelligence , vol. 35, pp. 2307–2322, 2013.[14] R. Cappelli, M. Ferrara, and D. Maio, “A fast and accurate palm-print recognition system based on minutiae,”
IEEE Trans Syst ManCybern B Cybern , vol. 42, pp. 956–962, 2012.[15] ——, “Minutia cylinder-code: A new representation and matchingtechnique for fingerprint recognition,”
IEEE Transactions on PatternAnalysis and Machine Intelligence , vol. 32, pp. 2128–2141, 2010.[16] R. Wang, D. Ramos, R. Veldhuis, J. Fierrez, L. Spreeuwers, andH. Xu, “Regional fusion for high-resolution palmprint recognitionusing spectral minutiae representation,”
IET Biometrics , vol. 3, pp.94–100, 2014. [17] J. Chen and Z. Guo, “Palmprint matching by minutiae and ridgedistance,”
International Conference on Cloud Computing and Security ,vol. 10040, pp. 371–382, 2016.[18] S. A. Tariq, S. Iqbal, M. Ghafoor, I. A. Taj, N. M. Jafri, S. Razzaq, andT. Zia, “Massively parallel palmprint identification system usinggpu,”
Cluster Computing , pp. 1–16, 2017.[19] J. Dai, J. Feng, and J. Zhou, “Robust and efficient ridge-basedpalmprint matching,”
IEEE Trans Pattern Anal Mach Intell , vol. 34,pp. 1618–1632, 2012.[20] H. Soleimani and M. Ahmadi, “Fast and efficient minutia-basedpalmprint matching,”
IET Biometrics , vol. http://digital-library.theiet.org/content/journals/10.1049/iet-bmt.2017.0128, 2018.[21] Dai, “Thupalmlab database,” http://ivg.au.tsinghua.edu.cn/dataset/THUPALMLAB.php , 2012.[22] Y. Wang, J. Hu, and D. Phillips, “A fingerprint orientation modelbased on 2d fourier expansion (fomfe) and its application tosingular-point detection and fingerprint indexing,”
IEEE TransPattern Anal Mach Intell , vol. 29, pp. 573–585, 2007.[23] J. Funada, N. Ohta, M. Mizoguchi, T. Temma, K. Nakanishi,A. Murai, T. Sugiuchi, T. Wakabayashi, and Y. Yamada, “Fea-ture extraction method for palmprint considering elimination ofcreases,”
Fourteenth International Conference on Pattern Recognition ,pp. 1051–4651, 1998.[24] C. C. Han, “A hand-based personal authentication using a coarse-to-ne strategy,”
Image and Vision Computing , vol. 22, pp. 909–918,2004.[25] S. Loffe and C. Szegedy, “Batch normalization: Accelerating deepnetwork training by reducing internal covariate shift,” ,vol. 37, pp. 448–456, 2015.[26] D. A. Clevert, T. Unterthiner, and S. Hochreiter, “Fast and accuratedeep network learning by exponential linear units (elus),”
Proceed-ings of the 4th International Conference on Learning Representation , pp.1–14, 2016.[27] D. H. Ballard, “Generalizing the hough transform to detect arbi-trary shapes,”
Pattern Recognition , vol. 13, pp. 111–122, 1981.[28] L. Hong, Y. Wan, and A. Jain, “Fingerprint image enhancement:algorithm and performance evaluation,”
IEEE Transactions on Pat-tern Analysis and Machine Intelligence , vol. 20, pp. 777–789, 1998.[29] T. Y. Zhang and C. Y. Suen, “A fast parallel algorithm for thinningdigital patterns,”
Communications of the ACM , vol. 27, pp. 236–239,1984.[30] F. Zhao and X. Tang, “Preprocessing and postprocessing forskeleton-based fingerprint minutiae extraction,”