User's Guide to NIST Biometric Image Software (NBIS)
Total Page:16
File Type:pdf, Size:1020Kb
NISTIR 7392 2007 User's Guide to NIST Biometric Image Software (NBIS) Craig I. Watson ([email protected]) Michael D. Garris ([email protected]) Elham Tabassi ([email protected]) Charles L. Wilson ([email protected]) R. Michael McCabe ([email protected]) Stanley Janet ([email protected]) Kenneth Ko ([email protected]) National Institute of Standards and Technology Bldg. 225, Rm. A216 100 Bureau Drive, Mail Stop 8940 Gaithersburg, MD 20899-8940 i ACKNOWLEDGEMENTS We would like to acknowledge the Federal Bureau of Investigation and the Department of Homeland Security who provided funding and resources in conjunction with NIST to support the development of this fingerprint image software. NOTE TO READER This document provides guidance on how the NIST Biometric Image Software (NBIS) non- export controlled packages are installed and executed. Its content and format is one of user's guide and reference manual. Some algorithmic overview is provided, but more details can be found in the cited references. The Table of Contents provides the reader a map into the document, and the hyperlinks in the electronic version enable the reader to effectively navigate the document and locate desired information. These hyperlinks are unavailable when using a paper copy of the document. Any updates to this software will be posted NIST Image Group’s Open Source Sever (NIGOS). ii TABLE OF CONTENTS 1. INTRODUCTION ...................................................................................................................................................... 1 2. INSTALLATION GUIDE......................................................................................................................................... 5 2.1. Software Installation ............................................................................................................................................ 5 2.2. Data and Testing Directories ............................................................................................................................... 7 3. OPEN SOURCE PACKAGES ON NIGOS ........................................................................................................... 8 3.1. PCASYS – Fingerprint Pattern Classification.................................................................................................... 8 3.2. MINDTCT – Minutiae Detection...................................................................................................................... 10 3.2.1. Definition of Minutiae ............................................................................................................................... 10 3.2.2. Latent Fingerprints..................................................................................................................................... 12 3.3. NFIQ – Fingerprint Image Quality ................................................................................................................... 13 3.4. AN2K7 – Standard Reference Implementation................................................................................................ 14 3.5. IMGTOOLS – General Purpose Image Utilities.............................................................................................. 15 4. EXPORT CONTROL PACKAGES...................................................................................................................... 17 4.1. NFSEG – Four-Finger Plain Segmentation ...................................................................................................... 17 4.2. BOZORTH3 – Fingerprint Matcher ................................................................................................................. 17 5. ALGORITHMS ........................................................................................................................................................ 18 5.1. PCASYS ............................................................................................................................................................. 18 5.1.1. Algorithmic Description ............................................................................................................................ 18 5.1.2. Computing Features ................................................................................................................................... 37 5.1.3. Training the Neural Networks................................................................................................................... 38 5.1.4. Running PCASYS....................................................................................................................................... 43 5.1.5. Classification Results................................................................................................................................. 45 5.2. MINDTCT .......................................................................................................................................................... 48 5.2.1. Input Fingerprint Image File [/NBIS/Main/an2k7/src/lib/an2k7/fmtstd.c; read_ANSI_NIST_file(),/NBIS/Main/imgtools/src/lib/image/imgdecod.c; read_and_decode_grayscale_image()] .............................................................................................. 49 5.2.3. Binarize Image [/NBIS/Main/mindtct/src/lib/lfs/binar.c; binarize_V2()]. 59 5.2.4. Detect Minutiae [/NBIS/Main/mindtct/src/lib/lfs/minutia.c; detect_minutiae_V2()]............................................................................................................................... 60 5.2.5. Remove False Minutiae [/NBIS/Main/mindtct/src/lib/lfs/remove.c; remove_false_minutia_V2()] .................................................................................................................. 61 5.2.6. Count Neighbor Ridges [/NBIS/Main/mindtct/src/lib/lfs/ridges.c; count_minutiae_ridges()] ....................................................................................................................... 69 5.2.7. Assess Minutia Quality [/NBIS/Main/mindtct/src/lib/lfs/quality.c; combined_minutia_quality()]................................................................................................................ 69 5.2.8. Output Minutiae File [/NBIS/Main/an2k7/src/lib/an2k7/fmtstd.c; write_ANSI_NIST_file(), /NBIS/Main/mindtct/src/lib/lfs/results.c; write_text_results()]............................................................................................................................... 71 5.3. NFIQ [/NBIS/Main/nfiq/src/lib/nfiq/{nfiq.c, nfiqggbls.c, nfiqread.c, znorm.c}].................................................................................................................................................................. 73 5.3.1. NFIQ Neural Network Training................................................................................................................ 73 6. REFERENCES ......................................................................................................................................................... 76 APPENDIX A. MLP TRAINING OUTPUT ............................................................................................................. 80 Explanation of the output produced during MLP training.......................................................................................... 80 Pattern-Weights ........................................................................................................................................................ 80 Explanation of Output .............................................................................................................................................. 81 iii APPENDIX B. REQUEST NBIS EXPORT CONTROL SOURCE CODE CD-ROM.................................... 93 APPENDIX C. REFERENCE MANUAL................................................................................................................. 94 iv LIST OF FIGURES Figure 1. Hierarchical organization of testing directory................................................................................................... 7 Figure 2. Example fingerprints of the six pattern-level classes........................................................................................ 9 Figure 3. Minutiae: bifurcation (square marker) and ridge ending (circle marker). ..................................................... 10 Figure 4. Minutiae orientation. ......................................................................................................................................... 11 Figure 5. Latent fingerprint (left) with matching tenprint (right)................................................................................... 12 Figure 6. Fingerprint used to demonstrate the fingerprint classification process (s0025236.wsq)........................ 19 Figure 7. Steps in the fingerprint segmentation process. ................................................................................................ 20 Figure 8. The sample fingerprint after segmentation. ..................................................................................................... 22 Figure 9. Sample fingerprint after enhancement. ............................................................................................................ 24 Figure 10. Pattern of slits (i = 1-8) used by the orientation detector.............................................................................. 24 Figure 11. Array of local average orientations of