Shedding Light on the Veins - Evaluation Framework and Scores Files
This is "The Multimedia Signal Processing and Security Lab", short WaveLab, website. We are a research group at the Artificial Intelligence and Human Interfaces (AIHI) Department of the University of Salzburg led by Andreas Uhl. Our research is focused on Visual Data Processing and associated security questions. Most of our work is currently concentrated on Biometrics, Media Forensics and Media Security, Medical Image and Video Analysis, and application oriented fundamental research in digital humanities, individualised aquaculture and sustainable wood industry.
Framework Source Information
This is a feature extraction and matching/evaluation framework for hand vein recognition implemented in MATLAB. It was tested on MATLAB 2016 and should work with all version of MATLAB newer or equal to 2016. This software is under the Simplified BSD license.
The framework contains all the feature extraction and matching as well as evaluation methods used for the experiments in the paper:
Feature Extraction Methods
The following 6 feature extractors, the first 5 outputting binary vein images and the last one outputting keypoint-based features, are contained:
Only MC, PC, GF and SIFT have been used in the paper.
There are two different types of evaluation:
There are settings files for each of the evaluated feature extraction methods (MC, PC, and SIFT) on the PROTECTVein data set (as the VeinPLUS is not publicly available) and for each type of evaluation. Using these settings files all the scores and results files of the experiment conducted in the paper on the PROTECTVein data set can be reproduced.
The main directory contains the setup and the main functions for running the two different sets of experiments on the PROTECTVein data aset, including the matching/score calculation function. The package further contains the following subdirectories:
The whole framework is written in MATLAB. For more detailed usage instructions have a look at the readme.txt file contained in the package. It contains all the necessary feature extractors and matching scripts as well as an EER/DET evaluation framework. Only for the SIFT implementation, the external package vl_feat has to be downloaded and put into the "vl_feat" subdirectory. The data set has to be downloaded seperately too.
To run all the evaluations, simply use the scripts evaluatePROTECTVeinSingle.m and evaluatePROTECTVeinCross.m.
The Hand Vein subset of the PROTECT Multimodal Biometric Database (PROTECTVein) has been utilised which need to be obtained from the PROTECT Multimodal Biometric DB and should be put into the data/PROTECTVein/1/G directory.
The second data set used during the experiments is the VeinPLUS Hand Vein Data Set. Unfortunately this data set is not publicly available due to restrictions with the original consent form. Further information regarding this data set can be found in .
The following methods have not been implemented by ourselves but are already included in the framework sources:
For the Maximum Curvature, Repeated Line Tracking, Wide Line Detector and Principal Curvature feature extraction as well as for the finger boundary detection and the finger normalisation an implementation of B.T. Ton was utilised which is publicly available through MATLAB Central. The Gabor Filter approach is a custom implementation of the approach by Kumar et al.  done by Emanuela Piciucco in , which is also included in the hand vein evaluation framework package.
For matching an implementation of B.T. Ton of the method proposed by Miura et al. [2, 3] which can also be downloaded via MATLAB Central was used.
For the EER determination the routine of the Biosecure Tool was utilisied which can be found here.
For adaptive thresholding an implementation by Guanglei Xiong, which freely available at MATLAB Central was used.
For Gaussian filtering an implementation by F. van der Heijden, freely available at MATLAB Central was used.
For reading the settings from .ini files an ini file parser MATLAB class (IniConfig.m) from Evgeny Prilepin aka Iroln is used. It is freely available at MATLAB Central
 . VeinPLUS: A Transillumination and Reflection-based Hand Vein Database. CoRR, abs/1505.06769, 2015. URL http://arxiv.org/abs/1505.06769.
 . PROTECT Multimodal DB Dataset., 2017. URL http://projectprotect.eu/dataset.
 . Extraction of finger-vein patterns using maximum curvature points in image profiles. IEICE transactions on information and systems, 90(8):1185—1194, 2007
 . Feature extraction of finger-vein patterns based on repeated line tracking and its application to personal identification. Machine Vision and Applications, 15(4):194—203, 2004
 . Finger-vein authentication based on wide line detector and pattern normalization. Pattern Recognition (ICPR), 2010 20th International Conference on:1269—1272, 2010
 . Finger vein extraction using gradient normalization and principal curvature. IS&T/SPIE Electronic Imaging:725111—725111, 2009
 . The Undecimated Wavelet Decomposition and its Reconstruction. IEEE Transactions on Image Processing, 16(2):297—309, 2007. URL http://dx.doi.org/10.1109/TIP.2006.887733
 . Robustness Evaluation of Hand Vein Recognition Systems. Proceedings of the International Conference of the Biometrics Special Interest Group (BIOSIG'15), 2015.
available upon request.
General Structure of the Files
The scores files are provided as MATLAB .mat files. Each .mat file contains a struct, containing two vectors:
The scores are all similarity scores, i.e. higher scores indicate higher similarity. Thus the genuine scores should be ideally higher than the impostor ones. The scores obtained for the 3 binary features using the Miura matcher are in the range of [0 - 0.5] while the scores obtained for SIFT are in the range of [0 - 1].
File Naming Conventions and Directory Structure
According to the experiments, there are two different sets of score files: one for the single set experiments and one for the cross-spectrum/cross-illumination matching experiments. These sets are further divided by the sensor (only for PROTECTVein) as well as the illumination condition (reflected light 850/950 and transillumination).
For the single illumination set experiments the directory structure (Single Sets is the main directory) is as follows:
Each of the subdirectories contains one scores file per feature type:
For the cross-matching experiments the directory structure (Cross-Matching is the main directory) is as follows:
available upon request.