Three-dimensional finger vein recognition method and system
11017205 · 2021-05-25
Assignee
Inventors
Cpc classification
G06V20/647
PHYSICS
G06V40/1359
PHYSICS
G06V40/1376
PHYSICS
G06V20/653
PHYSICS
G06V40/10
PHYSICS
International classification
Abstract
A three-dimensional finger vein recognition method and system, comprising the following steps: three cameras taking finger vein images from three angles to obtain three images; constructing a three-dimensional finger model according to finger contour lines; mapping two-dimensional image textures photographed by the three cameras into the three-dimensional finger model, respectively performing different processes on an overlapping region and a non-overlapping region; obtaining a three-dimensional finger vein image; and finally, performing feature extraction and matching on the three-dimensional finger vein image, to complete recognition. The method can acquire a better finger vein recognition effect, and has a higher robustness for a plurality of postures, such as finger rotation and inclination.
Claims
1. A three-dimensional finger vein recognition method, characterised by comprising the following steps: S1, photographing, by three cameras, from three evenly spaced angles to obtain three images; S2, constructing a three-dimensional finger model according to the finger edges: a sectional view of a finger is considered approximately as a circle S, a three-dimensional finger is divided into several sections at equal distances, a contour of each section is calculated, and the finger is modelled approximately by using a plurality of circles that have different radii and are located in different positions; and all the approximated circles are then connected in an axial direction of the finger to obtain an approximate three-dimensional finger model; S3, after the three-dimensional finger model has been constructed, next, mapping a two-dimensional image texture photographed by the three cameras into the three-dimensional finger model, wherein an overlapping portion and a nonoverlapping portion exist between every two of the images photographed by the three cameras, an overlapping region needs to be determined first, and the overlapping region and a nonoverlapping region are then processed differently, to obtain a three-dimensional finger vein image; and S4, performing feature extraction and matching on the three-dimensional finger vein image, to eventually complete recognition; wherein a method for calculating the contour of each section comprises: 1) constructing a coordinate system xOy according to projection centres C.sub.1, C.sub.2, C.sub.3 of the three cameras: using an intersection of perpendicular bisectors of the three points as a coordinate origin O, and using the perpendicular bisector of C.sub.2C.sub.3 as a y axis to construct a Cartesian coordinate system xOy; and converting pixel coordinates on the images into the coordinate system xOy: a distance from the origin O of the coordinate system to an imaging plane of a camera i is set as L.sub.0, it is set that coordinates of a point on an image is A(x.sub.0,y.sub.0), the point is converted onto an image I.sub.i in the coordinate system xOy, and the coordinates obtained after conversion are A′(x,y):
L.sub.ui:y=k.sub.uix+b.sub.ui, and
L.sub.bi:y=k.sub.bix+b.sub.bi; wherein when it is set that coordinates of the centre of the circle S are (x.sub.c,y.sub.c) and the radius is r.sub.c, distances from the centre to the straight lines are:
2. The three-dimensional finger vein recognition method according to claim 1, wherein an approximation method for solving the parameters of the circle comprises: 1) calculating angle bisectors of L.sub.ui and L.sub.bi: angle bisector equations of the two straight lines are L.sub.i: y=k.sub.ix+b.sub.i, to obtain a system of equations:
x.sub.ij=(b.sub.i−b.sub.j)/(k.sub.i−k.sub.j)
y.sub.ij=k.sub.ix.sub.ij+b.sub.i distances from P.sub.ij to L.sub.ui and L.sub.uj are respectively denoted as r.sub.ij and r.sub.ji, and may be calculated by using formulae for a distance from a point to a straight line, and therefore, eventual centre coordinates S(x.sub.c,y.sub.c) and a radius r.sub.c may be calculated by using the following formulae:
3. The three-dimensional finger vein recognition method according to claim 1, wherein calibration is performed before a contour of each section is calculated, so that after calibration, the three cameras have the same intrinsic parameter, main lines of sight of the three cameras are located in a same plane, and the main lines of sight are all in directions from the projection centres to the origin of a system coordinate system.
4. The three-dimensional finger vein recognition method according to claim 3, wherein a method of calibration comprises: calibrating the three cameras separately by using a matlab calibration toolbox, wherein intrinsic parameters of the three cameras are respectively K.sub.1, K.sub.2, and K.sub.3; setting a calibration conversion formula:
p.sub.i′=H.sub.ip.sub.i wherein i=1, 2, 3, and H.sub.i denotes a conversion matrix from uncalibrated image coordinates p.sub.i to calibrated image coordinates p.sub.i′, wherein
H.sub.i=K
5. The three-dimensional finger vein recognition method according to claim 1, wherein a method for mapping a two-dimensional image texture photographed by the three cameras into the three-dimensional finger model comprises: 1) calculating an overlapping region first, three-dimensional finger model coordinates are converted into image coordinates; a camera i is used as an example; for each circle model, an image corresponding to one camera is a vertical line segment, that is, the line segment has the same vertical coordinate in the image, the vertical coordinate is set to v, v should be determined to be the same as a vertical coordinate of a position of a corresponding edge point during construction of the circle model, and in this way, only a horizontal coordinate u is considered; this is the case of converting two-dimensional coordinates into one-dimensional coordinates, and the following coordinate conversion formula may be obtained:
[x′−x.sub.cy′−y.sub.c][x′−x.sub.cy′−y.sub.c].sup.T=r.sub.c.sup.2 wherein it is set that a photographing range of the camera i in a circle model is Area.sub.i, boundary points of an arc Area.sub.i correspond to edge points of the finger in the photographed image, and therefore also correspond to, coordinate points on the circle, that is, boundary points U.sub.i and B.sub.i of a target function max(min) F=u; coordinates of the boundary points U.sub.i and B.sub.i are calculated by using the foregoing two formulae as constraint conditions; and in this way, a boundary of a photographing range of each camera can be calculated; next, an arc corresponding to the camera is determined, it is specified here that a clockwise direction is a positive direction, a starting end and a finishing end of a regional range are defined, an arc is determined according to an orientation in which a camera is placed in an actual system, and the photographing range of the camera i should correspond to B.sub.iU.sub.i; after the photographing range of each camera is calculated, an overlapping region B.sub.iU.sub.j between images photographed by every two cameras may be obtained; 2) texture mapping for a region in which only a single camera performs photographing, only an image photographed by the camera is used for mapping, that is, image coordinates corresponding to a point on an arc are calculated according to a coordinate conversion formula, and a pixel grayscale value at the coordinates is used as a pixel grayscale value of the point on the arc; for an overlapping region B.sub.2U.sub.3 between two cameras, a Gaussian image fusion method is used to determine a grayscale value of a three-dimensional pixel point, and the method is: for a region in which a camera 2 and a camera 3 perform photographing, a photographing region of the camera 2 is B.sub.2U.sub.2, a photographing region of the camera 3 is B.sub.3U.sub.3, and an overlapping region of the two regions is B.sub.2U.sub.3; for a point (x′,y′) in the overlapping region, the formula is used to calculate image coordinates of the point that separately correspond to the camera 2 and the camera 3, grayscale values I.sub.2(u.sub.2,v.sub.2) and I.sub.3 (u.sub.3,v.sub.3) of two image coordinate points are obtained, and eventually the following formula is used to calculate a grayscale value of the point (x′,y′) in the overlapping region:
I(x′,y′)=ω.sub.2I.sub.2(u.sub.2,v.sub.2)+ω.sub.3I.sub.3(u.sub.3,v.sub.3) wherein ω is a Gaussian weight, and if an overlapping portion is at a finishing end of a current region, a weight value is calculated according to the formula g(P), or if an overlapping portion is at a starting end of a current region, a weight value is calculated according to the formula 1−g(p), wherein
6. The three-dimensional finger vein recognition method according to claim 1, wherein two three-dimensional finger vein texture images that need to be matched are aligned first, and are separately unfolded into two-dimensional images, and matching of a three-dimensional finger vein texture is then completed by using feature extraction and matching of the unfolded two-dimensional images.
7. The three-dimensional finger vein recognition method according to claim 6, wherein unfolding the three-dimensional finger vein texture images into a two-dimensional image comprises: first, mapping a three-dimensional finger vein texture onto a cylinder having a given size, wherein this is equivalent to that each circle is normalized into a circle having a fixed size, for a circle model, equal-angle sampling is performed starting from a first point in a horizontal direction, a total of N points are sampled, and each point is mapped to a point at a same angle on a circle at a corresponding position of the cylinder:
I(r×cos({tilde over (x)}α),r×sin({tilde over (x)}α),z)=I(r×cos({tilde over (x)}α)+x.sub.c,r.sub.c×sin({tilde over (x)}α)+y.sub.c,z) wherein α=2π/N, {tilde over (x)}=1, 2, 3, . . . , N, z=1, 2, . . . , M and z-axis coordinates, r is the radius of the given cylinder, r.sub.c is the radius of a circle model during three-dimensional finger vein reconstruction, and (x.sub.c,y.sub.c) is the centre position of the circle model; and a vein texture can be mapped onto the side of the cylinder after all circle models are processed; and the side of the cylinder is cut open along one generatrix according to the following Formula 1, and is unfolded into a two-dimensional image having a size M×N:
I({tilde over (x)},{tilde over (y)})=I(r×cos({tilde over (x)}α−β),r×sin({tilde over (x)}α−β),{tilde over (y)}) wherein β denotes the azimuth at which the generatrix is located.
8. The three-dimensional finger vein recognition method according to claim 7, wherein when a cylinder corresponding to a template image and a cylinder corresponding to an image to be matched are unfolded into two-dimensional images, if positions of generatrices do not correspond, there is an offset problem between the two unfolded images, and to ensure that corresponding positions can be kept basically unchanged after samples that belong to a same type of object are unfolded into two-dimensional images, the following method is provided to align three-dimensional finger vein images, that is, a value of β is determined: substituting β=kβ.sub.0 into the foregoing formula, wherein β.sub.0 is a search step size and is π/15, 0≤k<2π/β.sub.0, and k is an integer; and capturing a two-dimensional image I.sub.test.sup.k whose size is M.sub.0×N.sub.0 from a two-dimensional image unfolded from a three-dimensional image to be matched, wherein M.sub.0=⅓×M, and N.sub.0=⅓×N; here, specifying that a rotational angle of a template three-dimensional finger image is β=0, that is, specifying that a position of a generatrix for unfolding into a two-dimensional image is a reference orientation, and obtaining a sub image block of a two-dimensional image unfolded from a three-dimensional finger vein template image:
0≤{tilde over (x)}<M.sub.0
0≤{tilde over (y)}<N.sub.0 wherein a two-dimensional image I.sub.template whose size is M.sub.0×N.sub.0 is obtained, so as to find, from the three-dimensional image to be matched, an image block matching the two-dimensional image, to align the three-dimensional image to be matched and a template three-dimensional image; then calculating similarity degrees between all two-dimensional images corresponding to k and a template block I.sub.template:
9. A three-dimensional finger vein recognition system based on the method according to claim 1, comprising a host and a client, wherein the client comprises a light source control module and an image collection module, the light source control module comprises a microprocessor, a driving circuit, and a near-infrared light source that are sequentially connected, and the image collection module comprises a camera for collecting an image; and wherein a software for implementing three-dimensional finger vein reconstruction and recognition is installed on the host, and the host implements transfer of a light-source brightness control signal with the microprocessor of the light source control module and implements transmission of video data with the camera; and the client is responsible for controlling the intensity of the near-infrared light source and collecting and transmitting image information, and the host is responsible for performing processing, three-dimensional reconstruction, feature extraction, and recognition on collected digital images.
Description
DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DETAILED DESCRIPTION OF THE INVENTION
(15) Hereafter the present invention will be further described in detail in conjunction with embodiments and appended drawings, but the embodiments of the present invention are not limited thereto.
Embodiment 1
(16) As shown in
(17) 1.1 Hardware Design
(18) System hardware comprises a host and a client. The client comprises a light source control module and an image collection module. The light source control module uses a microcontroller to control the brightness of a near-infrared light source to implement that three light sources on the sides take turns to illuminate a finger. The image collection module uses an 850-nm near-infrared USB camera (the model is KS302D) to collect an image. The host is a PC. The PC implements transfer of a light source brightness control signal with the microcontroller by using a serial port, and performs transmission of video data with the camera in a USB manner.
(19) 1.2 Software Design
(20) The software portion of the system is the core of the system and is mainly responsible for system process control, image processing, and three-dimensional reconstruction and matching. The client uses Keil to develop a single-chip microcomputer control program. The host uses VS2013+OpenCV+OpneGL to develop software that integrates image processing, three-dimensional reconstruction, and feature extraction and matching. The client uses a timer to generate a PWM signal to control the brightness of a near-infrared LED, and uses a serial port interrupt to receive a control command sent by the host. The host first collects an image and controls the client to adjust the brightness of a light source and then performs a series of preprocessing operations such as cropping, denoising, and edge detection on an original image; next, uses a provided three-dimensional reconstruction algorithm to construct a three-dimensional finger model, and maps a vein texture onto the three-dimensional finger model; and eventually implements a matching function according to a feature extraction method.
Embodiment 2
(21) By using the device in Embodiment 1, the three cameras are used to photograph a finger vein image comprehensively from evenly spaced angles, three-dimensional finger veins are reconstructed, and feature extraction and matching are performed on a three-dimensional finger vein image.
(22) 1. Reconstruct Three-Dimensional Finger Veins:
(23) When a human finger is stretched, a vertical sectional view in an axial direction of the finger is similar to an ellipse whose eccentricity is close to 1. However, compared with an ellipse, a mathematical equation of a circle has fewer parameters, and it is relatively easy to calculate a circle. Therefore, a sectional view of a finger is considered approximately as a circle. In this case, the finger may be modelled approximately by using a plurality of circles that have different radii and are located in different positions.
(24) Because a human finger has a relatively smooth surface, a finger edge has a relatively gentle change in an image photographed by each camera. Therefore, when coordinates of edge points are used to calculate parameters of a circle, even if corresponding points of three perspectives have some deviations, a calculation result is not severely affected. Methods for constructing a three-dimensional finger model and mapping a vein texture are described below in detail.
(25) 1.1 Construct a Three-Dimensional Finger Model
(26) 1.1.1 Mathematical Model in an Ideal State
(27) First, because the cameras used in the system are nearly distortionless, imaging models of the cameras may be approximated by using a pinhole model, as shown in
(28) Step 1: Convert pixel coordinates on the images into the coordinate system xOy shown in
(29) First, relative positions of projection centres C.sub.1, C.sub.2, C.sub.3 of the three cameras are known. An intersection of perpendicular bisectors of the three points is used as a coordinate origin O. The perpendicular bisector of C.sub.2C.sub.3 is used as a y axis to construct a Cartesian coordinate system xOy. A distance from origin O of the coordinate system to an imaging plane of a camera i is set as L.sub.0 (the three cameras correspond to the same L.sub.0). It is set that coordinates of a point on an image is A(x.sub.0,y.sub.0). The point is converted onto an image xOy in the coordinate system I.sub.i. The coordinates obtained after conversion are A′(x,y):
(30)
(31) wherein θ.sub.i denotes an included angle between a ray OC.sub.i and a positive direction of an x axis, i=1, 2, 3, the case is the same below, and y.sub.m denotes a half of an image height in a radial direction of the finger.
(32) Here, only image coordinates of contour edge points of the finger need to be converted into xOy coordinates. Coordinates of an upper edge point P.sub.ui of the finger on an image photographed by the camera i that are obtained after conversion are denoted as
(33) Step 2: Calculate Parameters of a Circle
(34) Because coordinates of the projection centre of each camera are known and are denoted as C.sub.i(x.sub.i,y.sub.i), it is easy to calculate equations of a straight line C.sub.i
L.sub.ui:y=k.sub.uix+b.sub.ui (2), and
L.sub.ui:y=k.sub.bix+b.sub.bi (3), and
(35) When it is set that coordinates of the centre of the circle S are (x.sub.c,y.sub.c) and the radius is r.sub.c, distances from the centre to the straight lines are:
(36)
and
(37) An optimal circle equation should satisfy the following optimization equation:
(38)
(39) The significance of this optimization problem lies in that the calculated circle can be tangent to straight lines L.sub.ui,L.sub.bi; as much as possible. During calculation, because the equations of the straights line are solved, that is, k.sub.ui and b.sub.ui are known quantities. The Formulae (4) and (5) of distances are substituted into the Formula (6) of optimization, d.sub.ui and d.sub.bi are eliminated to obtain that F is actually an equation about x.sub.c,y.sub.c,r.sub.c. The parameters of the circle may be calculated by using a gradient-descent solving algorithm or by using other optimization-problem solving algorithm. However, this method requires a large amount of calculation, and a globally optimal solution can not necessarily be calculated. Another relatively simple method is then provided instead. A result calculated by using the method is not necessarily an optimal solution but a requirement is satisfied. It is noted that in an ideal case, an angle bisector of L.sub.ui and L.sub.bi is a straight line that passes through the centre of the circle. In this way, an intersection of angle bisectors may be calculated to obtain coordinates of the centre, and the radius of the circle are further calculated. A specific calculation method is as follows:
(40) (1) Calculate angle bisectors:
(41) angle bisector equations of the two straight lines are L.sub.i: y=k.sub.ix+b.sub.i, to obtain a system of equations:
(42)
(43) In addition, it may be obtained from a priori knowledge that: |k.sub.1|>1, k.sub.2>0, and k.sub.3<0, and in this way, a system of equations corresponding to each camera has a unique solution.
(44) (2) Calculate centre coordinates and radius:
(45) according to the three angle bisector equations calculated in the previous step, every two straight lines have an intersection, and an intersection between L.sub.i and L.sub.j is denoted as P.sub.ij(x.sub.ij,y.sub.ij), wherein
x.sub.ij=(b.sub.i−b.sub.j)/(k.sub.i−k.sub.j) (8), and
y.sub.ij=k.sub.ix.sub.ij+b.sub.i (9); and
(46) distances from P.sub.ij to L.sub.ui and L.sub.uj are respectively denoted as r.sub.ij and r.sub.ji, and may be calculated by using formulae for a distance from a point to a straight line, and therefore, eventual centre coordinates S(x.sub.c,y.sub.c) and a radius r.sub.c may be calculated by using the following Formulae (10) to (12):
(47)
(48) Here, a circle has been used to approximately represent a contour of a section of a finger in an axial direction. A three-dimensional finger is divided at equal distances into several (300 herein) sections at equal distances. A contour of each section is calculated. All the approximated circles are then connected in an axial direction of the finger to obtain an approximate three-dimensional finger model. However, under the influence of factors such as differences in manufacturing processes of cameras and the lack of an ultra-precise positioning method during hardware mounting. It usually cannot be ensured that a hardware structure is consistent with an ideal model, and therefore, some rectification processing generally needs to be performed for the system.
(49) 1.1.2 Rectification Method for Changing a Common State to an Ideal State
(50) The objective of rectification is that after rectification, the three cameras have the same intrinsic parameter, main lines of sight of the three cameras are located in a same plane, and the main lines of sight are all in directions from the projection centres to the origin of a system coordinate system. A rectification algorithm provide herein comprises the following three steps:
(51) (1) Camera calibration
(52) The three cameras are calibrated separately by using a matlab calibration toolbox. Intrinsic parameters of the three cameras are respectively K.sub.1, K.sub.2, and K.sub.3.
(53) The cameras are calibrated two by two to obtain relative position parameters R.sub.ij and t.sub.ij, wherein i=1, 2; j=2, 3; i≠j, and R.sub.ij denotes a rotation matrix that is from a photographing centre of a camera j to a photographing centre of a camera i, and t.sub.ij denotes an offset matrix of the camera j with respect to the camera i:
(54)
(55) θ is a rotational angle around a z axis, ψ is a rotational angle around a y axis, ϕ is a rotational angle around a rotating axis, and the x axis, the y axis, and the z axis are coordinates axes of the system coordinate system.
(56) (2) Construct a system coordinate system
(57) Theoretically, the vectors t.sub.12, t.sub.13, and t.sub.23 are coplanar, but are very likely not coplanar in a result after rectification calculation of cameras. A following method is used to establish position relationships among three photographing centres:
(58) As shown in
(59) (3) Rectification:
(60) setting a rectification conversion formula:
p.sub.i′=H.sub.ip.sub.i (14),
(61) wherein i=1, 2, 3, and H.sub.i denotes a conversion matrix from uncalibrated image coordinates p.sub.i to calibrated image coordinates p.sub.i′.
(62) It is assumed that a space coordinate is P. A projection formula before rectification is:
(63)
(64) wherein R.sub.i denotes a rotation matrix that is from the coordinate system of camera i to the system coordinate system, before and after conversion, a position of the camera is kept unchanged, but a rotation matrix that is obtained after conversion is:
(65)
(66) and it is solved that:
H.sub.i=K
(67) Here, the system model is already equivalent to an ideal model, and a three-dimensional reconstruction algorithm in an ideal model may be used to construct a three-dimensional model of a finger. It should be noted that for the determination of corresponding positions of edge points, considering that generally, fingers of adults are not greatly different, a cylinder having a diameter similar to that of a finger of an ordinary person is therefore used as a calibration object. As shown in
(68) 2.2 Vein Texture Mapping
(69) After the three-dimensional finger model has been constructed, next, a two-dimensional image texture photographed by the three cameras is mapped into the three-dimensional finger model. As may be found from
(70) (1) Calculate an overlapping region
(71) First, system coordinates are converted into image coordinates. As shown in
(72)
(73) wherein u is a horizontal coordinate on a corresponding image, v.sub.a is a proportion coefficient and has an effect of setting a vertical coordinate of a calculation result to 1, θ.sub.i denotes an included angle between an orientation of the camera i in a system coordinate system and a positive direction of a horizontal axis, L.sub.0 is a distance from a centre of an imaging plane of the camera i to the system coordinate system, u.sub.m is a horizontal coordinate of an imaging centre, and (x′,y′) is a point on a circle and satisfies the following equation (19):
[x′−x.sub.cy′−y.sub.c][x′−x.sub.cy′−y.sub.c].sup.T=r.sub.c.sup.2 (19),
(74) it is set that a photographing range of the camera i in a circle model is Area.sub.i, boundary points (that is, boundary points of an arc Area.sub.i) thereof correspond to edge points of the finger in the photographed image, and therefore also correspond to coordinate points (boundary points U.sub.i and B.sub.i) on a circle of a target function max(min) F=u Formula (18) and Formula (19) are used as constraint conditions, and boundary point coordinates U.sub.i and B.sub.i are easily calculated by using a gradient-descent method. The two coordinate points may also be directly calculated according to a method in which a straight line is tangent to a circle. In this way, a boundary of a photographing range of each camera can be calculated.
(75) Next, an arc corresponding to the camera is determined. It is specified here that a clockwise direction is a positive direction. A starting end and a finishing end of a regional range are defined. An arc is determined according to an orientation in which a camera is placed in an actual system. For example, the photographing range of the camera 3 in .sub.3U.sub.3.
(76) After the photographing range of each camera is calculated, an overlapping region between images photographed by every two cameras is very obvious. For example, assuming that a range corresponding to a camera 2 (for a position of the camera 2, refer to .sub.2U.sub.2, in this case, a photographing overlapping region of the camera 2 and the camera 3 corresponds to
.sub.2U.sub.3.
(77) (2) Texture mapping
(78) Next, how to map a texture of a two-dimensional image into a three-dimensional finger model is discussed. Similarly, a processing method in only one circle model needs to be discussed.
(79) As shown in .sub.2U.sub.2. A photographing region of the camera 3 is
.sub.3U.sub.3. An overlapping region of the two regions is
.sub.2U.sub.3. For a region in which only a single camera performs photographing (for example,
.sub.3B.sub.1 is a region in which only the camera 2 performs photographing), only an image photographed by the camera is used for mapping, that is, image coordinates corresponding to a point on an arc are calculated according to Formula (18), and a pixel grayscale value at the coordinates is used as a pixel grayscale value of the point on the arc; for the overlapping region
.sub.2U.sub.3 between two cameras, a Gaussian image fusion method is used to determine a grayscale value of a three-dimensional pixel point, the method is: for a point (x′,y′) in the overlapping region, using Formula (18) to calculate image coordinates of the point that separately correspond to the camera 2 and the camera 3, to obtain grayscale values I.sub.2(u.sub.2,v.sub.2)) and I.sub.3 (u.sub.3,v.sub.3) of two image coordinate points, and eventually using the following Formula (20) to calculate a grayscale value of the point (x′,y′) in the overlapping region:
I(x′,y′)=ω.sub.2I.sub.2(u.sub.2,v.sub.2)+ω.sub.3I.sub.3(u.sub.3,v.sub.3) (20),
(80) wherein ω is a Gaussian weight, and if an overlapping portion is at a finishing end of a current region, a weight value is calculated according to the formula g(p), or if an overlapping portion is at a starting end of a current region, a weight value is calculated according to the formula 1−g(p), wherein
(81)
(82) 3σ=a length of the overlapping portion. Images photographed by any two cameras are processed according to a similar method, so that a texture mapping problem of a single circle model is resolved. For all approximate circles in the three-dimensional finger model, grayscale values of three-dimensional coordinate points are calculated separately according to the foregoing methods, to eventually obtain the three-dimensional finger vein image.
(83) 3. Feature Extraction and Matching of a Three-Dimensional Finger Vein Image
(84) There are a lot of researches on three-dimensional biometrics in the field of face and fingerprint recognition. Feature extraction of a three-dimensional image may be performed by using the following two concepts. In one concept, feature points are extracted from three-dimensional coordinates to form a feature vector. For example, in a literature, in a fingerprint recognition feature extraction algorithm, a two-dimensional minutiae concept is extended to three dimensions, and distances between minutiae in two samples are calculated to obtain a matching score between the two samples. In the other concept, special conversion is performed on a three-dimensional image to obtain a two-dimensional image, and an existing two-dimensional image feature extraction method is then used to perform feature extraction. For example, in a literature, a three-dimensional fingerprint image is mapped onto a cylinder, and is then unfolded into a two-dimensional image for subsequent processing. After a feature vector is acquired, in a sample matching method, a function for measuring a distance between feature descriptors is defined to calculate a distance value between samples. A distance calculation method is, for example, a Manhattan distance calculation method, an Euclidean distance calculation method, and a Mahalanobis distance calculation method. A single threshold method, a nearest neighbour method, and the like are then used to make an eventual matching decision.
(85)
(86) 3.1 Feature Extraction
(87) It is well known that a cylinder can be cut open along one generatrix and unfolded into a rectangle. A three-dimensional structure of a human finger is approximate to that of a cylinder model. If three-dimensional finger skin veins are unfolded into a two-dimensional image, three-dimensional finger veins may be first mapped onto one cylinder and is then unfolded into a two-dimensional image.
(88) First, a three-dimensional finger vein texture is mapped onto a cylinder having a given size. This is equivalent to that each circle is normalized into a circle having a fixed size. For a circle model, equal-angle sampling is performed starting from a first point in a horizontal direction. A total of N points are sampled. Each point is mapped to a point at a same angle on a circle at a corresponding position of the cylinder:
I(r×cos({tilde over (x)}α),r×sin({tilde over (x)}α),z)=I(r×cos({tilde over (x)}α)+x.sub.c,r.sub.c×sin({tilde over (x)}α)+y.sub.c,z) (22).
(89) α=2π/N, {tilde over (x)}=1, 2, 3, . . . , N, and z=1, 2, . . . , M are z-axis coordinates, r is the radius of the given cylinder, r.sub.c is the radius of a circle model during three-dimensional finger vein reconstruction, and (x.sub.c,y.sub.c) is the centre position of the circle model. A vein texture can be mapped onto the side of the cylinder after all circle models are processed. Subsequently, the side of the cylinder is cut open along one generatrix according to Formula (23), and is unfolded into a two-dimensional image having a size M×N:
I({tilde over (x)},{tilde over (y)})=I(r×cos({tilde over (x)}α−β),r×sin({tilde over (x)}α−β){tilde over (y)}) (23).
(90) β denotes the azimuth at which the generatrix is located, and the meanings of other symbols are the same as those in Formula (22). When a cylinder corresponding to a template image and a cylinder corresponding to an image to be matched are unfolded into two-dimensional images, if positions of generatrices do not correspond, there is an offset problem between the two unfolded images, to ensure that corresponding positions can be kept basically unchanged after samples that belong to a same type of object are unfolded into two-dimensional images, the following method is provided to align three-dimensional finger vein images (that is, to determine a value of β):
(91) here, specifying that a rotational angle of a template three-dimensional finger image is β=0, that is, specifying that a position of a generatrix for unfolding into a two-dimensional image is a reference orientation, and obtaining a sub image block of a two-dimensional image unfolded from a three-dimensional finger vein template image:
0≤{tilde over (x)}<M.sub.0
0≤{tilde over (y)}<N.sub.0
(92) wherein a two-dimensional image I.sub.template whose size is M.sub.0×N.sub.0 is obtained, wherein M.sub.0=⅓×M, and N.sub.0=⅓×N so as to find, from the three-dimensional image to be matched, an image block matching the two-dimensional image, to align the three-dimensional image to be matched and a template three-dimensional image. β=k/β.sub.0 (wherein β.sub.0 is a search step size and is π/15, 0≤k<2π/β.sub.0, and k is an integer) is substituted into Formula (23). Similarly, a two-dimensional image I.sub.test.sup.k whose size is M.sub.0×N.sub.0 is captured from a two-dimensional image unfolded from a three-dimensional image to be matched, and similarity degrees between all two-dimensional images corresponding to k and a template block I.sub.template are then calculated:
(93)
(94) The foregoing expression corr denotes calculation of a correlation between two images, and kβ.sub.0 corresponding to a maximum correlation is used as a rotational angle of a sample to be matched. After the azimuth angle of the generatrix is calculated by using this method, a three-dimensional finger vein image to be matched is then unfolded into a two-dimensional texture image according to Formula (23), and the two-dimensional texture image is aligned with a template two-dimensional image.
(95) After the three-dimensional finger vein image is unfolded into the two-dimensional image, a feature extraction algorithm of a two-dimensional image may be used to extract features. Due to illumination changes, finger deformations, noise interference, and the like, detailed features acquired from a vein image is not very stable, and a minutiae feature does not have high robustness against a finger offset. In comparison, structural features of vein patterns have relatively high robustness against influence factors such as noise interference, illumination changes, and finger deformations. Therefore, a simple and efficient LBP operator[1] is used to extract a structural feature of a vein texture.
(96) 3.2 Feature Matching
(97) In the field of mode recognition, several measurement manners may be used to calculate a distance between two samples. Here, a Manhattan distance calculation method that has a lowest calculation complexity is used, and is also the simplest template matching method. A texture feature vector of a template sample is denoted as F.sub.1=[f.sub.1.sup.(1), f.sub.1.sup.(2), . . . , f.sub.1.sup.(m)], a texture feature vector of a sample to be matched is denoted as F.sub.2=[f.sub.2.sup.(1), f.sub.2.sup.(2), . . . , f.sub.2.sup.(m)], and a Manhattan distance between the two texture features is:
(98)
(99) In a decision stage, a single threshold method is used. When a calculated distance exceeds a given threshold T, it is considered that the two samples have a relatively low similarity degree, and it is determined that the two samples are not objects of a same type. Otherwise, it is considered that the two samples have a high similarity degree, and it is determined that the two samples are objects of a same type.
(100)
(101) The three-dimensional finger vein imaging system provided in Embodiment 1 is used to collect a comprehensive finger skin vein image. The circle approximation method provided in Embodiment 2 is used to construct a three-dimensional finger model. A two-dimensional texture is mapped onto the three-dimensional finger model. An obtained three-dimensional finger image is shown in
(102) Eleven volunteers are recruited for collection for finger vein image data. To ensure the friendliness of the collection manner, no excessive requirements are specified for the volunteers. A volunteer may place a finger on an apparatus in a relatively natural state during data collection. For each volunteer, data of the index fingers and middle fingers of both hands are collected. Image collection is performed four times for each finger. Images from three perspectives of a total of forty-four fingers are used as test data. Then, by using the method provided in this embodiment, feature extraction and matching tests of three-dimensional finger vein images are performed. To describe the effectiveness of the method, results of the method are compared with results of two-dimensional vein image recognition. To ensure adequate fairness and effectiveness, two-dimensional vein images collected by the camera 1 are chosen to perform tests of two-dimensional vein image recognition. Similar to a camera in a conventional two-dimensional finger vein imaging system, the camera 1 is also located below the skin on an inner side of a finger. Test results are shown in
(103) An LBP operator is used to extract a texture feature in
(104) In terms of an equal error rate, as shown in Table 1, an equal error rate of matching using a three-dimensional solution reaches 2.273%) (the equal error rate reaches 1.515% when a HOG operator is used). The result of the three-dimensional solution has an obvious improved effect as compared with an equal error rate of 4.167% (the equal error rate is 3.788% when a HOG operator is used) of existing matching using a two-dimensional finger vein image.
(105) TABLE-US-00001 TABLE 1 Equal error rates of different methods LBP HOG 2D texture 4.167 3.788 3D texture 2.273 1.515
(106) In conclusion, Embodiment 1 and Embodiment 2 provide a brand new three-dimensional finger vein recognition system, and three cameras are used to photograph a comprehensive image of veins beneath finger skin. According to structural characteristics of hardware, a method for fitting a finger section line by using a circle is provided to construct a three-dimensional finger model. In addition, two-dimensional finger veins photographed from three perspectives are mapped into the three-dimensional finger model. A method of feature extraction of a three-dimensional finger vein texture is provided. An identity verification system based on three-dimensional finger vein data is completely implemented. Test results show that as compared with a conventional two-dimensional finger vein recognition system, the three-dimensional finger vein recognition system provided in the embodiments can obtain more vein texture features and achieve a better recognition effect. In addition, the problem of recognition performance degradation caused by changes of finger poses can be further effectively overcome.
REFERENCE
(107) [1] Ojala T, Pietikainen M, Harwood D. A comparative study of texture measures with classification based on featured distributions [J]. Pattern recognition, 1996, 29(1): 51-59.
(108) The foregoing embodiments are preferred implementations of the present invention. However, the implementations of the present invention are not limited to the foregoing embodiments. Any other changes, modifications, replacements, combinations, and simplifications made without departing from the spirit, essence, and principle of the present invention shall all be equivalent replacements, and all fall within the protection scope of the present invention.