Biometric Authentication can be various types. One of them is palmprint authentication.
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).
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.
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 {โ(๐ฅ_๐^โฒ=๐ฅ_๐ร(๐ค^โฒ/๐ค)@๐ฆ_๐^โฒ=๐ฆ_๐ร(โ^โฒ/โ) )โค
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] )โค
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 ๐