Coder Social home page Coder Social logo

luannd / minutiaenet Goto Github PK

View Code? Open in Web Editor NEW
130.0 12.0 44.0 4.68 MB

Code and models for paper "Robust Minutiae Extractor: Integrating Deep Networks and Fingerprint Domain Knowledge" at International Conference on Biometrics (ICB) 2018

Home Page: https://arxiv.org/pdf/1712.09401.pdf

License: MIT License

Jupyter Notebook 27.40% Python 72.60%
minutiae robust-minutiae-extractor minutiae-orientation fingerprint latent-fingerprint detection orientation minutiae-score-map biometrics afis

minutiaenet's People

Contributors

luannd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minutiaenet's Issues

Format of input data for FineNet

First of all, thank you for an inspiring accomplishment!

When running demo_FineNet.ipynb through jupyter, I get the message "Found 0 images belonging to 2 classes". When checking out directory test_path = '../Dataset/test/', I see that the folder does not exist. Would you like to either post some of your training data, or explain how my data should be structured (sizes in x, y and color/grayscale, naming convention, subfolder structures ++) in order to run this script?

File signature not found (FineNet.h5)

For some reason, FineNet.h5 from Google Drive does not load. The error message mentions "File signature not found". I tried FineNet.h5 from Dropbox and it worked.

Note: There is no such problem with CoarseNet.h5 from Google Drive.

About input image of model

Hello
How are you?
Thanks for contributing to this project.
I am going to use this method for contactless finger image.
Can we apply directly the grayscale of raw finger image?

Models uploaded?

Will you be uploading the pretrained models for CoarseNet and FineNet.
Could not run the demos.

Training Set

Hi there,
Would you mind describing briefly the training task you have performed, including the details of the dataset you fed into the network?
I plan to train my own model through your code, but I am struggling to find a minutaei-based annotation. So I was wondering if you can help me out with this?
Regards, Jafar

Minutia Map

Did you publish the code for creating the minutia map ?

Kernel restarting while testing demo_CoarseNet.ipynb

I was trying to test your code for demoCoarseNet.ipnb, it takes some time for the pre-trained model to load. Once we are at line #82,


        enh_img, enh_img_imag, enhance_img, ori_out_1, ori_out_2, seg_out, mnt_o_out, mnt_w_out, mnt_h_out, mnt_s_out \
            = main_net_model.predict(image)

This seems to crash. I suspect out of memory issues on card but I am confident the card does have enough memory. I copied the code to simple text file and ran it in Spyder3, it seems that the above line is causing the kernel to restart in jupyter notebook. Same happens in Spyder3

Spyder 3.2.8
Python 3.6.5
Tensorflow 1.6.0
Keras 2.1.5
Nvidia GTX 960M (4GB )

Did you run into such an issue?

network structure is incorrect?

Hi, luannd. I found that the coarsenet structrue may be incorrect. details below:

level_2=conv_bn_prelu(conv_block3, (256,3,3), '4_1', dilation_rate=(1,1))
level_3=conv_bn_prelu(conv_block2, (256,3,3), '4_2', dilation_rate=(4,4))
level_4=conv_bn_prelu(conv_block2, (256,3,3), '4_3', dilation_rate=(8,8))

you use conv_block2 two times, but according to the paper, you should use conv_block1 for level_4,
and conv_block3 did not do pooling, as we can see, if conv_block2 is 2x than conv_block3, and conv_block1 2x than conv_block2, after "aspp" moudel, they can't be just add directly.

How to use NimutiaeNet in image representation?

Hi,

Thanks for this amazing model! Could you please tell how to use this in image representation? For example, I want to compute the similarity of two fingerprints, I'm assuming that MinutiaeNet can be used to extract features from the two images so that I can use function like score(img1, img2) to find the similarity. Thank you!

demo_CoarseNet.ipynb missing

Thanks for the code, was waiting for this.
Please note that the demo folder does not have the demo_CoarseNet.ipynb file

Minutiae matching

Hello
How are you?
Thanks for contributing to this project.
Could u share the script for matching minutiaes or for getting distance between two minutiaes?

Error when training CoarseNet_train.py

when I training CoarseNet_train.py, (the image size is 512*512 ,batchsize=2 ),The following error occurred:tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[2,64,512,512] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
GPU :NVIDIA GeForce GTX TITAN X

CoarseNet training data

Hi there,
MinutiaeNet is very powerful for extracting Minutiae. CoarseNet processes raw fingerprint images and generates candiate patches containing minutiae. There are img_files,mnt_files and seg_files directories in CoarseNet_train directory. How to get mnt_files and seg_files?

worse precision and recall results

Hi,
I've been trying your models on different test sets for a while. Even though i used FVC 2002, 2004 test set, performance results are worse than indicated on the paper. I have fine-tuned the model but still can not reached specified results. Are the models (Coarsenet and Finenet) same as indicated on the paper? Network is using too much memory, while fine-tuning with batch size bigger than 2 i got resource exhausted error on 16 gb Tesla V100 GPU. How did you deal with it?

NameError: name 'reduce' is not defined

MinutiaeNet-master/CoarseNet/CoarseNet_utils.py in merge_sum(x)
    193     return reduce(lambda x,y:x*y, x)
    194 def merge_sum(x):
--> 195     return reduce(lambda x,y:x+y, x)
    196 
    197 

NameError: name 'reduce' is not defined

Could not find the function mentioned above

Error in CoarseNet_train.py

While running the CoarseNet_train.py, I am getting the error "'basestring' is not defined", I tried finding out the solution could not resolve it.

A snippet of the error is attached below:

Learning rate = 0.002
Pretrain dir = ../Models/CoarseNet.h5
Traceback (most recent call last):
File "CoarseNet_train.py", line 68, in
logging=logging)
File "D:\new_pc_work\MinutiaeNet-master\CoarseNet\CoarseNet_model.py", line 255, in train
img_name, folder_name, img_size = get_maximum_img_size_and_names(train_set, None, max_size=input_shape)
File "D:\new_pc_work\MinutiaeNet-master\CoarseNet\CoarseNet_utils.py", line 367, in get_maximum_img_size_and_names
if isinstance(dataset, basestring):
NameError: name 'basestring' is not defined

NIST SD-27 manually marked minutiae databse

Hi,
Where can i get NIST SD-27 manually marked minutiae databse. Also is there any rolled fingerprint database mapped to NIST SD-27 database available to train the model.

Doubts about training data

I have two question;

  1. In the example, the data: - img_files/.bmp, - mnt_files/.mnt , - seg_files/*.jpg. is needed when train the corasenet, the orientation field of the fingerprint is not necessary. but the net include a function about enhancement the raw fingerprint image(gaber filter). I don't understand how the gaber filter get the orientation? and there is no loss function for the orientation.
  2. The mnt_files/.mnt file include the orientation about the minutiae. i want to know the format about the 0~ 2pi ? or others.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.