Monday, 29 September 2014

Direct fingerprint pore matching



After obtaining the descriptor for the two images the next step is to find the matching points using the descriptors. During the process of feature vector building or pore descriptor estimation we have considered the neighboring pixels of the pores so as to get a region sufficient enough for comparing with the other pore descriptor. So the size of the block centered on the pore plays an important role. Also the block-size should be of odd values so that equal neighboring pixels are taken into account. Also the neighboring ridge valley pattern should be considered. Basically in the field of object detection block-size of 9*9, 11*11 and 15*15 is used. Considering the high resolution fingerprint image we have used a block-size of 41*41.

While comparing the pore descriptor of the first image with the pore descriptor of second image, the one with least difference is considered as a matched pore and the location of the two pores are recorded. This done by locating the coordinates of the matching pore. There are different approaches used for finding the similarity between the two feature vectors. The metrics we use for estimating the matching points are Sum of Absolute Difference (SAD) and Sum of Squared Differences (SSD).

1 Sum of Squared Differences

For matching, the each feature vector of first image is compared with all the other feature vector of second image. Given the pore descriptor for pores on two fingerprint images, we can now compare them pair-wise and establish a correspondence between them. Suppose {P1i | i = 1, 2….M} and {P2j | j = 1, 2….N} are the sets of pores on two fingerprint images, P1i and P2j are the descriptors on pores. The length of the two descriptors may not be same.  The correspondences between two pores Pi and Pj is established using the following expression:





Here M is the length of the descriptor P1. The one with least difference forms the matching point. The coordinates of the two matching forms the correspondence between the pores.

2. Sum of Absolute Differences 

Another method used for finding the matching points using two feature vectors is Sum of Absolute Differences. Here instead of taking the square of the differences, the absolute difference between them is computed. Considering {P1i | i = 1, 2….M} and {P2j | j = 1, 2….N} sets of pores on two fingerprint, we find for each pore on the first fingerprint, a pore which is the most similar one to it among all the pores on the second fingerprint using SAD. If P1ik has its most similar pore as P2jk and P1ik is also the most similar pore of P2jk, then a correspondence is established between them which are given as 
                                                           
                                                 Ck = (P1ik,P2jk).

Fig.1: Results of direct pore matching; (a) and (b) two fingerprints to be matched; (c) and (d) pore extracted using DoG method; (e) and (f) matched pores using SSD.



Finally we will get k pairs of corresponding pores between the fingerprint images. An example result of direct pore matching using SSD is shown in Fig.1. Fig.2 shows the example of direct pore matching between the two images whose extracted pores are shown by red circles. The matching pores between two images are shown by the yellow lines. The two ends of lines are on the matching pores.

 
Fig.2: Example of direct pore matching; (a) and (b) two pore extracted  image block using DoG filter; (c) matching between two images in (a) and (b).



So here we have presented a direct pore matching approach using the two metrics namely Sum of Squared Differences (SSD) and Sum of Absolute Differences. (SAD).  The above example testified that an efficient pore matching was done using the proposed pore matching.