Skip to content

techbossmb/FingerPrintMatching

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fingerprint Recognition with Siamese Network

Given a fingerprint image, model identifies a match from a database of fingerprints.

Procedure

  • Training Fingerprint Model

    Siamese network is trained on a datastore of fingerprint images from different people. Each fingerprint is a set of 10 prints from each finger

    Fingerprints used during training are stored for future matching. To reduce computational time, we store only the extracted (intermediate) features.

    Model is trained, validated and stored.

    Model training code is in code/train.py .

    To run model training

    from train import ModelBuilder
    
    imagedir = '..{0}data{0}images'.format(os.sep)
    modelBuilder = ModelBuilder(imagedir)
    modelBilder.trainModel()
  • Fingerprint Match After model has been trained, fingerprint matching modelfile is saved in model/siamese_model.h5

    To run a fingerprint match against a set of templates (stored during training)

    from match import FingerprintAuthentication
    
    matchthreshold = 0.8
    fingerprint_to_match = '..{0}data{0}images{0}101_4.tif'.format(os.sep)
    fingerprintAuthentication = FingerprintAuthentication()
    matched_tiffile, matched_prob, matched_personid = fingerprintAuthentication.matchFingerprint(fingerprint_to_match)
    print('Matched TIF: {}, Probability: {}, PersonID: {}'.format(matched_tiffile, matched_prob, matched_personid ))
    if matched_prob >= matchthreshold:
        print('Got a fingerprint match with {} for person id {}'.format(matched_tiffile, matched_personid))
    else:
        print('No match found')

Model Architecture

Model is a siamese neural network with pre-trained ResNet50 as feature extractor

alt text

Training and Validation Loss

Tensorboard - Training and Validation cross entropy loss

alt text

Sample Command Output

After the training completes, the validation metrics is outputed to stdout

alt text

Result of fingerprint match

alt text

About

Fingerprint Recognition with Siamese Network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages