PLUS OpenVein Finger- and Hand-Vein Toolkit
This is "The Multimedia Signal Processing and Security Lab", short WaveLab, website. We are a research group at the Computer Sciences Department of the University of Salzburg headed by Andreas Uhl. The short name "WaveLab" already indicates that wavelets are among our favorite tools - we have 15 years of experience in this area. Our research is focused on Multimedia Security including Watermarking, Image and Video Compression, Medical Image Classification, and Biometrics.
Finger- and Hand-Vein Recognition Framework Information
The PLUS OpenVein Toolkit (current version is: 1.0.2) is a feature extraction and matching/evaluation framework for finger- and 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 covered under the New BSD license (which can be found here: BSD 3 Clause License). In the following the included pre-processing, feature extraction, comparison and evaluation schemes are listed and described, followed by set-up and usage instructions for the whole framework.
Note: This page will be updated with the most recent information regarding the framework soon.
Pre-Processing MethodsThe recognition framework includes implementations of the following hand- and finger-vein specific pre-processing methods:
Feature Extraction Schemes
The following feature extractors are contained within the vein recognition framework:
Evaluation MethodsThe following performance metrics and plots can be generated / calculated using the vein recognition framework:
Supported Data Sets
Settings FilesTODO: Re-Write the text
Several settings files for the supported data sets are provided in the Settings subdirectory. There is an example settings file in this directory, called settingsExample.ini, which lists all possible options (excluding all parameters of the different pre-processing, feature extraction and matching methods) together with a short explanation. All the important parameters and options are controlled via these settings files and by automatically generating settings files, various different settings can be tested in batch processing for parameter tuning. The settings are grouped according to general settings, pre-processing settings, feature extraction settings, optional post-processing settings, comparison settings and results settings. The settings are described in more detail in the readme of the PLUS OpenVein Toolkit, so here we only explain the most important ones. The EvaluationType determines the extracted features. If hand vein images are to be processed, HandVeinProcessing should be set to True. If OverrideResults is set to True, previous saved results are overwritten, otherwise they are loaded and the previous results are displayed. The DataBaseType determines the dataset to use. The Methods and Options in the [Preprocessing] section set the desired pre-processing methods together with their options. The list of options has to have the same number of elements as the list of methods. The Options in the [Feature Extraction] section set optional options for the feature extraction scheme. MatchMode in the [Matching] section determines the comparison protocol and Options sets additional options. If SaveScores is set to True, the scores are saved as .mat file. The ResultsTextFile and ResultsFile are the names of the files where the results are saved, in text format and as .mat file. If Plots is set to True, the plots are generated and if ShowPlots is set to True, they are displayed (otherwise only the values are saved in the results .mat file).
Package InformationThe main file is the Matcher.m, which contains most of the program logic, including the preprocessing, feature extraction, comparison execution functions. The “matcher” is actually a MATLAB object, also storing the input images, the extracted features, the comparison scores and the results. Some parts of the recognition schemes are directly implemented in Matcher.m, but most of the schemes are called as external functions, implemented in distinct .m files.
These .m files are organised in the following subdirectories:
Set-Up InstructionsIn order to use the vein recognition framework some prerequisites and set-up steps are necessary. At first all the external dependencies listed in external dependencies have to be downloaded and the files placed in the respective subdirectories (especially vl_feat). If vl_feat is placed in a different subdirectory then the vl_feat directory inside the main directory, the path has to be adjusted in automateMatcher.m. Then the dataset(s) have to be prepared, i.e. unzipping the images and putting them in a directory which is accessible to the recognition framework and MATLAB.
Automated Recognition Tool-Chain ProcessingEach step of the program execution can be called manually, but for convenience an automated program execution is provided by automateMatcher.m. This file controls the program flow using Matcher.m. It requires 3 input parameters only: the path of the gallery directory (can be empty), the path of the probe directory and the path to the settings file. Hence, to start the whole recognition tool-chain, including reading of the vein images, pre-processing, feature extraction, matching and performance determination, automateMatcher() has to be called with the paths to the input images and the desired settings file. All further options are controlled via the settings file. For more detailed usage instructions have a look at the readme.txt file contained in the package.
External DependenciesThe following software packages are not included in the sources of the framework, have to be downloaded separately and put into the respective subdirectories:
The following methods have not been implemented by ourselves but are already included in the framework sources:
For LeeRegion and HuangNormalise implementations are provided by B.T.
Ton and are available on MATLAB Central:
For SUACE the implementation provided by the original authors of  is used. It is available on github:
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 vein recognition framework package.
For matching an implementation of B.T. Ton of the method proposed by Miura et al. ,  which can also be downloaded via MATLAB Central was used.
For the EER determination and generation of the DET plots 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 several of the included histogram comparison distances the implementation of Boris Schauerte, available at https://de.mathworks.com/matlabcentral/fileexchange/39275-histogram-distances are used.
For several basic image processing as well as morphological image operations, functions provided by MATLAB's image processing toolbox are utilised.
ReferencesHere the references to all the included pre-processing, feature extraction and comparison schemes are listed:
 ZUIDERVELD, Karel. Contrast limited adaptive histogram equalization. Graphics gems, 1994, S. 474-485.
 LEE, Eui Chul; LEE, Hyeon Chang; PARK, Kang Ryoung. Finger vein recognition using minutia‐based alignment and local binary pattern‐based feature extraction. International Journal of Imaging Systems and Technology, 2009, 19. Jg., Nr. 3, S. 179-186.
 HUANG, Beining, et al. Finger-vein authentication based on wide line detector and pattern normalization. In: Pattern Recognition (ICPR), 2010 20th International Conference on. IEEE, 2010. S. 1269-1272.
 XIE, Shan Juan, et al. Intensity variation normalization for finger vein recognition using guided filter based singe scale retinex. Sensors, 2015, 15. Jg., Nr. 7, S. 17089-17105. MCCANN, John. Lessons learned from mondrians applied to real images and color gamuts. In: Color and imaging conference. Society for Imaging Science and Technology, 1999. S. 1-8.
 ZHAO, Jianjun, et al. A new approach to hand vein image enhancement. In: Intelligent Computation Technology and Automation, 2009. ICICTA'09. Second International Conference on. IEEE, 2009. S. 499-501.
 ZHANG, Jing; YANG, Jinfeng. Finger-vein image enhancement based on combination of gray-level grouping and circular gabor filter. In: Information Engineering and Computer Science, 2009. ICIECS 2009. International Conference on. IEEE, 2009. S. 1-4.
 YANG, Jinfeng; YANG, Jinli. Multi-channel gabor filter design for finger-vein image enhancement. In: Image and Graphics, 2009. ICIG'09. Fifth International Conference on. IEEE, 2009. S. 87-91.
 SHI, Yihua; YANG, Jinfeng; YANG, Jucheng. A New Algorithm for Finger-Vein Image Enhancement and Segmentation. Information Science and Industrial Applications, 2012, 4. Jg., Nr. 22, S. 139-144.
 YANG, Jinfeng; SHI, Yihua; YANG, Jucheng. Finger-Vein image restoration based on a biological optical model. In: New Trends and Developments in Biometrics. InTech, 2012.
 YANG, Jinfeng; SHI, Yihua. Finger–vein ROI localization and vein ridge enhancement. Pattern Recognition Letters, 2012, 33. Jg., Nr. 12, S. 1569-1579.
 BANDARA, A. M. R. R.; RAJARATA, KASH Kulathilake; GIRAGAMA, PWGRMPB. Super-efficient spatially adaptive contrast enhancement algorithm for superficial vein imaging. In: Industrial and Information Systems (ICIIS), 2017 IEEE International Conference on. IEEE, 2017. S. 1-6.. 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 extraction using gradient normalization and principal curvature. IS&T/SPIE Electronic Imaging:725111—725111, 2009. Human identification using finger images. Image Processing, IEEE Transactions on, 21(4):2228—2244, 2012 . Cancelable Biometrics for Finger Vein Recognition. 2016 International Workshop on Sensing, Processing and Learning for Intelligent Machines (SPLINE), 2016.
. Robustness Evaluation of Hand Vein Recognition Systems. Proceedings of the International Conference of the Biometrics Special Interest Group (BIOSIG'15), 2015.
 LOWE, David G. Object recognition from local scale-invariant features. In: Computer vision, 1999. The proceedings of the seventh IEEE international conference on. Ieee, 1999. S. 1150-1157.
 BAY, Herbert; TUYTELAARS, Tinne; VAN GOOL, Luc. Surf: Speeded up robust features. In: European conference on computer vision. Springer, Berlin, Heidelberg, 2006. S. 404-417.
 MAHRI, Nurhafizah; SUANDI, Shahrel Azmin Sundi; ROSDI, Bakhtiar Affendi. Finger vein recognition algorithm using phase only correlation. In: Emerging Techniques and Challenges for Hand-Based Biometrics (ETCHB), 2010 International Workshop on. IEEE, 2010. S. 1-6.. 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
 MATSUDA, Yusuke, et al. Finger-vein authentication based on deformation-tolerant feature-point matching. Machine Vision and Applications, 2016, 27. Jg., Nr. 2, S. 237-250.
 YANG, Lu, et al. Finger vein recognition with anatomy structure analysis. IEEE Transactions on Circuits and Systems for Video Technology, 2018, 28. Jg., Nr. 8, S. 1892-1905.
 MENG, Xianjing, et al. Finger vein recognition based on deformation information. Science China Information Sciences, 2018, 61. Jg., Nr. 5, S. 052103.
 MAIO, Dario, et al. FVC2004: Third fingerprint verification competition. In: Biometric Authentication. Springer, Berlin, Heidelberg, 2004. S. 1-7.
 TON, Bram T.; VELDHUIS, Raymond NJ. A high quality finger vascular pattern dataset collected using a custom designed capturing device. In: Biometrics (ICB), 2013 International Conference on. IEEE, 2013. S. 1-5.
 YIN, Yilong; LIU, Lili; SUN, Xiwei. SDUMLA-HMT: a multimodal biometric database. In: Chinese Conference on Biometric Recognition. Springer, Berlin, Heidelberg, 2011. S. 260-268.
 ASAARI, Mohd Shahrimie Mohd; SUANDI, Shahrel A.; ROSDI, Bakhtiar Affendi. Fusion of band limited phase only correlation and width centroid contour distance for finger based biometrics. Expert Systems with Applications, 2014, 41. Jg., Nr. 7, S. 3367-3382.
 TOME, Pedro; VANONI, Matthias; MARCEL, Sébastien. On the vulnerability of finger vein recognition to spoofing. In: Biometrics Special Interest Group (BIOSIG), 2014 International Conference of the. IEEE, 2014. S. 1-10.
 TOME, Pedro; MARCEL, Sébastien. On the vulnerability of palm vein recognition to spoofing attacks. In: Biometrics (ICB), 2015 International Conference on. IEEE, 2015. S. 319-325.
 KAUBA, Christof; PROMMEGGER, Bernhard; UHL, Andreas. The Two Sides of the Finger - An Evaluation on the Recognition Performance of Dorsal vs. Palmar Finger-Veins. In: Biometrics Special Interest Group (BIOSIG), 2018 International Conference of the. IEEE, 2018. S. 1-8.
 PROMMEGGER, Bernhard; KAUBA, Christof; UHL, Andreas. A Different View on the Finger - Multi-Perspective Score Level Fusion in Finger-Vein Recognition. In: Handbook of Vascular Biometrics, Springer Science+Business Media, 2019, S. 45 pages.
 UNIVERSITY OF READING; PROTECT Multimodal DB Dataset. 2017
 SYARIF, Munalih Ahmad, et al. Enhanced maximum curvature descriptors for finger vein verification. Multimedia Tools and Applications, 2017, 76. Jg., Nr. 5, S. 6859-6887.
OpenVein-Toolkit Git Repository
The latest release version of the OpenVein-Toolkit is available upon request.