Multispectral Palmprint Encoding and Recognition
Zohaib~Khan
Faisal~Shafait
Yiqun~Hu
and~Ajmal~Mian% <-this % stops a space \thanks{Z.~Khan
F.~Shafait
Y.~Hu and A.~Mian are with the School of Computer Science and Software Engineering
The University of Western Australia.\protect
% note need leading \protect in front of
to get a newline within \thanks as %
is fragile and will error
could use \hfil\break instead. E-mail: zohaib@csse.uwa.edu.au
....lastname \thanks{...
%\boldmath Palmprints are emerging as a new entity in multi-modal biometrics for human identification and verification. Multispectral palmprint images captured in the visible and infrared spectrum not only contain the wrinkles and ridge structure of a palm, but also the underlying pattern of veins; making them a highly discriminating biometric identifier. In this paper, we propose a feature encoding scheme for robust and highly accurate representation and matching of multispectral palmprints. To facilitate compact storage of the feature, we design a binary hash table structure that allows for efficient matching in large databases. Comprehensive experiments for both identification and verification scenarios are performed on two public datasets -- one captured with a contact-based sensor (PolyU dataset), and the other with a contact-free sensor (CASIA dataset). Recognition results in various experimental setups show that the proposed method consistently outperforms existing state-of-the-art methods. Error rates achieved by our method (0.003\% on PolyU and 0.2\% on CASIA) are the lowest reported in literature on both dataset and clearly indicate the viability of palmprint as a reliable and promising biometric. All source codes are publicly available. %We also present a new region of interest extraction technique for contact-less palm imaging.
ContCode_arXiv.tex
%% bare_jrnl_compsoc.tex
%% V1.3
%% 2007/01/11
%% by Michael Shell
%% See:
%% http://www.michaelshell.org/
%% for current contact information.
%%
%% This is a skeleton file demonstrating the use of IEEEtran.cls
%% (requires IEEEtran.cls version 1.7 or later) with an IEEE Computer
%% Society journal paper.
%%
%% Support sites:
%% http://www.michaelshell.org/tex/ieeetran/
%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
%% and
%% http://www.ieee.org/

%%*************************************************************************
%% Legal Notice:
%% This code is offered as-is without any warranty either expressed or
%% implied; without even the implied warranty of MERCHANTABILITY or
%% FITNESS FOR A PARTICULAR PURPOSE!
%% User assumes all risk.
%% In no event shall IEEE or any contributor to this code be liable for
%% any damages or losses, including, but not limited to, incidental,
%% consequential, or any other damages, resulting from the use or misuse
%% of any information contained here.
%%
%% All comments are the opinions of their respective authors and are not
%% necessarily endorsed by the IEEE.
%%
%% This work is distributed under the LaTeX Project Public License (LPPL)
%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
%% distributed and modified. A copy of the LPPL, version 1.3, is included
%% in the base LaTeX documentation of all distributions of LaTeX released
%% 2003/12/01 or later.
%% Retain all contribution notices and credits.
%% ** Modified files should be clearly indicated as such, including  **
%% ** renaming them and changing author support contact information. **
%%
%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex,
%%                    bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex
%%*************************************************************************

% *** Authors should verify (and, if needed, correct) their LaTeX system  ***
% *** with the testflow diagnostic prior to trusting their LaTeX platform ***
% *** with production work. IEEE's font choices can trigger bugs that do  ***
% *** not appear when using other class files.                            ***
% The testflow support page is at:
% http://www.michaelshell.org/tex/testflow/




% Note that the a4paper option is mainly intended so that authors in
% countries using A4 can easily print to A4 and see how their papers will
% look in print - the typesetting of the document will not typically be
% affected with changes in paper size (but the bottom and side margins will).
% Use the testflow package mentioned above to verify correct handling of
% both paper sizes by the user's LaTeX system.
%
% Also note that the "draftcls" or "draftclsnofoot", not "draft", option
% should be used if it is desired that the figures are to be displayed in
% draft mode.
%
% The Computer Society usually requires 10pt for submissions.
%
\documentclass[journal]{IEEEtran}
%
% If IEEEtran.cls has not been installed into the LaTeX system files,
% manually specify the path to it like:
% \documentclass[12pt,journal,compsoc]{../sty/IEEEtran}

\usepackage{epsfig}
\usepackage{graphicx}
\usepackage{mathtools,amssymb}
\usepackage{multirow}
\usepackage{dcolumn}
\usepackage{color}
%\usepackage{morefloats}
% Some very useful LaTeX packages include:
% (uncomment the ones you want to load)


% *** MISC UTILITY PACKAGES ***
%
%\usepackage{ifpdf}
% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional
% compilation based on whether the output is pdf or dvi.
% usage:
% \ifpdf
%   % pdf code
% \else
%   % dvi code
% \fi
% The latest version of ifpdf.sty can be obtained from:
% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
% Also, note that IEEEtran.cls V1.7 and later provides a builtin
% \ifCLASSINFOpdf conditional that works the same way.
% When switching from latex to pdflatex and vice-versa, the compiler may
% have to be run twice to clear warning/error messages.






% *** CITATION PACKAGES ***
%
\ifCLASSOPTIONcompsoc
  % IEEE Computer Society needs nocompress option
  % requires cite.sty v4.0 or later (November 2003)
  \usepackage[nocompress]{cite}
\else
  % normal IEEE
  \usepackage{cite}
\fi
% cite.sty was written by Donald Arseneau
% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
% \cite{} output to follow that of IEEE. Loading the cite package will
% result in citation numbers being automatically sorted and properly
% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
% \cite will automatically add leading space, if needed. Use cite.sty's
% noadjust option (cite.sty V3.8 and later) if you want to turn this off.
% cite.sty is already installed on most LaTeX systems. Be sure and use
% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does
% not currently provide for hyperlinked citations.
% The latest version can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/
% The documentation is contained in the cite.sty file itself.
%
% Note that some packages require special options to format as the Computer
% Society requires. In particular, Computer Society  papers do not use
% compressed citation ranges as is done in typical IEEE papers
% (e.g., [1]-[4]). Instead, they list every citation separately in order
% (e.g., [1], [2], [3], [4]). To get the latter we need to load the cite
% package with the nocompress option which is supported by cite.sty v4.0
% and later. Note also the use of a CLASSOPTION conditional provided by
% IEEEtran.cls V1.7 and later.





% *** GRAPHICS RELATED PACKAGES ***
%
%\ifCLASSINFOpdf
  %\usepackage[pdftex]{graphicx}
  % declare the path(s) where your graphic files are
  % \graphicspath{{../pdf/}{../jpeg/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
  % \DeclareGraphicsExtensions{.pdf,.jpeg,}
%\else
  % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
  % will default to the driver specified in the system graphics.cfg if no
  % driver is specified.
  %\usepackage[dvips]{graphicx}
  % declare the path(s) where your graphic files are
  % \graphicspath{{../eps/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
  % \DeclareGraphicsExtensions{}
%\fi
% graphicx was written by David Carlisle and Sebastian Rahtz. It is
% required if you want graphics, photos, etc. graphicx.sty is already
% installed on most LaTeX systems. The latest version and documentation can
% be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/required/graphics/
% Another good source of documentation is "Using Imported Graphics in
% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or
% epslatex.pdf at: http://www.ctan.org/tex-archive/info/
%
% latex, and pdflatex in dvi mode, support graphics in encapsulated
% postscript () format. pdflatex in pdf mode supports graphics
% in .pdf, .jpeg,  and .mps (metapost) formats. Users should ensure
% that all non-photo figures use a vector format (, .pdf, .mps) and
% not a bitmapped formats (.jpeg, ). IEEE frowns on bitmapped formats
% which can result in "jaggedy"/blurry rendering of lines and letters as
% well as large increases in file sizes.
%
% You can find documentation about the pdfTeX application at:
% http://www.tug.org/applications/pdftex






% *** MATH PACKAGES ***
%
%\usepackage[cmex10]{amsmath}
% A popular package from the American Mathematical Society that provides
% many useful and powerful commands for dealing with mathematics. If using
% it, be sure to load this package with the cmex10 option to ensure that
% only type 1 fonts will utilized at all point sizes. Without this option,
% it is possible that some math symbols, particularly those within
% footnotes, will be rendered in bitmap form which will result in a
% document that can not be IEEE Xplore compliant!
%
% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000
% thus preventing page breaks from occurring within multiline equations. Use:
%\interdisplaylinepenalty=2500
% after loading amsmath to restore such page breaks as IEEEtran.cls normally
% does. amsmath.sty is already installed on most LaTeX systems. The latest
% version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/





% *** SPECIALIZED LIST PACKAGES ***
%
\usepackage{algorithm,algorithmic}
% algorithmic.sty was written by Peter Williams and Rogerio Brito.
% This package provides an algorithmic environment fo describing algorithms.
% You can use the algorithmic environment in-text or within a figure
% environment to provide for a floating algorithm. Do NOT use the algorithm
% floating environment provided by algorithm.sty (by the same authors) or
% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated
% algorithm float types and packages that provide these will not provide
% correct IEEE style captions. The latest version and documentation of
% algorithmic.sty can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
% There is also a support site at:
% http://algorithms.berlios.de/index.html
% Also of interest may be the (relatively newer and more customizable)
% algorithmicx.sty package by Szasz Janos:
% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/




% *** ALIGNMENT PACKAGES ***
%
%\usepackage{array}
% Frank Mittelbach's and David Carlisle's array.sty patches and improves
% the standard LaTeX2e array and tabular environments to provide better
% appearance and additional user controls. As the default LaTeX2e table
% generation code is lacking to the point of almost being broken with
% respect to the quality of the end results, all users are strongly
% advised to use an enhanced (at the very least that provided by array.sty)
% set of table tools. array.sty is already installed on most systems. The
% latest version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/required/tools/


%\usepackage{mdwmath}
%\usepackage{mdwtab}
% Also highly recommended is Mark Wooding's extremely powerful MDW tools,
% especially mdwmath.sty and mdwtab.sty which are used to format equations
% and tables, respectively. The MDWtools set is already installed on most
% LaTeX systems. The lastest version and documentation is available at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/


% IEEEtran contains the IEEEeqnarray family of commands that can be used to
% generate multiline equations as well as matrices, tables, etc., of high
% quality.


%\usepackage{eqparbox}
% Also of notable interest is Scott Pakin's eqparbox package for creating
% (automatically sized) equal width boxes - aka "natural width parboxes".
% Available at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/





% *** SUBFIGURE PACKAGES ***
%\ifCLASSOPTIONcompsoc
%\usepackage[tight,normalsize,sf,SF]{subfigure}
%\else
%\usepackage[tight,footnotesize]{subfigure}
%\fi
% subfigure.sty was written by Steven Douglas Cochran. This package makes it
% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE
% work, it is a good idea to load it with the tight package option to reduce
% the amount of white space around the subfigures. Computer Society papers
% use a larger font and \sffamily font for their captions, hence the
% additional options needed under compsoc mode. subfigure.sty is already
% installed on most LaTeX systems. The latest version and documentation can
% be obtained at:
% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/
% subfigure.sty has been superceeded by subfig.sty.


%\ifCLASSOPTIONcompsoc
%  \usepackage[caption=false]{caption}
%  \usepackage[font=normalsize,labelfont=sf,textfont=sf]{subfig}
%\else
%  \usepackage[caption=false]{caption}
%  \usepackage[font=footnotesize]{subfig}
%\fi
% subfig.sty, also written by Steven Douglas Cochran, is the modern
% replacement for subfigure.sty. However, subfig.sty requires and
% automatically loads Axel Sommerfeldt's caption.sty which will override
% IEEEtran.cls handling of captions and this will result in nonIEEE style
% figure/table captions. To prevent this problem, be sure and preload
% caption.sty with its "caption=false" package option. This is will preserve
% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later
% (recommended due to many improvements over 1.2) of subfig.sty supports
% the caption=false option directly:
\ifCLASSOPTIONcompsoc
  \usepackage[caption=false,font=footnotesize,labelfont=sf,textfont=sf]{subfig}
\else
  \usepackage[caption=false,font=footnotesize]{subfig}
\fi
%
% The latest version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
% The latest version and documentation of caption.sty can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/




% *** FLOAT PACKAGES ***
%
%\usepackage{fixltx2e}
% fixltx2e, the successor to the earlier fix2col.sty, was written by
% Frank Mittelbach and David Carlisle. This package corrects a few problems
% in the LaTeX2e kernel, the most notable of which is that in current
% LaTeX2e releases, the ordering of single and double column floats is not
% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a
% single column figure to be placed prior to an earlier double column
% figure. The latest version and documentation can be found at:
% http://www.ctan.org/tex-archive/macros/latex/base/



\usepackage{stfloats}
% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e
% the ability to do double column floats at the bottom of the page as well
% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in
% LaTeX2e). It also provides a command:
%\fnbelowfloat
% to enable the placement of footnotes below bottom floats (the standard
% LaTeX2e kernel puts them above bottom floats). This is an invasive package
% which rewrites many portions of the LaTeX2e float routines. It may not work
% with other packages that modify the LaTeX2e float routines. The latest
% version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
% Documentation is contained in the stfloats.sty comments as well as in the
% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE
% does not allow \baselineskip to stretch. Authors submitting work to the
% IEEE should note that IEEE rarely uses double column equations and
% that authors should try to avoid such use. Do not be tempted to use the
% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does
% not format its papers in such ways.




%\ifCLASSOPTIONcaptionsoff
%  \usepackage[nomarkers]{endfloat}
% \let\MYoriglatexcaption\caption
% \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}}
%\fi
% endfloat.sty was written by James Darrell McCauley and Jeff Goldberg.
% This package may be useful when used in conjunction with IEEEtran.cls'
% captionsoff option. Some IEEE journals/societies require that submissions
% have lists of figures/tables at the end of the paper and that
% figures/tables without any captions are placed on a page by themselves at
% the end of the document. If needed, the draftcls IEEEtran class option or
% \CLASSINPUTbaselinestretch interface can be used to increase the line
% spacing as well. Be sure and use the nomarkers option of endfloat to
% prevent endfloat from "marking" where the figures would have been placed
% in the text. The two hack lines of code above are a slight modification of
% that suggested by in the endfloat docs (section 8.3.1) to ensure that
% the full captions always appear in the list of figures/tables - even if
% the user used the short optional argument of \caption[]{}.
% IEEE papers do not typically make use of \caption[]'s optional argument,
% so this should not be an issue. A similar trick can be used to disable
% captions of packages such as subfig.sty that lack options to turn off
% the subcaptions:
% For subfig.sty:
% \let\MYorigsubfloat\subfloat
% \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}}
% For subfigure.sty:
% \let\MYorigsubfigure\subfigure
% \renewcommand{\subfigure}[2][\relax]{\MYorigsubfigure[]{#2}}
% However, the above trick will not work if both optional arguments of
% the \subfloat/subfig command are used. Furthermore, there needs to be a
% description of each subfigure *somewhere* and endfloat does not add
% subfigure captions to its list of figures. Thus, the best approach is to
% avoid the use of subfigure captions (many IEEE journals avoid them anyway)
% and instead reference/explain all the subfigures within the main caption.
% The latest version of endfloat.sty and its documentation can obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/
%
% The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used
% later in the document, say, to conditionally put the References on a
% page by themselves.




% *** PDF, URL AND HYPERLINK PACKAGES ***
%
\usepackage{url}
% url.sty was written by Donald Arseneau. It provides better support for
% handling and breaking URLs. url.sty is already installed on most LaTeX
% systems. The latest version can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/
% Read the url.sty source comments for usage information. Basically,
% \url{my_url_here}.





% *** Do not adjust lengths that control margins, column widths, etc. ***
% *** Do not use packages that alter fonts (such as pslatex).         ***
% There should be no need to do such things with IEEEtran.cls V1.6 and later.
% (Unless specifically asked to do so by the journal or conference you plan
% to submit to, of course. )


% correct bad hyphenation here
\hyphenation{op-tical net-works semi-conduc-tor}


\begin{document}
%
% paper title
% can use linebreaks \\ within to get better formatting as desired
\title{Multispectral Palmprint Encoding and Recognition}
%
%
% author names and IEEE memberships
% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break
% a structure at a ~ so this keeps an author's name from being broken across
% two lines.
% use \thanks{} to gain access to the first footnote area
% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks
% was not built to handle multiple paragraphs
%


\author{Zohaib~Khan,
        Faisal~Shafait,
        Yiqun~Hu,
        and~Ajmal~Mian% <-this % stops a space
\thanks{Z.~Khan, F.~Shafait, Y.~Hu and A.~Mian are with the School of Computer Science and Software Engineering, The University of Western Australia.\protect\\
% note need leading \protect in front of \\ to get a newline within \thanks as
% \\ is fragile and will error, could use \hfil\break instead.
E-mail: zohaib@csse.uwa.edu.au}
\thanks{\textcolor{red}{MATLAB source codes:} \textcolor{blue}{www.sites.google.com/site/zohaibnet/Home/codes}}}

% note the % following the last \IEEEmembership and also \thanks -
% these prevent an unwanted space from occurring between the last author name
% and the end of the author line. i.e., if you had this:
%
% \author{....lastname \thanks{...} \thanks{...} }
%                     ^------------^------------^----Do not want these spaces!
%
% a space would be appended to the last name and could cause every name on that
% line to be shifted left slightly. This is one of those "LaTeX things". For
% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get
% "AB" then you have to do: "\textbf{A}\textbf{B}"
% \thanks is no different in this regard, so shield the last } of each \thanks
% that ends a line with a % and do not let a space in before the next \thanks.
% Spaces after \IEEEmembership other than the last one are OK (and needed) as
% you are supposed to have spaces between the names. For what it is worth,
% this is a minor point as most people would not even notice if the said evil
% space somehow managed to creep in.



% The paper headers
%\markboth{IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY}%
%{Shell \MakeLowercase{\textit{et al.}}: Bare Demo of IEEEtran.cls for Journals}
% The only time the second header will appear is for the odd numbered pages
% after the title page when using the twoside option.
%
% *** Note that you probably will NOT want to include the author's ***
% *** name in the headers of peer review papers.                   ***
% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if
% you desire.



% The publisher's ID mark at the bottom of the page is less important with
% Computer Society journal papers as those publications place the marks
% outside of the main text columns and, therefore, unlike regular IEEE
% journals, the available text space is not reduced by their presence.
% If you want to put a publisher's ID mark on the page you can do it like
% this:
%\IEEEpubid{0000--0000/00\$00.00~\copyright~2007 IEEE}
% or like this to get the Computer Society new two part style.
%\IEEEpubid{\makebox[\columnwidth]{\hfill 0000--0000/00/\$00.00~\copyright~2007 IEEE}%
%\hspace{\columnsep}\makebox[\columnwidth]{Published by the IEEE Computer Society\hfill}}
% Remember, if you use this you must call \IEEEpubidadjcol in the second
% column for its text to clear the IEEEpubid mark (Computer Society jorunal
% papers don't need this extra clearance.)



% use for special paper notices
%\IEEEspecialpapernotice{(Invited Paper)}

% make the title area
\maketitle


% for Computer Society papers, we must declare the abstract and index terms
% PRIOR to the title within the \IEEEcompsoctitleabstractindextext IEEEtran
% command as these need to go into the title area created by \maketitle.
%\IEEEcompsoctitleabstractindextext{%
\begin{abstract}
%\boldmath
Palmprints are emerging as a new entity in multi-modal biometrics for human identification and verification. Multispectral palmprint images captured in the visible and infrared spectrum not only contain the wrinkles and ridge structure of a palm, but also the underlying pattern of veins; making them a highly discriminating biometric identifier.
In this paper, we propose a feature encoding scheme for robust and highly accurate representation and matching of multispectral palmprints. To facilitate compact storage of the feature, we design a binary hash table structure that allows for efficient matching in large databases. Comprehensive experiments for both identification and verification scenarios are performed on two public datasets -- one captured with a contact-based sensor (PolyU dataset), and the other with a contact-free sensor (CASIA dataset). Recognition results in various experimental setups show that the proposed method consistently outperforms existing state-of-the-art methods. Error rates achieved by our method (0.003\% on PolyU and 0.2\% on CASIA) are the lowest reported in literature on both dataset and clearly indicate the viability of palmprint as a reliable and promising biometric. All source codes are publicly available.

%We also present a new region of interest extraction technique for contact-less palm imaging.

\end{abstract}
% IEEEtran.cls defaults to using nonbold math in the Abstract.
% This preserves the distinction between vectors and scalars. However,
% if the journal you are submitting to favors bold math in the abstract,
% then you can use LaTeX's standard command \boldmath at the very start
% of the abstract to achieve this. Many IEEE journals frown on math
% in the abstract anyway. In particular, the Computer Society does
% not want either math or citations to appear in the abstract.

% Note that keywords are not normally used for peerreview papers.
\begin{IEEEkeywords}
Palmprint, Multispectral, Hashing, Contourlet.
\end{IEEEkeywords}




% To allow for easy dual compilation without having to reenter the
% abstract/keywords data, the \IEEEcompsoctitleabstractindextext text will
% not be used in maketitle, but will appear (i.e., to be "transported")
% here as \IEEEdisplaynotcompsoctitleabstractindextext when compsoc mode
% is not selected <OR> if conference mode is selected - because compsoc
% conference papers position the abstract like regular (non-compsoc)
% papers do!
%\IEEEdisplaynotcompsoctitleabstractindextext
% \IEEEdisplaynotcompsoctitleabstractindextext has no effect when using
% compsoc under a non-conference mode.


% For peer review papers, you can put extra information on the cover
% page as needed:
% \ifCLASSOPTIONpeerreview
% \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
% \fi
%
% For peerreview papers, this IEEEtran command inserts a page break and
% creates the second title. It will be ignored for other modes.
\IEEEpeerreviewmaketitle



%\section{Introduction}
% Computer Society journal papers do something a tad strange with the very
% first section heading (almost always called "Introduction"). They place it
% ABOVE the main text! IEEEtran.cls currently does not do this for you.
% However, You can achieve this effect by making LaTeX jump through some
% hoops via something like:
%
\ifCLASSOPTIONcompsoc
  \noindent\raisebox{2\baselineskip}[0pt][0pt]%
  {\parbox{\columnwidth}{\section{Introduction}\label{sec:introduction}%
  \global\everypar=\everypar}}%
  \vspace{-1\baselineskip}\vspace{-\parskip}\par
\else
  \section{Introduction}\label{sec:introduction}\par
\fi
%
% Admittedly, this is a hack and may well be fragile, but seems to do the
% trick for me. Note the need to keep any \label that may be used right
% after \section in the above as the hack puts \section within a raised box.



% The very first letter is a 2 line initial drop letter followed
% by the rest of the first word in caps (small caps for compsoc).
%
% form to use if the first word consists of a single letter:
% \IEEEPARstart{A}{demo} file is ....
%
% form to use if you need the single drop letter followed by
% normal text (unknown if ever used by IEEE):
% \IEEEPARstart{A}{}demo file is ....
%
% Some journals put the first two words in caps:
% \IEEEPARstart{T}{his demo} file is ....
%
% Here we have the typical use of a "T" for an initial drop letter
% and "HIS" in caps to complete the first word.

\IEEEPARstart{T}{he} information present in a human palm has an immense amount of potential for biometric recognition. Information visible to the naked eye includes the principal lines, the wrinkles and the fine ridges which form a unique pattern for every individual \cite{zhang2012comparative}. These superficial features can be captured using standard imaging devices. High resolution scanners capture the fine ridge pattern of a palm which is generally employed for latent palmprint identification in forensics~\cite{jain2009latent}. The principal lines and wrinkles acquired with low resolution sensors are suitable for security applications like user identification or authentication~\cite{zhang2003online}.

Additional information present in the human palm is the subsurface vein pattern which is indifferent to the palm lines. Such features cannot be easily acquired by a standard imaging sensor. Infrared imaging can capture subsurface features due to its capability to penetrate the human skin. The superficial and subsurface features of a palm have been collectively investigated under the subject of \emph{`multispectral palmprint recognition'}. Using \emph{Multispectral Imaging (MSI)}, it is possible to capture images of an object at multiple wavelengths of light, in the visible spectrum and beyond. Fig.~\ref{fig:palms} shows palm images captured at three different wavelengths. The availability of such complementary features (palm lines and veins) allows for increased discrimination between individuals. These useful characteristics of palmprint make it a suitable choice for recognition where user cooperation is affordable, e.g, at workplace entry, secure access gates and identity records.

\begin{figure}[t]
\centering
\begin{minipage}[b]{0.32\linewidth}
\subfloat[\emph{Lines} ($460$nm)]{\includegraphics[trim = 130pt 10pt 30pt 0pt, clip, width=1\linewidth]{001_l_460_01}}\\
\subfloat[\emph{Lines} ($470$nm)]{\includegraphics[width=1\linewidth]{1_01_470}}
\end{minipage}\hspace{0.5pt}
\begin{minipage}[b]{0.32\linewidth}
\subfloat[\emph{Veins} ($940$nm)]{\includegraphics[trim = 130pt 10pt 30pt 0pt, clip, width=1\linewidth]{001_l_940_01}}\\
\subfloat[\emph{Veins} ($880$nm)]{\includegraphics[width=1\linewidth]{1_01_880}}
\end{minipage}\hspace{0.5pt}
\begin{minipage}[b]{0.32\linewidth}
\subfloat[\emph{Both} ($630$nm)]{\includegraphics[trim = 130pt 10pt 30pt 0pt, clip, width=1\linewidth]{001_l_630_01}}\\
\subfloat[\emph{Both} ($660$nm)]{\includegraphics[width=1\linewidth]{1_01_660}}
\end{minipage}
\caption{Examples of palmprint features in multiple bands. Three bands of a multispectral image captured using a non-contact (top row) and a contact based sensor (bottom row). (a-b) Palm lines captured in the visible range. (c-d) Palm veins captured in the near infrared range. (e-f) A combination of the line and vein features at intermediate wavelengths.}
\label{fig:palms}
%\vspace{-20pt}
\end{figure}

A monochromatic camera under spectrally varying illuminations can acquire multispectral palm images~\cite{han2008multispectral,hao2007comparative}. Contact devices, restrict the hand movement but raise user acceptability issues due to hygiene. On the other hand, biometrics that are acquired with non-contact sensors are user friendly and socially more acceptable~\cite{jain2004introduction}, but introduce challenge of rotation, scale and translation (RST) variation. The misalignments casued by movement of the palm can be recovered by reliable, repeatable landmark detection and subsequent ROI extraction. Moreover, the multi-modal nature of palm requires robust feature extraction scheme that accurately detects line-like features. In addition, the large amount of features resulting from multi-modal feature extraction pose slow matching time and cost large storage resources. These challenges can be addressed by efficient feature encoding and matching scheme. We propose an end-to-end framework for multispectral palmprint recognition and attempt to solve all realizable challenges.

The key contributions of this work are
\begin{itemize}
  \item A reliable technique for ROI extraction from non-contact palmprint images.
  \item A robust multidirectional feature encoding for multispectral palmprints.
  \item An efficient hash table scheme for compact storage and matching of multi-directional features.
  \item A thorough analysis of palmprint verification and identification experiments and comparison with the state-of-the art techniques
\end{itemize}

%In the following, we present an overview of palmprint recognition approaches, particularly applicable to multispectral palmprints.

%Despite the potential of multispectral information to improve palmprint recognition accuracy, the computational complexity is a major challenge. The high dimensionality of multispectral data requires efficient representation and matching. The representation must be capable of capturing the discriminative information of heterogenous multispectral bands in a compact way as well as facilitate efficient storage and matching.

\section{Related Work}
\label{sec:work}

In the past decade, biometrics such as the iris~\cite{boyce2006multispectral}, face~\cite{di2010studies,pan2003face} and fingerprint~\cite{rowe2007multispectral} have been investigated using multispectral images for improved accuracy. Recently, there has been an increased interest in multispectral palmprint recognition~\cite{meraoumia2013efficient,mittal2012rank,luo2012multispectral,akbari2011multispectral,kekre2011palmprint,tahmasebi2011novel,zhang2011online,kisku2010multispectral,guo2010feature,zhang2010online,xu2010multispectral,han2008multispectral,hao2008multispectral,hao2007comparative}. Palmprint recognition approaches can be categorized into line-like feature detectors, subspace learning methods and texture based coding techniques~\cite{kong2009survey}. These three categories are not mutually exclusive and their combinations are also possible. Line detection based approaches commonly extract palm lines using edge detectors. Huang et al.~\cite{huang2008palmprint} proposed a palmprint verification technique based on principal lines. The principal palm lines were extracted using a modified finite Radon transform and a binary edge map was used for representation. However, recognition based solely on palm lines proved insufficient due to their sparse nature and the possibility of different individuals to have highly similar palm lines~\cite{zhang2011online}. Although, line detection can extract palm lines effectively, it may not be equally useful for the extraction of palm veins due to their low contrast and broad structure.

%\subsection{Subspace Projection Methods}
A subspace projection captures the global characteristics of a palm by projecting to the most varying (in case of PCA) or the most discriminative (in case of LDA) dimensions. Subspace projection methods include eigenpalm~\cite{lu2003palmprint}, which globally projects palm images to a PCA space, or fisherpalm \cite {wu2003fisherpalms} which projects to an LDA space. However, the finer local details are not well preserved and modeled by such subspace projections. Wang et al.~\cite{wang2007fusion} fused palmprint and palmvein images and proposed the \emph{Laplacianpalm} representation. Unlike the eigenpalm~\cite{lu2003palmprint} or the fisherpalm \cite {wu2003fisherpalms}, the \emph{Laplacianpalm} representation attempts to preserve the local characteristics as well while projecting onto a subspace. Xu et al.~\cite{xu2010multispectral} represented multispectral palmprint images as quaternion and applied quaternion PCA to extract features. A nearest neighbor classifier was used for recognition using quaternion vectors. The quaternion model did not prove useful for representing multispectral palm images and demonstrated low recognition accuracy compared to the state-of-the-art techniques. The main reason is that subspaces learned from misaligned palms are unlikely to generate accurate representation of each identity.

%\subsection{Orientation Feature Codes}
Orientation codes extract and encode the orientation of lines and have shown state-of-the-art performance in palmprint recognition~\cite{zhang2012comparative}. Examples of orientation codes include the Competitive Code (CompCode)~\cite{kong2004competitive}, the Ordinal Code (OrdCode)~\cite{sun2005ordinal} and the Derivative of Gaussian Code (DoGCode)~\cite{wu2006palmprint}. In the generic form of orientation coding, the response of a palm to a bank of directional filters is computed such that the resulting directional subbands correspond to specific orientations of line. Then, the dominant orientation index from the directional subbands is extracted at each point to form the orientation code. CompCode~\cite{kong2004competitive} employs a directional bank of Gabor filters to extract the orientation of palm lines. The orientation is encoded into a binary code and matched directly using the Hamming distance. The OrdCode~\cite{sun2005ordinal} emphasizes the ordinal relationship of lines by comparing mutually orthogonal filter pairs to extract the feature orientation at a point. The DoGCode~\cite{wu2006palmprint} is a compact representation which only uses vertical and horizontal gaussian derivative filters to extract feature orientation. Orientation codes can be binarized for efficient storage and fast matching unlike other representations which require floating point data storage and computations. Another important aspect of multispectral palmprints is how to combine the different spectral bands. The multispectral palmprints have been investigated with data, feature, score and rank-level fusion.

%\begin{table}
%\caption{Differences between multispectral and hyperspectral images.}
%\label{tab:differences}
%\footnotesize
%\vspace{-10pt}
%\begin{center}
%\begin{tabular}{l|l}\hline
%\textbf{Multispectral image}            & \textbf{Hyperspectral image} \\ \hline
%Few bands  ($\ge4$)                     & Many bands  ($\ge10$)  \\
%Low spectral resolution (FWHM$\ge10nm$) & High spectral resolution (FWHM$=1$ to $5 nm$)\\
%Bands may not be contiguous             & Bands are contiguous \\
%Sensor cost and complexity is low       & Sensor cost and complexity is high\\ \hline
%\end{tabular}\\
%\scriptsize{\emph{FWHM: Full Width at Half Maximum is a measure of the band width.}}
%\end{center}
%\vspace{-20pt}
%\end{table}

Multispectral palmprints are generally fused at image level using multi-resolution transforms, such as wavelet and curvelet. Han et al.~\cite{han2008multispectral} used a three level wavelet fusion strategy for combining multispectral palmprint images. After fusion, CompCode was used for feature extraction and matching. Their results showed that the wavelet fusion of multispectral palm images is only useful for blurred source images. Hao et al.~\cite{hao2008multispectral} used various image fusion techniques and the OLOF representation for multispectral palmprint recognition. The best recognition performance was achieved when the curvelet transform was used for band fusion. Kisku et al.~\cite{kisku2010multispectral} proposed wavelet based band fusion and gabor wavelet feature representation for multispectral palm images. To reduce the dimensionality, feature selection was performed using the Ant Colony Optimization (ACO) algorithm~\cite{dorigo1997ant} and classified by normalized correlation and SVM. However, the gabor wavelet based band fusion could not improve palmprint recognition performance compared to the curvelet fusion with OLOF~\cite{hao2008multispectral}. Kekre et al.~\cite{kekre2011palmprint} proposed a hybrid transform by kronecker product of DCT and Walsh transforms, which better describes the energy in the local regions of a multispectral palm. A subset of the regions was selected by comparison with the mean energy map and stored as features for matching. It is observed that fusion of multispectral palmprints is cumbersome due to multimodal nature of palm. A single fused palm image is a compromise of the wealth of complementary information present in different bands, which results in below par recognition performance.

%Guo et al.~\cite{guo2009palmprint} proposed the Binary Orientation Co-occurrence Vector (BOCV) which encodes more than one orientation at the points of crossover lines in a palm based on a threshold computed from training data. Their experiments showed that the BOCV is less sensitive to small rotation variations which is likely to be a consequence of multiple orientation assignments. However, a fixed threshold may lead to the detection of false multiple orientations at some points.

Fusion of spectral bands has been demonstrated at feature level. Luo et al.~\cite{luo2012multispectral} used feature level band fusion for multispectral palmprints. Specifically, a modification of CompCode was combined with the original CompCode and features from the pair of less correlated bands were fused. The results indicated an improvement over image level fusion and were comparable to match-score level fusion. Zhou and Kumar~\cite{zhou2010contactless} encoded palm vein features by enhancement of vascular patterns and using the Hessian phase information. They showed that a combination of various feature representations can be used for achieving improved performance based on palmvein images. Mittal et al.~\cite{mittal2012rank} investigated fuzzy and sigmoid features for multispectral palmprints and a rank-level fusion of scores using various strategies. It was observed that a nonlinear fusion function at rank-level was effective for improved recognition performance. Tahmasebi et al.~\cite{tahmasebi2011novel} used gabor kernels for feature extraction from multispectral palmprints and a rank-level fusion scheme for fusing the outputs from individual band comparisons. One drawback of rank-level fusion is that it assigns fixed weights to the rank outputs of spectral bands, which results in sub-optimal performance.

%Table~\ref{tab:differences} lists the major differences between multispectral and hyperspectral images. There is no consensus in the literature about the exact number of bands beyond which an image is considered hyperspectral. However, these values are quite widely used especially in the palmprint recognition literature. We are aware of only one hyperspectral palmprint related work. Guo et al.~\cite{guo2012feature} used 69 bands to perform band selection for palmprint recognition. Their main aim was to find the minimum number of bands required for designing a multispectral palmprint recognition system rather than utilizing the complete set of bands.

Zhang et al.~\cite{zhang2010online} compared palmprint matching using individual bands and reported that the red band performed better than the near infrared, blue and green bands. A score level fusion of these bands achieved superior performance compared to any single band. Another joint palmline and palmvein approach for multispectral palmprint recognition was proposed by Zhang et al.~\cite{zhang2011online}. They designed separate feature extraction methodologies for palm line and palm vein and later used score level fusion for computing the final match. The approach yielded promising results, albeit at the cost of increased complexity. A comparison of different fusion strategies indicates that a score level fusion of multispectral bands is promising and most effective compared to a data, feature or rank-level fusion.

It is worth mentioning that a simple extension of the existing palmprint representations to multispectral palmprints may not fully preserve the features that appear in different bands. For example, a single representation may not be able to extract equally useful features from both lines and veins~\cite{zhang2011online}. Comparative studies show that local orientation features are the recommended choice for palmprint feature extraction~\cite{zhang2012comparative}.


In this paper, we propose a novel orientation and binary hash table based encoding for robust and efficient multispectral palmprint recognition. The representation is derived from the coefficients of the Nonsubsampled Contourlet Transform (NSCT) which has the advantage of robust directional frequency localization. Unlike existing orientation codes, which apply a directional filter bank directly to a palm image, we propose a two stage filtering approach to extract only the robust directional features. We develop a unified methodology for the extraction of multispectral (line and vein) features. The feature binary encoded into an efficient hash table structure that only requires indexing and summation operations for simultaneous one-to-many matching with an embedded score level fusion of multiple bands. This paper is an extension of our earlier work~\cite{khan2011contour}. Here we give more detailed descriptions and introduce two variants of the proposed matching technique to improve robustness to inter-band misalignments. We perform a more thorough analysis of the pyramidal directional filter pair combination and the effect of varying other parameters. We also implement three existing state-of-the art orientation features~\cite{kong2004competitive}\cite{sun2005ordinal}\cite{wu2006palmprint} and compare their performances to the proposed feature in various experimental settings including a palmprint identification scenario.

The rest of this paper is organized as follows. In Section~\ref{sec:roi_ext}, we present a reliable technique for ROI extraction from multispectral images acquired via non-contact sensors. The Contour Code extraction, hash table encoding and matching processes are detailed in Section~\ref{sec:cnt_code}. In Section~\ref{sec:exp}, we present a detailed experimental analysis to evaluate the accuracy of the proposed ROI extraction. We also analyze the effect of various parameters and pyramidal-directional filter pair combinations. We perform verification and identification experiments in various experimental settings using two standard multispectral palmprint databases and compare the performance of the proposed Contour Code to existing state-of-the-art. Conclusions are given in Section~\ref{sec:conc}.

\section{Region of Interest Extraction}
\label{sec:roi_ext}

The extraction of a reliable ROI from such images is a challenge which is addressed in this paper. To extract ROI from an image, it is necessary to define some reference \emph{landmarks} from within the image which can be used to normalize its relative movement. The landmark detection must be accurate and repeatable to ensure that the exact same ROI is extracted from every palm image. Among the features commonly used in hand geometry recognition, the valleys between the fingers are a suitable choice for landmarks due to their invariance to hand movement~\cite{fang2009making}.


\subsection{Preprocessing}

The input hand image is first thresholded to segment it from the background (see  Fig.~\ref{fig:hand_gs} and~\ref{fig:hand_tr}). Smaller objects, not connected to the hand, that appear due to noise are removed through binary pixel connectivity. Morphological closing is carried out with a square structuring element to normalize the contour of the hand. Finally, any holes within the hand pixels are filled using binary hole filling. These operations ensure accurate and successful landmarks localization. The resulting preprocessed segmented hand image is shown in Fig.~\ref{fig:hand_bw}.


\subsection{Localization of Landmarks}

Given the binary image, in which the foreground pixels correspond to the hand, the localization proceeds as follows. In a column wise search (Fig.~\ref{fig:hand_mp}), the binary discontinuities, i.e. the edges of the fingers are identified. From the edges, the gaps between fingers are located in each column and the mid points of all the finger gaps are computed. Continuing inwards along the valley of the fingers, the column encountered next to the last column should contain hand pixels (Fig.~\ref{fig:hand_kpc}). The search is terminated when four such valley closings are recorded. This column search succeeds when the hand rotation is within $\pm90^{\circ}$ in the image plane. It is also required that there is some minimal amount of separation between consecutive fingers so that the mid points can be recorded. This is was explicitly achieved by instructing the users on the use of the system. It should also be noted that the out of plane movement of the hand does not affect the localization to a certain extent, as long as the gaps between fingers is maintained.


The mid points corresponding to the four valleys are clustered and the one corresponding to the index-thumb valley is discarded. Due to the natural contour of the fingers, it can be observed that the mid points do not follow a linear trend towards the valley as shown in Fig.~\ref{fig:hand_mid}. Therefore, a second order polynomial is fitted to the mid points of each valley excluding the last $p_e$ points which tend to deviate from the path towards the landmark. The estimated polynomial is then used to extend the mid points in the last $p_e$ points towards the valley as shown in Fig.~\ref{fig:hand_kpf}. We set $p_e$ as $10\%$ of the total number of mid points $p_t$ of a valley. The final location of a landmark is the last encountered background pixel in the sequence of extrapolated points.

\begin{figure}[t]
\setlength\fboxsep{0pt}
\setlength\fboxrule{0.1pt}
\begin{center}
\subfloat[]{\label{fig:hand_gs}\includegraphics[trim = 130pt 10pt 30pt 0pt, clip, width=0.315\linewidth]{001_l_460_01}}\hspace{0.05pt}
\subfloat[]{\label{fig:hand_tr}\includegraphics[trim = 130pt 10pt 30pt 0pt, clip, width=0.315\linewidth]{hand_tr}}\hspace{0.05pt}
\subfloat[]{\label{fig:hand_bw}\includegraphics[trim = 130pt 10pt 30pt 0pt, clip, width=0.315\linewidth]{hand_bw}}\\
\subfloat[]{\label{fig:hand_mp}\includegraphics[trim = 80pt 10pt 20pt 0pt, clip, width=0.315\linewidth]{hand_kpc}}
\subfloat[]{\label{fig:hand_kpc}
\begin{minipage}[b]{0.163\linewidth}
\fbox{\includegraphics[trim = 264pt 264pt 177pt 70pt, clip, width=1\linewidth]{hand_kpc}}\\
\fbox{\includegraphics[trim = 222pt 230pt 215pt 106pt, clip, width=1\linewidth]{hand_kpc}}\\
\fbox{\includegraphics[trim = 209pt 183pt 233pt 151pt, clip, width=1\linewidth]{hand_kpc}}
\end{minipage}}\hspace{0.05pt}
\subfloat[]{\label{fig:hand_mid}\fbox{\includegraphics[trim = 130pt 215pt 250pt 0pt, clip, width=0.315\linewidth]{hand_mid}}}
\subfloat[]{\label{fig:hand_kpf}
\begin{minipage}[b]{0.163\linewidth}
\fbox{\includegraphics[trim = 264pt 264pt 177pt 70pt, clip, width=1\linewidth]{hand_kpf}}\\
\fbox{\includegraphics[trim = 222pt 230pt 215pt 106pt, clip, width=1\linewidth]{hand_kpf}}\\
\fbox{\includegraphics[trim = 209pt 183pt 233pt 151pt, clip, width=1\linewidth]{hand_kpf}}
\end{minipage}}\hspace{0.05pt}
\end{center}
\caption{Hand image preprocessing. (a-c) input, thresholded and clean segmented image. (d-e) Landmarks localization in a hand image acquired with a non-contact sensor. (d) Initialization of search for mid points (green). (e) Search termination (red). (f) Located mid points. (g) Polynomial extrapolation of selected mid points (red) to find the landmarks.}
\label{fig:hand_lm}
%\vspace{-10pt}
\end{figure}

\subsection{ROI Extraction}

Using the three landmarks, an RST invariant ROI can be extracted (see Fig.~\ref{fig:roi_all}). The landmarks ($P_{1}$,$P_{2}$) form a reference \emph{Y-axis}. We fix the \emph{X-axis} at two-thirds of the distance from $P_{1}$ to $P_{2}$ so that the ROI is centered over the palm. The automatically estimated palm width $\bar{w}$ serves as the scale identifier to extract a scale invariant ROI. To compute $\bar{w}$, we find the average width of the palm from point $x_{s}$ to $x_{t}$. To keep $x_{s}$ from being very close to the fingers and affected by their movement we set a safe value of $x_{s}=P_{1}(x)+(P_{2}(y)-P_{1}(y))/3$. Moreover, we set $x_{t}=P_{4}(x)-(P_{2}(y)-P_{1}(y))/12$. Note that the scale computation is not sensitive to the values of $x_{s}$ and $x_{t}$ as the palmwidth is averaged over the range $(x_{s},x_{t})$.

In our experiments, the ROI side length is scaled to $70\%$ of $\bar{w}$ and extracted from the input image using an affine transformation. The same region is extracted from the remaining bands of the multispectral palm.

\subsection{Inter-band Registration}
Since the bands of the multispectral images were sequentially acquired, minor hand movement can not be ruled out. Therefore, an inter-band registration of the ROIs based on the maximization of \emph{Mutual Information} is carried out. The approach has shown to be effective for registering multispectral palmprints~\cite{hao2008multispectral}. Since, there is negligible rotational and scale variation within the consecutive bands, we limit the registration search space to only $\pm2$ pixels translations along both dimensions. The registered ROI of each band is then downsampled to $32\times32$ pixels using bicubic interpolation. This resampling step has several advantages. First, it suppresses the inconsistent lines and noisy regions. Second, it reduces the storage requirement for the final feature. Third, it significantly reduces the time required for the extraction of features and matching.

\begin{figure}[t]
%\vspace{-10pt}
\subfloat[]{\label{fig:roi_scale}\includegraphics[trim = 80pt 10pt 20pt 0pt, clip, width=0.49\linewidth]{SCALE_001_l_460_01}}\hspace{1pt}
\subfloat[]{\label{fig:roi_extract}\includegraphics[trim = 80pt 10pt 20pt 0pt, clip, width=0.49\linewidth]{ROI_001_l_460_01}}
\caption{ROI extraction based on detected landmarks. The points $P_{1},P_{2}$ define the \emph{Y-axis}. The \emph{X-axis} is orthogonal to the \emph{Y-axis} at 2/3 distance from $P_{1}$ to $P_{2}$. (a) Average palm width $\bar{w}$ is computed in the range $(x_{s},x_{t})$ (b) The distance of origin O of the ROI is proportional to the average palm width found in (a).}
\label{fig:roi_all}
\end{figure}

\section{Contour Code}
\label{sec:cnt_code}

\subsection{Multidirectional Feature Encoding}

The nonsubsampled contourlet transform (NSCT)~\cite{da2006nonsubsampled} is a multi-directional expansion with improved directional frequency localization properties and efficient implementation compared to its predecessor, the contourlet transform~\cite{do2005contourlet}. It has been effectively used in basic image processing operations such as image denoising and enhancement. Here, we exploit the directional frequency localization characteristics of the NSCT for multidirectional feature extraction from palmprint images.


An ROI $I\in\mathbb{R}^{m\times n}$ of a band is first convolved with a nonsubsampled bandpass pyramidal filter $(P_{f})$ which captures the details in the palm at a single scale as shown in Fig.~\ref{fig:ContourCode}. This filtering operation allows only the robust information in a palm to be passed on to the subsequent directional decomposition stage.
\begin{equation}
\rho = I\ast P_{f}
\end{equation}
The band pass filtered component $(\rho)$ of the input image is subsequently processed by a nonsubsampled directional filter bank $(D_{f})$, comprising $2^{k}$ directional filters.
\begin{equation}
\Psi^{i} = \rho\ast D_{f}^{i}~,
\end{equation}
where $\Psi^{i},i=1,2,\ldots,2^{k}$ is the set of directional subbands. For example, a third order directional filter bank ($k=3$) will result in $8$ directional filtered subbands. Therefore, each directional subband covers an angular region of $\pi/2^{k}$ radians. The combination of pyramidal and directional filter decomposition stages determine their capability to capture line like features. We perform a detailed experimental analysis of pyramidal-directional filter pairs in Section~\ref{sec:filter}.

\begin{figure}[t]
\centering
\includegraphics[width=1\linewidth]{ContourCode}
\caption{Extraction of the Contour Code representation. $\rho$ is the pyramidal bandpass subband and $\Psi^{i}$ are the bandpass directional subbands. The images $C^{i}$ represent the dominant points existing in the $i^{th}$ directional subband. The intensities in $C$ correspond to $i=1,2,\ldots,8$ (from dark to bright).}
\label{fig:ContourCode}
%\vspace{-10pt}
\end{figure}

\begin{figure*}[b]
\centering
\includegraphics[width=0.65\linewidth]{hash_table_pop}
\caption{Illustration of binary hash table encoding. A galley image $I$ is first converted to its Contour Code representation $C$. We show how a single point $C_{\acute{20},\acute{13}}$ is encoded into the binary hash table based on its \emph{z-connected} neighborhood (z=4 in this example). For $\bar{H}^{1}$, bins 1,2 and 3 are encoded as binary 1 and the rest as 0. Whereas for $\bar{H}^{2}$, bins 2,8 and 5 are encoded as binary 1 and the remaining are set as 0.}
\label{fig:hash_pop}
%\vspace{-10pt}
\end{figure*}

Generally, both the line and vein patterns appear as dark intensities in a palm and correspond to a negative filter response. The orientation of a feature is determined by the coefficient corresponding to the minimum peak response among all directional subbands at a specific point. Let $\Psi^{i}$ denote the coefficient at point $(x,y)$ in the $i^{th}$ directional subband where $i=1,2,3,\ldots,2^{k}$. We define a rule similar to the competitive rule~\cite{kong2004competitive}, to encode the dominant orientation at each $(x,y)$.
\begin{equation}
C=\operatorname*{arg\,min}_i\Psi^{i}~,
\end{equation}
where $C$ is the Contour Code representation of $I$. Similarly, $C$ is computed for all bands of the multispectral image of a palm. An example procedure for a single band of a multispectral palm image is shown in Fig.~\ref{fig:ContourCode}.

\subsection{Binary Hash Table Encoding}

A code with $2^{k}$ orientations requires only $k$ bits for encoding. However, we binarize the Contour Code using $2^{k}$ bits to take advantage of a fast binary code matching scheme. Unlike other methods which use the Angular distance~\cite{kong2004competitive} or the Hamming distance~\cite{hao2008multispectral}, we propose an efficient binary hash table based Contour Code matching. Each column of the hash table refers to a palm's binary hash vector derived from its Contour Code representation. Within a column, each hash location $(x,y)$ has $2^{k}$ bins. We define a hash function so that each Contour Code can be mapped to the corresponding location and bin in the hash table. For an orientation at $(x,y)$, the hash function assigns it to the $i^{th}$ bin according to
\begin{equation}
H_{(xyi)} =
\begin{dcases}
1, & i=C\\
0, & otherwise
\end{dcases}
\label{eq:hash}
\end{equation}
where $H_{(xyi)}$ is the binarized form\footnote{$(xyi)$ represents a single subscript that takes on a distinct value for each combination of an element from the index sets $x,y$ and $i$.} of a Contour Code representation $C$.


Since palmprint features are non rigid, it is not possible to achieve a perfect 1-1 correspondences between all the orientations of two palm images taken at different instances of time. It is, therefore, intuitive to assign multiple orientations to a hash location $(x,y)$ based on its neighborhood. Therefore, the hash function is blurred so that it assigns for each hash bin in $\bar{H}_{(xyi)}$ with all the orientation indices in $(x,y)$ and its neighbors.
\begin{equation}
\bar{H}_{(xyi)} =
\begin{dcases}
1, & \forall~~i=C_{\acute{x},\acute{y}}\\
0, & otherwise
\end{dcases}
\end{equation}
where $\acute{x},\acute{y}$ is the set of $(x,y)$ and its \emph{z-connected} neighbors. The extent of the blur neighborhood $(z)$, determines the robustness of matching. Less blurring will result in a small number of points matched, however, with high confidence. On the other hand, too much blur will result in a large number of points matched but with low confidence.

\begin{figure}[t]
\centering
\subfloat[]{\label{fig:blur-no}\includegraphics[width=0.49\linewidth]{hash_table_blur-0}}\hspace{1pt}
\subfloat[]{\label{fig:blur-plus}\includegraphics[width=0.49\linewidth]{hash_table_blur-4}}
\caption{Binary hash table encoding with (a) no blurring, (b) a \emph{4-connected} neighborhood blurring.}
\label{fig:blur-eg}
%\vspace{-10pt}
\end{figure}


Since, the hash table blurring depends on a certain neighborhood as opposed to a single pixel, it robustly captures crossover line orientations. A detailed example of Contour Code binarization using the blurred hash function is given in Fig.~\ref{fig:hash_pop}. Fig.~\ref{fig:blur-eg} illustrates hash table encoding without blurring and with a {\em 4-connected} neighborhood blurring. The discussion of an appropriate blur neighborhood is presented later in Section~\ref{sec:params}.



\subsection{Matching}

The binary hash table facilitates simultaneous one-to-many matching for palmprint identification. Fig.~\ref{fig:hash_mtch} illustrates the process. The Contour Code representation $C^{Q}$ of a query image $I^{Q}$ is first converted to the binary form $H_{(xyi)}^{Q}$ using equation \eqref{eq:hash}. No blurring is required now, since it has already been performed offline on all the gallery images. The match score $(S^{Qn})$ between $H_{(xyi)}^{Q}$ and $\bar{H}_{(xyi)}^{n}$, $n=1,2,3\ldots,N$ is computed as
\begin{equation}
S^{Qn}=\|\bar{H}_{(xyi)}^{n}~~~\forall~~~\operatorname*{arg\,}_{(xyi)} H_{(xyi)}^{Q}=1\|_{0}
\label{eq:mtch}
\end{equation}
where $\|.\|_{0}$ is the $\ell_{0}$ norm which is the number of non-zero hash entries in $\bar{H}_{(xyi)}^{n}$ for all $(xyi)$ indices where $H_{(xyi)}^{Q}=1$. The hash table, after indexing, produces a relatively sparse binary matrix which can be efficiently summed. Since, the $\ell_{0}$ norm of a binary vector is equivalent to the summation of all the vector elements, equation \eqref{eq:mtch} can be rewritten as
\begin{equation}
S^{Qn}=\sum \left\{\bar{H}_{(xyi)}^{n}~~~\forall~~~\operatorname*{arg\,}_{(xyi)} H_{(xyi)}^{Q}=1\right\}~.
\end{equation}



\subsubsection{Translated Matches}
Apart from the blurring, which caters for minor orientation location errors within an ROI, during matching, the query image is shifted $\pm t_{x}$ pixels horizontally and $\pm t_{y}$ pixels vertically to cater for the misalignment between different ROIs. The highest score among all translations is considered as the final match. The class of a query palm is determined by the gallery image $n$ corresponding to the best match.
\begin{equation}
\emph{Class}=\operatorname*{arg\,max}_{n} (S^{Qn}_{t_{x},t_{y}})
\end{equation}

\begin{figure}
\centering
\includegraphics[width=1\linewidth]{hash_table_mtch}
\caption{Illustration of the Contour Code matching. A query image $I^{Q}$ is first transformed into its Contour Code representation, $C^{Q}$. Unlike a gallery image, a query image is encoded without blurring to get $H^{Q}$, which is subsequently used to index the rows of the gallery hash table. Finally, the columns of the indexed hash table are summed up to obtain the match scores of the query image with the respective gallery images of the hash table. In the above example, $I^{Q}$ is best matched to $I^{1}$ as $\bar{H}^{1}$ has more $1$s in the hash table indexed with $H^{Q}$ resulting in $S^{Q_{1}}$ to be the maximum summation score.}
\label{fig:hash_mtch}
%\vspace{-10pt}
\end{figure}

We present two variants of matching and report results for both in Section~\ref{sec:exp}. When the bands are translated in synchronization, it is referred to as \emph{Synchronous Translation Matching} (denoted by {ContCode-STM}) and when the bands are independently translated to find the best possible match, it is referred to as \emph{Asynchronous Translation Matching} (denoted by {ContCode-ATM}).


Due to translated matching, the overlapping region of two matched images reduces to ($\acute{m}=m-2t_{x}$,$\acute{n}=n-2t_{y}$) pixels. Therefore, only the central $\acute{m}\times\acute{n}$ region of a Contour Code is required to encoded in the hash table, further reducing the storage requirement. Consequently during matching, a shifting window of $\acute{m}\times\acute{n}$ of the query image is matched with the hash table. We selected $t_{x},t_{y}=3$, since no improvement in match score was observed for translation beyond $\pm3$ pixels. The indexing part of the matching is independent of the database size and only depends on the matched ROI size $(\acute{m}\times\acute{n})$. Additionally, we vertically stacked the hash table entries of all the bands to compute the aggregate match score in a single step for {ContCode-STM}. Thus the score level fusion of bands is embedded within the hash table matching. In the case of {ContCode-ATM}, each band is matched separately and the resulting scores are summed. Since, a match score is always an integer, no floating point comparisons are required for the final decision.

In a verification (1-1 matching) scenario, the query palm may be matched with the palm samples of the claimed identity only. Thus the effective width of the hash table becomes equal to the number of palm samples of the claimed identity but its height remains the same $(2^{k}\acute{m}\acute{n})$.


\section{Experimental Results}
\label{sec:exp}

\subsection{Databases}
\label{sec:data}

The PolyU \cite{polyu} and CASIA \cite{casia} multispectral palmprint databases are two publicly available datasets used in our experiments. Both databases contain low resolution ($<$150 \emph{dpi}) multispectral palm images stored as 8-bit images per band. Each database was acquired in two different sessions. The ROIs, in the PolyU database, are already extracted according to~\cite{zhang2003online}. However, the ROIs are not extracted in the case of the CASIA database and were extracted according to the technique proposed in Section~\ref{sec:roi_ext}.
Note that the CASIA database contains large RST variations since it was acquired using a non-contact sensor. Detailed specifications of the databases are given in Table~\ref{tab:databases}.

\begin{table}[h]
\caption{Overview of the PolyU and CASIA databases.}
\label{tab:databases}
\footnotesize
\begin{center}
%\vspace{-10pt}
\begin{tabular}{l|l|l} \hline
Database                        &   PolyU       &   CASIA           \\ \hline
Sensor                          &  contact 	    & non-contact       \\
Identities                      &   500         &   200             \\
Samples per identity            &   12          &   6               \\
Total MSIs                      &   6000        &   1200            \\
Bands per sample                &   4           &   6               \\
\multirow{2}{*}{Wavelength(nm)} &   470, 525,   &   460, 630, 700,  \\
                                &   660, 880    &   850, 940, White \\ \hline
\end{tabular}
\end{center}
\end{table}

We quantitatively evaluate the ROI extraction accuracy in Section~\ref{sec:roi_acc}. In Section~\ref{sec:params}, we analyze the effect of different parameters and pyramidal-directional filter combinations. Verification experiments are detailed in Section~\ref{sec:roc} and identification experiments are given in Section~\ref{sec:cmc}.

\subsection{ROI Extraction Accuracy}
\label{sec:roi_acc}

To the best of our knowledge, we are the first to perform a quantitative analysis of ROI extraction from palm images. Our evaluation methodology and results can serve as a benchmark for future techniques. The accuracy of automatic landmark localization was determined by comparison with a manual identification of landmarks for 200 multispectral images in the CASIA database. Manual selections were averaged over the six bands to minimize human error. The spatial deviation of the automatically detected landmarks from the manually marked ground truth was evaluated. The rotation and scale deviation, as a consequence of the deviation in localization, was also computed and analyzed.

\begin{figure}[t]
\begin{center}
\subfloat[]{\label{fig:cum_trans}\includegraphics[trim = 0pt 5pt 50pt 20pt, clip, width=0.33\linewidth]{local_error}}
\subfloat[]{\label{fig:cum_rot}\includegraphics[trim = 0pt 5pt 50pt 20pt, clip, width=0.33\linewidth]{rot_error}}
\subfloat[]{\label{fig:cum_scale}\includegraphics[trim = 0pt 5pt 50pt 20pt, clip, width=0.33\linewidth]{scale_error}}
\end{center}
\caption{Evaluation of ROI extraction accuracy. (a) Cumulative percentage of landmarks within a localization error $(e_{\ell})$. (b) Cumulative percentage of palm samples within an absolute rotation error $(e_{\theta})$. (c) Cumulative percentage of palm samples within a scale error $(e_{s})$.}
\label{fig:cum_tsr}
%\vspace{-10pt}
\end{figure}

We define the localization error as the Chebyshev distance between the manually selected and the automatically extracted landmarks. The localization error $(e_{\ell})$, between two landmarks is computed as
\begin{equation}
e_{\ell}=\max(|x-\bar{x}|,|y-\bar{y}|)\times \hat{S}~,
\end{equation}
where $(x,y)$, $(\bar{x},\bar{y})$ correspond to the manually and automatically identified landmark coordinates respectively. The $e_{\ell}$ is 1 if the located landmark falls within the first 8 neighboring pixels, 2 if it falls in the first 24 neighboring pixels and so on. Due to scale variation, the $e_{\ell}$ between different palm images could not be directly compared. For example, a localization error of 5 pixels in a close-up image may correspond to only a 1 pixel error in a distant image. To avoid this, we normalize $e_{\ell}$ by determining it at the final size of the ROI. The normalization factor $\hat{S}$, is the side length of ROI at the original scale, $0.7\times \bar{w}$ divided by the final side length of the ROI ($m=32$).

The absolute rotation error $e_{\theta}$ between two palm samples is defined as
\begin{equation}
e_{\theta}=|\theta-\bar{\theta}|~,
\end{equation}
where, $\theta$ and $\bar{\theta}$ correspond to the angle of rotation of a palm computed from manual and automatic landmarks respectively. Finally, the percentage scale error $e_{s}$ is defined as
\begin{equation}
e_{s}=\left(\max\left(\frac{w}{\bar{w}},\frac{\bar{w}}{w}\right)-1\right)\times100 \%~,
\end{equation}
where $w$ is the manually identified palm width averaged over three measurements, while $\bar{w}$ is automatically calculated.

Fig.~\ref{fig:cum_trans} shows the error, in pixels, of landmarks $P_{1},P_{2},P_{3}$. It can be observed that the three landmarks are correctly located within an $e_{\ell}\le2$ for all of the samples. It is important to emphasize that $P_{1},P_{2}$ which are actually used in the ROI extraction are more accurately localized ($e_{\ell}\simeq$ 1 pixel) compared to $P_{3}$. Thus, our ROI extraction is based on relatively reliable landmarks.

Fig.~\ref{fig:cum_rot} shows the absolute rotation error of the automatically extracted ROIs. All the ROIs were extracted within a $e_{\theta} \le 3^{\circ}$. The proposed ROI extraction is robust to rotational variations given the overall absolute rotational variation, $(\mu_{\theta},\sigma_{\theta})\!=\!(20.7^{\circ},7.24^{\circ})$ of the CASIA database. The proposed technique is able to estimate the palm scale within an error of $\pm5.4\%$ (Fig.~\ref{fig:cum_scale}).

\begin{figure}[h]
%\vspace{-10pt}
\begin{center}
\begin{minipage}[b]{0.3\linewidth}
\includegraphics[trim = 64pt 0pt 0pt 0pt, clip, width=1\linewidth]{042_l_460_01}\\
\subfloat[]{\includegraphics[trim = 64pt 0pt 0pt 0pt, clip, width=1\linewidth]{042_l_460_06}}
\end{minipage}\hspace{0.5pt}
\begin{minipage}[b]{0.3\linewidth}
\includegraphics[width=1\linewidth]{028_1_04_Blue}\\
\subfloat[]{\includegraphics[width=1\linewidth]{028_1_03_Blue}}
\end{minipage}
\end{center}
\caption{Examples of improper hand presentation. (a) A palm correctly presented to a non-contact sensor (top), and out of plane rotated (bottom), resulting in incorrect estimatation of the palm scale. (b) A palm correctly presented to a contact sensor (top), and deformed due to excessive pressure (bottom). This may result in a different ROI and with inconsistent spacing between the palm lines.}
\label{fig:fail}
%\vspace{-10pt}
\end{figure}


ROI extraction from palm images acquired with non-contact sensors must overcome the challenges of RST variation. The proposed technique addresses these challenges except for excessive out-of-plane rotations or palm deformations. Fig.~\ref{fig:fail} shows examples of images that resulted in a low match score due to out-of-plane rotation and excessive deformation of the second (probe) palm. We noted that these two anomalies are a major source of error in matching. In such cases, additional information is required to correct the out-of-plane rotation error and remove the non-rigid deformations. One solution is to use 3D information~\cite{li2010efficient,zhang2009palmprint}. However, the discussion of such techniques is out of the scope of this paper.

\subsection{Parameter Analysis}
\label{sec:params}
In this section, we examine the effects of various parameters including, ROI size, number of Contour Code orientations, hash table blurring neighborhood and pyram-idal-directional filter pair combination. All other parameters are kept fixed during the analysis of a particular parameter. These experiments are performed on a sample subset (50\%) of the PolyU multispectral palmprint database comprising equal proportion of images from the $1^{st}$ and $2^{nd}$ session. The same optimal parameters were used for the CASIA database. For the purpose of analysis, we use the {ContCode-ATM} technique.

\subsubsection{ROI Dimension}
Palmprint features have varying length and thickness. A larger ROI size may include unnecessary detail and unreliable features. A smaller ROI, on the other hand, may leave out important discriminative information. We empirically find the best ROI size by testing square $(m=n)$ ROI regions of side ${16,32,48,\ldots,128}$. The results in Fig.\ref{fig:params-dim} show that a minimum EER is achieved at 32 after which the EER increases. We use an ROI of $(m,n)=(32,32)$ in all our remaining experiments. Note that a peak performance at such a small ROI is in fact favorable for the efficiency of the Contour Code representation and subsequent matching.

\begin{figure}[t]
\centering
\subfloat[]{\label{fig:params-dim}\includegraphics[trim = 0pt 0pt 10pt 5pt, clip, width=0.33\linewidth]{plotDim_PolyU_MS}}
\subfloat[]{\label{fig:params-orient}\includegraphics[trim = 0pt 0pt 10pt 5pt, clip, width=0.33\linewidth]{plotOrient_PolyU_MS}}
\subfloat[]{\label{fig:params-blur}\includegraphics[trim = 0pt 0pt 10pt 5pt, clip, width=0.33\linewidth]{plotBlur_PolyU_MS}}
\caption{Analysis of parameters (a) ROI dimensions $(m,n)$ (b) Filter Order $(k)$ (c) Blur Neighbourhood $(z)$}
\label{fig:params}
%\vspace{-10pt}
\end{figure}

\subsubsection{Orientation Fidelity}
The orientations of the dominant feature directions at points are quantized into a certain number of bins in the Contour Code. A greater number of bins offers better fidelity but also increases the size of the Contour Code representation and its sensitivity to noise. The minimum number of orientation bins that can achieve maximum accuracy is naturally a preferred choice. The orientations are quantized into $2^{k}$ bins, where $k$, the order of the directional filter determines the number of orientations. Fig.~\ref{fig:params-orient} shows the results of our experiments for $k={2,3,4}$. We observe that $k=3$ (i.e.~$2^3=8$ directional bins) minimizes the EER. Although, there is a small improvement from $k=2$ to $k=3$, we prefer the latter as it provides more orientation fidelity which supports the process of hash table blurring. Therefore, we set $k=3$ in all our remaining experiments.

\subsubsection{Hash Table Blur Neighborhood}
Hash table blurring is performed to cater for small misalignments given that the palm is not a rigid object. However, too much blur can result in incorrect matches. We analyzed three different neighborhood types for blurring. The results are reported in Fig.~\ref{fig:params-blur} which show that the lowest error rate is achieved with the \emph{4-connected} blur neighborhood. This neighborhood is, therefore, used in all of the following experiments.

\subsubsection{Pyramidal-Directional Filter Pair}
\label{sec:filter}

An appropriate pyramidal and directional filter pair combination is critical to robust feature extraction. It is important to emphasize that the ability of a filter to capture robust line like features in a palm should consequently be reflected in the final recognition accuracy. Hence, we can regard the pyramidal-directional filter combination with the lowest EER as the most appropriate.

\begin{figure}[h]
%\vspace{-10pt}
\centering
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.2\linewidth]{9-7}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.2\linewidth]{maxflat}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.2\linewidth]{pyr}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.2\linewidth]{pyrexc}}
\caption{NSCT pyramidal highpass filters. Planar profile of the 2D filters are shown for better visual comparison. (a) Filters from 9-7 1-D prototypes. (b) Filters derived from 1-D using maximally flat mapping function with 4 vanishing moments. (c) Filters derived from 1-D using maximally flat mapping function with 2 vanishing moments. (d) Similar to pyr but exchanging two highpass filters.}
\label{fig:pfilters}
\end{figure}


\begin{figure}[t]
%\vspace{-10pt}
\centering
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{cd}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{dvmlp}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{haar}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{ko}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{kos}}\\
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{lax}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{pkva}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{sinc}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{sk}}
\subfloat{\includegraphics[trim = 60pt 10pt 60pt 5pt, clip,width=0.20\linewidth]{vk}}
\caption{NSCT directional highpass filters. (a) cd: 7 and 9 McClellan transformed by Cohen and Daubechies \cite{cd}. (b) dvmlp: regular linear phase biorthogonal filter with 3 dvm \cite{dvmlp}. (c) haar: the `Haar' filter. (d) ko: orthogonal filter from Kovacevic (e) kos: smooth `ko' filter. (f) lax: $17\times17$ by Lu, Antoniou and Xu \cite{lax}. (g) pkva: ladder filters by Phong et al.~\cite{pkva}. (h) sinc: ideal filter. (i) sk: $9\times9$ by Shah and Kalker \cite{sk}. (j) vk: McClellan transform of filter from the VK book \cite{vk}.}
\label{fig:dfilters}
%\vspace{-10pt}
\end{figure}

\begin{figure}[t]
\centering
%\vspace{-10pt}
\includegraphics[trim = 20pt 100pt 38pt 80pt, clip,width=1\linewidth]{Filt_PolyU_MS}
\caption{Normalized EERs for various combinations of pyramidal-directional filter pairs. The \emph{9-7} and \emph{maxflat} pyramidal filters can be safely ruled out due to their relatively poor performance overall. The \emph{pyrexc} filter performs equal or better than the \emph{pyr} filter for atleast 8 out of the 10 combinations with the directional filters. Thus, the \emph{pyrexc} filter is an obvious choice for the pyramidal filter stage. For the directional filter stage, the \emph{sinc} filter clearly outperforms all other directional filters, particularly in combination with the \emph{pyrexc} pyramidal filter. From this analysis, the \emph{sinc-pyrexc} filter pair is used in the Contour Code representation.}
\label{fig:Filt_PolyU_MS}
\end{figure}

We tested all possible pairs of $4$ pyramidal and $10$ directional filters available in the Nonsubsampled Contourlet Toolbox~\cite{nsct}. These filters exhibit characteristic response to line-like features. The pyramidal filters used at the first stage are shown in Fig.~\ref{fig:pfilters} and the directional filters used at the second stage are shown in Fig.~\ref{fig:dfilters}. The EER is normalized by dividing with the maximum EER in all filter combinations. As shown in Fig.~\ref{fig:Filt_PolyU_MS}, the \emph{pyrexc} filter consistently achieves lower EER compared to the other three pyramidal decomposition filters for most combinations of the directional filters. Moreover, the \emph{sinc} filter exhibits the lowest EER which shows its best directional feature capturing characteristics over a broad spectral range. Based on these results, we select the \emph{pyrexc-sinc} filter combination for Contour Code representation in all experiments. Close inspection of the pyramidal filters shows that {\em pyr} and {\em pyrexc} are quite similar to each other. Similarly, {\em sinc}, {\em pkva} and {\em sk} directional filters have approximately the same shape. Therefore, it is not surprising to see that all combinations of these two pyramidal filters with the three directional filters give significantly better performance compared to the remaining combinations.

\subsection{Verification Experiments}
\label{sec:roc}

Verification experiments are performed on both PolyU and CASIA databases. In both cases, half of the samples per identity were acquired in one session and the other half were acquired in a different session. We follow the protocol of~\cite{zhang2012comparative}, where session based experiments are structured to observe the recognition performance. We design five experiments to test the proposed technique in real world scenarios. The experiments proceed by matching

\vspace{1mm}
\noindent
\emph{Exp.1:} individual bands of palm irrespective of the session (all vs.~all).\\
\emph{Exp.2:} multispectral palmprints acquired in the $1^{\textrm{st}}$ session.\\
\emph{Exp.3:} multispectral palmprints acquired in the $2^{\textrm{nd}}$ session.\\
\emph{Exp.4:} multispectral palmprints of the $1^{\textrm{st}}$ session to the $2^{\textrm{nd}}$ session.\\
\emph{Exp.5:} multispectral palmprints irrespective of the session (all vs.~all).
\vspace{1mm}

\begin{table}[t]
\caption{The number of genuine and imposter matches for each experiment.}
\label{tab:expStats}
\begin{center}
\begin{tabular}{|l|l|ccc|} \hline
\multirow{2}{*}{}               & \multirow{2}{*}{} & \multicolumn{3}{c|}{Experiments}\\ \hline
                        &       &   Exp.2 \& 3                      &   Exp.~4                      &   Exp.1 \& 5              \\ \hline
\multirow{2}{*}{PolyU}  &   Gen.&   \multicolumn{1}{r}{7,500}       &   \multicolumn{1}{r}{18,000}  &   \multicolumn{1}{r|}{33,000}     \\
                        &   Imp.&   \multicolumn{1}{r}{4,491,000}   &   \multicolumn{1}{r}{8,982,000}&\multicolumn{1}{r|}{17,964,000}   \\ \hline
\multirow{2}{*}{CASIA}  &   Gen.&   \multicolumn{1}{r}{600}         &   \multicolumn{1}{r}{1,800}   &   \multicolumn{1}{r|}{3,000}      \\
                        &   Imp.&   \multicolumn{1}{r}{179,100}     &   \multicolumn{1}{r}{358,200} &   \multicolumn{1}{r|}{716,400}    \\ \hline
\end{tabular}
\end{center}
%\vspace{-10pt}
\end{table}

In all cases, we report the ROC curves, which depict False Rejection Rate (FRR) versus the False Acceptance Rate (FAR). We also summarize the Equal Error Rate (EER), and the Genuine Acceptance Rate (GAR) at 0.1\% FAR and compare performance of the proposed Contour Code with three state-of-the-art techniques namely, the CompCode, OrdCode and DoGCode. Note that we used our implementation of these methods as their code is not publicly available. The source code of these algorithms including the techniques proposed in this work will soon be made publicly available for research. The number of genuine and imposter matches for each experiment are given in Table~\ref{tab:expStats}. Unless otherwise stated, we use a \emph{4-connected} blur neighborhood for gallery hash table encoding and the matching is performed in ATM mode followed by score-level fusion of bands. A list of frequently used abbreviations is given in Table~\ref{tab:abbrev}.



\begin{table}[h]
\caption{List of abbreviations.}
\footnotesize
\label{tab:abbrev}
\begin{center}
\begin{tabular}{|l|l|} \hline
Abbreviation                        & Meaning \\ \hline
ATM                                 & Asynchronous Translation Matching     \\
STM                                 & Synchronous Translation Matching      \\
ContCode                            & Proposed Contour Code representation           \\
CompCode~\cite{kong2004competitive} & Competitive Code representation       \\
OrdCode~\cite{sun2005ordinal}       & Ordinal Code representation           \\
DoGCode~\cite{wu2006palmprint}      & Derivative of Gaussian Code representation \\ \hline
\end{tabular}
\end{center}
%\vspace{-10pt}
\end{table}

\subsubsection{Experiment 1}

\emph{Exp.1} compares the relative discriminant capability of individual bands. We compare the performance of individual bands of the PolyU and CASIA database using {ContCode-ATM}. Fig.~\ref{fig:roc_Exp1} shows the ROC curves of the individual bands and Table~\ref{tab:res_Exp1} lists their EERs. For the PolyU database, the 660nm band gives the best performance indicating the presence of more discriminatory features. A logical explanation could be that the 660nm wavelength partially captures both the line and vein features making this band relatively more discriminative. For CASIA database, the most discriminant information is present in the 460nm, 630nm and 940nm bands which are close competitors.
%This result is in agreement with that of the PolyU database where a 660nm band performed the best.

%\label{tab:res_CASIA_MS_Exp1}
\begin{table}[h]
\caption{Individual band performance of {ContCode-ATM}}
\label{tab:res_Exp1}
\centering
\scriptsize
\begin{tabular}[t]{|l|cc|}
\multicolumn{3}{c}{PolyU} \\ \noalign{\smallskip}\hline
Band    & GAR(\%)   &  EER(\%)  \\ \hline
470 nm  & 99.94     &   0.0784  \\
525 nm  & 99.98     &   0.0420  \\
660 nm  & 99.99     &   0.0242  \\
880 nm  & 99.90     &   0.1030  \\ \hline
\end{tabular}
\begin{tabular}[t]{|l|cc|}
\multicolumn{3}{c}{CASIA} \\ \noalign{\smallskip}\hline
Band    & GAR(\%)   &  EER(\%)  \\ \hline
460 nm  & 88.95     &   2.9246  \\
630 nm  & 87.79     &   3.9065  \\
700 nm  & 57.35     &   9.7318  \\
850 nm  & 87.45     &   4.1398  \\
940 nm  & 90.73     &   3.4769  \\ \hline
\end{tabular}
%\vspace{-10pt}
\end{table}

\begin{figure}[t]
%\vspace{-10pt}
\centering
\subfloat{\label{fig:roc_PolyU_MS_Exp1}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_PolyU_MS_Exp1}}
\subfloat{\label{fig:roc_CASIA_MS_Exp1}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_CASIA_MS_Exp1}}
\caption{Exp.1: ROC curves of {ContCode-ATM} on individual bands}
\label{fig:roc_Exp1}
%\vspace{-10pt}
\end{figure}

\begin{figure}[t]
%\vspace{-10pt}
\centering
\subfloat{\label{fig:roc_PolyU_MS_Exp2}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_PolyU_MS_Exp2}}
\subfloat{\label{fig:roc_CASIA_MS_Exp2}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_CASIA_MS_Exp2}}\\
\caption{Exp.2: Matching palmprints of $1^{st}$ session. The CompCode and ContCode-ATM perform better on both databases and the latter performs the best overall.}
\label{fig:roc_Exp2}
%\vspace{-10pt}
\end{figure}

\subsubsection{Experiment 2}
\emph{Exp.2} analyzes the variability in the palmprint data acquired in the $1^{st}$ session. Fig.~\ref{fig:roc_Exp2} compares the ROC curves of the {ContCode-ATM} with three other techniques on the PolyU and CASIA databases.It is observable that, the CompCode and the OrdCode show intermediate performance close to {ContCode-ATM}. The DoGCode exhibits a drastic degradation of accuracy implying its inability to sufficiently cope with the variations of CASIA data.

\begin{table*}[t]
\caption{Summary of verification results for \emph{Exp.2} to \emph{Exp.5}}
\scriptsize
\label{tab:res_Exp}
\centering
\begin{tabular}{|l|c|c|c|c|c||c|c|c|c|} \hline
\multicolumn{2}{|c|}{} & \multicolumn{4}{c||}{PolyU} & \multicolumn{4}{c|}{CASIA} \\ \cline{3-10}
\multicolumn{2}{|c|}{} & {DoGCode} & {OrdCode}  & {CompCode}  & {ContCode-ATM} & DoGCode & \multicolumn{1}{c}{OrdCode}  & \multicolumn{1}{c}{CompCode}  & \multicolumn{1}{c|}{{ContCode-ATM}}  \\ \hline
\multirow{2}{*}{Exp.2}  & EER(\%)  & 0.0400 & 0.0267      &   0.0165  &   0.0133   & 1.000   & 0.1667     &   0.0140  &   0       \\
                        & GAR(\%)  & 99.96  & 99.99       &   99.99   &   100.00   & 98.00   & 99.67      &   100.00  &   100.00  \\ \hline
\multirow{2}{*}{Exp.3}  & EER(\%)  & 0.0133 & 0           &   0.0098  &   0        & 0.6667  & 0.1667     &   0.1667  &   0.0011  \\
                        & GAR(\%)  & 99.99  & 100.00      &   100.00  &   100.00   & 98.50   & 99.83      &   99.83   &   100.00  \\ \hline
\multirow{2}{*}{Exp.4}  & EER(\%)  & 0.0528 & 0.0247      &   0.0333  &   0.0029   & 3.8669  & 1.2778     &   0.6667  &   0.2778  \\
                        & GAR(\%)  & 99.96  & 99.98       &   99.99   &   100.00   & 87.70   & 97.39      &   97.72   &   99.61   \\ \hline
\multirow{2}{*}{Exp.5}  & EER(\%)  & 0.0455 & 0.0212      &   0.0263  &   0.0030   & 2.8873  & 0.8667     &   0.4993  &   0.2000  \\
                        & GAR(\%)  & 99.97  & 99.99       &   99.99   &   100.00   & 92.01   & 98.37      &   98.60   &   99.76   \\ \hline
\end{tabular}
%\vspace{-10pt}
\end{table*}

\begin{figure}[t]
%\vspace{-30pt}
\centering
\subfloat{\label{fig:roc_PolyU_MS_Exp3}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_PolyU_MS_Exp3}}
\subfloat{\label{fig:roc_CASIA_MS_Exp3}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_CASIA_MS_Exp3}}\\
\caption{Exp.3: Matching palmprints of $2^{nd}$ session. The small improvement in verification performance on the images of $2^{nd}$ session on both databases can be attributed to the better quality of images. A similar trend is observed in verification performance of all techniques as in \emph{Exp.2}}
\label{fig:roc_Exp3}
\end{figure}

\subsubsection{Experiment 3}
\emph{Exp.3} analyzes the variability in the palmprint data acquired in the $2^{nd}$ session. This allows for a comparison with the results of \emph{Exp.2} to analyze the intra-session variability. Therefore, only the palmprints acquired in the $2^{nd}$ session are matched. Fig.~\ref{fig:roc_Exp3} compares the ROC curves of the {ContCode-ATM} with three existing techniques.
%Again, the proposed {ContCode-ATM} consistently outperforms all three techniques on both databases. However, the relative performance of other techniques is different for the two databases. It is surprising to note that both {ContCode-ATM} and OrdCode achieve an EER=0\% and GAR=100\% on the PolyU database which are much better than in \emph{Exp.2}. It may be an indicator that the images in the $2^{nd}$ session were better than that of the $1^{st}$ session of the PolyU database.

\subsubsection{Experiment 4}
\emph{Exp.4} is designed to mimic a real life verification scenario where variation in image quality or subject behavior over time exists. This experiment actually analyzes the inter-session variability of multispectral palmprints. Therefore, all images from the $1^{st}$ session are matched to all images of the $2^{nd}$ session. Fig.~\ref{fig:roc_Exp4} compares the ROC curves of the {ContCode-ATM} with three other techniques.
%The proposed {ContCode-ATM} consistently achieves the best performance on both databases whereas the performances of other techniques varies.
Note that the performance of other techniques is relatively lower for this experiment compared to \emph{Exp.2} and \emph{Exp.3} because this is a difficult scenario due to the intrinsic variability in image acquisition protocol and the human behavior over time. However, the drop in performance of {ContCode-ATM} is the minimum. Therefore, it is fair to deduce that {ContCode-ATM} is relatively robust to the image variability over time.

\begin{figure}[t]
%\vspace{-20pt}
\centering
\subfloat{\label{fig:roc_PolyU_MS_Exp4}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_PolyU_MS_Exp4}}
\subfloat{\label{fig:roc_CASIA_MS_Exp4}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_CASIA_MS_Exp4}}\\
\caption{Exp.4: Matching palmprints of the $1^{st}$ session to the $2^{nd}$ session. The verification performance is low relative to \emph{Exp.2} and \emph{Exp.3}. However, the performance degradation of the proposed {ContCode-ATM} is much less than the other techniques on both databases, indicating its robustness to image variability.}
\label{fig:roc_Exp4}
%\vspace{-10pt}
\end{figure}

\begin{figure}[h]
%\vspace{-10pt}
\begin{center}
\subfloat{\label{fig:roc_PolyU_MS_Exp5}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_PolyU_MS_Exp5}}
\subfloat{\label{fig:roc_CASIA_MS_Exp5}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{roc_CASIA_MS_Exp5}}\\
\end{center}
\caption{Exp.5: Matching palmprints irrespective of the acquisition session.}
\label{fig:roc_Exp5}
%\vspace{-10pt}
\end{figure}

\subsubsection{Experiment 5}
\emph{Exp.5} evaluates the overall verification performance by combining images from both sessions allowing a direct comparison to existing techniques whose results are reported on the same databases. All images in the database are matched to all other images, irrespective of the acquisition session which is commonly termed as an ``all versus all'' experiment in the literature. Fig.~\ref{fig:roc_Exp5} compares the ROC curves of the {ContCode-ATM} with three other techniques in the all versus all scenario. Similar to the previous experiments, the {ContCode-ATM} consistently outperforms all other techniques on both databases.

The results of \emph{Exp.2} to \emph{Exp.5} are summarized in Table~\ref{tab:res_Exp} for the PolyU and CASIA databases. The {ContCode-ATM} consistently outperforms the three methods in all experiments and on both datasets.
Moreover, CompCode is consistently the second best performer except for very low FAR values in \emph{Exp.4} and \emph{Exp.5} on the PolyU database (see Fig.~\ref{fig:roc_Exp4} and Fig.~\ref{fig:roc_Exp5}). It is interesting to note that the OrdCode performs better than the DoGCode on the both databases.

We also compare performance of the Contour Code with that of the other methods reported in the literature. The results can be directly compared because all methods have reported EERs for the ``all versus all'' scenario. Table~\ref{tab:res_PolyU_MS_all} compares the EERs of various methods on the PolyU database. The proposed {ContCode-STM} achieves an EER of $0.0061\%$ whereas in the case of {ContCode-ATM} the EER reduces to $0.0030\%$ on the PolyU database. The proposed {ContCode-ATM} thus achieves a $75\%$ reduction in EER compared to nearest competitor, the CompCode. The error rates are extremely low (0.06 in 1000 chance of error) and indicate the viability of using multispectral palmprints in a high security system.

\begin{table}[t]
\caption{Comparative performance on the PolyU database.}
\footnotesize
\label{tab:res_PolyU_MS_all}
\centering
\begin{tabular}{|l|c|c|} \hline
\multirow{2}{*}{Method}                                     &  \multicolumn{2}{c|}{EER (\%)}\\ \cline{2-3}
                                                            & \emph{No Blur} &   \emph{With Blur}   \\ \hline
*Palmprint and Palmvein~\cite{zhang2011online}              &   0.0158  &   -       \\
*CompCode-wavelet fusion~\cite{han2008multispectral}        &   0.0696  &   -       \\
*CompCode-feature-level fusion~\cite{luo2012multispectral}  &   0.0151  &   -       \\
*CompCode-score-level fusion~\cite{zhang2010online}         &   0.0121  &   -       \\
OrdCode~\cite{sun2005ordinal}                               &   0.0248  &   0.0212  \\
DoGCode~\cite{wu2006palmprint}                              &   0.0303  &   0.0455  \\
{ContCode-STM}                                              &   0.0182  &   0.0061  \\
{ContCode-ATM}                                              &   0.0182  &   \textbf{0.0030} \\ \hline
\end{tabular}
\\
{\scriptsize *Results taken from published papers using the ``all versus all'' protocol.}
%\vspace{-10pt}
\end{table}
Table~\ref{tab:res_CASIA_MS_All} compares the EERs of various methods reported on the CASIA database. Both variants of the Contour Code outperform other methods and achieve an EER reduction of 60\% compared to the nearest competitor, CompCode. The EER of Contour Code on the CASIA database is higher relative to the PolyU database because the former was acquired using a non-contact sensor. Interestingly, the performance of DoGCode and OrdCode deteriorates with blurring. While in the case of CompCode and ContCode, the performance improves with the introduction of blur. However, the improvement in the proposed ContCode is much larger. Another important observation is that the ATM mode of matching always performs better than the STM mode and is thus the preferable choice for multispectral palmprint matching.

\begin{table}[t]
\caption{Comparative performance on the CASIA database.}
\footnotesize
\label{tab:res_CASIA_MS_All}
\begin{center}
\begin{tabular}{|l|D{.}{.}{1.4}|D{.}{.}{1.4}|} \hline
\multirow{2}{*}{Method}                     &  \multicolumn{2}{c|}{EER (\%)}\\ \cline{2-3}
                                            &   \multicolumn{1}{c|}{\emph{No Blur}}      &   \multicolumn{1}{c|}{\emph{With Blur}}   \\ \hline
*Wavelet fusion with ACO~\cite{kisku2010multispectral}  &   3.125               &   \multicolumn{1}{c|}{-}          \\
*Curvelet fusion with OLOF~\cite{hao2008multispectral}  &   0.50$\dag$          &   \multicolumn{1}{c|}{-}          \\
OrdCode~\cite{sun2005ordinal}                           &   0.5667              &   0.8667                          \\
DoGCode~\cite{wu2006palmprint}                          &   1.9667              &   2.8873                          \\
CompCode~\cite{kong2004competitive}                     &   0.8667              &   0.4993                          \\
{ContCode-STM}                                          &   0.6279              &   0.2705                          \\
{ContCode-ATM}                                          &   0.4333              &\multicolumn{1}{c|}{\textbf{0.2000}}\\ \hline
\end{tabular}
\end{center}
\scriptsize{*Results taken from published papers.\\
$^{\dag}$This result was reported on a database of 330 hands whereas only a subset comprising 200 hands has been made public}
\end{table}

\subsection{Identification Experiments}
\label{sec:cmc}
We perform identification experiments using 5-fold cross validation and report Cumulative Match Characteristics (CMC) curves and rank-1 identification rates. In each fold, we randomly select one multispectral palmprint image per subject to form the gallery and treat all the remaining images as probes. So, identification is based on a single multispectral image in the gallery for any probe subject. The identification rates are then averaged over the five folds. This protocol is followed for both databases.

The CMC curves, for comparison with three other techniques, on both databases are given in Fig.~\ref{fig:cmc} and the identification results are summarized in Table~\ref{tab:res_ident}. The {ContCode-ATM} achieved an average of $99.88\%$ identification rate on the CASIA database and $100\%$ identification rate on the PolyU database. The proposed {ContCode-ATM} clearly demonstrates better identification performance in comparison to state-of-the-art techniques.

\begin{figure}[b]
%\vspace{-20pt}
\centering
\subfloat{\label{fig:cmc_PolyU_MS}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{cmc_PolyU_MS}}
\subfloat{\label{fig:cmc_CASIA_MS}\includegraphics[trim = 0pt 0pt 10pt 0pt, clip, width=0.5\linewidth]{cmc_CASIA_MS}}
\caption{CMC curves for the identification experiment. Note that {ContCode-ATM} has an average rank-1 recognition rate of 100\% on the PolyU database.}
\label{fig:cmc}
\end{figure}


\begin{table}[h]
\caption{Comparison of rank-1 recognition rates and standard deviations on the CASIA and PolyU databases. Recognition rates are averaged over 5-folds.}
\footnotesize
\label{tab:res_ident}
\centering
\begin{tabular}{|l|c|c|} \hline
Method                              &  CASIA (\%)       &   PolyU (\%)  \\ \hline
OrdCode~\cite{sun2005ordinal}       &   99.02$\pm$0.11  &   99.93$\pm$0.05  \\
DoGCode~\cite{wu2006palmprint}      &   95.08$\pm$0.75  &   99.97$\pm$0.04  \\
CompCode~\cite{kong2004competitive} &   99.52$\pm$0.11  &   99.97$\pm$0.03  \\
{ContCode-ATM}                      &   99.88$\pm$0.08  &   100.0$\pm$0     \\ \hline
\end{tabular}
%\vspace{-10pt}
\end{table}


\subsection{Efficiency}

The computational complexity of matching is critical in practical identification scenarios because databases can be quite large. The binary Contour Code matching has been designed to carry out operations that are of low computational complexity. It comprises an indexing part whose complexity is independent of the database size. It depends on the Contour Code size and is, therefore, fixed for a given size. The indexing operation results in a relatively sparse binary matrix whose column wise summation can be efficiently performed. Summing a column of this matrix calculates the match score with an embedded score level fusion of the multispectral bands of an individual (in STM mode). A MATLAB implementation on a $2.67$ GHz machine with 8 GB RAM can perform over $70,000$ matches per second per band (using a single CPU core). The Contour Code extraction takes only $43$ms per band. In terms of memory requirement, the Contour Code takes only 676 bytes per palm per band.

\section{Conclusion}
\label{sec:conc}

We presented Contour Code, a novel multidirectional representation and binary hash table encoding for robust and efficient multispectral palmprint recognition. An automatic technique was designed for the extraction of a region of interest from palm images acquired with noncontact sensors. Unlike existing methods, we report quantitative results of ROI extraction by comparing the automatically extracted ROIs with manually extracted ground truth. The Contour Code exhibits robust multispectral feature capturing capability and consistently outperformed existing state-of-the-art techniques in various experimental setups using two standard databases i.e.~PolyU and CASIA. Binary encoding of the Contour Code in a hash table facilitates simultaneous matching to the database and score level fusion of the multispectral bands in a single step (in STM mode). Unlike existing techniques, score normalization is not required before fusion. The Contour Code is a generic orientation code for line-like features and can be extended to other biometric traits including fingerprints and finger-knuckle prints.

% if have a single appendix:
%\appendix[Proof of the Zonklar Equations]
% or
%\appendix  % for no appendix heading
% do not use \section anymore after \appendix, only \section*
% is possibly needed

% use appendices with more than one appendix
% then use \section to start each appendix
% you must declare a \section before using any
% \subsection or using \label (\appendices by itself
% starts a section numbered zero.)
%


%\appendices
%\section{Proof of the First Zonklar Equation}
%Appendix one text goes here.
%
%% you can choose not to have a title for an appendix
%% if you want by leaving the argument blank
%\section{}
%Appendix two text goes here.
%

% use section* for acknowledgement
\ifCLASSOPTIONcompsoc
  % The Computer Society usually uses the plural form
  \section*{Acknowledgments}
\else
  % regular IEEE prefers the singular form
  \section*{Acknowledgment}
\fi
\small{
This research was supported by ARC Grant DP0881813 and DP110102399. Authors acknowledge the Polytechnic University of Hong Kong for providing the PolyU-MS-Palmprint database and the Chinese Academy of Sciences' Institute of Automation for providing the CASIA-MS-PalmprintV1 database.}


% Can use something like this to put references on a page
% by themselves when using endfloat and the captionsoff option.
\ifCLASSOPTIONcaptionsoff
  \newpage
\fi



% trigger a \newpage just before the given reference
% number - used to balance the columns on the last page
% adjust value as needed - may need to be readjusted if
% the document is modified later
%\IEEEtriggeratref{8}
% The "triggered" command can be changed if desired:
%\IEEEtriggercmd{\enlargethispage{-5in}}

% references section

% can use a bibliography generated by BibTeX as a .bbl file
% BibTeX documentation can be easily obtained at:
% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/
% The IEEEtran BibTeX style support page is at:
% http://www.michaelshell.org/tex/ieeetran/bibtex/
\bibliographystyle{IEEEtran}
% argument is your BibTeX string definitions and bibliography database(s)
\IEEEtriggeratref{33}
\bibliography{IEEEabrv,ContCode_arXiv}
%
% <OR> manually copy in the resultant .bbl file
% set second argument of \begin to the number of references
% (used to reserve space for the reference number labels box)
%\begin{thebibliography}{1}
%
%\bibitem{IEEEhowto:kopka}
%H.~Kopka and P.~W. Daly, \emph{A Guide to \LaTeX}, 3rd~ed.\hskip 1em plus
%  0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999.
%
%\end{thebibliography}

% biography section
%
% If you have an EPS/PDF photo (graphicx package needed) extra braces are
% needed around the contents of the optional argument to biography to prevent
% the LaTeX parser from getting confused when it sees the complicated
% \includegraphics command within an optional argument. (You could create
% your own custom macro containing the \includegraphics command to make things
% simpler here.)
%\begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell}
% or if you just want to reserve a space for a photo:

%\begin{IEEEbiography}{Michael Shell}
%Biography text here.
%\end{IEEEbiography}

% if you will not have a photo at all:
%\begin{IEEEbiographynophoto}{John Doe}
%Biography text here.
%\end{IEEEbiographynophoto}

% insert where needed to balance the two columns on the last page with
% biographies
%\newpage

%\begin{IEEEbiographynophoto}{Jane Doe}
%Biography text here.
%\end{IEEEbiographynophoto}

% You can push biographies down or up by placing
% a \vfill before or after them. The appropriate
% use of \vfill depends on what kind of text is
% on the last page and whether or not the columns
% are being equalized.

%\vfill

% Can be used to pull up biographies so that the bottom of the last one
% is flush with the other column.
%\enlargethispage{-5in}



% that's all folks
\end{document}



ContCode_arXiv.bbl
% Generated by IEEEtran.bst, version: 1.13 (2008/09/30)
\begin{thebibliography}{10}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
  \fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl

\bibitem{zhang2012comparative}
D.~Zhang, W.~Zuo, and F.~Yue, ``A comparative study of palmprint recognition
  algorithms,'' \emph{ACM Computing Surveys (CSUR)}, vol.~44, no.~1, pp.
  2:1--2:37, 2012.

\bibitem{jain2009latent}
A.~K. Jain and J.~Feng, ``Latent palmprint matching,'' \emph{IEEE Transactions
  on Pattern Analysis and Machine Intelligence}, vol.~31, no.~6, pp.
  1032--1047, 2009.

\bibitem{zhang2003online}
D.~Zhang, W.-K. Kong, J.~You, and M.~Wong, ``Online palmprint identification,''
  \emph{IEEE Transactions on Pattern Analysis and Machine Intelligence},
  vol.~25, no.~9, pp. 1041--1050, 2003.

\bibitem{han2008multispectral}
D.~Han, Z.~Guo, and D.~Zhang, ``Multispectral palmprint recognition using
  wavelet-based image fusion,'' in \emph{Proc. International Conference on
  Signal Processing}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2008, pp.
  2074--2077.

\bibitem{hao2007comparative}
Y.~Hao, Z.~Sun, and T.~Tan, ``Comparative studies on multispectral palm image
  fusion for biometrics,'' in \emph{Proc. Asian Conference on Computer Vision
  (ACCV)}.\hskip 1em plus 0.5em minus 0.4em\relax Springer, 2007, pp. 12--21.

\bibitem{jain2004introduction}
A.~K. Jain, A.~Ross, and S.~Prabhakar, ``An introduction to biometric
  recognition,'' \emph{IEEE Transactions on Circuits and Systems for Video
  Technology}, vol.~14, no.~1, pp. 4--20, 2004.

\bibitem{boyce2006multispectral}
C.~Boyce, A.~Ross, M.~Monaco, L.~Hornak, and X.~Li, ``Multispectral iris
  analysis: A preliminary study,'' in \emph{Proc. Computer Vision and Pattern
  Recognition Workshops (CVPRW)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE,
  2006.

\bibitem{di2010studies}
W.~Di, L.~Zhang, D.~Zhang, and Q.~Pan, ``Studies on hyperspectral face
  recognition in visible spectrum with feature band selection,'' \emph{Systems,
  Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on},
  vol.~40, no.~6, pp. 1354--1361, 2010.

\bibitem{pan2003face}
Z.~Pan, G.~Healey, M.~Prasad, and B.~Tromberg, ``Face recognition in
  hyperspectral images,'' \emph{IEEE Trans. on Pattern Analysis and Machine
  Intelligence}, vol.~25, no.~12, pp. 1552--1560, 2003.

\bibitem{rowe2007multispectral}
R.~Rowe, U.~Uludag, M.~Demirkus, S.~Parthasaradhi, and A.~Jain, ``A
  multispectral whole-hand biometric authentication system,'' in \emph{IEEE
  Biometrics Symposium}, 2007, pp. 1--6.

\bibitem{meraoumia2013efficient}
A.~Meraoumia, S.~Chitroub, and A.~Bouridane, ``An efficient palmprint
  identification system using multispectral and hyperspectral imaging,'' in
  \emph{Modeling Approaches and Algorithms for Advanced Computer
  Applications}.\hskip 1em plus 0.5em minus 0.4em\relax Springer, 2013, pp.
  155--164.

\bibitem{mittal2012rank}
N.~Mittal, M.~Hanmandlu, J.~Grover, and R.~Vijay, ``Rank-level fusion of
  multispectral palmprints,'' \emph{International Journal of Computer
  Applications}, vol.~38, no.~2, 2012.

\bibitem{luo2012multispectral}
N.~Luo, Z.~Guo, G.~Wu, and C.~Song, ``Multispectral palmprint recognition by
  feature level fusion,'' in \emph{Recent Advances in Computer Science and
  Information Engineering}.\hskip 1em plus 0.5em minus 0.4em\relax Springer,
  2012, pp. 427--432.

\bibitem{akbari2011multispectral}
S.~Akbari~Mistani, S.~Minaee, and E.~Fatemizadeh, ``Multispectral palmprint
  recognition using a hybrid feature,'' \emph{CoRR}, vol. abs/1112.5997, 2011.

\bibitem{kekre2011palmprint}
H.~Kekre, T.~Sarode, R.~Vig, A.~Pranay, I.~Aashita, and B.~Saurabh, ``Palmprint
  identification using kronecker product of dct and walsh transforms for
  multi-spectral images,'' in \emph{International Conference on Hand-Based
  Biometrics (ICHB)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2011, pp.
  1--7.

\bibitem{tahmasebi2011novel}
A.~Tahmasebi, H.~Pourghasem, and H.~Mahdavi-Nasab, ``A novel rank-level fusion
  for multispectral palmprint identification system,'' in \emph{Proc.
  International Conference on Intelligent Computation and Bio-Medical
  Instrumentation (ICBMI)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2011,
  pp. 208--211.

\bibitem{zhang2011online}
D.~Zhang, Z.~Guo, G.~Lu, L.~Zhang, Y.~Liu, and W.~Zuo, ``Online joint palmprint
  and palmvein verification,'' \emph{Expert Systems with Applications},
  vol.~38, no.~3, pp. 2621--2631, 2011.

\bibitem{kisku2010multispectral}
D.~R. Kisku, P.~Gupta, J.~K. Sing, and C.~Hwang, ``Multispectral palm image
  fusion for person authentication using ant colony optimization,'' in
  \emph{Proc. International Workshop on Emerging Techniques and Challenges for
  Hand-Based Biometrics (ETCHB)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE,
  2010, pp. 1--7.

\bibitem{guo2010feature}
Z.~Guo, L.~Zhang, and D.~Zhang, ``Feature band selection for multispectral
  palmprint recognition,'' in \emph{Proc. International Conference on Pattern
  Recognition (ICPR)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2010, pp.
  1136--1139.

\bibitem{zhang2010online}
D.~Zhang, Z.~Guo, G.~Lu, L.~Zhang, and W.~Zuo, ``An online system of
  multispectral palmprint verification,'' \emph{IEEE Transactions on
  Instrumentation and Measurement}, vol.~59, no.~2, pp. 480--490, 2010.

\bibitem{xu2010multispectral}
X.~Xu and Z.~Guo, ``Multispectral palmprint recognition using quaternion
  principal component analysis,'' in \emph{Proc. International Workshop on
  Emerging Techniques and Challenges for Hand-Based Biometrics (ETCHB)}.\hskip
  1em plus 0.5em minus 0.4em\relax IEEE, 2010, pp. 1--5.

\bibitem{hao2008multispectral}
Y.~Hao, Z.~Sun, T.~Tan, and C.~Ren, ``Multispectral palm image fusion for
  accurate contact-free palmprint recognition,'' in \emph{Proc. International
  Conference on Image Processing}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE,
  2008, pp. 281--284.

\bibitem{kong2009survey}
A.~Kong, D.~Zhang, and M.~Kamel, ``A survey of palmprint recognition,''
  \emph{Pattern Recognition}, vol.~42, no.~7, pp. 1408--1418, 2009.

\bibitem{huang2008palmprint}
D.-S. Huang, W.~Jia, and D.~Zhang, ``Palmprint verification based on principal
  lines,'' \emph{Pattern Recognition}, vol.~41, no.~4, pp. 1316--1328, 2008.

\bibitem{lu2003palmprint}
G.~Lu, D.~Zhang, and K.~Wang, ``Palmprint recognition using eigenpalms
  features,'' \emph{Pattern Recognition Letters}, vol.~24, no.~9, pp.
  1463--1467, 2003.

\bibitem{wu2003fisherpalms}
X.~Wu, D.~Zhang, and K.~Wang, ``Fisherpalms based palmprint recognition,''
  \emph{Pattern Recognition Letters}, vol.~24, no.~15, pp. 2829--2838, 2003.

\bibitem{wang2007fusion}
J.-G. Wang, W.-Y. Yau, A.~Suwandy, and E.~Sung, ``Fusion of palmprint and palm
  vein images for person recognition based on laplacianpalm feature,'' in
  \emph{Proc. Computer Vision and Pattern Recognition}.\hskip 1em plus 0.5em
  minus 0.4em\relax IEEE, 2007, pp. 1--8.

\bibitem{kong2004competitive}
A.-K. Kong and D.~Zhang, ``Competitive coding scheme for palmprint
  verification,'' in \emph{Proc. International Conference on Pattern
  Recognition}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2004, pp.
  520--523.

\bibitem{sun2005ordinal}
Z.~Sun, T.~Tan, Y.~Wang, and S.~Z. Li, ``Ordinal palmprint representation for
  personal identification,'' in \emph{Proc. Computer Vision and Pattern
  Recognition}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2005, pp.
  279--284.

\bibitem{wu2006palmprint}
X.~Wu, K.~Wang, and D.~Zhang, ``Palmprint texture analysis using derivative of
  gaussian filters,'' in \emph{Proc. International Conference on Computational
  Intelligence and Security}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE,
  2006, pp. 751--754.

\bibitem{dorigo1997ant}
M.~Dorigo and L.~M. Gambardella, ``Ant colony system: A cooperative learning
  approach to the traveling salesman problem,'' \emph{IEEE Transactions on
  Evolutionary Computation}, vol.~1, no.~1, pp. 53--66, 1997.

\bibitem{zhou2010contactless}
Y.~Zhou and A.~Kumar, ``Contactless palm vein identification using multiple
  representations,'' in \emph{Proc. International Conference on Biometrics:
  Theory Applications and Systems (BTAS)}.\hskip 1em plus 0.5em minus
  0.4em\relax IEEE, 2010, pp. 1--6.

\bibitem{khan2011contour}
Z.~Khan, A.~Mian, and Y.~Hu, ``Contour code: Robust and efficient multispectral
  palmprint encoding for human recognition,'' in \emph{Proc. International
  Conference on Computer Vision (ICCV)}.\hskip 1em plus 0.5em minus 0.4em\relax
  IEEE, 2011, pp. 1935--1942.

\bibitem{fang2009making}
L.~Fang, M.~K. Leung, and C.~S. Chian, ``Making palm print matching mobile,''
  \emph{International Journal of Computer Science and Information Security},
  vol.~6, no.~2, pp. 001--009, 2009.

\bibitem{da2006nonsubsampled}
A.~L. Da~Cunha, J.~Zhou, and M.~N. Do, ``The nonsubsampled contourlet
  transform: theory, design, and applications,'' \emph{IEEE Transactions on
  Image Processing}, vol.~15, no.~10, pp. 3089--3101, 2006.

\bibitem{do2005contourlet}
M.~N. Do and M.~Vetterli, ``The contourlet transform: An efficient directional
  multiresolution image representation,'' \emph{Image Processing, IEEE
  Transactions on}, vol.~14, no.~12, pp. 2091--2106, 2005.

\bibitem{polyu}
\BIBentryALTinterwordspacing
``{PolyU Multispectral Palmprint Database}.'' [Online]. Available:
  \url{http://www.comp.polyu.edu.hk/~biometrics/MultispectralPalmprint/MSP.htm}
\BIBentrySTDinterwordspacing

\bibitem{casia}
\BIBentryALTinterwordspacing
``{CASIA Multispectral Palmprint Database}.'' [Online]. Available:
  \url{http://www.cbsr.ia.ac.cn/MS_Palmprint_Database.asp}
\BIBentrySTDinterwordspacing

\bibitem{li2010efficient}
W.~Li, L.~Zhang, D.~Zhang, G.~Lu, and J.~Yan, ``Efficient joint 2d and 3d
  palmprint matching with alignment refinement,'' in \emph{IEEE Conference on
  Computer Vision and Pattern Recognition (CVPR)}.\hskip 1em plus 0.5em minus
  0.4em\relax IEEE, 2010, pp. 795--801.

\bibitem{zhang2009palmprint}
D.~Zhang, G.~Lu, W.~Li, L.~Zhang, and N.~Luo, ``Palmprint recognition using 3-d
  information,'' \emph{IEEE Transactions on Systems, Man, and Cybernetics, Part
  C: Applications and Reviews}, vol.~39, no.~5, pp. 505--519, 2009.

\bibitem{cd}
A.~Cohen, I.~Daubechies, and J.-C. Feauveau, ``Biorthogonal bases of compactly
  supported wavelets,'' \emph{Communications on Pure and Applied Mathematics},
  vol.~45, no.~5, pp. 485--560, 1992.

\bibitem{dvmlp}
A.~da~Cunha and M.~Do, ``Bi-orthogonal filter banks with directional vanishing
  moments [image representation applications],'' in \emph{Proc. ICASSP},
  vol.~4, 2005, pp. 553--556.

\bibitem{lax}
W.~Lu, A.~Antoniou, and H.~Xu, ``A direct method for the design of {2-D}
  nonseparable filter banks,'' \emph{Trans. Circuits Syst. {II}}, vol.~45,
  no.~8, pp. 1146--1150, 1998.

\bibitem{pkva}
S.-M. Phoong, C.~Kim, P.~Vaidyanathan, and R.~Ansari, ``A new class of
  two-channel biorthogonal filter banks and wavelet bases,'' \emph{IEEE Trans.
  Sig. Proc.}, vol.~43, no.~3, pp. 6490--665, 1995.

\bibitem{sk}
I.~Shah and T.~Kalker, ``On ladder structures and linear phase conditions for
  bi-orthogonal filter banks,'' in \emph{Proc. ICASSP}, vol. iii, 1994, pp.
  181--184.

\bibitem{vk}
M.~Vetterli and J.~Kova{\v{c}}evi{\'c}, \emph{Wavelets and Subband Coding},
  ser. Prentice Hall Signal Process. Series.\hskip 1em plus 0.5em minus
  0.4em\relax Prentice Hall PTR, 1995.

\bibitem{nsct}
A.~Cunha, ``The nonsubsapled contourlet toolbox,''
  \url{http://www.mathworks.com/matlabcentral/fileexchange/10049}.

\end{thebibliography}
