Coder Social home page Coder Social logo

angelounimi / palmnet Goto Github PK

View Code? Open in Web Editor NEW
41.0 3.0 13.0 49.34 MB

Source code for the 2019 IEEE TIFS paper "PalmNet: Gabor-PCA Convolutional Networks for Touchless Palmprint Recognition"

Home Page: http://iebil.di.unimi.it/palmnet/index.htm

License: GNU General Public License v3.0

MATLAB 58.59% Makefile 6.47% CSS 3.08% Python 7.23% Clean 0.64% TeX 0.65% Shell 0.16% C 22.13% Roff 1.05% M 0.01%
palmprint touchless-biometrics less-constrained cnn deep-learning pca gabor

palmnet's Introduction

PalmNet

Matlab source code for the paper:

A. Genovese, V. Piuri, K. N. Plataniotis, and F. Scotti,
"PalmNet: Gabor-PCA Convolutional Networks for Touchless Palmprint Recognition",
IEEE Transactions on Information Forensics and Security, December 2019.
DOI: 10.1109/TIFS.2019.2911165

Paper:

https://ieeexplore.ieee.org/document/8691498

Project page:

http://iebil.di.unimi.it/palmnet/index.htm

Outline: Outline

Citation:

@Article {tifs19,
    author = {A. Genovese and V. Piuri and K. N. Plataniotis and F. Scotti},
    title = {PalmNet: Gabor-PCA Convolutional Networks for touchless palmprint recognition},
    journal = {IEEE Transactions on Information Forensics and Security},
    volume = {14},
    number = {2},
    pages = {3160-3174},
    month = {December},
    year = {2019},
    note = {1556-6013}
}

Main files:

  • launch_PalmNet.m: main file
  • ./params/paramsPalmNet.m: parameter file

Required files:

  • ./images: Database of images, with filenames in the format "NNNN_SSSS.ext", where NNNN is the 4-digit individual id, SSSS is the 4-digit sample id, and ext is the extension.
    For example: "0001_0001.bmp" is the first sample of the first individual. In the paper, left and right palms of the same person are considered as different individuals.

Part of the code uses the Matlab source code of the paper:

  • T. Chan, K. Jia, S. Gao, J. Lu, Z. Zeng and Y. Ma,
    "PCANet: A Simple Deep Learning Baseline for Image Classification?,"
    in IEEE Transactions on Image Processing, vol. 24, no. 12, pp. 5017-5032, Dec. 2015.
    DOI: 10.1109/TIP.2015.2475625
    http://mx.nthu.edu.tw/~tsunghan/Source%20codes.html

the VLFeat library:

  • A. Vedaldi and B. Fulkerson,
    "VLFeat: An Open and Portable Library of Computer Vision Algorithms", 2008,
    http://www.vlfeat.org

and the functions by Peter Kovesi:

The databases used in the paper can be obtained at:

The segmentation algorithm can be found at:

https://github.com/AngeloUNIMI/PalmSeg

palmnet's People

Contributors

angelounimi 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

Watchers

 avatar  avatar  avatar

palmnet's Issues

Code description

thanks for your best contribution, I am very interested in your work. I am a beginner and tried to sort out your code, but I couldn't find the content of the network structure part. Can you help me point out the file part of the code about the palmnet network structure.Thanks

params in different database

In Tongji database,the EER is similar with paper . But in other database such as IITD,Casia. The EER is
much higher than paper about 3%. Do I need to tuning the parames?

How to select the filters?

Hello, I am a little confused about the paper. After getting Sm, how to extract 5 filters, could you please explain in detail?Thank you very much!

180-centers,why?

Hello, may I ask you a question? In the "searchGaborOrientation" code, on line 53, why do you subtract the centers from 180?Don't use 180 minus centers just the right bin?

Doubt regarding the selection of the most used wavelets (functions_Gabor/getMostUsedWavelets.m)

Hey thank you for this code and I appreciate taking your time to read this. I came across your paper about PalmNet in (IEEE) and it sounded very intriguing. So I was just looking through your code and I had a doubt in it. Please correct me if my understanding of this is wrong.

functions_Gabor/getMostUsedWavelets.m
In the above file, there is this snippet of code:

    %get information of corresponding wavelet
    currX = sortRes(ind, 4);
    currY = sortRes(ind, 5);
    currO = sortRes(ind, 6);
    
    %check if current wavelet at current position already
    %used
    if (tmpRes(currO).value(currY, currX) == 1)
        %increment counter
        ind = ind + 1;
        continue
    end %if (tmpRes(currY, currX, currO)

I assume it refers to this line from the paper:

Then, for each filter in Ga, we count the number of corresponding responses in sm, considering each filter at most once for each position (x, y) in the ROI.

But, doesn't sortRes contain a unique combination of O, X and Y? What I'm trying to say is in tmpRes, there'd be no value equal to 1 when that condition is being checked and that combination of O, X and Y would have never appeared before.

Please let me know if my understanding is wrong. Thank you for the code and once again I appreciate your time.

What does countW mean?

Hello, what does countW stand for in "getMostUsedWavelets"? Why is it capped at 10,000?

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.