Individuals Identiﬁcation Based on Palm Vein Matching under a Parallel Environment

: Biometric identiﬁcation and veriﬁcation are essential mechanisms in modern society. Palm vein recognition is an emerging biometric technique, which has several advantages, especially in terms of security against forgery. Contactless palm vein systems are more suitable for real-world applications, but two of the major challenges of the state-of-the-art contributions are image deformations and time efﬁciency. In the present work, we propose a new method for palm vein recognition by combining DAISY descriptor and the Coarse-to-ﬁne PatchMatch (CPM) algorithm in a parallel matching process. Our proposal aims at providing an effective and efﬁcient technique to obtain similarity of palm vein images considering their displacements as discriminatory information. Extensive evaluation on three publicly available databases demonstrates that the discriminability of the proposed approach reaches the state-of-the-art results while it is considerably superior in time efﬁciency. the best our the method that to reduce the inﬂuence of deformations by using it as discriminative information for palm vein recognition. At the same time, our approach reduces the execution time of the matching process of palm vein images being able to use in individual massive identiﬁcation. Our experimental results show that a higher speed-up is obtained by combining the effectiveness and efﬁciency of a sparse matching algorithm with a multi-core parallel implementation.


Introduction
Nowadays, individuals identification and verification through their unique physiological (fingerprint, face, iris, etc.) or behavioral (voice, gait, signature, etc.) traits by using biometric techniques are essential mechanisms in modern society. Governments and private stakeholders have increased their interest to adopt biometric-based identity management systems. In this context, market researchers estimate a significant growth for global biometrics. The global biometrics technology market is expected to reach $59.31 BN by 2025, according to a new study by Grand View Research [1]. This report forecasts the increasing use of biometrics technology in several areas with different applications enabling the industry to grow at a significant rate over the next six years. Some of these areas are consumer electronics to enhance customer experiences; government and defense services; banking and finance to increase efficiency and prevent fraud, among others.
A biometric system is a pattern recognition system which aims to identify or verify the identity of a person by matching traits of individual anatomy, physiology or other behavioral characteristics from an acquired image (query) with the features of pre-stored images (template database) [2,3]. Any physiological Table 1. Comparative analysis of characteristics of different types of biometric technologies, from [24]. In this paper, we present a novel palm vein recognition method for individuals' identification. Particularly, the palm veins network is better than finger-vein because it is less susceptible to a change in skin color, unlike a finger or the dorsal hand. In addition, there are more vein patterns in palm images due to the fact that the geometry of the blood vessels are more complex comparing against fingers.

Biometric Technology Security Acceptability
Most of the works in palm vein recognition have been focused on palm vein extraction in recent years [15]. Geometry based approaches [25,26] extract palm vein patterns by using spatial methods from segmented blood vessels. Methods based on statistical techniques [27][28][29][30][31] characterize the texture of vein images at the pixel level of the image. Other works based on machine learning [32][33][34][35][36] adopt a subspace method to project the palm vein image into subspace built from training data. In addition, some authors propose using local invariant features [37][38][39] as a solution to problems of rotation, scale, and axis changes. On the other hand, the feature matching process depends on the feature extraction used. Thus, geometry-based matching [26,30,37,38], feature-based matching [28,40,41], and machine learning [35,[42][43][44] are some of the techniques used by researchers to evaluate the performance of palm vein recognition.
According to the review of Soh et al. [15], most of the research works are focused on a contactless palm vein recognition system. A palm vein contactless system is more suitable for real-world scenarios. However, a contactless design system produces issues such as non-uniform illumination and affine transformation which is not suitable for some methods. Besides that, palm vein images, as well as finger images, are severely affected by deformations, which occur due to scale change, axis change, and also affect the accuracy of the system. Among the works available in the state-of-the-art, the approach of [45] stands out for its recognition performance for finger-vein recognition. The technique proposed in [45] demonstrates that deformations and displacements of finger-vein images can be used as discriminatory information, unlike the existing methods that try to prevent their influence. Figure 1 illustrates the deformation effects for different samples of palm vein images, where the variations of the vein patterns in form and scale are noticeable. In terms of methodology, Meng et al. [45] incorporate an optimized correspondence to obtain the displacements of the pixels in two dimensions (2D) because of the deformations during the capturing process. The final similarity between two images of finger-veins is estimated from the texture of uniformity [47] of the displacement matrices obtained. In spite of the important contribution made in [45], their proposal has the disadvantage of involving a high computation in the process of comparison between images, which is more noticeable for palm vein images that are bigger than finger-vein images. Thus, their approach could not achieve real-time recognition or be implemented in the real world with large databases.
In their work, the authors of [45] propose using dense correspondences of SIFT features, known as Dense SIFT flow [48], to obtain the pixel-based displacements between two vein images. This is the main reason of high computation in the matching process. However, other approaches interpolate the optical flow from sparse descriptor matching correspondences directly, known as sparse matching algorithms; these have recently shown great success in efficiency and accuracy [49][50][51][52]. Among these methods, the approach presented by Li et al. [52] is highlighted because it introduces a fast approximate structure for the matching process, which avoids finding the correspondences of every pixel and leads to a significant speed-up with acceptable accuracy.
Taking into account a large database, where it is necessary to identify individuals in real-time or for massive identification, an acceleration of the matching process of palm vein images is necessary. In this sense, the execution time of the recognition process has a great influence and it is fundamental for a real-world implementation. Thus, the proposal of this paper reduces the execution time of the dense correspondences between palm vein images, by both using an efficient sparse matching algorithm that achieves state-of-the-art accuracy but running much faster than the dense matching method, and implementing a multi-core parallel scheme for accessing and querying the database. The proposed method aims to provide an effective and efficient technique to obtain similarity of palm vein images considering their displacements as discriminatory information.
Our proposal aims to prove that deformation information of palm vein images is an effective method for palm vein recognition. Thus, we propose using a sparse matching algorithm as an alternative for estimating the displacement, in contrast to [45] that uses a dense matching process. Hence, the goal of this work is to propose a new method for contactless palm vein systems, which should be able to overcome problems of real-world systems and suitable for real-time individuals identification. Consequently, our approach has three main contributions: • First, we introduce a new perspective to deal with deformations on contactless palm vein systems, which is based on the ideas presented in [45]. Our method uses deformations as discriminative information for palm vein recognition. Thus, we reduce the influence of deformations for real-world systems by ensuring the robustness of palm vein recognition. To the best of our knowledge, the method we present is the first that aims to reduce the influence of deformations by using it as discriminative information for palm vein recognition. • Second, in order to reduce the number of comparisons during the matching process, we propose using a sparse matching algorithm [52], which employs a novel coarse-to-fine matching scheme based on a combination of random search and propagation between hierarchical levels. This method is robust to image displacements and more efficient than dense correspondences using SIFT proposed by [45], in terms of execution time achieving a speed-up above 15×. The details of the proposed descriptor and matching algorithm are presented in Sections 3.2 and 3.3. • Third, with the aim of increasing the number of queries per second, considering a real-world implementation, a master-worker scheme is proposed under a multi-core platform. The master process is responsible for controlling queries and collecting the results, and, on the other hand, the worker processes are used to obtain the similarity score between images. See Section 4 for more details.
The rest of the paper is organized as follows. First, Section 2 reviews the fundamental concepts and techniques related to palm vein recognition and image matching methods based on optical flow. Section 3 introduces the theoretical aspects that support the proposed method based on displacement information. In Section 4, the proposed multi-core scheme for people massive identification using palm vein patterns is presented. Finally, the experimental results are discussed in Section 5, and the conclusions are given in Section 6.

Palm Vein Recognition
A general outline of a palm vein recognition system is shown in Figure 2. Typically, it consists of four main processes: image acquisition, pre-processing, feature extraction, and recognition. The capture is made by infrared devices that obtain an image of the vein pattern on the hand. During the pre-processing, the image is segmented to obtain the region of interest (ROI), and different techniques are applied to improve the quality of the image. Feature extraction process computes the representation of the vein patterns, which will later be used in the process of automatic recognition. The main contributions of the literature related to the subject are focused on stages of feature extraction and recognition because these are decisive components in the accuracy of the results [15].

Image acquisition
Pre-processing Palm vein recognition stands out among all the biometric systems because of its great level of recognition accuracy [15] and there are several works that propose multiple approaches [25][26][27][28][29][30][31][32][33][34][35][36][37][38][39][40][41][42][43][44]. Geometry-based approaches extract features from segmented blood vessels by using spatial methods such as Gabor filter [26] and vector grams of maximal intra-neighbor difference [25]. The main handicap of this type of techniques is that the segmentation and extraction of blood vessels is a very difficult process. It lacks precision and produces information loss on tiny and blurred pixels, which affects its performance. Methods based on statistical techniques characterize the texture of vein images at the pixel level of the image. Typically, these types of techniques include local binary patterns (LBP) [27,28] and their different variants local derivative pattern (LDP) [29], Local Tetra Patterns (LTrP) [30], and local directional texture pattern (LDTP) [31]. In general, its performance is affected because the pixel-to-pixel processing is extremely sensitive to deformations. Subspace-based methods are adopted on machine learning to reduce or simplify the data structure by projecting the palm vein image into subspace built from training data. In this category, Elnasir and Shamsuddin [32,33] propose two approaches based on Linear Discrimination Analysis (LDA), Perwira et al. [35] use principal component analysis (PCA), while Xu [34] introduces Partial Least Square for palm vein identification, and Zhou et al. [36] improve subspace methods by using Radon Transform. In addition, some authors propose using local invariant features such as SIFT [37], RootSIFT [38], and SURF [39], as a solution to problems of rotation, scale, and axis changes.
On the other hand, the feature matching process depends on the feature extraction used. Thus, matching methods can be categorized into three groups. Firstly, geometry-based matching compares points and lines features on the blood vessels by measuring metrics like Cosine Similarity Distance [30], Hamming Distance [26], and Euclidean Distance [37,38]; second, feature-based matching [28,40,41] which performs better than geometry-based methods on low-quality images; third, and a little more recently, some authors propose machine learning techniques to improve classification results, such as probabilistic neural network [35], artificial neural network [42], and convolutional neural network (CNN) [43,44].
As reported by Soh et al. [15], most of the research works are focused on contactless palm vein recognition system. A palm vein contactless system is more suitable for real-world scenario. However, a contactless design system produces issues such as non-uniform illumination and affine transformation which is not suitable for some methods. Besides than that, palm vein images, as well as finger images, are severely affected by deformations, which occur due to scale change, axis change, and also affect the accuracy of the system. The image quality is usually solved using visual improvement techniques such as histogram equalization [38,53]. Regarding the vein image deformations, the work of [45] should be highlighted, which introduces a new perspective to deal with the problem of deformations for finger-vein recognition. Their contribution is different from other works that try to reduce the influence of deformations by implementing a more precise segmentation of ROI [53], or using a more robust feature extraction [27,30], among others. The features obtained at the pixel level in [45] are based on the observation that the displacement of pixels generated in the matching process, due to the deformations of vein images, are convenient as discriminatory information.
Understanding the ideas introduced by Meng et al. [45], the information that allows for distinguishing a correspondence of images between genuine and imposter matching is based on two principles-see Figure 3: (1) the displacement of a pixel and its neighbors are similar because the pixels in a local region tend to be similar in deformations; (2) the number of pixels that have the same displacement tends to be larger in genuine matching because two similar images share the same vein structure. For these reasons, the displacement at the pixel level is obtained by treating the correspondence process as an optimization problem based on the proposal of [48]. Thus, the displacement matrices are generated from the dense correspondences of SIFT descriptors [54], from which the feature of uniformity texture [47] is extracted being the final degree of similarity. This new perspective solves the problem of deformations and avoids the segmentation of blood vessel structures for finger-vein recognition. In addition, the recognition method used is more robust and much more discriminatory than traditional approaches.  Our proposal aims to prove these principles are also met for palm vein recognition, but we use a sparse matching algorithm which is more efficient than dense correspondences using SIFT proposed in [45]. To the best of our knowledge, the method we present is the first that aims to reduce the influence of deformations by using it as discriminative information for palm vein recognition. At the same time, our approach reduces the execution time of the matching process of palm vein images being able to use in individual massive identification. Our experimental results show that a higher speed-up is obtained by combining the effectiveness and efficiency of a sparse matching algorithm with a multi-core parallel implementation.

Image Matching Based on Optical Flow
Image alignment, registration, and correspondence are central topics in computer vision. Image alignment becomes even more difficult in the object recognition scenario, where the goal is to align different instances of the same object category [48]. Some authors have proposed image matching techniques inspired by optical flow methods, which are able to produce dense, pixel-to-pixel correspondences between two images [48][49][50][51][52]55]. This approach to obtain the correspondence between two images is formulated as an estimation of a 2D flow field.
On this context, the approaches in the state-of-the-art can be categorized in dense [48,55] and sparse [49][50][51][52] matching algorithm, based on which pixel level is used to compute the correspondence. Dense algorithms use the information of every pixel to obtain a dense correspondence, on the contrary, sparse methods employ sparse feature points.
In the first category, DenseSIFT flow proposed by Liu et al. [48] consists of matching densely sampled, pixel-wise SIFT features [54] between two images, while preserving spatial discontinuities. The matching process is simulated as an optimization objective by using a message passing scheme, the dual-layer loopy belief propagation algorithm [56], and a coarse-to-fine matching scheme. The approach introduced in [48] was tested on face recognition by the authors and it was improved by Meng et al. [45] for finger-vein recognition. Moreover, the proposal in [55] extends coarse matching to dense matching by enforcing affine constraints and a variational flow refinement. Both approaches, and on the whole dense matching methods, have shown excellent performance but at the expense of high computation costs.
On the other hand, sparse matching approaches consider the image as a collection of textural segments, each represented by local image patches. Generally, in order to find a correspondence for a patch, the closest patch is taken disregarding the relation with the other patches. Timofte and Van Gool [49] propose a method called SparseFlow, which also uses the other patches, as they help at selecting the appropriate textural subspaces. Final correspondences are selected as patch pairs where each patch is the sparse match of the other in a bijection, that means the sparse matching works both ways. SparseFlow performs well for small to medium displacements at a low computational cost, being one of the fastest CPU methods. DeepMatching algorithm introduced by Revaud et al. [51] is another sparse method inspired by deep convolutional approaches. This technique computes the correspondence by using a multi-layer architecture, which breaks down patches into a hierarchy of sub-patches. It explicitly handles non-rigid deformations, with bounds on the deformation tolerance, and incorporates a multi-scale scoring of the matches. Additionally, Li et al. [52] introduce a simple but fast and powerful matching method, which works in a coarse-to-fine scheme, called CPM (Coarse-to-fine PatchMatch). It combines an efficient random search strategy and a propagation procedure between the adjacent levels from top to bottom. The fast approximate structure proposed in [48] for the matching process avoids finding the matching of every pixel and leads to a significant speed-up with controllable accuracy.
Our proposal addresses previous limitations of [45] for finger-vein recognition, which is based on dense correspondence method and is time-consuming. In our case, we introduce the use of a sparse matching algorithm to estimate the similarity between palm vein images. It improves the effectiveness and efficiency of the matching process by achieving state-of-the-art accuracy and running much faster than the baseline method.

Methodology
In this section, we present a thorough description of the palm vein recognition process performed by our method, paying special attention to the contributions introduced in our approach. The proposed methodology is based on the deformation information proposed in [45]. Our proposal is composed of four steps for both stages, enrollment and verification/identification. Initially, finger-vein images are captured using a veins scanner device, and a near-infrared (NIR) light (760-940 nm) is often used in palm vein image acquisition. On a second step, a pre-processing of the captured images is performed for ROI segmentation and the quality improvement of the image. Then, the DAISY descriptor [57] is computed and it performs the CPM [52] process to obtain the displacement matrices. Finally, the feature of the uniformity texture [47] of the displacement is calculated, which allows knowing the final result of the correspondence between two veins images as a similarity score. Figure 4 illustrates the diagram of the different processing steps and stages, which are detailed in the following sections.  Figure 4. Flowchart of our approach for palm vein recognition based on deformation information. The modifications and/or contributions with respect to [45] are highlighted in bold text.

Pre-Processing of Finger-Vein Images
Palm vein images are normally captured by using an NIR light. Usually, in contactless systems, the captured image contains the whole hand including fingers. Moreover and much more significant, the captured vein images present a low contrast due to NIR acquisition process. Hence, pre-processing of palm vein images is a very important operation as the initialization step for feature extraction and matching procedures. Regarding this, the image enhancement procedures, as well as ROI segmentation, are crucial to extracting the latent information of palm vein patterns. The pre-processing procedure in our method is composed of three sub-processes with the aim to obtain an enhanced image: ROI segmentation, intensity normalization, and histogram equalization, which are exemplified in Figure 5.
ROI of a palm vein image refers to the region of palm which reserves the most useful information for the recognition process. Thus, one essential rule in the extraction of ROI is that it should have sufficient vein features for extraction and matching [58]. Furthermore, in contactless imaging, it should be noted that palm vein images present a lot of translational and rotational variations. Therefore, in our approach, we applied the ROI extraction method proposed by Kang and Wu [28], which is suitable for contactless palm vein recognition. The process involves various pre-processing steps, such as background segmentation, image rotation, and ROI extraction and normalization, making the feature extraction and matching processes much more robust to axis changes and variations. First, the acquired images are binarized to differentiate the palm and the background region by a modified OTSU algorithm [59], as shown in Figure 5b. Next, taking the middle point of the wrist cut line as reference point (P re f ), the radial distance function (RDF) in-between contour points is calculated to estimate five fingertips (local maximums) and four finger-webs (local minimums), which can be taken as landmarks for image rotation and ROI extraction. Then, the points P 1 , which corresponds to the the midpoint of the two valley points on both sides of the index finger, and P 2 , that similarly corresponds to the midpoint of the valley points on both sides of the little finger, are selected as datum points, as shown in Figure 5c. This method is better to other approaches [26,53,60] which use the valley point between the small finger and ring finger, and the valley point between the middle finger and the index finger as reference points, and in that way they omit an information-rich region at the edge of the palm. Thus, taking the straight line P 1 P 2 formed by the points P 1 and P 2 , since θ represents the angle between P 1 P 2 and the horizontal line L (Figure 5d), let d denote the distance between P 1 and P 2 , and let a be the scaling factor. Hence, we obtain the following relationships as in [28]: where (x P 1 , y P 1 ) and (x P 2 , y P 2 ) are the coordinates of points P 1 and P 2 , respectively, and c is the side length of the normalized ROI, which is fixed in 192 in order to reduce the processing time and to standardize the size of palm vein images for the matching process. Consequently, to eliminate the influences of palm rotation, the palm image is rotated an angle θ. Later, distance d is computed between the rotated points P 1 and P 2 and a square region of side length d is selected to define the palm vein ROI, as shown in Figure 5e. Finally, we perform scaling of ROI by a factor and the normalized ROI is obtained; Figure 5f shows an example of the segmented ROI. The intensity normalization process is carried out in the pre-processing step aiming to solve another problem that occurs during the image acquisition procedure, which is related to lighting conditions. The images have different intensity ranges due to the difference in illumination and hand position. The normalization process lowers the pixel gray value variation along the vein patterns and normalizes the pixel intensity distribution. Instead of the well-known global normalization used by different authors [58,61,62], we propose applying the block-local normalization introduced by Zhou and Kumar [53] to ensure common range intensities between 0 and 255 in all ROI segmented images. Local normalization considers the average of the pixels of the local area and not the entire image as with global normalization. In addition, the local or block-local normalization is more appropriate than global normalization because of the varying of gray in different areas of the image. As in [53], the palm vein image is divided into slightly overlapping 32 × 32 blocks (three pixels overlapping between two blocks to address the blocky effect), and their mean values constitute the coarse estimates of background illumination for individual blocks. The uniform intensity image is achieved by subtracting the estimated background illumination from each original template; Figure 5g illustrates an example of the resulted image.
Once the intensity normalization process takes place, as the final pre-processing step, the contrast of the ROI image is enhanced by using the Contrast Limited Adaptive Histogram Equalization (CLAHE) [63] in which contrast enhancement is carried out in a local neighborhood. This approach is different to some authors that use histogram equalization to globally enhance the contrast in palm vein images [40,41,53]. Thereby, the pre-processing procedure enhances fine details of vein patterns that have been blurred as a natural effect of NIR image acquisition, as shown in Figure 5h. Moreover, the CLAHE operator prevents over amplification of noise in relatively homogeneous regions of the image, as it computes several histograms, each corresponding to a section of the image, and uses them to redistribute the values locally on a predefined neighborhood. In our approach, the size of the neighborhood is empirically fixed to be a 15 × 15 sized window and the contrast is limited to 255.

Feature Extraction of DAISY Descriptor
Rather than a dense SIFT descriptor used by Meng et al. [45], we found that the DAISY descriptor [57] is more suitable for practical usage. The DAISY descriptor retains the robustness of SIFT, being optimal for sparse matching while it can be computed efficiently at every single image pixel.
In order to obtain the DAISY descriptor, in the feature extraction, we first compute orientation maps from the original images. Each orientation map is then convolved several times with Gaussian kernels of different sizes to obtain convolved orientation maps for different sized regions. As our primary motivation is to reduce the computational requirements, it is noticeable that the convolutions can be implemented very efficiently especially by using separable Gaussian filters. Moreover, it is possible to compute convolutions with a large Gaussian kernel at a low computational cost, from several consecutive convolutions with smaller kernels. At each pixel location, DAISY consists of a vector made of values from the convolved orientation maps located on concentric circles centered on the location. In our approach, we use the standard set of parameters proposed by DAISY's authors in [57] and the algorithm implementation in OpenCV library [64]. Hence, in practice, we use the most generic parameter set proposed in [57] for all of the experiments presented in this paper. Thus, the parameter settings for DAISY descriptor are fixed as: Radius (R) = 15, Radius Quantization (Q) = 3, Angular Quantization (T) = 8, and Histogram Quantization (H) = 8.
The efficiency of DAISY comes from the fact that most computations are separable convolutions and also the computation avoids more than once the histograms common to nearby descriptors. In [57], the authors give a formal complexity analysis of both DAISY and SIFT. It should be noted that dense SIFT is a time-consuming algorithm and it is complicated to be parallelized. On the other hand, the DAISY descriptor is very efficient from its own conception and the computation pipeline enables a very efficient memory access pattern and the early separation of the histogram layers greatly improves efficiency. Thus, its implementation allows being parallelized very easily, both in multi-core and GPU parallel platforms. Furthermore, we can consider a more efficient implementation of the convolution operation using the FFT algorithm, which would boost the algorithm performance.

Sparse Matching of Palm Vein Images
To obtain the displacement matrices, it is necessary to find the correspondence between the veins images to be compared. For this, it is considered that the best correspondence for a point must present the most similar features. In this regard and different to [45] which is based on a dense matching algorithm, we propose using a sparse matching method combining a random search strategy with a coarse-to-fine scheme for optical flow with large displacements. Our method introduces the CPM algorithm proposed in [52] for palm vein identification. The key idea of CPM is that matching correspondences with larger patch size are often more discriminative. In addition, the proposed technique implements a fast approximate structure for the matching process, which finds the best correspondence of some seeds and it avoids finding the matching of every pixel, leading to a significant speed-up. In the following, we present the main characteristics of the matching process of our methodology.
Formally in [52], CPM is defined for two images I 1 , I 2 ⊂ R 2 , and a collection of seeds S = {s m } at position {p(s m )}, aiming to determine the flow of each seed as follows: where M(p(s m )) is the corresponding matching position in I 2 for seed s m in I 1 , and the seeds are the cross points of the regular image grid with a spacing of d pixels, obtaining only one seed in every d × d non-overlapping block. Hence, a neighbor system is obtained according to the spatial adjacency of the seeds on the image grid. CPM performs a neighborhood propagation and random search iteratively in an interleaved manner. Seeds are examined in scan order on odd iterations and in reverse scan order on even iterations. Then, flow values are propagated from neighbor seeds to current seed if they have already been examined in the current iteration, as the next equation: where C( f (·)) denotes the match cost between patch centered at p(s m ) in I 1 and patch centered at p(s m ) + f (·) in I 2 ; and N m is the set of spatially adjacent seed neighbors of s m that is already examined in current iterations. Afterward, a random search is performed for the current seed s m by testing some candidate flow around the current best flow f (s m ), at an exponentially decreasing scope started from a maximum search radius. As in [52], the ratio α between the two consecutive search scopes is fixed to 1/2 and the matching process is performed for a fixed number of iteration n.
Another important improvement implemented by Li et al. [52] is the coarse-to-fine scheme for propagation, which is a simple but powerful hierarchical structure to handle the ambiguity of small patches. First, a pyramid with k levels is constructed for both I 1 and I 2 with a downsampling factor η = 0.5. Then, the matches are found for every seed {s l } on the lth level of the pyramids for both images, where l ∈ {0, 1, . . . , k − 1}. It should be noted that the seeds on each level preserve the same neighboring relation as the finest level, and the number of seeds is the same on each level.
After the construction of the pyramid, the algorithm propagates the flow of each seed from top to bottom on the pyramid with a random search. First, the flow of the seeds on the top level { f (s k−1 )} is set randomly. Later, the flow of seeds on the next level { f (s k−2 )} is initialized with the flow of the previous one, and similarly for each level l < k − 1 the computed flow serves as an initialization of the next level as follows: Finally, a propagation with random search within a small search radius r is performed iteratively to obtain the flow of the seeds on each level. The search radius r is defined for every level of the pyramid except the top level which is set to the maximum image dimension.
In [50,52], the authors evaluated the impact of different parameter settings of CPM. They analyzed the impact of varying the parameter set {d, n, k, r} on the computation complexity and the quality of the matches, finding that the parameter set {d, n, k, r} = {3, 6, 5, 4} obtains the best results. Thus, we use the same parameter settings in our approach for all the experiments.

Displacement Uniformity
Previously, we present an efficient coarse-to-fine matching technique for correspondences estimation. Thus, the displacement matrices are derived from the correspondences obtained before. As in [45], our method determines the texture feature of uniformity [47] from the displacement matrices. With this feature, the final similarity between two veins images to be compared is evaluated. Since h x and h y are the histograms of the displacement matrices, where h(i) denotes the number of pixels with a displacement value equal to i, the uniformity is defined as follows: where M and N represent the height and width of the veins image, respectively. The value of l varies in the range [min(∆X, ∆Y), max(∆X, ∆Y)]. Consequently, the value of f lies between 0 and 1. According to [45], when two images correspond to the same palm vein patterns, the uniformity texture of the displacement tends to be relatively high. On the contrary, when it comes to two images of different palms, the uniformity tends to be small. In this way, the uniformity of the displacement is used to discriminate between true or false vein patterns.

Palm Vein Recognition under Multi-Core Platform
In the previous section, our proposed methodology was presented. In this work, we introduce some improvement with respect to the baseline method proposed in [45] for finger-vein recognition. Our approach aims to reduce the computation time for both feature extraction and matching processes, achieving a significant speed-up for massive individuals identification. In correspondence with this, we propose accelerating the process of comparison of finger-vein images by using a multi-core platform.
In recent years, the popularization of multi-core processors, computer clusters, and computational grids have driven the design of parallel applications. Following this trend in the present work, a multi-thread parallel algorithm has been implemented by using OpenMP [65].
An ideal parallelization of the system would be based on a scheme where each pair of images to be compared is related to a processor or processing thread. However, this approach would not be feasible in the problem to be treated, due to the number of images that are compared. Thus, in the proposed solution, each processing thread is responsible for a group of images. With the aim that no synchronization problems are generated between the different threads, a master-worker scheme is used. The master process is responsible for controlling the queries and collecting the results, and, on the other hand, the worker processes are used to estimate the similarity from the subset of vein images they manage. In Figure 4, we illustrate parallel queries under the aforementioned scheme with multiple arrows between storage and CPM process.
In our approach, we use a task distribution scheme in Round-Robin fashion for the computation of similarity tests by worker processes. Let N denote the total number of similarity tests, and let P be the total number of processes. Each worker process computes one similarity test in Round-Robin fashion, as shown in Figure 6; then, each process computes N/P similarity tests.

Results
In this section, the performance of the proposed method for palm vein recognition is evaluated. Three different datasets have been tested in our experiments: CASIA Multi-Spectral Palmprint Image Database V1.0 (CASIA-MS-PalmprintV1 for short) [46], collected by the Chinese Academy of Sciences' Institute of Automation (CASIA); VERA Palm vein database [66], by Idiap Research Institute; and PUT Vein database [67], created by Institute of Control and Information Engineering (CIE). All three are publicly available and they can be found in the evaluations of most of the works presented in the literature. The first two databases are based on contactless acquisition, while the other one used a contact acquisition device.
The CASIA Multi-Spectral Palmprint Image Database [46] is the most relevant dataset for palm print and palm vein recognition. It contains 7200 palm images captured from 100 different people using a self-designed multiple spectral imaging device. All palm images are eight bit gray-level JPEG files with a resolution of 768 × 576 pixels. For each hand, two sessions of palm images were captured with a time interval of more than one month. In each session, there are three samples that contain six palm images that were captured using six different wavelengths (visible, 460, 630, 700, 850 and 940 nm) of the illumination. Between two samples, the authors allowed a certain degree of variations of hand postures aiming to increase the diversity of intra-class samples and simulate practical use. In this paper, we only use a portion of the database. To evaluate the proposed method, we use 1200 palm vein images of both hands, which were captured at a wavelength of 850 nm.
VERA Palm vein database [66] consists of 2200 images depicting human palm vein patterns. Palm vein images were acquired at a wavelength of 940 nm from 110 volunteers (70 male and 40 female) for both left and right hands. For each subject, images were obtained in two sessions of five pictures each per hand. All palm images are 8 bit gray-level using PNG format with a resolution of 480 × 680. The database was acquired by a contactless device. However, the distance between the user hand and the camera lens is measured by an ultrasound sensor and an LED signal that indicates the user the correct position of the hand for the acquisition, which seems to be more natural and feasible.
PUT Vein database [67] consists of 2400 images from 50 volunteers, half of palm vein pattern (1200 images) and the other half contains a wrist vein pattern (another 1200 images), for both left and right hands. Images were acquired by a contact acquisition system where the user covers the acquisition window with his or her palm or wrist, cutting off external light sources. Thus, all images have stable lighting conditions at a wavelength of 880 nm. For each subject, images were obtained in three series of four pictures each. Series were separated by intervals of at least one week on the same day of the week at the same time of day. Each obtained image is a 1280 × 960 bitmap saved in BMP format.
Typically, and depending on the application context, a biometric system operates in two different modes [2]: verification and identification. The verification mode is a positive recognition process, where the user claims a particular identity to the system by submitting its biometric trait sample. In response, the biometric system validates the claimed identity by making a 1:1 (one-to-one) comparison between the submitted sample and the enrolled template associated with this particular individual. The applications include user authentication on computers, ATMs, e-commerce, mobile devices, among others. On the other hand, in the identification mode, the biometric system tries to recognize an individual by making 1:N (one-to-many) comparisons with the submitted biometric sample to all the enrolled templates in the database, without knowing a specific identity for the user. Identification is a negative recognition process that prevents an individual from using multiple identities or where the user denies holding a particular identity. The applications include the issuance of ID cards and passports, border crossing, criminal identification, and missing individuals recognition in natural disasters.
Thus, in order to analyze the applicability of the proposed method in different areas, the following sections present the results of our approach compared in verification and identification modes. In our experiments, we follow the nom L&R protocol from [66], where the left and right hand of the same subject are considered different subjects. In addition, as our main contribution is based on the use of a sparse matching algorithm for palm vein recognition, our experiments also were carried out for different sparse matching methods, in addition to CPM [52]: DeepMatching [51] and SparseFlow [49].
The experiments were implemented using C++ with OpenMP and OpenCV libraries. We also use the original source codes for implementations of DenseSIFT [48], CPM [52], DeepMatching [51], and SparseFlow [49]. Table 2 shows the characteristics of the server used for the experiments, on the sequential and multi-core versions. Compiler gcc version 6.3.0, flags: -03

Experimentation in Verification Mode
In this mode, a set of matching scores are obtained for intra-class and inter-class comparisons. Consequently, Table 3 shows the number of intra-class and inter-class matching pairs on each dataset, together to its description, respectively.  Figure 7 shows the distributions of genuine and imposter matching scores of the proposed method on different databases. Matching scores for the three datasets present a slightly similar distribution. There is an overlap for genuine and imposter matching scores. However, it is noticeable that scores for imposter matching are denser and closer to 0. In addition, both distributions are separable for all databases, which suggests that the CPM is able to find similarities for similar palm vein images while distinguishing image samples from different fingers. The accuracy of our method is examined by computing the EER (equal error rate), FRR (false rejection rate) at-zero-FAR (false acceptance rate), and FAR at-zero-FRR. Table 4 shows the results on different datasets, while Figure 8 depicts the ROC curves obtained for FAR and FRR results on the databases.  The results of FAR and FRR plotted on the ROC curves, see Figure 8, ensure the high accuracy of the proposed method, which is also evident in Table 4. The EERs of the proposed method are under 1% for all reported databases. Previous values demonstrate the effectiveness of our proposal. Furthermore, the results of FRR at-zero-FAR are very low in the three cases, the FAR at-zero-FRR being very close to 1 for CASIA-MS-PalmprintV1 and VERA Palm vein database. These values give us a better interpretation of the performance when either no impostor or no genuine palm vein exemplar is mismatched, respectively.
Experimental results demonstrate the effectiveness of CPM as a matching method for palm vein recognition in verification mode. However, our proposal aims to provide an alternative to calculate the displacement between palm vein images to be capable of using a large database. In this sense, the experimental results for verification task prove that sparse matching, particularly the CPM, is a good alternative to the dense matching process proposed in [45] for finger-vein recognition, which is a time-consuming algorithm. In order to reaffirm the above, Section 5.3 analyzes the performance in terms of execution time and Section 5.5 compares the proposed method against the state-of-the-art approaches.

Experimentation in Identification Mode
In the identification mode, a biometric system tries to identify an unknown individual by comparing the testing sample against every known template in the database. Thus, a matching or similarity score is calculated for each 1:N pair and the testing sample is labeled with the identity of the most similar template. In this experiment, we analyze the effectiveness of the proposed method in the identification mode. For this purpose, the first half of the palm vein samples of each person is used as testing samples and randomly selected one palm vein image from the remaining half as a template of the database. Therefore, Table 5 shows the number of templates and similarity tests on each database, together with its description, respectively. For each testing sample, the ranking of its true label is calculated by descending sorting of the matching scores. It should be noted that we executed the experiment ten times in order to obtain an unbiased result. The cumulative match curves of the proposed method are shown in Figure 9. Table 6 shows the identification accuracy. As it can be seen, the proposed approach achieves average recognition rates above 99% on two datasets and above 98% for CASIA-MS-PalmprintV1. Moreover, the lowest perfect rank of the proposed method is less than 31 on all tested databases. Given previous results, we can say that our proposal, by combining DAISY descriptor and CPM algorithm, has an excellent performance for palm vein recognition in identification mode.

Impact of the Sparse Matching on the Time Efficiency
One of the main contributions of our approach is to reduce the execution time of the dense correspondences between palm vein images; in this experiment, we analyze the impact of the sparse matching on the time efficiency of the recognition pipeline. Thus, we propose using CPM as sparse matching algorithm, that as we have seen in previous experiments, it achieves a good performance in verification and identification tasks. Now, we examine the time efficiency of our proposal and also we compare its results against the baseline method proposed in [45]. In all cases, the reported results were obtained by averaging 10 repetitions of 1200 similarity tests on CASIA-MS-PalmprintV1 database, due to this database being more challenging than the other two. The execution times of each process of the recognition pipeline are listed in Table 7, and Figure 10 studies the effect of our multi-core implementation on the matching process.  As it can be seen in Table 7, the overall speed-up obtained by our method with respect to the baseline is above 15×. Mainly, this result is a consequence of the reduction on the execution time of the sparse matching process introduced in our proposal, which is 0.39 ms while the dense matching of the baseline method is 10,038 times higher. However, it is worth mentioning that the execution time of the feature extraction of our approach is five times higher than the baseline. This behavior contrasts with the results reported by [57], who found that the DAISY descriptor can be computed more efficiently than SIFT. It can be explained by the fact that we used the algorithm implementation of OpenCV library [64] for feature extraction, which are not the same as those used in their experiments. Nevertheless, the DAISY algorithm is suitable to be parallelized under multi-core and GPU platforms, which we will study in the future in order to improve much more the time efficiency of our method.
Given the results depicted in Figure 10, we can say that the master-worker scheme implemented on the matching process linearly increases the number of queries per second computed by our method with varying number of cores. Contrarily, the baseline algorithm shows smaller growth with respect to the increase in the number of processing cores. The main reason is that CPM enables a very efficient memory access by using the DAISY descriptor instead of SIFT, which greatly improves efficiency. In addition, this is possible by the fact that the random search with the coarse-to-fine scheme on a sparse image grid structure is more computationally efficient than dense correspondences implemented in the baseline algorithm. Moreover, these two factors suggest that our approach is also quite suitable for GPU parallel programming, which will be a future task for taking advantage of the multiples cores of a GPU on a real-world application for individuals identification.

Comparison of Different Sparse Matching Methods
Two of the most critical processes affecting the overall performance of the recognition pipeline in the verification/identification stage are the processes of feature extraction and matching. Thus, in order to determine how good our proposal is of using CPM as a sparse matching method for palm vein recognition, in this experiment, we compare the results of CPM against different sparse matching approaches. For this purpose, we replace the processes of feature extraction and matching of the recognition pipeline by using DeepMatching [51] and SparseFlow [49] algorithms. In Table 8 we report the results of the different sparse matching methods on CASIA-MS-PalmprintV1 database, given by the EER and the Rank-one recognition rate for verification and identification tasks, respectively. We also determine the computation time of the matching process as in the previous experiment. The experimental results reported in Table 8 clearly show that CPM obtains the best performance on both recognition tasks. In addition, it is evident that sparse matching methods improve the time efficiency of the matching process in the recognition pipeline, obtaining computation times much lower than dense matching used in [45]. Moreover, DeepMatching [51] and SparseFlow [49] achieve results of recognition accuracy comparable with some state-of-the-art approaches, see Table 9, which also shows that displacement information is an effective way to estimate the similarity of palm vein images. However, we consider that these are not an alternative as convenient as CPM for palm vein recognition because of its time efficiency. Table 9. Comparison of our method with other methods of the state-of-the-art.

Approach
Year

Comparison with State-of-the-Art Approaches
To conclude, the recognition performance obtained by our approach is compared to state-of-the-art approaches with experimentation on CASIA-MS-PalmprintV1 database. We select this database to compare state-of-the-art approaches because it is widely used in the literature and it is the most relevant dataset for palm vein recognition. Furthermore, it should be noticed that some works report their experimental results on self-created datasets, with different measures or different experimental scenarios, which do not allow for making an equivalent comparison. For this reason, recent approaches such as [43,44] based on CNN are not compared in this section. Table 9 summarizes the results of EER achieved by different methods which have been published recently.
In order to provide a statistical analysis of the results respect to state-of-the-art, we followed the recommendations pointed out by Demšar [69] and the extensions presented in [70] related to the computations of adjusted p-values. First, we applied the non-parametric Friedman-test to prove the null hypothesis that all the algorithms obtained the same results on average. Then, once the Friedman test rejected the null hypothesis, we applied post hoc tests. Specifically, the Bonferroni-Dunn test is applied to define if our method significantly outperforms the next ranked approach. In addition, we used the Holm's step-down procedure to complement the above multi-comparison statistical analysis. It should be noticed that the proposal of [69] recommends a set of non-parametric statistical tests and procedures which can be safely used for comparing the performance of more than two classifiers over multiple data sets. However, we belief it also is suitable to compare different approaches on a single dataset. It should be noticed that making a statistical analysis on palm vein recognition over multiple databases is very difficult because most of state-of-the-art approaches use different and/or self-created databases. Table 10 presents EER results reported by each approach and the respective ranking. In this case, we statistically analyzed the results to detect significant differences among compared approaches and their EER results. The Friedman'test rejected the null hypothesis with p = 0.4232. Then, we applied the post hoc Bonferroni-Dunn test at α = 0.10 to detect which method performed equivalently to our approach, which is the best ranked. According to [69], the performance of two algorithms is significantly different if their corresponding ranks differ by at least the critical difference computed as: where q α is the critical value based on the Studentized range statistic, k is the number of algorithms to compare, and N is the number of datasets. Based on this criteria, the Bonferroni-Dunn test does not find any algorithm with significant differences from our approach. To contrast the above results, we provide the results of the Holm's step-down procedure in Table 11, which is more powerful than the Bonferroni-Dunn's and makes no additional assumptions about the hypotheses tested. The Holm's test at α = 0.05 confirms previous results, finding that the proposed approach is slightly better than state-of-the-art methods on CASIA-MS-PalmprintV1 database, but it is not statistically superior.

Approach EER Ranking
Kang et al. [38] 0.00996 3.0 Kang and Wu [28] 0.0236 5.0 Yan et al. [41] 0.0073 2.0 Xu [34] 0.0133 4.0 Akbar et al. [29] 0.03 6.0 Pratiwi et al. [68] 0.1170 7.0 Proposed method 0.0072 1.0 From the previous results, we can conclude that no significant differences are found respect to EER results, so our proposed method achieves comparable results in regards to state-of-the-art approaches on the evaluated dataset. Hence, further analysis on many more databases should be performed in order to provide a wider comparison against state-of-the-art. However, the results provide evidence that the deformation-based approach, which we introduce in our method, is suitable for palm vein recognition and also improve the time efficiency of the baseline with a significant speed-up above 15×. These results demonstrate that our proposal by combining a sparse matching algorithm under a multi-core platform can be an effective alternative for deformation-based palm vein recognition, whilst obtaining state-of-the-art results with a low computational cost.

Conclusions
In this paper, we introduce the CPM algorithm as an effective and efficient alternative to calculate the displacement between palm vein images for individuals recognition based on deformation information. In addition, in order to increase the number of queries per second, considering a real-world application on a large database, we implement a master-worker scheme under a multi-core platform for the matching process.
Our proposed methodology includes pre-processing techniques as a robust ROI selection, intensity normalization, and histogram equalization process, aiming to enhance and to preserve the local details of the vein patterns. In addition, the DAISY descriptor and CPM algorithm are combined in a parallel matching process with the aim of reducing the execution time and increasing the number of processed queries per second of the recognition pipeline. Experimental validation on three well-known databases demonstrates that our proposed approach reaches the state-of-the-art results while it is considerably superior in time efficiency, overcoming the limitations of contactless palm vein systems. To the best of our knowledge, the method we present is the first that aims to reduce the influence of deformations by using it as discriminative information for palm vein recognition.
Moreover, as future work, we will study the parallelization of the DAISY descriptor and the CPM algorithm under hybrid parallel platforms in order to improve much more the performance of our method on a real-world application for individuals' identification.