L. Fei et al. / Pattern Recognition 87 (2019) 237–247 239
the maximum and minimum filtering responses. In the template-
based direction feature extraction, the templates are limited and
their directions are discrete. It is possible that no template can
better monitor the most dominant direction feature of palmprint.
To extract more accurate direction feature, Xu et al. [39] improved
the competitive code to the discriminative robust competitive code
(DRCC) method. It argued that the accurate dominant direction
usually located on the neighboring side of the competitive code
with a larger filtering response than that of the other neighboring
side. The DRCC of the palmprint can be extracted as follows:
DRC C _ cod e =
[
O
c
(x, y ) , O
s
(x, y )
]
=
arg min (
j
r
j
) , sign ( r
left ( j)
− r
right( j)
)
, (4)
where sign ( u ) equals to 1 when u ≥ 0, and 0 otherwise. left ( j ) and
right ( j ) represent the two neighboring directions of the current
dominant direction. Therefore, the DRCC, i.e. [ O
c
, O
s
], is the com-
bination of the competitive code with a dominant direction side
code.
The BOCV method [23] pointed out that using only one domi-
nant direction feature to represent a local region may lose the in-
formation in the other direction. To this end, the BOCV method
proposed to extract and encode multiple direction features of the
palmprint. BOCV encode scheme can be represented as:
BOCV _ cod e
i
(x.y ) = sign (T ( θ
i
) ∗I(x, y )) , { i = 0 , 1 , .., 5 } . (5)
The extended BOCV (E-BOCV) method [40] showed us that the
BOCV codes with small convolved results are possibly the fragile
bits, which should be marked by thresholding:
F ragile _ cod e (x, y ) = sign (| T (θ ) ∗I(x, y ) | − τ ) , (6)
where τ is a positive thresholding parameter. The fragile code and
stable BOCV code maps are respectively compared in the stage of
palmprint matching. In addition, Sun et al. [28] extracted the mul-
tiple perpendicular direction features of the palmprint by using
three combined orthogonal line Gaussian filters.
To improve the robustness of direction feature representation,
the recent direction-based methods proposed to use the statis-
tics of the selected direction features as the feature descriptor
of the palmprint. For example, Luo et al. [41] formed the palm-
print descriptor by concatenating the block-wise histograms of the
two selected directions of the palmprint. In addition, Zhang et al.
[28] used the block-wised histograms of the competitive code of
the palmprint. Fei et al. [42] exploited the block-wise statistical
features on the multiple dominant directions of the palmprint.
2.2. Curvatures and surface type of 3D palmprint
3D palmprint images depict the depth information of a palm
surface with various convex and concave shapes. Given a point on
a palm surface, it has multiple curvatures along different direc-
tions. Among them, the largest and smallest ones are considered
as the most principal curvatures of the point. The mean value of
these two principal curvatures is named as the mean curvature
(MC) and the multiplication of them is called the Gaussian curva-
ture (GC). Both the mean and Gaussian curvatures can depict the
characteristics of a surface. In addition, the GC and MC shows high
robustness to translation and rotation because they depend only
on the surface shape but not on the way of the palm is placed in
the 3D space. So the MC and GC are of two intrinsic measurements
for 3D palmprint feature extraction and recognition.
It is hard to calculate all possible curvatures of a point on a
surface to obtain its MC and GC. To address this issue, Besl et al.
[43] provided us an effective way to obtain the MC and GC based
on a group of pre-defined templates. In the following, we describe
Table 1
Nine surface type codes and corresponding surface shapes.
GC > 0 GC = 0 GC < 0
MC < 0 Peak (STC = 1) Ridge (STC = 2) Saddle ridge (STC = 3)
MC = 0 None (STC = 4) Flat (STC = 5) Minimal surface (STC = 6)
MC > 0 Pit (STC = 7) Valley (STC = 8) Saddle valley (STC = 9)
the basic procedures of the mean curvature and Gaussian curvature
calculations.
In general, a bank of partial derivative window templates
are predefined as follows: D
x
= d
0
d
T
1
, D
y
= d
1
d
T
0
, D
xx
= d
0
d
T
2
,
D
yy
= d
2
d
T
0
and D
xy
= d
1
d
T
1
, where d
0
=
1
7
[1 1 1 1 1 1 1]
T
, d
1
=
1
28
[ −3 − 2 − 1 0 1 2 3]
T
, d
2
=
1
84
[5 0 − 3 − 4 − 3 0 5]
T
. Also, a bi-
nomial template is defined for smoothing 3D palmprint images:
S = s s
T
, where s =
1
64
[1 6 15 20 15 6 1]
T
. Then, the partial deriva-
tive maps of a 3D palmprint f can be obtained as follows [36,43] :
f
u
(x, y ) =
(
D
u
∗(S ∗ f (x, y ))
)
,
(
u = x, y, xx, yy, xy
)
. (7)
Finally, the GC and MC can be directly obtained as:
MC =
(1 + f
2
x
) f
yy
+ (1 + f
2
y
) f
xx
− 2 f
x
f
y
f
xy
2
1 + f
2
x
+ f
2
y
3 / 2
, (8)
and
GC =
f
xx
f
yy
− f
2
xy
1 + f
2
x
+ f
2
y
2
. (9)
To describe the characteristic of a 3D surface, Bsel et al.
[43] classified a surface into eight fundamental types that is the
surface type (ST). These STs depend on the signs and values of the
MC and GC. It is pointed out that a special ST with MC = 0 and
GC > 0 corresponding to non-existing surface shape is also used for
completeness. As a result, nine surface types are used in represent-
ing the surface shape of 3D palmprint, which can be represented
by using nine surface type codes (STC) as in Table 1 . Therefore, the
surface type of a point in 3D palmprint images can be represented
as one of the nine STCs.
3.
Precision direction and compact surface type representation
To extensively exploit the multiple dimensional features of 3D
palmprint, we propose a precision direction code scheme to repre-
sent the 2D features and use a compact but efficient surface type
code to represent the 3D features of the palmprint. Furthermore,
we combine the precision direction with the compact surface type
for more accurate 3D palmprint recognition.
3.1. Precision direction code
Existing works have proven that the dominant direction-based
methods show promising performance in the direction-based
method community. These methods are based on the observation
that a palmprint contains many visible lines which generally carry
dominant direction features. However, the visible lines are usually
limited in a palmprint. Instead, plenty of points in a palmprint are
in a flat area, carrying no visible direction feature.
The basic idea of direction feature extraction is based on a se-
ries of direction-based templates with multiple directions. Suppose
that there are many templates with all possible directions used for
the convolution of direction feature extraction. It is believed only a
few templates, as well as the few directions, can obtain the max-
imum convolved response. Also, only a few directions of the tem-
plates can reach the minimum convolved response. Comparatively,
a medium convolved response can be obtained by more templates