<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s121114937</article-id>
<article-id pub-id-type="publisher-id">sensors-12-14937</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Finger Vein Recognition Based on Local Directional Code</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Meng</surname><given-names>Xianjing</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Yang</surname><given-names>Gongping</given-names></name><xref ref-type="corresp" rid="c1-sensors-12-14937"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Yin</surname><given-names>Yilong</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Xiao</surname><given-names>Rongyang</given-names></name></contrib>
<aff id="af1-sensors-12-14937">School of Computer Science and Technology, Shandong University, Jinan 250101, China; E-Mails: <email>rongmengyuan@gmail.com</email> (X.M.); <email>gpyang@sdu.edu.cn</email> (G.Y.); <email>ylyin@sdu.edu.cn</email> (Y.Y.); <email>canyueyang@126.com</email> (R.X.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-12-14937">
<label>*</label> Author to whom correspondence should be addressed; E-Mail: <email>gpyang@sdu.edu.cn</email>; Tel./Fax: +86-531-8839-1367.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>05</day>
<month>11</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>11</issue>
<fpage>14937</fpage>
<lpage>14952</lpage>
<history>
<date date-type="received">
<day>04</day>
<month>09</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>23</day>
<month>10</month>
<year>2012</year></date>
<date date-type="accepted">
<day>29</day>
<month>10</month>
<year>2012</year></date></history>
<permissions>
<copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2012</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>Finger vein patterns are considered as one of the most promising biometric authentication methods for its security and convenience. Most of the current available finger vein recognition methods utilize features from a segmented blood vessel network. As an improperly segmented network may degrade the recognition accuracy, binary pattern based methods are proposed, such as Local Binary Pattern (LBP), Local Derivative Pattern (LDP) and Local Line Binary Pattern (LLBP). However, the rich directional information hidden in the finger vein pattern has not been fully exploited by the existing local patterns. Inspired by the Webber Local Descriptor (WLD), this paper represents a new direction based local descriptor called Local Directional Code (LDC) and applies it to finger vein recognition. In LDC, the local gradient orientation information is coded as an octonary decimal number. Experimental results show that the proposed method using LDC achieves better performance than methods using LLBP.</p></abstract>
<kwd-group>
<kwd>finger vein recognition</kwd>
<kwd>local directional code</kwd>
<kwd>local line binary pattern</kwd>
<kwd>local gradient orientation</kwd>
<kwd>webber local descriptor</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Recently, there has been much interest in biometric authentication for security purposes. Biometrics or biometric authentication [<xref ref-type="bibr" rid="b1-sensors-12-14937">1</xref>,<xref ref-type="bibr" rid="b2-sensors-12-14937">2</xref>] refers to automated methods of recognizing a person using behavioral or physiological features, such as, faces [<xref ref-type="bibr" rid="b3-sensors-12-14937">3</xref>], irises [<xref ref-type="bibr" rid="b4-sensors-12-14937">4</xref>], gaits [<xref ref-type="bibr" rid="b5-sensors-12-14937">5</xref>], fingerprints [<xref ref-type="bibr" rid="b6-sensors-12-14937">6</xref>,<xref ref-type="bibr" rid="b7-sensors-12-14937">7</xref>], veins, <italic>etc</italic>. Biometric features are unique characteristics to an individual which is convenient and more secure than traditional authentication methods. For example, biometric recognition is more reliable than token-based verification methods (keys or ID cards) and knowledge-based methods (passwords or PINs) while attaining higher efficiency and offering a better user experience.</p>
<p>Personal verification based on biometric technology is widely used in door access control, security systems and forensics. However, under special circumstances, these biometric approaches may suffer from some practical limitations. For example, face recognition is susceptible to illumination changes and rotations. Fingerprints [<xref ref-type="bibr" rid="b8-sensors-12-14937">8</xref>] are vulnerable to forgery because fingerprints are easily exposed to others. Moreover, the conditions of a finger such as dryness or sweat can also prevent a clear pattern from being obtained.</p>
<p>Due to the limitations mentioned above, new approaches have been proposed to overcome the existing problems. Meanwhile, many new biometric features have been exploited. Finger vein recognition is just such a kind of biometric approach to overcome some of the limitations. In [<xref ref-type="bibr" rid="b9-sensors-12-14937">9</xref>], the authors prove that each finger has a unique vein pattern that can be used for personal verification. In addition, finger vein recognition also has lots of advantages over other biometric authentication techniques [<xref ref-type="bibr" rid="b10-sensors-12-14937">10</xref>,<xref ref-type="bibr" rid="b11-sensors-12-14937">11</xref>]: (1) non-contact; (2) live-body identification; (3) high security; (4) small device size; (5) with ten fingers per person available, if something unexpected happens, other fingers can also be authenticated. The finger vein recognition is widely considered one of the most promising identification technologies in the future [<xref ref-type="bibr" rid="b12-sensors-12-14937">12</xref>].</p>
<p>Finger vein recognition includes four main steps: image capturing, pre-processing, feature extraction and matching. The extracted features sometimes seriously affect the performance of the recognition systems. In order to extract better features from the segmented blood vessel network, in [<xref ref-type="bibr" rid="b13-sensors-12-14937">13</xref>] the authors extract the finger vein pattern from the unclear image with line tracking, which starts from various positions. In [<xref ref-type="bibr" rid="b14-sensors-12-14937">14</xref>], the minutiae features, including bifurcation points and ending points which can be used for geometric representation of the vein patterns' shape are extracted from these vein patterns. In [<xref ref-type="bibr" rid="b15-sensors-12-14937">15</xref>], the authors propose a mean curvature method, which regards the vein image as a geometric shape and finds the valley-like structures with negative mean curvatures; an equal error rate of 0.25% is reported with test images from 125 fingers. As mentioned above, most of the currently available finger vein-based recognition methods utilize features from a segmented blood vessel network. However, due to the optical blurring and scattering problems, the finger vein images are not always clear and show irregular shadings [<xref ref-type="bibr" rid="b16-sensors-12-14937">16</xref>,<xref ref-type="bibr" rid="b17-sensors-12-14937">17</xref>]. Improperly segmented networks may degrade the recognition accuracy dramatically. To solve this problem, binary pattern based methods are proposed and then LBP [<xref ref-type="bibr" rid="b18-sensors-12-14937">18</xref>], LDP [<xref ref-type="bibr" rid="b19-sensors-12-14937">19</xref>] are applied to the finger vein recognition. A number of LBP variants have also been proposed. For example, Local Ternary Pattern (LTP) [<xref ref-type="bibr" rid="b20-sensors-12-14937">20</xref>] uses a three-value encoding instead of two-value encoding as in the original LBP while Local Quinary Pattern (LQP) [<xref ref-type="bibr" rid="b21-sensors-12-14937">21</xref>] uses a five-value encoding. In [<xref ref-type="bibr" rid="b22-sensors-12-14937">22</xref>], the authors proposed a new LBP variant called Directional Binary Code (DBC) and applied it to near-infrared face recognition. In [<xref ref-type="bibr" rid="b23-sensors-12-14937">23</xref>], the authors proposed the use of a Personalized Best Bit Map (PBBM), which is rooted in a local binary pattern (LBP) and the experiments demonstrate that this feature achieves not only better performance, but also high robustness and reliability. Recently, Petpon and Srisuk [<xref ref-type="bibr" rid="b24-sensors-12-14937">24</xref>] proposed a new variant of LBP called Local Line Binary Pattern (LLBP) and Rosdi <italic>et al.</italic> [<xref ref-type="bibr" rid="b25-sensors-12-14937">25</xref>] applied it to finger vein recognition and the authors demonstrate a better accuracy than both LBP and LDP.</p>
<p>Though finger vein recognition methods can achieve high accuracy using local patterns, it is essentially a kind of network which is hard to extract. As a kind of networks, finger veins contain rich directional information. However, the above mentioned local pattern-based methods have not made full use of the directional information hidden in the finger vein images. Inspired by the Webber Local Descriptor (WLD) [<xref ref-type="bibr" rid="b26-sensors-12-14937">26</xref>], we propose a more descriptive local descriptor called Local Directional Code (LDC). LDC is a square local descriptor which needs only four neighbors when encoding, while up to 2(<italic>N</italic>-1) squared neighbors are used for encoding with LLBP, so the computing complexity of LDC is much lower than LLBP. In LDC, we code the gradient orientation information as an octonary decimal number, compared with the LLBP feature which is obtained in both the vertical and horizontal direction, LDC can better reflect the direction information and local features. Our experiments demonstrate that the LDC feature has improved recognition accuracy.</p>
<p>The rest of the paper is organized as follows: Section 2 presents the proposed local directional code (LDC) in detail. Multi-direction analysis is also in this part. Section 3, the proposed method for finger vein recognition is described. Section 4 presents the experiments and results. Finally, Section 5 concludes the paper.</p></sec>
<sec>
<label>2.</label>
<title>LDC Image Descriptor</title>
<p>In this section, we describe the proposed local directional code (LDC) in detail. Subsequently, we present how to convert a finger vein image into a LDC image to better explain its expressive ability. In addition, we develop its multi-direction analysis.</p>
<sec>
<label>2.1.</label>
<title>LDC</title>
<p>LDC is a kind of local descriptor combined with the gradient direction information inspired by the Webber Local Descriptor (WLD). In WLD, the gradient orientation information, which is used as in [<xref ref-type="bibr" rid="b27-sensors-12-14937">27</xref>], is coded as indexes for the differential excitation of each pixel. In our proposed LDC feature, we code the orientation information as a decimal number <italic>t</italic>, as shown in <xref ref-type="fig" rid="f1-sensors-12-14937">Figure 1</xref>.</p>
<p>We use the difference of the neighbors of a pixel as the two components <italic>v<sub>v</sub></italic> and <italic>v<sub>h</sub></italic> of the local direction which are the outputs of the vertical filter <italic>f<sub>v</sub></italic> and horizontal filter <italic>f<sub>h</sub></italic>:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1" display="block">
<mml:semantics id="sm1">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>6</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>8</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>4</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The gradient orientation is computed as:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm2" display="block">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>arctan</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>For simplicity, <italic>θ</italic> is further quantized into <italic>T</italic> dominant orientations. Before the quantization, we perform the mapping: <italic>f</italic> : <italic>θ</italic> → <italic>θ′</italic>:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:msup>
<mml:mi>θ</mml:mi>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo>=</mml:mo>
<mml:mo>arctan</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>π</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>and</mml:mtext>
<mml:mo>arctan</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>θ</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>π</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>θ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula> where
<inline-formula>
<mml:math id="mm4" display="inline">
<mml:semantics id="sm4">
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> and <italic>θ′</italic> ∈ [0, 2<italic>π</italic>]. This mapping considers the value of <italic>θ</italic>, computed using (2), and the sign of <italic>v<sub>v</sub></italic> and <italic>v<sub>h</sub></italic>. The code function is then as follows:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>mod</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>⌊</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>θ</mml:mi>
<mml:mo>'</mml:mo></mml:msup></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>⌋</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>For example, if <italic>T</italic> = 8, as shown in <xref ref-type="fig" rid="f1-sensors-12-14937">Figure 1</xref>, then <italic>t</italic> ∈ {0, …, 7}. Different value of <italic>t</italic> represents different dominant orientation
<inline-formula>
<mml:math id="mm6" display="inline">
<mml:semantics id="sm6">
<mml:mrow>
<mml:msub>
<mml:mi>Φ</mml:mi>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>π</mml:mi></mml:mrow>
<mml:mn>4</mml:mn></mml:mfrac>
<mml:mo>,</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> (<italic>t</italic> = 1, …, <italic>T</italic> − 1). We set <italic>T</italic> = 8 in our finger vein experiments.</p>
<p>In LDC, we code the orientation information into <italic>T</italic> dominant orientations, compared with the LLBP feature which is obtained in both the vertical and horizontal direction, LDC can better reflect the direction information and local features. The gradient orientation contains information from gradient differences of each pixel and their quantitative relations. We then quantize the gradient orientation into <italic>T</italic> dominant directions after a simple mapping. Each value of <italic>T</italic> reflect different trend of intensity, <italic>i.e.</italic>, the trend of finger vein networks. Experiment 3 shows the effects of the parameter <italic>T</italic>.</p></sec>
<sec>
<label>2.2.</label>
<title>LDC on Finger Vein Image</title>
<p>As shown in <xref ref-type="fig" rid="f1-sensors-12-14937">Figure 1</xref>, a finger vein image is converted into a code map with the same size. Each element is a directional code ranging from 0 to 7. To convert an image, one pass on the image is enough, which implies that LDC has great efficiency. In order to ensure simplicity, during the computation of the LDC conversion process, the edge pixels of the image are ignored, which implies the dimension of the extracted LDCs is (<italic>W</italic> − 2) × (<italic>H</italic> − 2). The pseudo code of the LDC feature extraction process on a finger vein image is summarized in <xref ref-type="table" rid="t4-sensors-12-14937">Algorithm 1</xref>. In the algorithm, first, we calculate the two components of the local direction, then the gradient orientation is computed using <xref rid="FD2" ref-type="disp-formula">Equation (2)</xref>. At last, the gradient direction is further quantized into <italic>T</italic> dominant orientation after a simple mapping using <xref rid="FD3" ref-type="disp-formula">Equation (3)</xref>. Parameters <italic>W</italic> and <italic>H</italic> refer to the width and height of a finger vein image. The calculation is performed in a 3 × 3 neighborhood.</p>
<p>The finger vein images processed using LDC are shown in <xref ref-type="fig" rid="f2-sensors-12-14937">Figure 2</xref>. It should be noted that for viewing convenience, the local directional codes computed for every pixel are normalized to values from 0 to 255. From <xref ref-type="fig" rid="f2-sensors-12-14937">Figure 2</xref>, we can see the discriminablity between different finger vein images.</p></sec>
<sec sec-type="methods">
<label>2.3.</label>
<title>Multi-direction Analysis</title>
<p>The LDC features described above are extracted from the 3 × 3 neighborhood in a vertically crossed way, where the gradient orientation is computed using the outputs of the vertical filter <italic>f<sub>v</sub></italic> and horizontal filter <italic>f<sub>h</sub></italic>. We mark it as LDC-00 where 00 means the original LDC without rotation. For the orientations of the finger vein vessel network may vary, we generalize LDC in different directions. In a 3 × 3 neighborhood, the LDC in 45° rotation is given, which is illustrated in <xref ref-type="fig" rid="f3-sensors-12-14937">Figure 3</xref>.</p>
<p>We marked the LDC in 45° rotation as LDC-45. In LDC-45, the difference of the neighbors of a pixel <italic>v<sub>v</sub></italic>′ and <italic>v<sub>h</sub></italic>′ are the outputs of the vertical filter <italic>f<sub>v</sub></italic>′ and horizontal filter <italic>f<sub>h</sub></italic>′:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi>
<mml:mo>'</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>7</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>3</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>'</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>5</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The gradient orientation of LDC-45 is computed as:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>arctan</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi>
<mml:mo>'</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi>
<mml:mo>'</mml:mo></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Since we have extended the LDC in multiple directions, we also compare its performance with the original LDC (LDC-00) in Section 4.</p></sec></sec>
<sec>
<label>3.</label>
<title>The Proposed Method</title>
<p>In this section, we describe the proposed method for finger vein recognition. The vein recognition procedure includes preprocessing, feature extraction using Local Directional Code (LDC) and the computation of matching scores. Feature extraction was already described in Section 2. <xref ref-type="fig" rid="f4-sensors-12-14937">Figure 4</xref> shows the block diagram of the proposed finger vein recognition method.</p>
<sec>
<label>3.1.</label>
<title>Preprocessing</title>
<p>There are four main steps in the image preprocessing operation, which are image gray processing, ROI extraction, size normalization and gray normalization.</p>
<sec>
<title>Image Gray Processing</title>
<p>The finger vein image captured by the device in this paper, which is shown in <xref ref-type="fig" rid="f5-sensors-12-14937">Figure 5(a)</xref>, is a 24-bit color image with a size of 320 × 240. In order to reduce the computational complexity, the original image is transformed into an 8-bit gray image based on the RGB to Grayscale Equation:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>×</mml:mo>
<mml:mn>0.299</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo>×</mml:mo>
<mml:mn>0.587</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>×</mml:mo>
<mml:mn>0.114</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula> where R, G and B denote the decimal values of the red, green and blue color components.</p></sec>
<sec>
<title>ROI Extraction</title>
<p>As the acquired finger vein image has an unwanted black background which may interfere with the recognition process, we employ an edge detection method to segment the finger vein region, which is defined as the Region of Interest (ROI), from the grayscale image. A Sobel operator with a 3 × 3 mask
<inline-formula>
<mml:math id="mm10" display="inline">
<mml:semantics id="sm10">
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>2</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> is used for detecting the edges of a finger. The width of the finger region can be obtained based on the maximum and minimum abscissa values of the finger profile and the height of the finger region can be similarly detected. A rectangle region, <italic>i.e.</italic>, the ROI, can be captured based on the two values.</p></sec>
<sec>
<title>Size Normalization</title>
<p>The size of the ROI is different from image to image due to personal factors such as different finger size and changing location. Therefore it is necessary to normalize the ROI region to the same size before feature extraction. We use the bilinear interpolation for size normalization in this paper, and the size of the normalized ROI is set to be 96 × 64.</p></sec>
<sec>
<title>Gray Normalization</title>
<p>In order to extract efficient features, gray normalization is used to obtain a uniform gray distribution. In this paper, the normalized image <italic>X</italic> is defined as follows:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm11" display="block">
<mml:semantics id="sm11">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>min</mml:mo></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>max</mml:mo></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>min</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>×</mml:mo>
<mml:mn>255</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>min</mml:mo></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>min</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>H</mml:mi>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:munder>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm13" display="block">
<mml:semantics id="sm13">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo>max</mml:mo></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>max</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>W</mml:mi></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:munder>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula> where <italic>X</italic>(<italic>i,j</italic>) is the gray value of pixel at position (<italic>i,j</italic>) of the original image, <italic>X</italic><sub>min</sub> denotes the minimum gray value of the original image and <italic>X</italic><sub>max</sub> denotes the maximum gray value of the original image.</p></sec></sec>
<sec>
<label>3.2.</label>
<title>Matching</title>
<p>The proposed method estimates the similarities between the extracted local directional codes (LDC) and the enrolled codes of a certain individual. The matching score is measured using the following formula:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mtext mathvariant="italic">Score</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:munder>
<mml:mi>∑</mml:mi>
<mml:mi>i</mml:mi></mml:munder>
<mml:mrow>
<mml:munder>
<mml:mi>∑</mml:mi>
<mml:mi>j</mml:mi></mml:munder>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">CodeNum</mml:mtext></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm15" display="block">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">if</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">codeA</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">codeB</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In <xref rid="FD9" ref-type="disp-formula">Equation (9)</xref>, <italic>Mt</italic> [as shown in <xref ref-type="fig" rid="f4-sensors-12-14937">Figure 4(c)</xref>] is a bitmap used to signify whether <italic>codeA</italic>(<italic>i,j</italic>) and <italic>codeB</italic>(<italic>i,j</italic>) have the same LDC value. <italic>CodeNum</italic> is the total number of LDCs of the matching area, to be more specific, the number of elements in <italic>Mt</italic>. Apparently, the <italic>Score</italic> ranges from 0 to 1.</p></sec></sec>
<sec sec-type="results">
<label>4.</label>
<title>Experimental Results</title>
<sec>
<label>4.1.</label>
<title>The Experimental Database</title>
<p>The experiments were conducted using our finger vein database which was collected from 34 individuals (20 males and 14 females, Asian race) who are students, professors and staff at our school. To acquire these natural finger vein images, each individual participated in two sessions, separated by 20 days. The age of the participants was between 19 and 48 years. Each individual provides 4 fingers, which are left index, left middle, right index and right middle fingers, each of which contributes 30 images. Consequently, our finger vein database includes 4,080 (34 × 4 × 30) finger vein images. The finger vein image captured by the device used in this paper, which is shown in <xref ref-type="fig" rid="f5-sensors-12-14937">Figure 5</xref>, is a 24-bit color image with a size of 320 × 240. The original spatial resolution of the data is 320 × 240, After ROI extraction and Size Normalization, the size of the region used for feature extraction is reduced to 96 × 64. Samples collected from the same finger belong to the same class. Therefore, there are 136 classes, where each class contains 30 samples in our database.</p></sec>
<sec>
<label>4.2.</label>
<title>The Experiment Settings</title>
<p>All the experiments are implemented in MATLAB, and performed on a PC with a 2.4 GHz CPU and 2.0 G memory. In the experiment, the LDC is extracted from three square neighbors in both 0 and 45 degrees, which are labeled LDC-00 and LDC-45. The experiments are designed to multilaterally evaluate the proposed method: (1) Experiment 1 evaluates the performance of the proposed method in verification mode, and compared with the LLBP based method. (2) In Experiment 2 we compare the proposed method and LLBP in the identification mode. (3) Experiment 3 discusses the influence of the parameter setting of <italic>T</italic>. (4) Experiment 4 measures the average processing time.</p></sec>
<sec>
<label>4.3.</label>
<title>Experiment 1</title>
<p>We performed Experiment 1 on the established database in the verification mode. In this mode, the class of the input finger vein (test sample) is known, and each sample is matched with all the other samples from the same class and first six samples of the other 135 classes. A successful matching is called intraclass matching or genuine, if the two matching samples are from the same class. Otherwise, the unsuccessful matching is called interclass matching or imposter. As mentioned above, we use full matching in intraclass matching (each sample is matched with all the other samples from the same class), and each sample is matched with the first six samples from the other 135 classes. Consequently, there are 59,160
<inline-formula>
<mml:math id="mm16" display="inline">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>136</mml:mn>
<mml:mo>×</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mrow>
<mml:mn>30</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> intraclass matching and 330,480 (136 × 6 × 135 × 6) interclass matching in total. In this paper, the performance of a system is evaluated by the EER (equal error rate), the FRR (false rejection rate) at zero FAR(false accept rate), and the FAR at zero FRR. The EER is the error rate when the FRR equals the FAR and therefore suited for measuring the performance of biometrics systems because the FRR and FAR are treated equally. On the other hand the FRR at zero FAR is suited for high security systems, as in those systems, false acceptance errors are much more critical than false rejection errors. On the contrary, the FAR at zero FRR shows the acceptance rate of impostors when more genuine rejected is desired.</p>
<p>In the experiments, we compare the proposed method with the LLBP based method. Genuine and Imposter matching score distributions of these two methods are shown in <xref ref-type="fig" rid="f6-sensors-12-14937">Figures 6</xref> and <xref ref-type="fig" rid="f7-sensors-12-14937">7</xref>, respectively. From <xref ref-type="fig" rid="f6-sensors-12-14937">Figure 6</xref>, we can see that, the genuine matching score and the imposter matching score of the LLBP based method are overlapped between 0.67 and 0.83, while the genuine and imposter matching score of the LDC-00-based method is mainly between 0.35 and 0.7, 0.08 and 0.35, and of the LDC-45-based method mainly between 0.4 and 0.8, and the imposter matching score is mainly between 0.08 and 0.38, as we can see from <xref ref-type="fig" rid="f7-sensors-12-14937">Figures 7</xref> and <xref ref-type="fig" rid="f8-sensors-12-14937">8</xref>.</p>
<p>The ROC curves are shown in <xref ref-type="fig" rid="f9-sensors-12-14937">Figure 9</xref>. The FRR at zero FAR and FAR at zero FRR values are listed in <xref ref-type="table" rid="t1-sensors-12-14937">Table 1</xref>. From <xref ref-type="fig" rid="f9-sensors-12-14937">Figure 9</xref> and <xref ref-type="table" rid="t1-sensors-12-14937">Table 1</xref>, we can see that the proposed LDC method achieves a much lower EER than the LLBP-based method. This indicates that the LDC feature can better reflect the characteristics of a certain individual. Besides, it can make a better use of the directional information which can better illustrate the difference between the individuals.</p></sec>
<sec>
<label>4.4.</label>
<title>Experiment 2</title>
<p>In Experiment 2, we compare the proposed method and LLBP in the identification mode. Closed-set identification experiments (identification is performed only for individuals who are present in the enrollment database) were also conducted. In the identification mode, we don't know the class to which the input finger vein images belong to and have to verify it. In this mode, we use the first 10 finger vein images of each class as test samples and randomly select one finger vein from the remaining 20 samples of each class as templates. Therefore, there are 136 templates and 1,360 (130 × 10) probes in total. The probes were matched with all the template models. For each probe, we can get its rank according the matching results using just one pass:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm17" display="block">
<mml:semantics id="sm17">
<mml:mrow>
<mml:mtext mathvariant="italic">ran</mml:mtext>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>136</mml:mn>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:munder>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="italic">list</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&gt;</mml:mo>
<mml:mi>list</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Here, <italic>rank<sub>j</sub></italic> implies that the probe belong to class <italic>j</italic>. <italic>list</italic> represents the vector of the matching scores. [<italic>list</italic>(<italic>i</italic>) &gt; <italic>list</italic>(<italic>j</italic>)] returns 1 if [<italic>list</italic>(<italic>i</italic>) &gt; <italic>list</italic>(<italic>j</italic>)] is true. Then we can get the cumulative match curves as shown in <xref ref-type="fig" rid="f10-sensors-12-14937">Figure 10</xref>. The rank one recognition rate and the lowest rank of perfect recognition (<italic>i.e.</italic>, the lowest rank when the recognition rate reaches 100%) are listed in <xref ref-type="table" rid="t2-sensors-12-14937">Table 2</xref>. From the experimental results we can see that the proposed method is much better than that of the LLBP based method. The rank one rates of the proposed method LDC-00 and LDC-45 are both 100%, indicating that all the probes are identified correctly.</p></sec>
<sec>
<label>4.5.</label>
<title>Experiment 3</title>
<p>In this section, we discuss the influence of the parameter setting of <italic>T</italic>. Like WLD [<xref ref-type="bibr" rid="b26-sensors-12-14937">26</xref>], the setting of <italic>T</italic> is still a trade-off between discriminability, statistical reliability and tolerance to noises. In general, if the parameter <italic>T</italic> becomes larger, the number of different dominant orientation becomes larger, and thus the LDCs become more discriminable. However, the number of pixels in each dominant orientation becomes smaller because the size of the input image is fixed. This degrades the statistical reliability of the LDCs. If the number of pixels belonging to each dominant orientation becomes too small, it will in turn degrade the discriminability of the LDCs because of its poor statistical reliability. Larger numbers of dominant orientations could cause a poor tolerance to noises. In contrast, if parameter <italic>T</italic> becomes smaller, the pixels in each dominant orientation becomes larger and acquire a better tolerance to noise, the LDCs become statistically more reliable. However, if <italic>T</italic> is too small, the number of the dominant orientations also becomes too small and degrades the discriminability of the LDCs. The experimental results when varying the parameter <italic>T</italic> are given is <xref ref-type="fig" rid="f11-sensors-12-14937">Figure 11</xref>.</p>
<p>From <xref ref-type="fig" rid="f11-sensors-12-14937">Figure 11</xref>, we can see that, when the parameter <italic>T</italic> is equal to 8, the system can achieve a comparatively best tradeoff between discriminability and statistical reliability.</p></sec>
<sec>
<label>4.6.</label>
<title>Experiment 4</title>
<p>In Experiment 4, the average processing times were measured, as shown in <xref ref-type="table" rid="t3-sensors-12-14937">Table 3</xref>. The experiment is implemented in MATLAB, and conducted on a PC with a 2.4 GHz CPU and 2.0 G memory. The average feature extraction time of LDC is 16 ms per image, and the average matching time between two LDCs is 12 ms. The preprocessing time is 53 ms per image. From <xref ref-type="table" rid="t3-sensors-12-14937">Table 3</xref> we can see that the total running time for one match of LDC is slightly faster than LLBP. In a word, the proposed method can be used in real-time applications.</p></sec></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions and Future Work</title>
<p>Extraction of robust features from finger vein images is an important issue in finger vein-based biometric authentication. In this paper, we represent a novel feature extraction method based on the directional information and apply it to finger vein recognition. Though finger vein recognition methods can achieve high accuracy using local patterns, it is essentially a kind of inexact extractable blood vessel network. As a kind of network, finger veins contain a wealth of directional information. In the experimental results, we can see that LDC is more suitable for finger vein recognition than the LLBP- based method. In the future, we plan to design a new feature extraction method considering both the direction and global texture of the finger vein networks.</p></sec></body>
<back>
<ack>
<p>The work is supported by National Natural Science Foundation of China under Grant No. 60933008, 61070097, 61173069, and the Research Found for the Doctoral Program of Higher Education under Grant No. 20100131110021 and 20110131130004. The authors would like to thank Xiaoming Xi and Shaohua Pang for their helpful comments and constructive advice on structuring the paper. In addition, the authors would particularly like to thank the anonymous reviewers for their helpful suggestions.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-14937"><label>1.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Maltoni</surname><given-names>D.</given-names></name><name><surname>Maio</surname><given-names>D.</given-names></name><name><surname>Jain</surname><given-names>A.K.</given-names></name><name><surname>Prabhakar</surname><given-names>S.</given-names></name></person-group><source>Handbook of Fingerprint Recognition</source><edition>2nd ed.</edition><publisher-name>Springer-Verlag</publisher-name><publisher-loc>Berlin, Germany</publisher-loc><year>2009</year></citation></ref>
<ref id="b2-sensors-12-14937"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Ross</surname><given-names>A.A.</given-names></name><name><surname>Nandakumar</surname><given-names>K.</given-names></name><name><surname>Jain</surname><given-names>A.K.</given-names></name></person-group><source>Handbook of Multibiometrics</source><edition>1st ed.</edition><publisher-name>Springer-Verlag</publisher-name><publisher-loc>Berlin, Germany</publisher-loc><year>2006</year></citation></ref>
<ref id="b3-sensors-12-14937"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname><given-names>X.</given-names></name><name><surname>Mandal</surname><given-names>B.</given-names></name><name><surname>Kot</surname><given-names>A.</given-names></name></person-group><article-title>Eigenfeature regularization and extraction in face recognition</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2008</year><volume>30</volume><fpage>383</fpage><lpage>393</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2007.70708</pub-id><pub-id pub-id-type="pmid">18195434</pub-id></citation></ref>
<ref id="b4-sensors-12-14937"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Daugman</surname><given-names>J.</given-names></name></person-group><article-title>How Iris recognition works</article-title><source>IEEE Trans. Circ. Syst. Vid.</source><year>2004</year><volume>14</volume><fpage>21</fpage><lpage>30</lpage><pub-id pub-id-type="doi">10.1109/TCSVT.2003.818350</pub-id></citation></ref>
<ref id="b5-sensors-12-14937"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>L.</given-names></name><name><surname>Tan</surname><given-names>T.</given-names></name><name><surname>Ning</surname><given-names>H.</given-names></name><name><surname>Hu</surname><given-names>W.</given-names></name></person-group><article-title>Silhouette analysis-based gait recognition for human identification</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2003</year><volume>25</volume><fpage>1505</fpage><lpage>1518</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2003.1251144</pub-id></citation></ref>
<ref id="b6-sensors-12-14937"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ratha</surname><given-names>N.K.</given-names></name><name><surname>Karu</surname><given-names>K.</given-names></name><name><surname>Chen</surname><given-names>S.</given-names></name><name><surname>Jain</surname><given-names>A.K.</given-names></name></person-group><article-title>A real-time matching system for large fingerprint databases</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>1996</year><volume>18</volume><fpage>799</fpage><lpage>813</lpage><pub-id pub-id-type="doi">10.1109/34.531800</pub-id></citation></ref>
<ref id="b7-sensors-12-14937"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ross</surname><given-names>A.</given-names></name><name><surname>Jain</surname><given-names>A.K.</given-names></name><name><surname>Reisman</surname><given-names>J.</given-names></name></person-group><article-title>A hybrid fingerprint matcher</article-title><source>Pattern Recognit.</source><year>2003</year><volume>36</volume><fpage>1661</fpage><lpage>1673</lpage><pub-id pub-id-type="doi">10.1016/S0031-3203(02)00349-7</pub-id></citation></ref>
<ref id="b8-sensors-12-14937"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ito</surname><given-names>K.</given-names></name><name><surname>Nakajima</surname><given-names>H.</given-names></name><name><surname>Kobayashi</surname><given-names>K.</given-names></name><name><surname>Aoki</surname><given-names>T.</given-names></name><name><surname>Higuchi</surname><given-names>T.</given-names></name></person-group><article-title>A fingerprint matching algorithm using phase-only correlation</article-title><source>IEICE Trans. Fundamentals Electron. Commun. Comput. Sci.</source><year>2004</year><volume>E87-A</volume><fpage>682</fpage><lpage>691</lpage></citation></ref>
<ref id="b9-sensors-12-14937"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yanagawa</surname><given-names>T.</given-names></name><name><surname>Aoki</surname><given-names>S.</given-names></name><name><surname>Ohyama</surname><given-names>T.</given-names></name></person-group><article-title>Human finger vein images are diverse and its patterns are useful for personal identification</article-title><source>MHF Prepr. Ser.</source><year>2007</year><volume>12</volume><fpage>1</fpage><lpage>7</lpage></citation></ref>
<ref id="b10-sensors-12-14937"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>Z.</given-names></name><name><surname>Yin</surname><given-names>Y.L.</given-names></name><name><surname>Wang</surname><given-names>H.J.</given-names></name><name><surname>Song</surname><given-names>S.L.</given-names></name><name><surname>Li</surname><given-names>Q.L.</given-names></name></person-group><article-title>Finger vein recognition with manifold learning</article-title><source>J. Netw. Comput. Appl.</source><year>2010</year><volume>33</volume><fpage>275</fpage><lpage>282</lpage><pub-id pub-id-type="doi">10.1016/j.jnca.2009.12.006</pub-id></citation></ref>
<ref id="b11-sensors-12-14937"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wu</surname><given-names>J.D.</given-names></name><name><surname>Ye</surname><given-names>S.H.</given-names></name></person-group><article-title>Driver identification using finger-vein patterns with radon transform and neural network</article-title><source>Expert Syst. Appl.</source><year>2009</year><volume>36</volume><fpage>5793</fpage><lpage>5799</lpage><pub-id pub-id-type="doi">10.1016/j.eswa.2008.07.042</pub-id></citation></ref>
<ref id="b12-sensors-12-14937"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Yang</surname><given-names>J.F.</given-names></name><name><surname>Shi</surname><given-names>Y.H.</given-names></name><name><surname>Yang</surname><given-names>J.L.</given-names></name><name><surname>Jiang</surname><given-names>L.H.</given-names></name></person-group><article-title>A Novel Finger-Vein Recognition Method with Feature Combination</article-title><conf-name>Proceedings of the 16th International Conference on Image Processing</conf-name><conf-loc>Cairo, Egypt</conf-loc><conf-date>7–10 November 2009</conf-date><fpage>2709</fpage><lpage>2712</lpage></citation></ref>
<ref id="b13-sensors-12-14937"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Miura</surname><given-names>N.</given-names></name><name><surname>Nagasaka</surname><given-names>A.</given-names></name><name><surname>Miyatake</surname><given-names>T.</given-names></name></person-group><article-title>Feature extraction of finger-vein patterns based on repeated line tracking and its application to personal identification</article-title><source>Mach. Vis. Appl.</source><year>2004</year><volume>15</volume><fpage>194</fpage><lpage>203</lpage><pub-id pub-id-type="doi">10.1007/s00138-004-0149-2</pub-id></citation></ref>
<ref id="b14-sensors-12-14937"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname><given-names>C.B.</given-names></name><name><surname>Qin</surname><given-names>H.F.</given-names></name><name><surname>Zhang</surname><given-names>L.</given-names></name><name><surname>Cui</surname><given-names>Y.Z.</given-names></name></person-group><article-title>Finger-vein image recognition combining modified hausdorff distance with minutiae feature matching</article-title><source>J. Biomed. Sci. Eng.</source><year>2009</year><volume>2</volume><fpage>261</fpage><lpage>272</lpage><pub-id pub-id-type="doi">10.4236/jbise.2009.24040</pub-id></citation></ref>
<ref id="b15-sensors-12-14937"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Song</surname><given-names>W.</given-names></name><name><surname>Kim</surname><given-names>T.</given-names></name><name><surname>Kim</surname><given-names>H.C.</given-names></name><name><surname>Choi</surname><given-names>J.H.</given-names></name><name><surname>Kong</surname><given-names>H.J.</given-names></name><name><surname>Lee</surname><given-names>S.</given-names></name></person-group><article-title>A finger-vein verification system using mean curvature</article-title><source>Pattern Recognit. Lett.</source><year>2011</year><volume>32</volume><fpage>1541</fpage><lpage>1547</lpage><pub-id pub-id-type="doi">10.1016/j.patrec.2011.04.021</pub-id></citation></ref>
<ref id="b16-sensors-12-14937"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lee</surname><given-names>E.C.</given-names></name><name><surname>Park</surname><given-names>K.R.</given-names></name></person-group><article-title>Image restoration of skin scattering and optical blurring for finger vein recognition</article-title><source>Opt. Lasers Eng.</source><year>2011</year><volume>49</volume><fpage>816</fpage><lpage>828</lpage><pub-id pub-id-type="doi">10.1016/j.optlaseng.2011.03.004</pub-id></citation></ref>
<ref id="b17-sensors-12-14937"><label>17.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Mulyono</surname><given-names>D.</given-names></name><name><surname>Jinn</surname><given-names>H.S.</given-names></name></person-group><article-title>A Study of Finger Vein Biometric for Personal Identification</article-title><conf-name>Proceedings of the International Symposium on Biometrics and Security Technologies</conf-name><conf-loc>Islamabad, Pakistan</conf-loc><conf-date>23–24 April 2008</conf-date><fpage>1</fpage><lpage>8</lpage></citation></ref>
<ref id="b18-sensors-12-14937"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ojala</surname><given-names>T.</given-names></name><name><surname>Pietikainen</surname><given-names>M.</given-names></name><name><surname>Maenpaa</surname><given-names>T.</given-names></name></person-group><article-title>Multiresolution gray-scale and rotation invariant texture classification with local binary patterns</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2002</year><volume>24</volume><fpage>971</fpage><lpage>987</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2002.1017623</pub-id></citation></ref>
<ref id="b19-sensors-12-14937"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>B.</given-names></name><name><surname>Gao</surname><given-names>Y.</given-names></name><name><surname>Zhao</surname><given-names>S.</given-names></name><name><surname>Liu</surname><given-names>J.</given-names></name></person-group><article-title>Local derivative pattern <italic>versus</italic> local binary pattern: Face recognition with high-order local pattern descriptor</article-title><source>IEEE Trans. Image Process.</source><year>2010</year><volume>19</volume><fpage>533</fpage><lpage>544</lpage><pub-id pub-id-type="doi">10.1109/TIP.2009.2035882</pub-id><pub-id pub-id-type="pmid">19887313</pub-id></citation></ref>
<ref id="b20-sensors-12-14937"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tan</surname><given-names>X.</given-names></name><name><surname>Triggs</surname><given-names>B.</given-names></name></person-group><article-title>Enhanced local texture feature sets for face recognition under difficult lighting conditions</article-title><source>IEEE Trans. Image Process.</source><year>2010</year><volume>19</volume><fpage>1635</fpage><lpage>1650</lpage><pub-id pub-id-type="doi">10.1109/TIP.2010.2042645</pub-id><pub-id pub-id-type="pmid">20172829</pub-id></citation></ref>
<ref id="b21-sensors-12-14937"><label>21.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nanni</surname><given-names>L.</given-names></name><name><surname>Lumini</surname><given-names>A.</given-names></name><name><surname>Brahnam</surname><given-names>S.</given-names></name></person-group><article-title>Local binary patterns variants as texture descriptors for medical image analysis</article-title><source>Artif. Intell. Med.</source><year>2010</year><volume>49</volume><fpage>117</fpage><lpage>125</lpage><pub-id pub-id-type="doi">10.1016/j.artmed.2010.02.006</pub-id><pub-id pub-id-type="pmid">20338737</pub-id></citation></ref>
<ref id="b22-sensors-12-14937"><label>22.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>B.</given-names></name><name><surname>Zhang</surname><given-names>L.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Shen</surname><given-names>L.</given-names></name></person-group><article-title>Directional binary code with application to PolyU near-infrared face database</article-title><source>Pattern Recognit. Lett.</source><year>2010</year><volume>31</volume><fpage>2337</fpage><lpage>2344</lpage><pub-id pub-id-type="doi">10.1016/j.patrec.2010.07.006</pub-id></citation></ref>
<ref id="b23-sensors-12-14937"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yang</surname><given-names>G.P.</given-names></name><name><surname>Xi</surname><given-names>X.M.</given-names></name><name><surname>Yin</surname><given-names>Y.L.</given-names></name></person-group><article-title>Finger vein recognition based on a personalized best bit map</article-title><source>Sensors</source><year>2012</year><volume>12</volume><fpage>1738</fpage><lpage>1757</lpage><pub-id pub-id-type="doi">10.3390/s120201738</pub-id><pub-id pub-id-type="pmid">22438735</pub-id></citation></ref>
<ref id="b24-sensors-12-14937"><label>24.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Petpon</surname><given-names>A.</given-names></name><name><surname>Srisuk</surname><given-names>S.</given-names></name></person-group><article-title>Face Recognition with Local Line Binary Pattern</article-title><conf-name>Proceedings of the Fifth International Conference on Image and Graphics</conf-name><conf-loc>Xi'an, China</conf-loc><conf-date>20–23 September 2009</conf-date><fpage>533</fpage><lpage>539</lpage></citation></ref>
<ref id="b25-sensors-12-14937"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rosdi</surname><given-names>B.A.</given-names></name><name><surname>Shing</surname><given-names>C.W.</given-names></name><name><surname>Suandi</surname><given-names>S.A.</given-names></name></person-group><article-title>Finger vein recognition using local line binary pattern</article-title><source>Sensors</source><year>2011</year><volume>11</volume><fpage>11357</fpage><lpage>11371</lpage><pub-id pub-id-type="doi">10.3390/s111211357</pub-id><pub-id pub-id-type="pmid">22247670</pub-id></citation></ref>
<ref id="b26-sensors-12-14937"><label>26.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>J.</given-names></name><name><surname>Shan</surname><given-names>S.</given-names></name><name><surname>He</surname><given-names>C.</given-names></name><name><surname>Zhao</surname><given-names>G.</given-names></name><name><surname>Pietikainen</surname><given-names>M.</given-names></name><name><surname>Chen</surname><given-names>X.</given-names></name><name><surname>Gao</surname><given-names>W.</given-names></name></person-group><article-title>WLD: A robust local image descriptor</article-title><source>IEEE Trans. Pattern Anal. Mach.</source><year>2010</year><volume>32</volume><fpage>1705</fpage><lpage>1720</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2009.155</pub-id></citation></ref>
<ref id="b27-sensors-12-14937"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lowe</surname><given-names>D.</given-names></name></person-group><article-title>Distinctive image features from Scale invariant key points</article-title><source>Int. J. Comput. Vis.</source><year>2004</year><volume>60</volume><fpage>91</fpage><lpage>110</lpage><pub-id pub-id-type="doi">10.1023/B:VISI.0000029664.99615.94</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-12-14937" position="float">
<label>Figure 1.</label>
<caption>
<p>Description of the calculation of the LDC descriptor.</p></caption>
<graphic xlink:href="sensors-12-14937f1.gif"/></fig>
<fig id="f2-sensors-12-14937" position="float">
<label>Figure 2.</label>
<caption>
<p>Finger vein images processed by LDC. The first row shows the original finger vein images, the second row shows the LDC images, respectively.</p></caption>
<graphic xlink:href="sensors-12-14937f2.gif"/></fig>
<fig id="f3-sensors-12-14937" position="float">
<label>Figure 3.</label>
<caption>
<p>Illustration of 45°-direction analysis. (<bold>a</bold>) 3-square neighbor. (<bold>b</bold>) Vertical filter of LDC in 45° rotation. (<bold>c</bold>) Horizontal filter of LDC in 45° rotation.</p></caption>
<graphic xlink:href="sensors-12-14937f3.gif"/></fig>
<fig id="f4-sensors-12-14937" position="float">
<label>Figure 4.</label>
<caption>
<p>Flowchart of the finger vein recognition method. (<bold>a</bold>) Figure vein image after preprocessing; (<bold>b</bold>) Vision image for LDCs; (<bold>c</bold>) Matching results, here the black region implies the unmatched area, as Image 1 and Image 2 are from different classes, only 27 percent of the LDCs are matched.</p></caption>
<graphic xlink:href="sensors-12-14937f4.gif"/></fig>
<fig id="f5-sensors-12-14937" position="float">
<label>Figure 5.</label>
<caption>
<p>Examples of preprocessing. (<bold>a</bold>) Original finger vein image; (<bold>b</bold>) ROI of (a); (<bold>c</bold>) Finger vein image after size normalization; (<bold>d</bold>) Finger vein image after gray normalization.</p></caption>
<graphic xlink:href="sensors-12-14937f5.gif"/></fig>
<fig id="f6-sensors-12-14937" position="float">
<label>Figure 6.</label>
<caption>
<p>Matching score distribution of the LLBP-based method.</p></caption>
<graphic xlink:href="sensors-12-14937f6.gif"/></fig>
<fig id="f7-sensors-12-14937" position="float">
<label>Figure 7.</label>
<caption>
<p>Matching score distribution of the LDC -00-based finger vein recognition.</p></caption>
<graphic xlink:href="sensors-12-14937f7.gif"/></fig>
<fig id="f8-sensors-12-14937" position="float">
<label>Figure 8.</label>
<caption>
<p>Matching score distribution of the LDC-45-based finger vein recognition.</p></caption>
<graphic xlink:href="sensors-12-14937f8.gif"/></fig>
<fig id="f9-sensors-12-14937" position="float">
<label>Figure 9.</label>
<caption>
<p>The ROC curve in the verification mode.</p></caption>
<graphic xlink:href="sensors-12-14937f9.gif"/></fig>
<fig id="f10-sensors-12-14937" position="float">
<label>Figure 10.</label>
<caption>
<p>Cumulative match curves by different methods.</p></caption>
<graphic xlink:href="sensors-12-14937f10.gif"/></fig>
<fig id="f11-sensors-12-14937" position="float">
<label>Figure 11.</label>
<caption>
<p>The effects of using different vaules of parameter <italic>T</italic>.</p></caption>
<graphic xlink:href="sensors-12-14937f11.gif"/></fig>
<table-wrap id="t1-sensors-12-14937" position="float">
<label>Table 1.</label>
<caption>
<p>Verification performance by different methods.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><bold>Method</bold></th>
<th align="center" valign="top"><bold>EER</bold></th>
<th align="center" valign="top"><bold>FAR at zero FRR</bold></th>
<th align="center" valign="top"><bold>FRR at zero FAR</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">LLBP</td>
<td align="center" valign="top">0.0225</td>
<td align="center" valign="top">0.7621</td>
<td align="center" valign="top">0.0877</td></tr>
<tr>
<td align="center" valign="top">LDC-00</td>
<td align="center" valign="top">0.0116</td>
<td align="center" valign="top">0.4962</td>
<td align="center" valign="top">0.0653</td></tr>
<tr>
<td align="center" valign="top">LDC-45</td>
<td align="center" valign="top">0.0102</td>
<td align="center" valign="top">0.4514</td>
<td align="center" valign="top">0.0468</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-12-14937" position="float">
<label>Table 2.</label>
<caption>
<p>Identification performance by different methods.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><bold>Method</bold></th>
<th align="center" valign="top"><bold>Rank one Recognition Rate</bold></th>
<th align="center" valign="top"><bold>Lowest Rank of Perfect Recognition</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">LLBP</td>
<td align="center" valign="top">99.78%</td>
<td align="center" valign="top">135</td></tr>
<tr>
<td align="center" valign="top">LDC-00</td>
<td align="center" valign="top">100%</td>
<td align="center" valign="top">1</td></tr>
<tr>
<td align="center" valign="top">LDC-45</td>
<td align="center" valign="top">100%</td>
<td align="center" valign="top">1</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-12-14937" position="float">
<label>Table 3.</label>
<caption>
<p>The average preprocessing time for the LDC method.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><bold>Method</bold></th>
<th align="center" valign="top"><bold>Preprocessing</bold></th>
<th align="center" valign="top"><bold>Feature Extraction</bold></th>
<th align="center" valign="top"><bold>Matching</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">LDC</td>
<td align="center" valign="top">53 ms</td>
<td align="center" valign="top">16 ms</td>
<td align="center" valign="top">12 ms</td></tr>
<tr>
<td align="center" valign="top">LLBP</td>
<td align="center" valign="top">53 ms</td>
<td align="center" valign="top">22 ms</td>
<td align="center" valign="top">8 ms</td></tr></tbody></table></table-wrap>
<table-wrap id="t4-sensors-12-14937" position="float">
<label>Algorithm 1.</label>
<caption>
<p>The LDC feature extraction.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td colspan="2" align="left" valign="top"><bold>Require</bold>: Image <italic>X</italic> = {<italic>x<sub>i,j</sub></italic>∣<italic>i</italic> ∈ (1, …<italic>H</italic>), <italic>j</italic> ∈ (1, …<italic>W</italic>)}</td></tr>
<tr>
<td colspan="2" align="left" valign="top"><bold>Ensure</bold>: LDC feature map <italic>M</italic> = { <italic>m<sub>i,j</sub></italic>∣<italic>i</italic> ∈ (1, …<italic>H</italic> − 2), <italic>j</italic> ∈ (1, …<italic>W</italic> − 2)}</td></tr>
<tr>
<td align="left" valign="top">1.</td>
<td align="left" valign="top">Allocate 2D array <italic>M</italic>, where <italic>M</italic>[<italic>i</italic>, <italic>j</italic>] is intended to hold the local directional code of pixel at position (<italic>i</italic> − 1, <italic>j</italic> −1);</td></tr>
<tr>
<td align="left" valign="top">2.</td>
<td align="left" valign="top">for <italic>i</italic> = 2 to <italic>H</italic> − 1</td></tr>
<tr>
<td align="left" valign="top">3.</td>
<td align="left" valign="top"> for <italic>j</italic> = 2 to <italic>W</italic> − 1</td></tr>
<tr>
<td align="left" valign="top">4.</td>
<td align="left" valign="top">  get <italic>v<sub>v</sub></italic> = <italic>x<sub>i, j</sub></italic><sub>+1</sub> − <italic>x<sub>i, j</sub></italic><sub>−1</sub> and <italic>v<sub>h</sub></italic> = <italic>x<sub>i</sub></italic><sub>−1</sub><italic><sub>, j</sub></italic> − <italic>x<sub>i</sub></italic><sub>+1</sub><italic><sub>, j</sub></italic>; // Calculate the two components of the local direction.</td></tr>
<tr>
<td align="left" valign="top">5.</td>
<td align="left" valign="top">  calculate <italic>θ</italic>(<italic>x<sub>i, j</sub></italic>) using formula(2),
<mml:math id="mm18" display="inline">
<mml:semantics id="sm18">
<mml:mrow>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>arctan</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>h</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math>; // Compute the gradient orientation.</td></tr>
<tr>
<td align="left" valign="top">6.</td>
<td align="left" valign="top">  If <italic>v<sub>h</sub></italic> &gt; 0 and <italic>v<sub>v</sub></italic> &gt; 0 then // Mapping <italic>θ</italic> to <italic>θ</italic>′.</td></tr>
<tr>
<td align="left" valign="top">7.</td>
<td align="left" valign="top">  <italic>θ</italic>′ = <italic>θ</italic> + <italic>π</italic>;</td></tr>
<tr>
<td align="left" valign="top">8.</td>
<td align="left" valign="top">  else if <italic>v<sub>h</sub></italic> &gt; 0 and <italic>v<sub>v</sub></italic> &lt; 0 then</td></tr>
<tr>
<td align="left" valign="top">9.</td>
<td align="left" valign="top">  <italic>θ</italic>′ = <italic>θ</italic> + 2<italic>π</italic>;</td></tr>
<tr>
<td align="left" valign="top">10.</td>
<td align="left" valign="top">  else if <italic>v<sub>h</sub></italic> &lt; 0 and <italic>v<sub>v</sub></italic> &lt; 0 then</td></tr>
<tr>
<td align="left" valign="top">11.</td>
<td align="left" valign="top">  <italic>θ</italic>′ = <italic>θ</italic>;</td></tr>
<tr>
<td align="left" valign="top">12.</td>
<td align="left" valign="top">  else if <italic>v<sub>h</sub></italic> &lt; 0 and <italic>v<sub>v</sub></italic> &gt; 0 then</td></tr>
<tr>
<td align="left" valign="top">13.</td>
<td align="left" valign="top">  <italic>θ</italic>′ = <italic>θ</italic> + <italic>π</italic></td></tr>
<tr>
<td align="left" valign="top">14.</td>
<td align="left" valign="top">  end if;</td></tr>
<tr>
<td align="left" valign="top">15.</td>
<td align="left" valign="top">  calculate <italic>M</italic>[<italic>i</italic> − 1, <italic>j</italic> − 1] using formula (4),
<mml:math id="mm19" display="inline">
<mml:semantics id="sm19">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>mod</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>⌊</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>θ</mml:mi>
<mml:mo>'</mml:mo></mml:msup></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>⌋</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math>; // Further quantize <italic>θ</italic> into <italic>T</italic> dominant directions.</td></tr>
<tr>
<td align="left" valign="top">16.</td>
<td align="left" valign="top"> end for;</td></tr>
<tr>
<td align="left" valign="top">17.</td>
<td align="left" valign="top">end for;</td></tr>
<tr>
<td align="left" valign="top">18.</td>
<td align="left" valign="top">Return <italic>M</italic>.</td></tr></tbody></table></table-wrap></sec></back></article>
