Code Monkey home page Code Monkey logo

palmprint_authentication's Introduction

Palmprint_Authentication

Biometric Authentication can be various types. One of them is palmprint authentication.

Dataset:

Though there are multiple available datasets on the internet (e.g. PolyU multi-spectral palmprint database , PolyU 2D+3D palmprint database etc. ) But I found out a clear photograph working more accurate in this model . As the FAR and FRR of ROI has decreased with a clear picture.

So,to test and train this model I created a dataset of 1050 palm images (both palm) , where a total of 26 people participated voluntarily in diffrent sessions. Since those data are sensitive I've not uploaded the dataset in the github repository. I have uploaded here a sample picture for the reference (Source: Freepik.com).

empty-hand-palm-black-background_335640-1671

Note: All of the picture should contain palm center, principle lines, flexor liness, datum points, wrinkles , ridges and may contain fingers. Also all the picture should be taken in dark background, where anyother object is not visible.

Model:

Region of Interest (ROI) Segmentation:

The acquired images often contain redundant information such as fingers and background. Palmprint ROI refers to the palm center that contains three flexor lines. Since the size and shape of every hand is generally different from each other , there may exists a rotation between them, it is necessary to correct the scale and angle of the palmprint image before ROI segmentation.

Scale Correction:

The key point lying in the original image with a size ofΒ π’˜Γ—π’‰Β is denoted as 𝑷_π’Š (𝒙_π’Š,π’š_π’Š ) [π’Š=𝟏,𝟐,πŸ‘]Β .Β The corresponding position for testing image is a size of π’˜^′×𝒉^β€²Β Β is denoted as 𝑷_π’Š^β€² (𝒙_π’Š^β€²,π’š_π’Š^β€² ) [π’Š=𝟏,𝟐,πŸ‘]Β .Β Then, the transformation can be defined as {β–ˆ(π‘₯_𝑖^β€²=π‘₯_𝑖×(𝑀^β€²/𝑀)@𝑦_𝑖^β€²=𝑦_𝑖×(β„Ž^β€²/β„Ž) )─

image

Rotation Correction:

The purpose of the rotation is to place 𝑷_𝟏 and 𝑷_πŸ‘Β on a horizontal line to facilitate ROI segmentation. The calculation of the rotation angle is shown as follows:

π‘Ž= tan^(βˆ’1)⁑(((𝑦_3^β€²βˆ’π‘¦_1^β€²))/((π‘₯_3^β€²βˆ’π‘₯_1^β€²)))

whereΒ (𝒙_𝟏^β€²,π’š_𝟏^β€²)Β andΒ (𝒙_πŸ‘^β€²,π’š_πŸ‘^β€²)Β are the coordinates ofΒ  𝑷_𝟏^β€² Β andΒ  𝑷_πŸ‘^β€²,Β respectively. The corresponding coordinates after rotation are denoted as 𝑷_π’Š^β€²β€² (𝒙_π’Š^β€²β€²,π’š_π’Š^β€²β€² ) [π’Š=𝟏,𝟐,πŸ‘]Β Β .Β We define the rotation transformation as follows:

{β–ˆ(π‘₯_𝑖^β€²β€²=[(π‘₯_1^β€²βˆ’π‘€^β€²/2)Γ—cos⁑(π‘Ž/180Γ—πœ‹)+(𝑦_1^β€²βˆ’β„Ž^β€²/2)Γ—sin⁑(π‘Ž/180Γ—πœ‹)+𝑀^β€²/2]@𝑦_𝑖^β€²β€²=[βˆ’1Γ—(π‘₯_1^β€²βˆ’π‘€^β€²/2)Γ—sin⁑(π‘Ž/180Γ—πœ‹)+(𝑦_1^β€²βˆ’β„Ž^β€²/2)Γ—cos⁑(π‘Ž/180Γ—πœ‹)+β„Ž^β€²/2] )─

image

Where [ ]Β reserves the integer value, while the lineΒ  𝑷_𝟏^β€²β€² 𝑷_πŸ‘^β€²β€² Β is set as theΒ x-axis, and its vertical line is set as theΒ y-axis. Then, the coordinate system is established in the palmprint image. The length ofΒ  𝑷_𝟏^β€²β€² 𝑷_πŸ‘^β€²β€² Β is denoted as 𝒅 .Β Moving it down alongside theΒ y-axis by 𝒅/πŸ‘Β ,Β a square is built up with the side length of 𝒅

image

palmprint_authentication's People

Contributors

sinnie-pi avatar

Watchers

 avatar

Forkers

tuananhwork

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.