1 Introduction

Computer-aided personal recognition is becoming increasingly important in our information society. Biometrics is one of the most important and reliable methods in this field [1, 2]. The most widely used biometric feature is the fingerprint [3, 4, 5] and the most reliable feature is the iris [68]. However, it is very difficult to extract small unique features (known as minutiae) from unclear fingerprints and the iris input devices are very expensive [1] . Other biometric features, such as the face [9, 10] and voice [11, 12], are less accurate and they can be mimicked easily. The palmprint, as a relatively new biometric feature [13], has several advantages compared with other currently available features [2]. Palmprints contain more information than fingerprints, so they are more distinctive. Palmprint capture devices are much cheaper than iris devices. Palmprints contain additional distinctive features such as principal lines and wrinkles, which can be extracted from low-resolution images. By combining all the features of palms, such as palm geometry, ridge and valley features, and principal lines and wrinkles, it is possible to build a highly accurate biometrics system. It is for these reasons that palmprint recognition has recently attracted an increasing level of attention from researchers [1317].

Many algorithms have been developed for palmprint authentication in the last several years. Zhang et al. [13] used several straight-line segments to approximate each palm-line and verified the palm by matching these straight-line segments. In this method, palm-lines were traced and linked before the approximation. These operations were very time- consuming. Moreover, the connectivity of the lines affected the result of the approximation heavily. To overcome these problems, Duta et al. [14] adopted some isolated points lying along palm-lines, which were called feature points, and their orientation to represent the lines, and verified palmprints by matching these feature points. A great deal of storage space was required to store the feature points and their orientations. Both of the above methods, which were devised for the off-line palmprints, only considered the structural information about the lines, and thus it was difficult for them to discriminate between palmprints with similar line structures. Because of the noise and unexpected disturbance such as the movement of hand, lighting, settings, etc., the online palmprints, which are captured online from palms using some digital devices, have much worse quality than offline images. It is very difficult to extract the lines from an online palmprint image. Han [16] used Sobel and morphological operations to enhance the lines on a palm and then divided the palmprint into several blocks, after that, the mean of the values of the points in each block is used to form a vector, which are called line-like features. Similarly, for verification, Kumar [17] used other directional masks to extract line-like features from palmprints captured using a digital camera. Obviously, the line-like features extracted by Han [16] and Kumar [17] are heavily affected by the illuminance. You [18] hierarchically coded the palmprints with multiple features for personal identification in large databases, in which the global geometry feature, global texture feature, fuzzy “interest” lines and local directional texture energy were used as the multiple features. The storage requirement and the computation complexity of this method are very high. Zhang [15, 19] used a 2D Gabor filter to extract the phase information (called PalmCode) from low-resolution palmprint images. A highly accurate online palmprint recognition system based on the PalmCode has been developed [15]. Recently, Kong [20] improved the PalmCode method by fusing the codes computed in four different orientations (they called the improved method, the FusionCode. To avoid confusion, we call it the PhaseCode in this paper). Up to now, the PalmCode and PhaseCode are the most powerful methods for palmprint recognition. However, these two methods failed to preserve the orientation information in the PhaseCode, which affected the performance of the system. In this paper, we improve the PhaseCode method by fusing the phase information (PhaseCode) and the orientation information (called OrientationCode) to make a novel feature—Palmprint Phase and Orientation Code (PPOC). At the matching stage, the PPOCs are matched using a modified Hamming Distance.

When palmprints are captured, the position, direction and amount of stretching of a palm may vary so that even palmprints from the same palm may have a little rotation and translation. Furthermore, palms differ in size. Hence, palmprint images should be orientated and normalized before feature extraction and matching. The palmprints used in this paper are captured by a CCD-based palmprint capture device [15]. In this device, there are some pegs between fingers to limit the palm’s stretching, translation and rotation. These pegs separate the fingers, forming holes between the forefinger and the middle finger, and between the ring finger and the little finger. This device can control the light condition and we have given some instructions to the subjects for using this device when we collected their palmprints. Therefore, the qualities of the collected samples are good enough for palmprint authentication. No extra image enhancement and noise reduction processes are needed for the palmprint images. In this paper, we use the preprocessing technique described in [15] to align the palmprints. In this technique, the tangent of these two holes are computed and used to align the palmprint. The central part of the image, which is 128×128, is then cropped to represent the whole palmprint. Such preprocessing greatly reduces the translation and rotation of the palmprints captured from the same palms. Figure 1 shows a palmprint and its cropped image.

Fig. 1
figure 1

An example of the palmprint and its cropped image

The rest of this paper is organized as follows. Section 2 discusses PPOC extraction. Section 3 presents the similarity measurement of PPOCs. Section 4 contains some experimental results. And in Section 5, we provide some conclusions.

2 PPOC extraction

Just as the PalmCode [15] and the PhaseCode [20] extraction, the PPOC is computed using a circular Gabor filter bank. A circular Gabor filter is generally defined as follows [6]:

$$\begin{aligned} G(x,y,\theta,\mu,\sigma) = & \frac{{1}}{ {2\pi\sigma^2}}\exp\left\{-\frac{{x^2 + y^2}}{{2\sigma^2}}\right\}\\ &\exp\{2\pi i(ux\cos{\theta}+uy\sin{\theta})\}\\ \end{aligned}$$
(1)

where μ is the frequency of the sinusoidal wave, θ is the orientation of this filter, and σ is the standard deviation of the Gaussian envelop. Both the real and imaginary members of these filters are used, so the filtered image is complex. The imaginary parts of these filters inherently have no direct current (DC) because of the odd symmetry and the real part can be normalized to zero DC as below:

$$ \bar G[x, y, \theta, \mu, \sigma]= G[x, y, \theta, \mu, \sigma] - \frac{{\sum\nolimits_{i = -n}^{n}\sum\nolimits_{j=-n}^{n}G[x, y, \theta, \mu, \sigma]}}{{(2n + 1)^2}}$$
(2)

where (2n+1)2 is the size of the filter. After normalizing, these filters have no DC response so that the filtered results are little affected by the strength of illumination. We use four Gabor filters whose orientations are 0°, 45°, 90°, 135° to extract the PPOC. These filters are respectively denoted by G j , where j=0,...,3.

Let I denote a palmprint. I is filtered using G j (j=0,..., 3) as following:

$$I_{G_j}=I*G_{j} $$
(3)

where “*” represents the convolution operation.

The magnitude of the filtered image \( {\text{I}}_{{{G}_{{j}} }} \) is defined as:

$$M_j(x,y) = \sqrt{I_{G_j}(x,y) \times \bar I_{G_j}(x,y)}$$
(4)

where “-” represents the complex conjugate.

And the orientation of the point (x,y) is decided by the following equation:

$$ O(x,y)=\arg\max_{j=0,\ldots,3}(M_j(x,y))$$
(5)

O is called the OrientationCode of the palmprint I.

According to (3) and (5), the PhaseCode can be computed as following [20]:

$$ P_{R} (x,y) = \left\{{\begin{array}{*{20}l} {{1,} \hfill} & {{{\text{if}}\;{\mathbf{Re}}{\left[ {I_{{G_{{O(X,Y)}}}} (X,Y)} \right]} \geqslant 0;} \hfill} \\ {{0,} \hfill} & {{{\text{otherwise}}.} \hfill} \\ \end{array}} \right. $$
(6)
$$ P_{I} (x,y) = \left\{{\begin{array}{*{20}l} {{1,} \hfill} & {{{\text{if}}\;{\mathbf{Im}}{\left[ {I_{{G_{{O(X,Y)}}}} (X,Y)} \right]} \geqslant 0;} \hfill} \\ {{0,} \hfill} & {{{\text{otherwise}}.} \hfill} \\ \end{array}} \right. $$
(7)

C=(P R , P I , O) is called the PPOC and P R , P I and O are its real part, imaginary part and orientation part, respectively.

The size of the preprocessed palmprint is 128× 128. Just as PalmCode and PhaseCode, only the pixels at (4i, 4j)(i=0,...,31; j=0,...,31) are used to construct the PPOC.

The parameters μ and σ of the Gabor filters determine the accuracy of the PPOC approach. Here we employ the values used in the PalmCode and PhaseCode (μ=0.0916, σ=5.6179) to compute the PPOC. Figure 2 shows some examples of the PPOC.

Fig. 2
figure 2

Some examples of the PPOCs: ac are original palmprints; df are the real parts of the PPOC; gi are the imaginary parts of the PPOC; jl are the orintation parts of the PPOC

3 The similarity measurement of PPOCs

In the PalmCode and the PhaseCode methods, the normalized Hamming distance is used to measure the similarity of the features. However, we cannot directly use this measurement to the PPOC because the PPOC is composed of the PhaseCode and the OrientationCode. Here we define a modified Hamming distances to measure the similarity of the PPOCs. Because of the imperfect preprocessing, there may exist some non-palmprint pixels in the preprocessed images. We often use a binary matrix to indicate the palmprint pixels in the image [15].

Let I 1 and I 2 denote two palmprints and suppose that M 1 and M 2 are the corresponding masks respectively. Then the valid pixels used for matching can be represented by a binary matrix M:

$$M(i,j) =M_1(i,j) \wedge M_2(i,j)$$
(8)

where “∧” is the logical “AND” operator.

Let C 1=(P R , P I , O 1), C 2=(Q R , Q I , O 2) denote the PPOCs of I 1 and I 2. The binary matrixes H R and H I , which respectively represent the difference between P R and Q R , and between P I and Q I , are computed as below:

$$H_R(i,j) = P_R(i,j) \otimes Q_R(i,j)$$
(9)
$$H_I(i,j) = P_I(i,j) \otimes Q_I(i,j)$$
(10)

where “⊗” represent the logical “XOR” operation.

And the difference between O 1 and O 2 is defined as the following binary matrix H O :

$$ H_{O} (i,j) = \left\{{\begin{array}{*{20}l} {{1,} \hfill} & {{{\text{if}}\;O_{1} (i,j) \ne O_{2} (i,j);} \hfill} \\ {{0,} \hfill} & {{{\text{if}}\;O_{1} (i,j) = O_{2} (i,j).} \hfill} \\ \end{array}} \right. $$
(11)

Then the similarity of the PPOC C 1 and C 2 can be measured by the following modified Hamming distance:

$$\begin{aligned} D(C_1, C_2) & = \frac{{\sum\nolimits_{i=0}^{N-1}\sum\nolimits_{j=0}^{N-1}M(i,j) \wedge (H_R(i,j) \vee H_O(i,j))}}{{\displaystyle 2\sum\nolimits_{i=0}^{N-1}\sum\nolimits_{j=0}^{N-1}M(i,j)}}\\ &\quad+\frac{{\sum\nolimits_{i=0}^{N-1}\sum\nolimits_{j=0}^{N-1}M(i,j) \wedge (H_I(i,j) \vee H_O(i,j))}}{{\displaystyle 2\sum\nolimits_{i=0}^{N-1}\sum\nolimits_{j=0}^{N-1}M(i,j)}} \\ \end{aligned}$$
(12)

where N×N is the size of the images; “∧” and “∨” are the logical “AND” and “OR” operations, respectively.

Obviously, D(C 1, C 2) is between 0 and 1, and the smaller the distance, the greater the similarity between C 1 and C 2. The distance of a perfect match is 0. Because of imperfect preprocessing, there may still be a slight translation between the palmprints captured from the same palm at different times. To overcome this problem, we translate vertically and horizontally one of the PPOCs from −2 to 2 pixels and then match it against another PPOC at each translating position. Finally we take the minimum distance as the final matching distance. Table 1 lists the matching distance between the samples in Fig. 2.

Table 1 The matching distance between samples in Fig. 2

4 Experimental results

We test the proposed approach on a database containing 7,605 palmprints collected from 392 different palms with the CCD-based device [15]. These palmprints were taken from people of different ages and both sexes in the Hongkong Polytechnic University. We captured these palmprints twice, at an interval of around 2 months, each time taking about 10 images from each palm.Therefore, this database contains about 20 images of each palm. The images in the database are of two different sizes, 384×284 and 768×568. In our experiments, the images with 768×568 were resized to 384×284. The central 128×128 part of the image was cropped to extract the PPOC using the preprocessing technique described in [15]. Figure 3 shows some typical preprocessed samples in the database.

Fig. 3
figure 3

Some typical preprocessed samples in the database

In our experiments, each sample in the database is matched against each remaining one. The matching between palmprints which were captured from the same palm is called the genuine matching. Otherwise, the matching is called the impostor matching. A total of 28,914,210 matchings have been performed, in which 70,502 matchings are the genuine matchings. Figure 4 shows the distance distributions of genuine matching and impostor matching. It is shown that there are two distinct peaks in the distributions of the distances. One peak (located around 0.41) corresponds to genuine matching distance while the other peak (located around 0.84) corresponds to impostor matching distance. These two peaks are widely separated and the two curves intersect very little. Therefore, the PPOC approach can very effectively discriminate between palmprints.

Fig. 4
figure 4

The distribution of matching distance of the PPOC approach

The PPOC approach are further analyzed by considering the false accept rate (FAR) and the false reject rate (FRR). These two rates reflect the different aspects of a biometric system and it is ideal to lower them as much as possible. However, it is impossible to lower them at the same time. So, depending on the application, it is necessary to make a trade-off: for high security systems, such as some military systems, where security is the primary criterion, we should reduce FAR, while for low security systems, such as some civil systems, where ease-of-use is also important, we should reduce FRR. To make this trade-off, we usually plot the so-called Receiver Operating Characteristic (ROC) curve, which plots the pairs (FAR, FRR) with different thresholds. Figure 5 depicts the ROC curve of the PPOC approach. For comparison, the Sobel algorithm [16] and the improved PalmCode [15], i.e. the PhaseCode method [20], are also implemented on this database and their ROC curves are also plotted in Fig. 5. The equal error rates (EERs) of these methods, where FAR equals FRR, are listed in Table 2. According to Fig. 5 and Table 2, the PPOC approach and PhaseCode method perform much better than the Sobel algorithm. The EER of the PPOC approach (0.31%) is 0.25% less than that of the PhaseCode method (0.56%). For further analysis, the ROC curves of the PPOC approach and the PhaseCode method are replotted with the log scale in Fig. 6. It is shown that when the FRR is 2%, the FARs of the PPOC approach and the PhaseCode method are about 0.0036% and 0.0078%, respectively. Therefore, the accuracy of the PPOC approach is much higher than that of the PhaseCode method.

Fig. 5
figure 5

The ROC curves of the Sobel algorithm, the phase code method and the PPOC approach

Table 2 The EERs of the Sobel algorithm, the PhaseCode method and the PPOC approach
Fig. 6
figure 6

The re-plotted ROC curves of the phase code method and the PPOC approach with the log scale

The PPOC approach is implemented using Visual C++ on a personal computer with Intel Pentium III processor (500 MHz). The average time that is required for preprocessing, PPOC extraction and matching is listed in Table 3. According to this table, though the extracting and matching time of the PPOC approach are longer than the other two methods, it is still fast enough for a real time biometric system.

Table 3 The average time required in the different stage of the different palmprint recognition methods (ms)

5 Conclusion

Palmprint recognition is an important complement of the available biometric techniques. This paper developed a novel palmprint recognition approach based on the fusion of the phase information and orientation information. This approach is an improvement of the current most powerful palmprint method—the PhaseCode method. In this approach, four 2D Gabor filters are developed to compute the phase information (PhaseCode) and the orientation information (OrientationCode). Then the PhaseCode and the OrientationCode are fused to make a new palmprint feature—PPOC. Finally, a modified Hamming distance is defined to measure the similarity of the PPOCs. The experimental results obtained on a database containing 7,605 samples show that the PPOC approach can effectively discriminate the different palmprints. The PPOC approach and the PalmCode method perform much better than the Sobel algorithm. And the PPOC approach can greatly improve the accuracy of the PhaseCode method. The EER of the PPOC approach has decreased from 0.56% of the PhaseCode method to 0.31% and when the FRR is 2%, the FARs of the PPOC approach has decreased from 0.0078% of the PhaseCode method to 0.0036%. Furthermore, the response time of this approach is short enough for a real time biometric system. In conclusion, the PPOC approach is a promising algorithm for personal authentication.

6 About the authors

Xiangqian Wu received his BSc, MSc and PhD in computer science from Harbin Institute of Technology (HIT), Harbin, China in 1997, 1999 and 2004, respectively. In 2000 and 2002--2003, he worked as a research assistant in the Hong Kong Polytechnic University. Now he is a lecturer in the School of Computer Science and Technology, HIT. As the first author, Dr. Wu has published about 20 papers in several international journals and conferences. And in 2004, he won the excellent paper award in the third international conference on wavelet analysis and its application (ICWAA 2004). Also he is a reviewer of IEEE Transactions on Systems, Man, and Cybernetics---Part A, International Journal of Image and Graphics and Journal of Computer Science and Technology. His current research interests include pattern recognition, image analysis and biometrics, etc.

figure a

David Zhang graduated in Computer Science from Peking University in 1974. In 1983 he received his MSc in Computer Science and Engineering from the Harbin Institute of Technology (HIT) and then in 1985 his PhD from the same institution. From 1986 to 1988, he was a Postdoctoral Fellow at Tsinghua University and then an Associate Professor at the Academia Sinica, Beijing. In 1994 he received his second PhD in Electrical and Computer Engineering from the University of Waterloo, Ontario, Canada. Professor Zhang is currently at the Hong Kong Polytechnic University where he is the Founding Director of the Biometrics Technology Centre (UGC/CRC) (http://www4.comp.polyu.edu.hk/~biometrics/) a body supported by the Hong Kong SAR Government. He also serves as Adjunct Professor in Tsinghua University, Shanghai Jiao Tong University, Harbin Institute of Technology, and the University of Waterloo. Professor Zhang's research interests include automated biometrics-based authentication, pattern recognition, and biometric technology and systems. He is the Founder and Editor-in-Chief, International Journal of Image and Graphics (IJIG) (http://www.worldscinet.com/ijig/ijig.shtml); Book Editor, Kluwer International Series on Biometrics (KISB) (http://www.wkap.nl/prod/s/KISB); and Program Chair, the First International Conference on Biometrics Authentication (ICBA), Associate Editor of more than ten international journals including IEEE Trans on SMC-A/SMC-C, Pattern Recognition, and is the author of more than 130 journal papers, and 35 books/book chapters. As a principal investigator, Professor Zhang's has since 1980 brought to fruition many biometrics projects and won numerous prizes. In 1984 his Fingerprint Recognition System won the National Scientific Council of China's third prize and in 1986 his Real-Time Remote Sensing System took the Council's first prize. In 2002, his Palmprint Identification System won a Silver Medal at the Seoul International Invention Fair, following that in 2003 by taking a Special Gold Award, a Gold Medal, and a Hong Kong Industry Award. Professor Zhang holds a number of patents in both the USA and China and is a current Croucher Senior Research Fellow.

figure b

Kaunquan Wang received his BE and ME degrees in computer science from Harbin Institute of Technology (HIT), Harbin, China, and his PhD degree in computer science from Chongqing University, Chongqing, China, in 1985, 1988, and 2001, respectively. From 1988 to 1998, he worked in the department of computer science, Southwest Normal University, Chongqing, China as a tutor, lecturer and associate professor, respectively. From 1998 to now, he has been working in the Biocomputing Research Centre, HIT as a professor, a supervisor of PhD candidates and an associate director. Meanwhile, from 2000 to 2001 he was a visiting scholar in Hong Kong Polytechnic University supported by Hong Kong Croucher Funding and from 2003 to 2004 he was a research fellow in the same university. So far, he has published over 70 papers. His research interests include biometrics, image processing and pattern recognition. He is a member of the IEEE, an editorial board member of International Journal of Image and Graphics. Also he is a reviewer of IEEE Trans. SMC and Pattern Recognition.

figure c