luannd / MinutiaeNet

Code and models for paper "Robust Minutiae Extractor: Integrating Deep Networks and Fingerprint Domain Knowledge" at International Conference on Biometrics (ICB) 2018
https://arxiv.org/pdf/1712.09401.pdf
MIT License
132 stars 45 forks source link
afis biometrics deep-learning detection fingerprint fingerprint-orientation fingerprint-segmentation icb keras latent-fingerprint minutiae minutiae-orientation minutiae-score-map orientation orientation-field robust-minutiae-extractor tensorflow

Robust Minutiae Extractor: Integrating Deep Networks and Fingerprint Domain Knowledge

By Dinh-Luan Nguyen, Kai Cao and Anil K.Jain

For precise fingerprint segmentation, let's refer to this paper: Automatic Latent Fingerprint Segmentation

Introduction

We present the framework called MinutiaeNet including CoarseNet and FineNet

MinutiaeNet

CoarseNet is a residual learning based convolutional neural network that takes a fingerprint image as initial input, and the corresponding enhanced image, segmentation map, and orientation field (computed by the early stages of CoarseNet) as secondary input to generate the minutiae score map. The minutiae orientation is also estimated by comparing with the fingerprint orientation.

CoarseNet

FineNet is a robust inception-resnet based minutiae classifier. It processes each candidate patch, a square region whose center is the candidate minutiae point, to refine the minutiae score map and approximate minutiae orientation by regression. Final minutiae are the classification results.

We refer reader to read FineNet_architecture.pdf for more details of FineNet.

The repository includes:

License

MinutiaeNet is released under the MIT License.

Citing

If you find MinutiaeNet useful in your research, please citing:

@inproceedings{Nguyen_MinutiaeNet,
author    = {Dinh-Luan Nguyen and Kai Cao and Anil K. Jain},
title     = {Robust Minutiae Extractor: Integrating Deep Networks and Fingerprint Domain Knowledge},
booktitle = {The 11th International Conference on Biometrics, 2018},
year      = {2018},
}

Contents

  1. Requirements: software
  2. Installation
  3. Demo
  4. Usage

Requirements: software

Python 2.7, Tensorflow 1.7.0, Keras 2.1.6.

Installation

To make life easier, I suggest to use Anaconda for easy installation. Version using pip is similar.

  conda install cv2, numpy, scipy, matplotlib, pydot, graphviz

Download models and put into Models folder.

Demo

To help understanding MinutiaeNet, there are 2 notebooks for you to play around:

Usage

Python files which can run directly from command line are also provided. Note that models as well as architectures here are slightly different from the paper because of the continuing development of this project