<?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/s120505551</article-id>
<article-id pub-id-type="publisher-id">sensors-12-05551</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Palmprint and Face Multi-Modal Biometric Recognition Based on SDA-GSVD and Its Kernelization</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Jing</surname><given-names>Xiao-Yuan</given-names></name><xref ref-type="aff" rid="af1-sensors-12-05551"><sup>1</sup></xref><xref ref-type="aff" rid="af2-sensors-12-05551"><sup>2</sup></xref><xref ref-type="aff" rid="af3-sensors-12-05551"><sup>3</sup></xref><xref ref-type="corresp" rid="c1-sensors-12-05551"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Li</surname><given-names>Sheng</given-names></name><xref ref-type="aff" rid="af2-sensors-12-05551"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Li</surname><given-names>Wen-Qian</given-names></name><xref ref-type="aff" rid="af2-sensors-12-05551"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Yao</surname><given-names>Yong-Fang</given-names></name><xref ref-type="aff" rid="af2-sensors-12-05551"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Lan</surname><given-names>Chao</given-names></name><xref ref-type="aff" rid="af2-sensors-12-05551"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Lu</surname><given-names>Jia-Sen</given-names></name><xref ref-type="aff" rid="af2-sensors-12-05551"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Yang</surname><given-names>Jing-Yu</given-names></name><xref ref-type="aff" rid="af4-sensors-12-05551"><sup>4</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-12-05551">
<label>1</label> State Key Laboratory of Software Engineering, Wuhan University, Wuhan 430072, China</aff>
<aff id="af2-sensors-12-05551">
<label>2</label> College of Automation, Nanjing University of Posts and Telecommunications, Nanjing 210046, China; E-Mails: <email>lisheng1989@gmail.com</email> (S.L.); <email>705353627@qq.com</email> (W.-Q.L.); <email>yaoyf@njupt.edu.cn</email> (Y.-F.Y.); <email>lanchao18@gmail.com</email> (C.L.); <email>echosenm@gmail.com</email> (J.-S.L.)</aff>
<aff id="af3-sensors-12-05551">
<label>3</label> State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210046, China</aff>
<aff id="af4-sensors-12-05551">
<label>4</label> College of Computer Science, Nanjing University of Science and Technology, Nanjing 210094, China; E-Mail: <email>yangjy@mail.njust.edu.cn</email></aff>
<author-notes>
<corresp id="c1-sensors-12-05551">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>jingxy_2000@126.com</email>; Tel./Fax: +86-25-8579-2645.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>30</day>
<month>04</month>
<year>2012</year></pub-date>
<volume>15</volume>
<issue>5</issue>
<fpage>5551</fpage>
<lpage>5571</lpage>
<history>
<date date-type="received">
<day>01</day>
<month>03</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>02</day>
<month>04</month>
<year>2012</year></date>
<date date-type="accepted">
<day>25</day>
<month>04</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>When extracting discriminative features from multimodal data, current methods rarely concern themselves with the data distribution. In this paper, we present an assumption that is consistent with the viewpoint of discrimination, that is, a person's overall biometric data should be regarded as one class in the input space, and his different biometric data can form different Gaussians distributions, <italic>i.e.</italic>, different subclasses. Hence, we propose a novel multimodal feature extraction and recognition approach based on subclass discriminant analysis (SDA). Specifically, one person's different bio-data are treated as different subclasses of one class, and a transformed space is calculated, where the difference among subclasses belonging to different persons is maximized, and the difference within each subclass is minimized. Then, the obtained multimodal features are used for classification. Two solutions are presented to overcome the singularity problem encountered in calculation, which are using PCA preprocessing, and employing the generalized singular value decomposition (GSVD) technique, respectively. Further, we provide nonlinear extensions of SDA based multimodal feature extraction, that is, the feature fusion based on KPCA-SDA and KSDA-GSVD. In KPCA-SDA, we first apply Kernel PCA on each single modal before performing SDA. While in KSDA-GSVD, we directly perform Kernel SDA to fuse multimodal data by applying GSVD to avoid the singular problem. For simplicity two typical types of biometric data are considered in this paper, <italic>i.e.</italic>, palmprint data and face data. Compared with several representative multimodal biometrics recognition methods, experimental results show that our approaches outperform related multimodal recognition methods and KSDA-GSVD achieves the best recognition performance.</p></abstract>
<kwd-group>
<kwd>multimodal biometric feature extraction</kwd>
<kwd>palmprint and face</kwd>
<kwd>subclass discriminant analysis (SDA)</kwd>
<kwd>generalized singular value decomposition (GSVD)</kwd>
<kwd>kernel subclass discriminant analysis (KSDA)</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Multimodal biometric recognition techniques use multi-source features together in order to obtain integrated information to obtain more essential data about the same object. This is an active research direction in the biometric community, for it could overcome many problems that bother traditional single-modal biometric system, such as the instability in one's feature extraction, noisy sensor data, restricted degree of freedom, and unacceptable error rates. Information fusion is usually conducted on three levels, <italic>i.e.</italic>, pixel level [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>,<xref ref-type="bibr" rid="b2-sensors-12-05551">2</xref>], feature level [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>–<xref ref-type="bibr" rid="b5-sensors-12-05551">5</xref>] and decision level [<xref ref-type="bibr" rid="b6-sensors-12-05551">6</xref>–<xref ref-type="bibr" rid="b9-sensors-12-05551">9</xref>]. The former two levels mainly aim at learning descriptive features, while the last level aims at finding a more effective way to use learned features for decision making. Especially, at the pixel level and feature level, discriminant analysis technique always plays an important role to acquire more descriptive or more discriminative features.</p>
<p>Linear discriminant analysis (LDA) is a popular and widely used supervised discriminant analysis method [<xref ref-type="bibr" rid="b10-sensors-12-05551">10</xref>]. LDA calculates the discriminant vectors by maximizing the between-class scatter and minimizing the within-class scatter simultaneously. It is effective in extracting discriminative features and reducing dimensionality. Many methods have been developed to improve the performance of LDA, such as enhanced Fisher linear discriminant model (EFM) [<xref ref-type="bibr" rid="b11-sensors-12-05551">11</xref>], improved LDA [<xref ref-type="bibr" rid="b12-sensors-12-05551">12</xref>], uncorrelated optimal discriminant vectors (UODV) [<xref ref-type="bibr" rid="b13-sensors-12-05551">13</xref>], discriminant common vectors (DCV) [<xref ref-type="bibr" rid="b14-sensors-12-05551">14</xref>], incremental LDA [<xref ref-type="bibr" rid="b15-sensors-12-05551">15</xref>], semi-supervised discriminant analysis (SSDA) [<xref ref-type="bibr" rid="b16-sensors-12-05551">16</xref>], local Fisher discriminant analysis [<xref ref-type="bibr" rid="b17-sensors-12-05551">17</xref>], Fisher discrimination dictionary learning [<xref ref-type="bibr" rid="b18-sensors-12-05551">18</xref>], and discriminant subclass-center manifold preserving projection [<xref ref-type="bibr" rid="b19-sensors-12-05551">19</xref>].</p>
<p>In recent years, many kernel discriminant methods have been presented to extract nonlinear discriminative features and enhance the classification performance of linear discrimination techniques, such as kernel discriminant analysis (KDA) [<xref ref-type="bibr" rid="b20-sensors-12-05551">20</xref>,<xref ref-type="bibr" rid="b21-sensors-12-05551">21</xref>], kernel direct discriminant analysis (KDDA) [<xref ref-type="bibr" rid="b22-sensors-12-05551">22</xref>], improved kernel Fisher discriminant analysis [<xref ref-type="bibr" rid="b23-sensors-12-05551">23</xref>], complete kernel Fisher discriminant (CKFD) [<xref ref-type="bibr" rid="b24-sensors-12-05551">24</xref>], kernel discriminant common vectors (KDCV) [<xref ref-type="bibr" rid="b25-sensors-12-05551">25</xref>], kernel subclass discriminant analysis (KSDA) [<xref ref-type="bibr" rid="b26-sensors-12-05551">26</xref>], kernel local Fisher discriminant analysis (KLFDA) [<xref ref-type="bibr" rid="b27-sensors-12-05551">27</xref>], kernel uncorrelated adjacent-class discriminant analysis (KUADA) [<xref ref-type="bibr" rid="b28-sensors-12-05551">28</xref>], and mapped virtual samples (MVS) based kernel discriminant framework [<xref ref-type="bibr" rid="b29-sensors-12-05551">29</xref>].</p>
<p>In this paper, we have developed a novel multimodal feature extraction and recognition approach based on linear and nonlinear discriminant analysis technique. We adopt the feature fusion strategy, as features play a critical role in multimodal biometric recognition. More specifically, we try to answer the question of how to effectively obtain discriminative features from multimodal biometric data. Some related works have appeared in the literature. In [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>,<xref ref-type="bibr" rid="b2-sensors-12-05551">2</xref>], multimodal data vectors are firstly stacked into a higher dimensional vector to form a new sample set, from which discriminative features are extracted for classification. Yang [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>] discussed the feature fusion strategy, that is, parallel strategy and serial strategy. The former uses complex vectors to fuse multimodal features, <italic>i.e.</italic>, one modal feature is represented as the real part, and the other modal feature is represented as the imaginary part; while the latter stacks features of two modals into one feature, which is used for classification. Sun [<xref ref-type="bibr" rid="b4-sensors-12-05551">4</xref>] proposed a method to learn features from data of two modalities based on CCA, but it has not been utilized in biometric recognition, and is not convenient to learn features from more than two modes of data.</p>
<p>While current methods generally extract discriminative features from multimodal data technically, they have rarely considered the data distribution. In this paper, we present an assumption that is consistent with the viewpoint of discrimination, that is, in the same feature space, one person's different biometric identifier data can form different Gaussians, and thus his overall biometric data can be described using mixture-Gaussian models. Although LDA has been widely used in biometrics to extract discriminative features, it has the limits that it can only handle the data of one person that forms a single Gaussian distribution. However, as we pointed out above, in multimodal analysis, different biometric identifier data of one person can form mixture-Gaussians. Fortunately, subclass discriminant analysis (SDA) [<xref ref-type="bibr" rid="b30-sensors-12-05551">30</xref>] has been proposed to remove such a limit of LDA, and therefore could be used to describe multimodal data that lie in the same input space.</p>
<p>Based on the analysis above, in this paper we propose a novel multimodal biometric data feature extraction scheme based on subclass discriminant analysis (SDA) [<xref ref-type="bibr" rid="b20-sensors-12-05551">20</xref>]. For simplicity, we consider two typical types of biometric data, that is, face data and palmprint data. For one person, his face data and palmprint data are regarded as two subclasses of one class, and discriminative features are extracted by seeking an embedded space, where the difference among subclasses belonging to different persons is maximized, and the difference within each subclass is minimized. Then, since the parallel fusion strategy is not suitable to fuse features from multiple modals, we fuse the obtained features by adopting the serial fusion strategy and use them for classification.</p>
<p>Two solutions are presented to solve the small sample size problem encountered in calculating the optimal transform. One is to initially do PCA preprocessing, and the other is to employ the generalized singular value decomposition (GSVD) [<xref ref-type="bibr" rid="b31-sensors-12-05551">31</xref>,<xref ref-type="bibr" rid="b32-sensors-12-05551">32</xref>] technique. Moreover, it is still worthy to explore the non-linear discriminant capability of SDA in multimodal feature fusion, in particular, when some single-modals still show complicated and non-linearly separable data distribution. Hence, in this paper, we further extend SDA feature fusion approach in the kernel space and present two solutions to solve the small sample size problem, which are KPCA-SDA and KSDA-GSVD. In KPCA-SDA, we first use KPCA to transform each single modal input space <italic>R<sup>n</sup></italic> into an <italic>m</italic>-dimensional space, where <italic>m</italic> = rank(<italic>K</italic>), <italic>K</italic> is the centralized Gram matrix. Then SDA is used to fuse the two transformed features and extract discriminative features. In KSDA-GSVD, we directly perform Kernel SDA to fuse multimodal data by applying GSVD to avoid the singular problem.</p>
<p>We evaluate the proposed approaches on two face databases (AR and FRGC), and the PolyU palmprint database, and compare the results with related methods that also tend to extract descriptive features from multimodal data. Experimental results show that our approaches achieve higher recognition rates than compared methods, and also get better verification performance than compared methods. It is worthwhile to point out that, although the proposed approaches are validated on data of two modalities, it could be easily extended to multimodal biometric data recognition.</p>
<p>The rest of this paper is organized as follows: Section 2 describes the related work. Section 3 presents our approach. In Section 4, we present the kernelization of our approach. Experiments and results are given in Section 5 and conclusions are drawn in Section 6.</p></sec>
<sec>
<label>2.</label>
<title>Related Work</title>
<p>In this section, we first briefly introduce some typical multimodal biometrics fusion techniques such as pixel level fusion [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>,<xref ref-type="bibr" rid="b2-sensors-12-05551">2</xref>], Yang's serial and parallel feature level fusion methods [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>]. Further, three related methods, which are SDA, KSDA and KPCA, are also briefly reviewed.</p>
<sec>
<label>2.1.</label>
<title>Multimodal Fusion Scheme at the Pixel Level</title>
<p>The general idea of pixel level fusion [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>,<xref ref-type="bibr" rid="b2-sensors-12-05551">2</xref>] is to fuse the input data from multi-modalities in as early as the pixel level, which may lead to less information loss. The pixel level fusion scheme fuses the original input face data vector and palmprint data vector of one person, and then the discriminant features are extracted from the fused dataset. For simplicity and fair comparison, we testified the effectiveness of such scheme by extracting LDA features from the fused set in this paper.</p></sec>
<sec>
<label>2.2.</label>
<title>Serial Fusion Strategy and Parallel Fusion Strategy</title>
<p>In [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>], Yang <italic>et al.</italic> the authors discussed two strategies to fuse features of two data modes. One is called serial strategy and the other is called parallel strategy. Let <italic>x<sub>i</sub>, y<sub>i</sub></italic> denote the face feature vector and palmprint feature vector of the <italic>i<sup>th</sup></italic> person, respectively. The serial fusion strategy obtains the fused features by stacking two vectors into one higher dimensional vector <italic>α<sub>i</sub>, i.e.</italic>:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1">
<mml:semantics id="sm1">
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>On the other hand, the parallel fusion strategy combines the features into a complex vector <italic>β<sub>i</sub>, i.e.</italic>,
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm2">
<mml:semantics id="sm2">
<mml:mrow>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Yang <italic>et al.</italic> also pointed out that the fused feature set {<italic>α<sub>i</sub></italic>} and {<italic>β<sub>i</sub></italic>} can either be used directly for classification, which is called feature combination, or can be input into a feature extractor to further extract more descriptive features with less redundant information, which is called feature fusion.</p></sec>
<sec sec-type="methods">
<label>2.3.</label>
<title>Subclass Discriminant Analysis (SDA) and Its Kernelization</title>
<p>Subclass discriminant analysis (SDA) [<xref ref-type="bibr" rid="b30-sensors-12-05551">30</xref>] is an extension of LDA, which aims at processing data of one class that form mixture Gaussian distribution. It divides each class into a number of subclasses, and calculates a transform space where the distances between both class means and subclass means are maximized, and distances between samples of each subclass is minimized. SDA redefines the between-class scatter Σ<italic><sub>B</sub></italic>, within-class scatter Σ<italic><sub>W</sub></italic> as:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm3">
<mml:semantics id="sm3">
<mml:mrow>
<mml:msub>
<mml:mo>∑</mml:mo>
<mml:mi>B</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi></mml:mrow>
<mml:mi>C</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm4">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msub>
<mml:mo>∑</mml:mo>
<mml:mi>W</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>H</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>H<sub>i</sub></italic> is the number of subclasses of class <italic>i, p<sub>ij</sub>= n<sub>ij</sub>/n</italic> is the prior of the <italic>j<sup>th</sup></italic> subclass of class <italic>i, μ<sub>ij</sub></italic> is the mean of the <italic>j<sup>th</sup></italic> subclass of class <italic>i</italic>. The advantage of this new definition of between class scatter is that it emphasizes the role of class separability over that of intra-subclass scatter. The optimal solution of SDA is the eigenvectors of matrix (Σ<italic><sub>W</sub></italic>)<sup>−1</sup>Σ<italic><sub>B</sub></italic> associated with the largest eigenvalues.</p>
<p>Kernel subclass discriminant analysis (KSDA) is the nonlinear extension of SDA based on kernel functions [<xref ref-type="bibr" rid="b26-sensors-12-05551">26</xref>]. The main idea of the kernel method is that without knowing the nonlinear feature mapping explicitly, we can work on the feature space through kernel functions. It first maps the input data <italic>x</italic> into a feature space <italic>F</italic> by using a nonlinear mapping Ø. KSDA adopts nonlinear clustering technique to find the underlying distributions of datasets in the kernel space. The between-class scatter matrix 
<inline-formula>
<mml:math id="mm5">
<mml:semantics id="sm5">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and within-class scatter matrix 
<inline-formula>
<mml:math id="mm6">
<mml:semantics id="sm6">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> of KSDA are defined as:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm7">
<mml:semantics id="sm7">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi></mml:mrow>
<mml:mi>C</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm8">
<mml:semantics id="sm8">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>H</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub></mml:mrow>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>ø̄<sub>ij</sub></italic> indicates the mean vector of <italic>j<sup>th</sup></italic> subclass of <italic>i<sup>th</sup></italic> class, <italic>ø̄</italic>is the global mean. Like SDA, KSDA tries to maximize the ratio 
<inline-formula>
<mml:math id="mm9">
<mml:semantics id="sm9">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>V</mml:mi>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mi>V</mml:mi></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>V</mml:mi>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mi>V</mml:mi></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> to find a transformation matrix <italic>V</italic>. The columns of <italic>V</italic> are the eigenvectors corresponding to the largest eigenvalues of 
<inline-formula>
<mml:math id="mm10">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KSDA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>⋅</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula></p></sec>
<sec sec-type="methods">
<label>2.4.</label>
<title>Kernel Principle Component Analysis</title>
<p>In kernel PCA [<xref ref-type="bibr" rid="b33-sensors-12-05551">33</xref>], the input data <italic>x</italic> is mapped into a feature space <italic>F</italic> via a nonlinear mapping Ø and then perform a linear PCA in <italic>F</italic>. To be specific, we centralize the mapped data as 
<inline-formula>
<mml:math id="mm11">
<mml:semantics id="sm11">
<mml:mrow>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:msubsup>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula> firstly, where <italic>M</italic> is the number of input data. Then the covariance matrix of the mapped data Ø(<italic>x<sub>i</sub></italic>) is defined as follows:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm12">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mi>M</mml:mi>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Like PCA, the eigenvalue equation <italic>λV</italic> = <italic>CV</italic> must be solved for eigenvalue <italic>λ</italic> ≥ 0 and eigenvector <italic>V</italic> ∈ <italic>F</italic>\{0}. We can prove that all the solutions <italic>V</italic> lie in the space spanned by Ø(<italic>x</italic><sub>1</sub>),… Ø (<italic>x<sub>M</sub></italic>). Therefore, we may consider the equivalent system:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm13">
<mml:semantics id="sm13">
<mml:mrow>
<mml:mi>λ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>⋅</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mtext mathvariant="italic">for all</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mi>M</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>and <italic>V</italic> can be represented as the linear combination of the mapped data Ø(<italic>x<sub>i</sub></italic>): coefficients <italic>α</italic><sub>1</sub>,…<italic>α<sub>M</sub></italic> such that:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm14">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mi>V</mml:mi>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>α</italic><sub>1</sub>,…<italic>α<sub>M</sub></italic> denotes the coefficients. Substituting <xref ref-type="disp-formula" rid="FD8">Equations (8)</xref> and <xref ref-type="disp-formula" rid="FD9">(9)</xref> into <xref ref-type="disp-formula" rid="FD7">Equations (7)</xref>, and defining an <italic>M</italic> × <italic>M</italic> matrix <italic>K</italic> by:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm15">
<mml:semantics id="sm15">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>we arrive at:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm16">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mi>ℓ</mml:mi>
<mml:mi>λ</mml:mi>
<mml:mi>K</mml:mi>
<mml:mi>α</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mi>K</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>α</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>α</italic> denotes the column vector with entries <italic>α</italic><sub>1</sub>,…<italic>α<sub>M</sub>, K</italic> is defined as the kernel matrix. To find solutions of <xref ref-type="disp-formula" rid="FD11">Equation (11)</xref> we can solve the equivalent eigenvalue problem as follows:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm17">
<mml:semantics id="sm17">
<mml:mrow>
<mml:mi>ℓ</mml:mi>
<mml:mi>λ</mml:mi>
<mml:mi>α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>K</mml:mi>
<mml:mi>α</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>for nonzero eigenvalues and obtain the optimal <italic>α</italic>. Finally, we can project mapped Ø (<italic>x<sub>i</sub></italic>) onto <italic>V</italic> by using <italic>α</italic> to get the KPCA-transformed features [<xref ref-type="bibr" rid="b33-sensors-12-05551">33</xref>].</p></sec></sec>
<sec sec-type="methods">
<label>3.</label>
<title>Subclass Discriminant Analysis (SDA) Based Multimodal Biometric Feature Extraction</title>
<p>In this section, we propose a novel multimodal biometric feature extraction scheme based on SDA. Two solutions are separately introduced to avoid the singular problem in SDA, which are PCA and GSVD. Then we present the algorithm procedures of the proposed SDA-PCA and SDA-GSVD approaches.</p>
<sec>
<label>3.1.</label>
<title>Problem Formulation</title>
<p>For simplicity, we take two typical types of biometric data as examples in this paper. One is the face data, and the other is the palmprint data. From the viewpoint of discrimination, it is quite natural to assume that the overall biometric data one person may be regarded as one class. Moreover, his palmprint and face data can be regarded as two subclasses of this class in the same feature space. An example of two person's face and palmprint samples is shown in <xref ref-type="fig" rid="f1-sensors-12-05551">Figure 1</xref>.</p>
<p>As can be seen from <xref ref-type="fig" rid="f1-sensors-12-05551">Figure 1</xref>, identifier samples of one person show typical mix-Gaussian distribution, <italic>i.e.</italic>, the face data cluster together and form a Gaussian, while the palmprint data form another Gaussian. If we apply traditional LDA, which enforces both of face and palmprint data of one person to cluster together, then data of two persons would be very likely overlap in the embedded space. It is apparent that, in <xref ref-type="fig" rid="f1-sensors-12-05551">Figure 1</xref>, SDA is a better descriptor of such a data distribution.</p>
<p>Let 
<inline-formula>
<mml:math id="mm18">
<mml:semantics id="sm18">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm19">
<mml:semantics id="sm19">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> be the <italic>k<sup>th</sup></italic> face sample and palmprint sample of person <italic>i</italic>, respectively; <italic>n<sub>c</sub></italic> represent the sample number of each subclass. Then we construct the between-subclass scatter matrix <italic>S<sub>B</sub></italic> and within-subclass scatter matrix <italic>S<sub>W</sub></italic> as follows:
<disp-formula id="FD13">
<label>(13a)</label>
<mml:math id="mm20">
<mml:semantics id="sm20">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD14">
<label>(13b)</label>
<mml:math id="mm21">
<mml:semantics id="sm21">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>W</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>N</italic> = <italic>c</italic> × <italic>n</italic><sub>c</sub>, <italic>p<sub>ij</sub></italic> = <italic>p<sub>kl</sub></italic> = <italic>n<sub>c</sub>/N</italic>, 
<inline-formula>
<mml:math id="mm22">
<mml:semantics id="sm22">
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula></p>
<p>Let be the optimal transform vector to be calculated, and then it can be obtained by:
<disp-formula id="FD15">
<label>(14)</label>
<mml:math id="mm23">
<mml:semantics id="sm23">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mo>max</mml:mo></mml:mrow>
<mml:mi>w</mml:mi></mml:munder>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>w</mml:mi>
<mml:mi>T</mml:mi></mml:msup>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi></mml:msub>
<mml:mi>w</mml:mi></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>w</mml:mi>
<mml:mi>T</mml:mi></mml:msup>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi></mml:msub>
<mml:mi>w</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The within-class matrix <italic>S<sub>W</sub></italic> is usually singular, and the solution cannot be calculated directly. We present two solutions below to solve this problem, <italic>i.e.</italic>, SDA-PCA and SDA-GSVD.</p></sec>
<sec>
<label>3.2.</label>
<title>SDA-PCA</title>
<p>The first solution is to first apply PCA to project each image 
<inline-formula>
<mml:math id="mm24">
<mml:semantics id="sm24">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> into a lower dimensional space, and then apply SDA to do feature extraction. By employing the Lagrange multipliers method to solve the optimization problem (15), we could obtain the optimal solution <italic>W<sub>SDA</sub>, i.e.</italic>, the eigenvectors of matrix (<italic>S<sub>W</sub></italic>)<sup>−1</sup><italic>S<sub>B</sub></italic> associated with the largest eigenvalues.</p>
<p>Based on Formula (14), the rank of <italic>S<sub>W</sub></italic> is <italic>n – 2c</italic>, where <italic>n</italic> represents the total number of training samples (including face and palmprint images), and <italic>c</italic> represents the number of persons. Therefore, we can project original samples into a subspace whose dimension is no more than <italic>n – 2c</italic>, and then apply SDA to extract features.</p>
<p>Let 
<inline-formula>
<mml:math id="mm25">
<mml:semantics id="sm25">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">PCA</mml:mtext></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">PCA</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> separately denote the initial PCA transformations of the sample set of each modal, and <italic>W<sub>SDA</sub></italic> denote the later SDA transform. Then the final transformations for each modal are expressed as:
<disp-formula id="FD16">
<label>(15)</label>
<mml:math id="mm26">
<mml:semantics id="sm26">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">PCA</mml:mtext></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">SDA</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<disp-formula id="FD17">
<label>(16)</label>
<mml:math id="mm27">
<mml:semantics id="sm27">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">PCA</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">SDA</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>
<p>After the optimal transformations <italic>Wˆ</italic><sub>1</sub> and <italic>Wˆ</italic><sub>2</sub> are obtained, we project the face sample 
<inline-formula>
<mml:math id="mm28">
<mml:semantics id="sm28">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and palmprint sample 
<inline-formula>
<mml:math id="mm29">
<mml:semantics id="sm29">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> on them:
<disp-formula id="FD18">
<label>(17)</label>
<mml:math id="mm30">
<mml:semantics id="sm30">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mn>1</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mn>2</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Then, features derived from face and palmprint are fused used using serial fusion strategy and used for classification:
<disp-formula id="FD19">
<label>(18)</label>
<mml:math id="mm31">
<mml:semantics id="sm31">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p></sec>
<sec>
<label>3.3.</label>
<title>SDA-GSVD</title>
<p>While PCA is a popular way to overcome the singular problem and accelerate computation, it may cause information loss. Therefore, we present a second way to overcome the singularity problem by employing GSVD. First, we rewrite the between-class scatter matrix and within-class scatter matrix as follows:
<disp-formula id="FD20">
<label>(19)</label>
<mml:math id="mm32">
<mml:semantics id="sm32">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>b</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>w</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>w</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>w</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p><italic>H<sub>b</sub></italic> is obtained by transforming formula (13) as follows:
<disp-formula id="FD21">
<label>(20)</label>
<mml:math id="mm33">
<mml:semantics id="sm33">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left"/>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Compared with <xref ref-type="disp-formula" rid="FD22">Equation (21)</xref> <italic>H<sub>b</sub></italic> is defined as:
<disp-formula id="FD22">
<label>(21)</label>
<mml:math id="mm34">
<mml:semantics id="sm34">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>b</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where. 
<inline-formula>
<mml:math id="mm35">
<mml:semantics id="sm35">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>n</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula></p>
<p>According to <xref ref-type="disp-formula" rid="FD15">Equation (14)</xref>, we can easily achieve <italic>H<sub>w</sub></italic>:
<disp-formula id="FD23">
<label>(22)</label>
<mml:math id="mm36">
<mml:semantics id="sm36">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>w</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Then, we employ GSVD [<xref ref-type="bibr" rid="b31-sensors-12-05551">31</xref>,<xref ref-type="bibr" rid="b32-sensors-12-05551">32</xref>] to calculate the optimal transform, and the procedures are given in Algorithm 1.</p>
<array>
<tbody>
<tr>
<td colspan="2" align="left" valign="top"><bold>Algorithm 1.</bold> Procedures of GSVD based LDA.</td></tr>
<tr>
<td align="left" valign="top"><bold>Step 1:</bold> Define matrix <italic>K =</italic> [<italic>H<sub>b</sub>, H<sub>w</sub></italic>]<italic><sup>T</sup></italic>, and compute the complete orthogonal decomposition 
<mml:math id="mm37">
<mml:semantics id="sm100">
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi>T</mml:mi></mml:msup>
<mml:mi>K</mml:mi>
<mml:mi>Q</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>R</mml:mi></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></td></tr>
<tr>
<td align="left" valign="top"><bold>Step 2:</bold> Compute <italic>G</italic> by performing SVD on matrix P(1:<italic>c</italic>,1:<italic>t</italic>), <italic>i.e.,U<sup>T</sup>P</italic>(1:<italic>c</italic>,1:<italic>t</italic>)G=Σ<italic><sub>A</sub></italic>, where <italic>t</italic> is the rank of <italic>K</italic>.</td></tr>
<tr>
<td align="left" valign="top"><bold>Step 3:</bold> Compute matrix . 
<mml:math id="mm38">
<mml:semantics id="sm38">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mi>G</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mi>I</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math>. Put the first <italic>c −</italic> 1 columns of <italic>M</italic> into matrix <italic>W</italic>. Then, <italic>W</italic> is the optimal transform matrix.</td></tr></tbody></array>
<p>Then, face data 
<inline-formula>
<mml:math id="mm39">
<mml:semantics id="sm39">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and palmprint data 
<inline-formula>
<mml:math id="mm40">
<mml:semantics id="sm40">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> are separately projected on <italic>W</italic> and fused using serial fusion strategy:
<disp-formula id="FD24">
<label>(23)</label>
<mml:math id="mm41">
<mml:semantics id="sm41">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula> 
<inline-formula>
<mml:math id="mm42">
<mml:semantics id="sm42">
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is then used for classification.</p></sec>
<sec>
<label>3.4.</label>
<title>Algorithmic Procedures</title>
<p>In this section, we summarize the complete algorithmic procedures of the proposed approach. In practice, if the dimension of two biometric data 
<inline-formula>
<mml:math id="mm43">
<mml:semantics id="sm43">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm44">
<mml:semantics id="sm44">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> are not equal, we could simply pad the lower-dimensional vector with zeros until its dimension is equal to the other one before fusing them using SDA. In case of SDA-PCA, after PCA projection, it is easy guarantee that 
<inline-formula>
<mml:math id="mm45">
<mml:semantics id="sm45">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm46">
<mml:semantics id="sm46">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> have the same dimension if we select the same number of principal components for them.</p>
<p><xref ref-type="fig" rid="f2-sensors-12-05551">Figure 2</xref> displays the complete procedure of the proposed approach for multimodal biometric recognition. It is worthwhile to note that, on one hand, our approach outputs features of each modal separately, which is convenient for later processing; on the other hand, discriminative information of different modals have been initially fused in the extraction process, since their features are extracted from the same input space and the transformed space also consider the distribution of data of other modals. Therefore, we think this approach can effectively obtain fused discriminative information from multimodal data.</p></sec></sec>
<sec>
<label>4.</label>
<title>SDA Kernelization Based Multimodal Biometric Feature Extraction</title>
<p>In this section, we provide the nonlinear extensions of two SDA based multimodal feature extraction approaches, which are named KPCA-SDA and KSDA-GSVD. In KPCA-SDA, we first apply Kernel PCA on each single modal before performing SDA. While in KSDA-GSVD, we directly perform Kernel SDA to fuse multimodal data by applying GSVD to avoid the singular problem.</p>
<sec>
<label>4.1.</label>
<title>KPCA-SDA</title>
<p>In this subsection, the SDA-PCA approach is performed in a high dimension space by using the kernel trick. We realized the KPCA-SDA in the following steps:
<list list-type="order">
<list-item>
<p>Nonlinear mapping.</p>
<p>Let ∅: <italic>R<sup>d</sup></italic> → <italic>F</italic> denote a nonlinear mapping. The original samples 
<inline-formula>
<mml:math id="mm47">
<mml:semantics id="sm47">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm48">
<mml:semantics id="sm48">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> of two modalities (face and palmprint) are injected into <italic>F</italic> by 
<inline-formula>
<mml:math id="mm49">
<mml:semantics id="sm49">
<mml:mrow>
<mml:mo>∅</mml:mo>
<mml:mo>:</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>→</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo>→</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>. We obtain two sets of mapped samples 
<inline-formula>
<mml:math id="mm50">
<mml:semantics id="sm50">
<mml:mrow>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>}</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>, 
<inline-formula>
<mml:math id="mm51">
<mml:semantics id="sm51">
<mml:mrow>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>}</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula></p></list-item>
<list-item>
<p>Perform KPCA for each single modal database.</p>
<p>For the <italic>j<sup>th</sup></italic> modal, we perform KPCA by maximizing the following equation:
<disp-formula id="FD25">
<label>(24)</label>
<mml:math id="mm52">
<mml:semantics id="sm52">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm53">
<mml:semantics id="sm53">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula>, and 
<inline-formula>
<mml:math id="mm54">
<mml:semantics id="sm54">
<mml:mrow>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is the global mean of the <italic>j<sup>th</sup></italic> modal database in the kernel space.</p>
<p>According to the kernel reproducing theory [<xref ref-type="bibr" rid="b34-sensors-12-05551">34</xref>], the projection transformation 
<inline-formula>
<mml:math id="mm55">
<mml:semantics id="sm55">
<mml:mrow>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>∅</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> in <italic>F</italic> can be linearly expressed by using all the mapped samples:
<disp-formula id="FD26">
<label>(25)</label>
<mml:math id="mm56">
<mml:semantics id="sm56">
<mml:mrow>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm57">
<mml:semantics id="sm57">
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> is a coefficient matrix.</p>
<p>Substituting <xref ref-type="disp-formula" rid="FD27">Equation (26)</xref> into <xref ref-type="disp-formula" rid="FD26">Equation (25)</xref>, we have:
<disp-formula id="FD27">
<label>(26)</label>
<mml:math id="mm58">
<mml:semantics id="sm58">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msubsup>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi></mml:msub>
<mml:msubsup>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msup>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi></mml:msup>
<mml:msup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:mrow></mml:msup>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm59">
<mml:semantics id="sm59">
<mml:mrow>
<mml:msup>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>, which indicates an <italic>N</italic> × <italic>N</italic> non-symmetric kernel matrix whose element is 
<inline-formula>
<mml:math id="mm60">
<mml:semantics id="sm60">
<mml:mrow>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, where <italic>N</italic> denotes the total number of the samples, <italic>x<sub>j</sub>m</italic> denotes the <italic>m<sup>th</sup></italic> sample of the <italic>j<sup>th</sup></italic> modal database.</p>
<p>The solution of <xref ref-type="disp-formula" rid="FD28">Equation (27)</xref> is equivalent to the eigenvalue problem:
<disp-formula id="FD28">
<label>(27)</label>
<mml:math id="mm61">
<mml:semantics id="sm61">
<mml:mrow>
<mml:msup>
<mml:mi>λ</mml:mi>
<mml:mi>j</mml:mi></mml:msup>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The optimal solutions <italic>α<sub>j</sub></italic> = (<italic>α<sub>j</sub></italic><sub>1</sub>, <italic>α<sub>j</sub></italic><sub>2</sub>,…, <italic>α<sub>j</sub></italic><sub>(</sub><italic><sub>N-c</sub></italic><sub>)</sub>)<italic><sup>T</sup></italic> are the eigenvectors corresponding to <italic>N − c</italic> largest eigenvalues of 
<inline-formula>
<mml:math id="mm62">
<mml:semantics id="sm62">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>. We project the mapped training sample set Ψ<italic><sub>j</sub></italic> on 
<inline-formula>
<mml:math id="mm63">
<mml:semantics id="sm63">
<mml:mrow>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>∅</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> by:
<disp-formula id="FD29">
<label>(28)</label>
<mml:math id="mm64">
<mml:semantics id="sm64">
<mml:mrow>
<mml:msubsup>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">KPCA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msubsup>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p></list-item>
<list-item>
<p>Calculate kernel discriminant vectors in the KPCA transformed space.</p>
<p>By using the KPCA transformed sample set 
<inline-formula>
<mml:math id="mm65">
<mml:semantics id="sm65">
<mml:mrow>
<mml:msubsup>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mtext mathvariant="italic">PCA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>∅</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, we reformulate <xref ref-type="disp-formula" rid="FD13">Equations (13)</xref> and <xref ref-type="disp-formula" rid="FD15">(14)</xref> as:
<disp-formula id="FD30">
<label>(29)</label>
<mml:math id="mm66">
<mml:semantics id="sm66">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD31">
<label>(30)</label>
<mml:math id="mm67">
<mml:semantics id="sm67">
<mml:mrow>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>W</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm68">
<mml:semantics id="sm68">
<mml:mrow>
<mml:msubsup>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>∅</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is the sample in 
<inline-formula>
<mml:math id="mm69">
<mml:semantics id="sm69">
<mml:mrow>
<mml:msubsup>
<mml:mi>Z</mml:mi>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mtext mathvariant="italic">PCA</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>∅</mml:mo></mml:msup></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm70">
<mml:semantics id="sm70">
<mml:mrow>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>We can obtain a set of nonlinear discriminant vectors 
<inline-formula>
<mml:math id="mm71">
<mml:semantics id="sm71">
<mml:mrow>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">SDA</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, <italic>i.e.</italic>, the eigenvector of matrix 
<inline-formula>
<mml:math id="mm72">
<mml:semantics id="sm72">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>W</mml:mi>
<mml:mo>∅</mml:mo></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mi>B</mml:mi>
<mml:mo>∅</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> associated with the largest eigenvalues.</p></list-item>
<list-item>
<p>Construct the nonlinear projection transformation and do classification.</p>
<p>We then construct the nonlinear projection transformation <italic>W<sup>jØ</sup></italic> as:
<disp-formula id="FD32">
<label>(31)</label>
<mml:math id="mm73">
<mml:semantics id="sm73">
<mml:mrow>
<mml:msup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kpca</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">SDA</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>After the optimal transform <italic>W<sup>jØ</sup></italic> is obtained, the fused features can be generated as:
<disp-formula id="FD33">
<label>(32)</label>
<mml:math id="mm74">
<mml:semantics id="sm74">
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p></list-item></list></p></sec>
<sec>
<label>4.2.</label>
<title>KSDA-GSVD</title>
<p>In this subsection, the SDA-GSVD is performed in a high dimension space by using the kernel trick. Given two sets of mapped samples 
<inline-formula>
<mml:math id="mm75">
<mml:semantics id="sm75">
<mml:mrow>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>}</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>, 
<inline-formula>
<mml:math id="mm76">
<mml:semantics id="sm76">
<mml:mrow>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>{</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>}</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>, that correspond to face and palmprint modalities, respectively. Afterwards, <italic>H<sub>b</sub></italic> and <italic>H<sub>w</sub></italic> are recalculated in the kernel space:</p>
<disp-formula id="FD34">
<label>(33)</label>
<mml:math id="mm77">
<mml:semantics id="sm77">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD35">
<label>(34)</label>
<mml:math id="mm78">
<mml:semantics id="sm78">
<mml:mrow>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mi>w</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mn>1</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD36">
<label>(35)</label>
<mml:math id="mm79">
<mml:semantics id="sm79">
<mml:mrow>
<mml:mtext>where</mml:mtext>
<mml:mspace width="0.4em"/>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">kl</mml:mtext></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msubsup></mml:mrow></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>and</mml:mtext>
<mml:mspace width="0.4em"/>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">ij</mml:mtext></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<p>Then, we apply GSVD to calculate the optimal transformation so that the singular problem is avoided. The procedures are precisely introduced in Algorithm 1. When the optimal <italic>WØ</italic> is obtained, the fused features can be generated as:</p>
<disp-formula id="FD37">
<label>(36)</label>
<mml:math id="mm80">
<mml:semantics id="sm80">
<mml:mrow>
<mml:msup>
<mml:mi>Y</mml:mi>
<mml:mi>ϕ</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:msup>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mover accent="true">
<mml:mi>W</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:msup>
<mml:mi>ϕ</mml:mi>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:msup>
<mml:msub>
<mml:mo>Ψ</mml:mo>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<p>Finally, the nearest neighbor classifier with cosine distance is employed to perform classification.</p></sec></sec>
<sec>
<label>5.</label>
<title>Experiments</title>
<p>In this section, we compare the proposed multimodal feature extraction approaches with single modal method and several representative multimodal biometric fusion methods. The identification and verification performance of our approaches and other compared methods is evaluated on two face databases and one palmprint database.</p>
<sec sec-type="intro|methods">
<label>5.1.</label>
<title>Introduction of Databases</title>
<p>Two public face databases (AR and FRGC) and one public palmprint database (PolyU palmprint database) are employed to testify our proposed approaches. The AR face database [<xref ref-type="bibr" rid="b35-sensors-12-05551">35</xref>] contains over 4,000 color face images of 126 people (70 men and 56 women), including frontal views of faces with different facial expressions, under different lighting conditions and with various occlusions. Most of the pictures were taken in two sessions (separated by two weeks). Each session yielded 13 color images, with 119 individuals (65 men and 54 women) participating in each session. We selected images from 119 individuals for use in our experiment for a total number of 3,094 (=119 × 26) samples. All color images are transformed into gray images and each image was scaled to 60 × 60 with 256 gray levels. <xref ref-type="fig" rid="f3-sensors-12-05551">Figure 3</xref> illustrates all of the samples of one subject.</p>
<p>The FRGC database [<xref ref-type="bibr" rid="b36-sensors-12-05551">36</xref>] contains 12,776 training images that consist of both controlled images and uncontrolled images, including 222 individuals, each 36–64 images for the FRGC Experiment 4. The controlled images have good image quality, while the uncontrolled images display poor image quality, such as large illumination variations, low resolution of the face region, and possible blurring. It is these uncontrolled factors that pose the grand challenge to face recognition performance. We use the training images of the FRGC Experiment 4 as our database. We choose 36 images of each individual and then crop every image to the size of 60 × 60. All images of one subject are shown in <xref ref-type="fig" rid="f4-sensors-12-05551">Figure 4</xref>.</p>
<p>The palmprint database [<xref ref-type="bibr" rid="b37-sensors-12-05551">37</xref>,<xref ref-type="bibr" rid="b38-sensors-12-05551">38</xref>], which is provided by the Hong Kong Polytechnic University (HK PolyU), collected palmprint images from 189 individuals. Around 20 palmprint images from each individual were collected in two sessions, where around 10 samples were captured in the first session and the second session, respectively. Therefore, the database contains a total of 3,780 images from 189 palms. In order to reduce the computational cost, each subimage was compressed to 60 × 60. We took these subimages as palmprint image samples for our experiments. All cropped images of one subject in <xref ref-type="fig" rid="f5-sensors-12-05551">Figure 5</xref>.</p>
<p>In order to testify the proposed fusion techniques, in the experiment which we fuse AR database and PolyU palmprint database, we choose 119 subjects from both face and palmprint database, and each class contains 20 samples. Similarly, in the experiment which we fuse FRGC database and PolyU palmprint database, we choose 189 subjects from both face and palmprint database, and each class contains 20 samples. We assume that samples of one subject in the palmprint database correspond to the samples of one subject in the face database. For the AR face database and PolyU palmprint database, we randomly select eight samples from each person (four face samples from AR database and four palmprint samples from PloyU database) for training, while use the rest for testing. For the FRGC face database and PolyU palmprint database, we randomly select six samples from each person (three face samples from FRGC database and three palmprint samples from PloyU database) for training, while use the rest for testing. We run all compared methods 20 times. In our experiments, we consider the Gaussian kernel 
<inline-formula>
<mml:math id="mm81">
<mml:semantics id="sm81">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>exp</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> for the compared kernel methods, and set the parameter <italic>δ<sub>i</sub></italic> = <italic>i</italic> × <italic>δ ,i</italic> ∈ 1,···,20, where <italic>δ</italic> is the standard deviation of training data set. For each compared kernel method, the parameter <italic>i</italic> was selected such that the best classification performance was obtained.</p></sec>
<sec sec-type="results">
<label>5.2.</label>
<title>Experimental Identification Results</title>
<p>Firstly, the identification experiments are conducted. Identification is a one-to-many comparison which aims to answer the question of “who is this person?” We compare the identification performance of two proposed approaches, <italic>i.e.</italic>, SDA-PCA (which is abbreviated to SDA here), SDA-GSVD, with single modal recognition method using traditional LDA, a representative pixel level fusion method [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>], parallel and serial feature level fusion [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>], and score level fusion method using the sum rule [<xref ref-type="bibr" rid="b7-sensors-12-05551">7</xref>], respectively. Further, we compare the proposed kernelizaion methods (KPCA-SDA and KSDA-GSVD), with single modal recognition method using KDA. <xref ref-type="fig" rid="f6-sensors-12-05551">Figures 6</xref> and <xref ref-type="fig" rid="f7-sensors-12-05551">7</xref> show the recognition rates of 20 random tests of our approaches and other compared methods: (a) SDA, SDA-GSVD, LDA (single modal), Pixel level fusion, parallel feature fusion, Serial feature fusion and Score level fusion; (b) KPCA-SDA, KSDA-GSVD and KDA (single modal). The average recognition rates are given in <xref ref-type="table" rid="t1-sensors-12-05551">Tables 1</xref> and <xref ref-type="table" rid="t2-sensors-12-05551">2</xref>, which correspond to the figures above.</p>
<p><xref ref-type="table" rid="t1-sensors-12-05551">Table 1</xref> shows that on the AR and PolyU palmprint databases, SDA and SDA-GSVD perform better than other compared linear methods. It also shows that KPCA-SDA and KSDA-GSVD achieve better recognition results than KDA (single modal). Compared with the single modal LDA, pixel level fusion, parallel feature fusion, parallel feature fusion, serial feature fusion and score level fusion, SDA improves the average recognition rate at least by 3.53% (=98.23%–92.99%), SDA-GSVD improves the average recognition rate at least by 5.24% (=98.23%–92.99%). And the average recognition rate of KPCA-SDA is at least 15.29% (=98.74%–83.45%) higher than that of KDA (single modal), and the average recognition rate of KSDA-GSVD is at least 15.7% (=99.15%–83.45%) higher than that of KDA (single modal). <xref ref-type="table" rid="t2-sensors-12-05551">Table 2</xref> shows a similar phenomenon on the FRGC and PolyU palmprint databases. SDA boosts the average recognition rate at least by 0.85% (=98.06%–97.21%), and SDA-GSVD boosts the average recognition rate at least by 1.40% (=98.61%–97.21%) than other linear methods. The average recognition rate of KPCA-SDA is at least 17.59% (=98.82–81.23) higher than that of KDA (single modal), and the average recognition rate of KSDA-GSVD is at least 17.79% (=99.02%–81.23%) higher than that of KDA (single modal).</p></sec>
<sec sec-type="results">
<label>5.3.</label>
<title>Experimental Results of Verification</title>
<p>Verification is a one-to-one comparison which aims to answer the question of “whether the person is one he/she claims to be”. In the verification experiments, we show the receiver operating characteristic (ROC) curves, which plot the false rejection rate (FRR) <italic>versus</italic> the false accept rate (FAR), to report the verification performance. There is a tradeoff between the FRR and the FAR. It is possible to reduce one of them with the risk of increasing the other one. Thus the curve which is called receiver operating characteristic (ROC) reflects the tradeoff between the FAR and FRR, and FRR is plotted as a function of FAR.</p>
<p><xref ref-type="fig" rid="f8-sensors-12-05551">Figures 8</xref> and <xref ref-type="fig" rid="f9-sensors-12-05551">9</xref> show the Receiver Operating Characteristic (ROC) curves of our approaches and other compared methods on different databases. <xref ref-type="table" rid="t3-sensors-12-05551">Table 3</xref> shows the equal error rate (EER) of all compared methods. From the ROC curves shown in <xref ref-type="fig" rid="f8-sensors-12-05551">Figures 8</xref>–<xref ref-type="fig" rid="f9-sensors-12-05551">9</xref> and the results listed in <xref ref-type="table" rid="t3-sensors-12-05551">Table 3</xref>, we can see that our SDA based feature extraction approaches attains a significantly low EER (a point on the ROC curve where FAR is equal to FRR) than other representative multimodal fusion methods, including pixel level fusion method, score level fusion method and feature level fusion methods. On the AR face and PolyU palmprint databases, the lowest EER of related methods is 3.71%, while the EER of our approaches are all below 1%. And our KSDA-GSVD approach obtains the lowest EER 0.56% among all compared methods. On the FRGC face and PolyU palmprint databases, the lowest EER of other methods is 2.62%, while the EER of ours are all below 2%. Especially, the proposed SDA-GSVD approach gets the lowest EER that is 0.28%. The above experimental results demonstrate the superiority of our approaches.</p></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>In this paper, we present novel multimodal biometric feature extraction approaches using subclass discriminant analysis (SDA). Considering the nonsingularity requirements, we present two ways to overcome this problem. The first is to initially do principle component analysis before SDA, and the second is to employ generalized singular value decomposition (GSVD) to directly obtain the solution. Further, we present the kernel extensions (KPCA-SDA and KSDA-GSVD) for multimodal biometric feature extraction. We perform the experiments on two public face databases (<italic>i.e.</italic>, AR face database and FRGC database) and the PolyU palmprint database. In designing the experiments, we firstly do extraction on the AR and palmprint database, secondly on the FRGC and palmprint database. Compared with several representative linear and nonlinear multimodal biometrics recognition methods, the proposed approaches acquire better identification and verification performance. In particular, the proposed KSDA-GSVD approach performs best on all the databases.</p></sec></body>
<back>
<ack>
<p>The work described in this paper was fully supported by the NSFC under Project No. 61073113, the New Century Excellent Talents of Education Ministry under Project No. NCET-09-0162, the Doctoral Foundation of Education Ministry under Project No. 20093223110001, the Qing-Lan Engineering Academic Leader of Jiangsu Province and 333 Engineering of Jiangsu Province.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-05551"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Yao</surname><given-names>Y.F.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Yang</surname><given-names>J.Y.</given-names></name><name><surname>Li</surname><given-names>M.</given-names></name></person-group><article-title>Face and palmprint pixel level fusion and Kernel DCV-RBF classifier for small sample biometric recognition</article-title><source>Pattern Recognit.</source><year>2007</year><volume>40</volume><fpage>3209</fpage><lpage>3224</lpage><pub-id pub-id-type="doi">10.1016/j.patcog.2007.01.034</pub-id></citation></ref>
<ref id="b2-sensors-12-05551"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Petrovi</surname><given-names>V.</given-names></name><name><surname>Xydeas</surname><given-names>C.</given-names></name></person-group><article-title>Computationally efficient pixel-level image fusion</article-title><source>Proc. Euroficsion</source><year>1999</year><fpage>177</fpage><lpage>184</lpage></citation></ref>
<ref id="b3-sensors-12-05551"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yang</surname><given-names>J.</given-names></name><name><surname>Yang</surname><given-names>J.Y.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Lu</surname><given-names>J.F.</given-names></name></person-group><article-title>Feature fusion: Parallel strategy <italic>vs</italic>. serial strategy</article-title><source>Pattern Recognit.</source><year>2003</year><volume>36</volume><fpage>1369</fpage><lpage>1381</lpage><pub-id pub-id-type="doi">10.1016/S0031-3203(02)00262-5</pub-id></citation></ref>
<ref id="b4-sensors-12-05551"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sun</surname><given-names>Q.S.</given-names></name><name><surname>Zeng</surname><given-names>S.G.</given-names></name><name><surname>Heng</surname><given-names>P.A.</given-names></name><name><surname>Xia</surname><given-names>D.S.</given-names></name></person-group><article-title>Feature fusion method based on canonical correlation analysis and handwritten character recognition</article-title><conf-name>Proceedings of the Control Automation Robotics and Vision Conference</conf-name><conf-loc>Kunming, China</conf-loc><conf-date>6–9 December 2004</conf-date><fpage>1547</fpage><lpage>1552</lpage></citation></ref>
<ref id="b5-sensors-12-05551"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yao</surname><given-names>Y.F.</given-names></name><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Wong</surname><given-names>H.S.</given-names></name></person-group><article-title>Face and palmprint feature level fusion for single sample biometrics recognition</article-title><source>Neurocomputing</source><year>2007</year><volume>70</volume><fpage>1582</fpage><lpage>1586</lpage><pub-id pub-id-type="doi">10.1016/j.neucom.2006.08.009</pub-id></citation></ref>
<ref id="b6-sensors-12-05551"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Raghavendra</surname><given-names>R.</given-names></name><name><surname>Dorizzi</surname><given-names>B.</given-names></name><name><surname>Rao</surname><given-names>A.</given-names></name><name><surname>Kumar</surname><given-names>G.H.</given-names></name></person-group><article-title>Designing efficient fusion schemes for multimodal biometric systems using face and palmprint</article-title><source>Pattern Recognit.</source><year>2011</year><volume>44</volume><fpage>1076</fpage><lpage>1088</lpage><pub-id pub-id-type="doi">10.1016/j.patcog.2010.11.008</pub-id></citation></ref>
<ref id="b7-sensors-12-05551"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kumar</surname><given-names>A.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name></person-group><article-title>Personal authentication using multiple palmprint representation</article-title><source>Pattern Recognit.</source><year>2005</year><volume>38</volume><fpage>1695</fpage><lpage>1704</lpage><pub-id pub-id-type="doi">10.1016/j.patcog.2005.03.012</pub-id></citation></ref>
<ref id="b8-sensors-12-05551"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jain</surname><given-names>A.K.</given-names></name><name><surname>Ross</surname><given-names>A.</given-names></name></person-group><article-title>Learning user-specific parameters in a multibiometric system</article-title><conf-name>Proceedings of the International Conference on Image Processing (ICIP)</conf-name><conf-loc>New York, NY, USA</conf-loc><conf-date>22–25 September 2002</conf-date><fpage>57</fpage><lpage>70</lpage></citation></ref>
<ref id="b9-sensors-12-05551"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>He</surname><given-names>M.</given-names></name><name><surname>Horng</surname><given-names>S.</given-names></name><name><surname>Fan</surname><given-names>P.</given-names></name><name><surname>Run</surname><given-names>R.</given-names></name><name><surname>Chen</surname><given-names>R.</given-names></name><name><surname>Lai</surname><given-names>J.L.</given-names></name><name><surname>Khan</surname><given-names>M.K.</given-names></name><name><surname>Sentosa</surname><given-names>K.O.</given-names></name></person-group><article-title>Performance evaluation of score level fusion in multimodal biometric systems</article-title><source>Pattern Recognit.</source><year>2009</year><volume>43</volume><fpage>1789</fpage><lpage>1800</lpage></citation></ref>
<ref id="b10-sensors-12-05551"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Belhumeur</surname><given-names>P.N.</given-names></name><name><surname>Hespanha</surname><given-names>J.P.</given-names></name><name><surname>Kriegman</surname><given-names>D.J.</given-names></name></person-group><article-title>Eigenfaces <italic>vs.</italic> fisherfaces: Recognition using class specific linear projection</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>1997</year><volume>19</volume><fpage>711</fpage><lpage>720</lpage><pub-id pub-id-type="doi">10.1109/34.598228</pub-id></citation></ref>
<ref id="b11-sensors-12-05551"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>C.J.</given-names></name><name><surname>Wechsler</surname><given-names>H.</given-names></name></person-group><article-title>Gabor feature based classification using the enhanced fisher linear discriminant model for face recognition</article-title><source>IEEE Trans. Image Process.</source><year>2002</year><volume>11</volume><fpage>467</fpage><lpage>476</lpage><pub-id pub-id-type="doi">10.1109/TIP.2002.999679</pub-id><pub-id pub-id-type="pmid">18244647</pub-id></citation></ref>
<ref id="b12-sensors-12-05551"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Tang</surname><given-names>Y.Y.</given-names></name></person-group><article-title>An improved LDA approach</article-title><source>IEEE Trans. Syst. Man Cybern. Part B</source><year>2004</year><volume>34</volume><fpage>1942</fpage><lpage>1951</lpage><pub-id pub-id-type="doi">10.1109/TSMCB.2004.831770</pub-id></citation></ref>
<ref id="b13-sensors-12-05551"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Jin</surname><given-names>Z.</given-names></name></person-group><article-title>UODV: Improved algorithm and generalized theory</article-title><source>Pattern Recognit.</source><year>2003</year><volume>36</volume><fpage>2593</fpage><lpage>2602</lpage><pub-id pub-id-type="doi">10.1016/S0031-3203(03)00177-8</pub-id></citation></ref>
<ref id="b14-sensors-12-05551"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cevikalp</surname><given-names>H.</given-names></name><name><surname>Neamtu</surname><given-names>M.</given-names></name><name><surname>Wilkes</surname><given-names>M.</given-names></name><name><surname>Barkana</surname><given-names>A.</given-names></name></person-group><article-title>Discriminative common vectors for face recognition</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2005</year><volume>27</volume><fpage>4</fpage><lpage>13</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2005.9</pub-id><pub-id pub-id-type="pmid">15628264</pub-id></citation></ref>
<ref id="b15-sensors-12-05551"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kim</surname><given-names>T.K.</given-names></name><name><surname>Wong</surname><given-names>S.F.</given-names></name><name><surname>Stenger</surname><given-names>B.</given-names></name><name><surname>Kittler</surname><given-names>J.</given-names></name><name><surname>Cipolla</surname><given-names>R.</given-names></name></person-group><article-title>Incremental linear discriminant analysis using sufficient spanning set approximations</article-title><conf-name>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</conf-name><conf-loc>Minneapolis, MN, USA</conf-loc><conf-date>17–22 June 2007</conf-date><fpage>1</fpage><lpage>8</lpage></citation></ref>
<ref id="b16-sensors-12-05551"><label>16.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>Y.</given-names></name><name><surname>Yeung</surname><given-names>D.Y.</given-names></name></person-group><article-title>Semi-supervised discriminant analysis using robust path-based similarity</article-title><conf-name>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</conf-name><conf-loc>Anchorage, AK, USA</conf-loc><conf-date>23–28 June 2008</conf-date><fpage>1</fpage><lpage>8</lpage></citation></ref>
<ref id="b17-sensors-12-05551"><label>17.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sugiyama</surname><given-names>M.</given-names></name></person-group><article-title>Local fisher discriminant analysis for supervised dimensionality reduction</article-title><conf-name>Proceedings of the 23rd International Conference on Machine Learning (ICML)</conf-name><conf-loc>New York, NY, USA</conf-loc><conf-date>25–29 June 2006</conf-date><fpage>905</fpage><lpage>912</lpage></citation></ref>
<ref id="b18-sensors-12-05551"><label>18.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Yang</surname><given-names>M.</given-names></name><name><surname>Zhang</surname><given-names>L.</given-names></name><name><surname>Feng</surname><given-names>X.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name></person-group><article-title>Fisher discrimination dictionary learning for sparse representation</article-title><conf-name>Proceedings of the International Conference on Computer Vision</conf-name><conf-loc>Barcelona, Spain</conf-loc><conf-date>6–13 November 2011</conf-date><fpage>1</fpage><lpage>8</lpage></citation></ref>
<ref id="b19-sensors-12-05551"><label>19.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lan</surname><given-names>C.</given-names></name><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Gao</surname><given-names>S.</given-names></name><name><surname>Yang</surname><given-names>J.Y.</given-names></name></person-group><article-title>Discriminant subclass-center manifold preserving projection for face feature extraction</article-title><conf-name>Proceedings of the International Conference on Image Processing (ICIP)</conf-name><conf-loc>Brussels, Belgium</conf-loc><conf-date>11–14 September 2011</conf-date><fpage>3070</fpage><lpage>3073</lpage></citation></ref>
<ref id="b20-sensors-12-05551"><label>20.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Mika</surname><given-names>S.</given-names></name><name><surname>Rätsch</surname><given-names>G.</given-names></name><name><surname>Weston</surname><given-names>J.</given-names></name><name><surname>Schölkopf</surname><given-names>B.</given-names></name><name><surname>Müller</surname><given-names>K.R.</given-names></name></person-group><article-title>Fisher discriminant analysis with kernels</article-title><conf-name>Proceedings of the IEEE Neural Networks for Signal Processing Workshop</conf-name><conf-loc>Madison, WI, USA</conf-loc><conf-date>August 1999</conf-date><fpage>41</fpage><lpage>48</lpage></citation></ref>
<ref id="b21-sensors-12-05551"><label>21.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Baudat</surname><given-names>G.</given-names></name><name><surname>Anouar</surname><given-names>F.</given-names></name></person-group><article-title>Generalized discriminant analysis using a kernel approach</article-title><source>Neural Comput.</source><year>2000</year><volume>12</volume><fpage>2385</fpage><lpage>2404</lpage><pub-id pub-id-type="doi">10.1162/089976600300014980</pub-id><pub-id pub-id-type="pmid">11032039</pub-id></citation></ref>
<ref id="b22-sensors-12-05551"><label>22.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lu</surname><given-names>J.</given-names></name><name><surname>Plataniotis</surname><given-names>K.N.</given-names></name><name><surname>Venetsanopoulos</surname><given-names>A.N.</given-names></name></person-group><article-title>Face recognition using kernel direct discriminant analysis algorithms</article-title><source>IEEE Trans. Neural Netw.</source><year>2003</year><volume>14</volume><fpage>117</fpage><lpage>126</lpage><pub-id pub-id-type="doi">10.1109/TNN.2002.806629</pub-id><pub-id pub-id-type="pmid">18237995</pub-id></citation></ref>
<ref id="b23-sensors-12-05551"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>Q.S.</given-names></name><name><surname>Lu</surname><given-names>H.Q.</given-names></name><name><surname>Ma</surname><given-names>S.D.</given-names></name></person-group><article-title>Improving kernel fisher discriminant analysis for face recognition</article-title><source>IEEE Trans. Circuits Syst. Video Technol.</source><year>2004</year><volume>14</volume><fpage>42</fpage><lpage>49</lpage><pub-id pub-id-type="doi">10.1109/TCSVT.2003.818352</pub-id></citation></ref>
<ref id="b24-sensors-12-05551"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yang</surname><given-names>J.</given-names></name><name><surname>Frangi</surname><given-names>A.F.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Yang</surname><given-names>J.Y.</given-names></name><name><surname>Jin</surname><given-names>Z.</given-names></name></person-group><article-title>KPCA plus LDA: A complete kernel fisher discriminant framework for feature extraction and recognition</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2005</year><volume>27</volume><fpage>230</fpage><lpage>244</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2005.33</pub-id><pub-id pub-id-type="pmid">15688560</pub-id></citation></ref>
<ref id="b25-sensors-12-05551"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Yao</surname><given-names>Y.F.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Yang</surname><given-names>J.Y.</given-names></name><name><surname>Li</surname><given-names>M.</given-names></name></person-group><article-title>Face and palmprint pixel level fusion and KDCV-RBF classifier for small sample biometric recognition</article-title><source>Pattern Recognit.</source><year>2007</year><volume>40</volume><fpage>3209</fpage><lpage>3224</lpage><pub-id pub-id-type="doi">10.1016/j.patcog.2007.01.034</pub-id></citation></ref>
<ref id="b26-sensors-12-05551"><label>26.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>B.</given-names></name><name><surname>Yuan</surname><given-names>L.</given-names></name><name><surname>Liu</surname><given-names>H.</given-names></name><name><surname>Bao</surname><given-names>Z.</given-names></name></person-group><article-title>Kernel subclass discriminant analysis</article-title><source>Neurocomputing</source><year>2007</year><volume>72</volume><fpage>455</fpage><lpage>458</lpage></citation></ref>
<ref id="b27-sensors-12-05551"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sugiyama</surname><given-names>M.</given-names></name></person-group><article-title>Dimensionality reduction of multimodal labeled data by local fisher discriminant analysis</article-title><source>J. Mach. Learn. Res.</source><year>2007</year><volume>8</volume><fpage>1027</fpage><lpage>1061</lpage></citation></ref>
<ref id="b28-sensors-12-05551"><label>28.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Li</surname><given-names>S.</given-names></name><name><surname>Yao</surname><given-names>Y.F.</given-names></name><name><surname>Bian</surname><given-names>L.S.</given-names></name><name><surname>Yang</surname><given-names>J.Y.</given-names></name></person-group><article-title>Kernel uncorrelated adjacent-class discriminant analysis</article-title><conf-name>Proceedings of the International Conference on Pattern Recognition (ICPR)</conf-name><conf-loc>Istanbul, Turkey</conf-loc><conf-date>23–26 August 2010</conf-date><fpage>706</fpage><lpage>709</lpage></citation></ref>
<ref id="b29-sensors-12-05551"><label>29.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Li</surname><given-names>S.</given-names></name><name><surname>Jing</surname><given-names>X.Y.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Yao</surname><given-names>Y.F.</given-names></name><name><surname>Bian</surname><given-names>L.S.</given-names></name></person-group><article-title>A novel kernel discriminant feature extraction framework based on mapped virtual samples for face recognition</article-title><conf-name>Proceedings of the IEEE International Conference on Image Processing</conf-name><conf-loc>Brussels, Belgium</conf-loc><conf-date>11–14 September 2011</conf-date><fpage>3066</fpage><lpage>3069</lpage></citation></ref>
<ref id="b30-sensors-12-05551"><label>30.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhu</surname><given-names>M.</given-names></name><name><surname>Martinez</surname><given-names>A.M.</given-names></name></person-group><article-title>Subclass discriminant analysis</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2006</year><volume>28</volume><fpage>1274</fpage><lpage>1286</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2006.172</pub-id><pub-id pub-id-type="pmid">16886863</pub-id></citation></ref>
<ref id="b31-sensors-12-05551"><label>31.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Howland</surname><given-names>P.</given-names></name><name><surname>Park</surname><given-names>H.</given-names></name></person-group><article-title>Generalizing discriminant analysis using the generalized singular value decomposition</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2004</year><volume>26</volume><fpage>995</fpage><lpage>1006</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2004.46</pub-id><pub-id pub-id-type="pmid">15641730</pub-id></citation></ref>
<ref id="b32-sensors-12-05551"><label>32.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>F.</given-names></name><name><surname>Sun</surname><given-names>Q.</given-names></name><name><surname>Zhang</surname><given-names>J.</given-names></name><name><surname>Xia</surname><given-names>D.</given-names></name></person-group><article-title>Generalized canonical correlation analysis using GSVD</article-title><conf-name>Proceedings of International Symposium Computer Science Computational Technology</conf-name><conf-loc>Shanghai, China</conf-loc><conf-date>20–22 December 2008</conf-date><fpage>136</fpage><lpage>141</lpage></citation></ref>
<ref id="b33-sensors-12-05551"><label>33.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kwang</surname><given-names>I.K.</given-names></name><name><surname>Keechul</surname><given-names>J.</given-names></name><name><surname>Hang</surname><given-names>J.K.</given-names></name></person-group><article-title>Face recognition using kernel principle component analysis</article-title><source>IEEE Signal Process. Lett.</source><year>2002</year><volume>9</volume><fpage>40</fpage><lpage>42</lpage><pub-id pub-id-type="doi">10.1109/97.991133</pub-id></citation></ref>
<ref id="b34-sensors-12-05551"><label>34.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Shawe-Taylor</surname><given-names>J.</given-names></name><name><surname>Cristianini</surname><given-names>N.</given-names></name></person-group><source>Kernel Methods for Pattern Analysis</source><publisher-name>Cambridge University Press</publisher-name><publisher-loc>London, UK</publisher-loc><year>2004</year></citation></ref>
<ref id="b35-sensors-12-05551"><label>35.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Martinez</surname><given-names>A.M.</given-names></name><name><surname>Benavente</surname><given-names>R.</given-names></name></person-group><source>The AR Face Database</source><comment>CVC Technical Report</comment><publisher-name>The Ohio State University</publisher-name><publisher-loc>Columbus, OH, USA</publisher-loc><year>1998</year><volume>Volume 24</volume></citation></ref>
<ref id="b36-sensors-12-05551"><label>36.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Phillips</surname><given-names>P.J.</given-names></name><name><surname>Flynn</surname><given-names>P.J.</given-names></name><name><surname>Scruggs</surname><given-names>T.</given-names></name><name><surname>Bowyer</surname><given-names>K.</given-names></name><name><surname>Chang</surname><given-names>J.</given-names></name><name><surname>Hoffman</surname><given-names>K.</given-names></name><name><surname>Marques</surname><given-names>J.</given-names></name><name><surname>Min</surname><given-names>J.</given-names></name><name><surname>Worek</surname><given-names>W.</given-names></name></person-group><article-title>Overview of the face recognition grand challenge</article-title><conf-name>Proceedings of the IEEE Conference Computer Vision and Pattern Recognition</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>20–25 June 2005</conf-date><fpage>947</fpage><lpage>954</lpage></citation></ref>
<ref id="b37-sensors-12-05551"><label>37.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Kong</surname><given-names>W.K.</given-names></name><name><surname>You</surname><given-names>J.</given-names></name><name><surname>Wong</surname><given-names>M.</given-names></name></person-group><article-title>Online palmprint identification</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell.</source><year>2003</year><volume>25</volume><fpage>1041</fpage><lpage>1150</lpage><pub-id pub-id-type="doi">10.1109/TPAMI.2003.1227981</pub-id></citation></ref>
<ref id="b38-sensors-12-05551"><label>38.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>L.</given-names></name><name><surname>Zhang</surname><given-names>D.</given-names></name></person-group><article-title>Characterization of palmprints by wavelet signatures via directional context modeling</article-title><source>IEEE Trans. Syst. Man Cybern. Part B</source><year>2004</year><volume>34</volume><fpage>1335</fpage><lpage>1347</lpage><pub-id pub-id-type="doi">10.1109/TSMCB.2004.824521</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-12-05551" position="float">
<label>Figure 1.</label>
<caption>
<p>Illustration of mix-Gaussian distribution of face data and the corresponding palmprint data. In this example, data of two persons are presented. Each contains 12 data, including six faces and s palmprints. We perform PCA on original data for demonstration, and the order of data magnitude is 1e4.</p></caption>
<graphic xlink:href="sensors-12-05551f1.gif"/></fig>
<fig id="f2-sensors-12-05551" position="float">
<label>Figure 2.</label>
<caption>
<p>The complete procedures of SDA based multimodal feature extraction.</p></caption>
<graphic xlink:href="sensors-12-05551f2.gif"/></fig>
<fig id="f3-sensors-12-05551" position="float">
<label>Figure 3.</label>
<caption>
<p>Demo images of one subject from the AR face database.</p></caption>
<graphic xlink:href="sensors-12-05551f3.gif"/></fig>
<fig id="f4-sensors-12-05551" position="float">
<label>Figure 4.</label>
<caption>
<p>Demo images of one subject from the FRGC face database.</p></caption>
<graphic xlink:href="sensors-12-05551f4.gif"/></fig>
<fig id="f5-sensors-12-05551" position="float">
<label>Figure 5.</label>
<caption>
<p>Demo images of one subject from the PolyU palmprint database.</p></caption>
<graphic xlink:href="sensors-12-05551f5.gif"/></fig>
<fig id="f6-sensors-12-05551" position="float">
<label>Figure 6.</label>
<caption>
<p>Recognition rates of compared methods on AR face and PolyU palmprint databases: (<bold>a</bold>) Linear methods; (<bold>b</bold>) Nonlinear methods.</p></caption>
<graphic xlink:href="sensors-12-05551f6.gif"/></fig>
<fig id="f7-sensors-12-05551" position="float">
<label>Figure 7.</label>
<caption>
<p>Recognition rates of compared methods on FRGC face and PolyU palmprint databases: (<bold>a</bold>) Linear methods; (<bold>b</bold>) Nonlinear methods.</p></caption>
<graphic xlink:href="sensors-12-05551f7.gif"/></fig>
<fig id="f8-sensors-12-05551" position="float">
<label>Figure 8.</label>
<caption>
<p>ROC curves of all compared methods on AR face and PolyU palmprint databases: (<bold>a</bold>) Linear methods; (<bold>b</bold>) Nonlinear methods.</p></caption>
<graphic xlink:href="sensors-12-05551f8.gif"/></fig>
<fig id="f9-sensors-12-05551" position="float">
<label>Figure 9.</label>
<caption>
<p>ROC curves of all compared methods on FRGC face and PolyU palmprint databases: (<bold>a</bold>) Linear methods; (<bold>b</bold>) Nonlinear methods.</p></caption>
<graphic xlink:href="sensors-12-05551f9.gif"/></fig>
<table-wrap id="t1-sensors-12-05551" position="float">
<label>Table 1.</label>
<caption>
<title>Average recognition rates of compared methods on AR face and PolyU palmprint databases</title></caption>
<table frame="above" rules="groups">
<thead>
<tr>
<th colspan="2" align="center" valign="top"><bold>AR and palmprint</bold></th>
<th align="center" valign="top"><bold>Average recognition rates (%)</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top" rowspan="2">Single modal recognition</td>
<td align="left" valign="top">AR LDA</td>
<td align="center" valign="top">75.09 ± 7.39</td></tr>
<tr>
<td align="left" valign="top">Palmprint LDA</td>
<td align="center" valign="top">82.26 ± 3.50</td></tr>
<tr>
<td align="left" valign="top" rowspan="6">Multimodal recognition</td>
<td align="left" valign="top">Pixel level fusion [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>]</td>
<td align="center" valign="top">95.35 ± 4.50</td></tr>
<tr>
<td align="left" valign="top">Parallel feature fusion [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>]</td>
<td align="center" valign="top">92.48 ± 2.61</td></tr>
<tr>
<td align="left" valign="top">Serial feature fusion [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>]</td>
<td align="center" valign="top">90.71 ± 3.06</td></tr>
<tr>
<td align="left" valign="top">Score level fusion [<xref ref-type="bibr" rid="b7-sensors-12-05551">7</xref>]</td>
<td align="center" valign="top">92.99 ± 2.63</td></tr>
<tr>
<td align="left" valign="top">SDA based feature extraction</td>
<td align="center" valign="top">96.52 ± 1.16</td></tr>
<tr>
<td align="left" valign="top">SDA-GSVD based feature extraction</td>
<td align="center" valign="top"><bold>98.23</bold> ± <bold>0.68</bold></td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td colspan="3" align="center" valign="middle">(<bold>a</bold>) Linear methods</td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td colspan="2" align="center" valign="top"><bold>AR and palmprint</bold></td>
<td align="center" valign="top"><bold>Average recognition rates (%)</bold></td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td align="left" valign="top">Single modal recognition</td>
<td align="left" valign="top">AR KDA</td>
<td align="center" valign="top">79.50 ± 6.83</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Palmprint KDA</td>
<td align="center" valign="top">83.45 ± 4.47</td></tr>
<tr>
<td align="left" valign="top">Multimodal recognition</td>
<td align="left" valign="top">KPCA-SDA</td>
<td align="center" valign="top">98.74 ± 0.45</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">KSDA-GSVD</td>
<td align="center" valign="top"><bold>99.15</bold> ± <bold>0.63</bold></td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td colspan="3" align="center" valign="top">(<bold>b</bold>) Nonlinear methods</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-12-05551" position="float">
<label>Table 2.</label>
<caption>
<p>Average recognition rates of compared methods on FRGC face and PolyU palmprint databases.</p></caption>
<table frame="above" rules="groups">
<thead>
<tr>
<th colspan="2" align="center" valign="top"><bold>FRGC and palmprint</bold></th>
<th align="center" valign="top"><bold>Average recognition rates (%)</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top" rowspan="2">Single modal recognition</td>
<td align="left" valign="top">FRGC LDA</td>
<td align="center" valign="top">78.26 ± 4.53</td></tr>
<tr>
<td align="left" valign="top">Palmprint LDA</td>
<td align="center" valign="top">80.22 ± 3.26</td></tr>
<tr>
<td align="left" valign="top" rowspan="6">Multimodal recognition</td>
<td align="left" valign="top">Pixel level fusion [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>]</td>
<td align="center" valign="top">97.21 ± 2.89</td></tr>
<tr>
<td align="left" valign="top">Parallel feature fusion [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>]</td>
<td align="center" valign="top">94.92 ± 2.17</td></tr>
<tr>
<td align="left" valign="top">Serial feature fusion [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>]</td>
<td align="center" valign="top">94.54 ± 1.57</td></tr>
<tr>
<td align="left" valign="top">Score level fusion [<xref ref-type="bibr" rid="b7-sensors-12-05551">7</xref>]</td>
<td align="center" valign="top">95.59 ± 4.70</td></tr>
<tr>
<td align="left" valign="top">SDA based feature extraction</td>
<td align="center" valign="top">98.06 ± 1.09</td></tr>
<tr>
<td align="left" valign="top">SDA-GSVD based feature extraction</td>
<td align="center" valign="top"><bold>98.61</bold> ± <bold>0.99</bold></td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td colspan="3" align="center" valign="middle">(<bold>a</bold>) Linear methods</td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td colspan="2" align="center" valign="top"><bold>FRGC and palmprint</bold></td>
<td align="center" valign="top"><bold>Average recognition rates (%)</bold></td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td align="left" valign="top" rowspan="2">Single modal recognition</td>
<td align="left" valign="top">AR KDA</td>
<td align="center" valign="top">80.44 ± 2.57</td></tr>
<tr>
<td align="left" valign="top">Palmprint KDA</td>
<td align="center" valign="top">81.23 ± 3.26</td></tr>
<tr>
<td align="left" valign="top" rowspan="2">Multimodal recognition</td>
<td align="left" valign="top">KPCA-SDA</td>
<td align="center" valign="top">98.82 ± 0.32</td></tr>
<tr>
<td align="left" valign="top">KSDA-GSVD</td>
<td align="center" valign="top"><bold>99.02</bold> ± <bold>0.31</bold></td></tr>
<tr>
<td colspan="3" valign="bottom">
<hr/></td></tr>
<tr>
<td colspan="3" align="center" valign="top">(<bold>b</bold>) Nonlinear methods</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-12-05551" position="float">
<label>Table 3.</label>
<caption>
<p>The equal error rate (EER) of all compared methods on different databases.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="center" valign="top"><bold>Method</bold></th>
<th align="center" valign="top"><bold>AR and PalmprintEER (%)</bold></th>
<th align="center" valign="top"><bold>FRGC and Palmprint EER (%)</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top" rowspan="4">Single modal recognition</td>
<td align="left" valign="top">Face LDA</td>
<td align="center" valign="top">15.45</td>
<td align="center" valign="top">8.13</td></tr>
<tr>
<td align="left" valign="top">Palmprint LDA</td>
<td align="center" valign="top">4.32</td>
<td align="center" valign="top">3.14</td></tr>
<tr>
<td align="left" valign="top">Face KDA</td>
<td align="center" valign="top">6.13</td>
<td align="center" valign="top">5.72</td></tr>
<tr>
<td align="left" valign="top">Palmprint KDA</td>
<td align="center" valign="top">8.36</td>
<td align="center" valign="top">10.85</td></tr>
<tr>
<td align="left" valign="top" rowspan="8">Multimodal recognition</td>
<td align="left" valign="top">Pixel level fusion [<xref ref-type="bibr" rid="b1-sensors-12-05551">1</xref>]</td>
<td align="center" valign="top">3.95</td>
<td align="center" valign="top">3.25</td></tr>
<tr>
<td align="left" valign="top">Parallel feature fusion [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>]</td>
<td align="center" valign="top">3.71</td>
<td align="center" valign="top">3.27</td></tr>
<tr>
<td align="left" valign="top">Serial feature fusion [<xref ref-type="bibr" rid="b3-sensors-12-05551">3</xref>]</td>
<td align="center" valign="top">7.84</td>
<td align="center" valign="top">4.41</td></tr>
<tr>
<td align="left" valign="top">Score level fusion [<xref ref-type="bibr" rid="b7-sensors-12-05551">7</xref>]</td>
<td align="center" valign="top">5.12</td>
<td align="center" valign="top">2.62</td></tr>
<tr>
<td align="left" valign="top">SDA based feature extraction</td>
<td align="center" valign="top">0.83</td>
<td align="center" valign="top">1.05</td></tr>
<tr>
<td align="left" valign="top">SDA-GSVD based feature extraction</td>
<td align="center" valign="top">0.72</td>
<td align="center" valign="top"><bold>0.28</bold></td></tr>
<tr>
<td align="left" valign="top">KSDA based feature extraction</td>
<td align="center" valign="top">0.87</td>
<td align="center" valign="top">1.90</td></tr>
<tr>
<td align="left" valign="top">KSDA-GSVD based feature extraction</td>
<td align="center" valign="top"><bold>0.56</bold></td>
<td align="center" valign="top">0.84</td></tr></tbody></table></table-wrap></sec></back></article>
