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
136 stars 47 forks source link

Format of input data for FineNet #4

Closed tordbb closed 6 years ago

tordbb commented 6 years ago

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?

luannd commented 6 years ago

I uploaded "test_sample" folder in "Dataset" which has "minu" and "non-minu" folders. Details for data preparation is in train_FineNet.ipynb. You can rename the path in script to match with your folder.

tordbb commented 6 years ago

Thank you, I will try to make it work from here. PS: the first image in the minu folder (1.jpg) would not be regarded as a valid minutiae point by an expert: the abruptly ending line in the center is caused by the print ending, not by the ridge itself ending. Minutiae points are to be set at ridge endings (and bifurcations) not at the outer edge of the print. Had a larger area of the finger been used to extend that print, we might see that the line would continue without splitting or ending at that point. Since we simply do not have enough data to know whether or not the ridge ends/splits in the center of this image, then this image might teach the network to misinterpret the difference between minutiae and non-minutiae.

luannd commented 6 years ago

I just random pick images from labeled groundtruth by experts to put into that folder. Each patch is considered "minu" if its center has a minutia. Note that experts use various tools to detect minutiae. Thus, some minutiae are not clearly visible in original image. I did not remove this image because I want to emphasize the "hard" situation which make the model more robust.

You can use your own data for training. If the experts made mistakes, I'm ok because we can't verify thousands of images.

tordbb commented 6 years ago

Thanks for your reply, that makes totally sense. After I translated some python 2.7 code into python 3.5, I was able to run demo_FineNet.ipynb through Jupyter on my windows pc with my own test data. Looks impressive!

luannd commented 6 years ago

Thank you. If you have any cool results based on MinutiaeNet, let me know. I will put link in this repository.