The Difference of Gaussian is the
classical model used for pore detection. As the name specify it extracts the
pore based on the two different Gaussian filtered image of different scale. The
following two sub-sections explain the overall pore extraction using DoG
algorithm.
DoG Algorithm
On the fingerprint image, ridges
are the dark (black) lines whereas pores are the (white) bright blob on the
ridges either isolated (closed pores) or connected with valleys (open pores).
In general pores a small circular structure and their spatial appearance are
similar to two dimensional Gaussian filters. Similarly the cross sections of
valleys are one dimensional Gaussian filter usually of bigger scale than the
pores. Thus the difference between the two Gaussian filters could yield the
pores. The Difference of Gaussian filtering is basically the above mentioned
procedure, which is a classic blob detection method.
The scales of either pores or
valley are not uniform across a fingerprint image and different fingerprint
images could have different ridge-valley pattern. This leads to a conclusion
that the two different values of scales, one for ridges and other for valley
are to be employed for the efficient extraction of pores. Now consider an input
fingerprint image is I. Suppose the mean ridge period over the image is p. It
is the good measure of the scale over the image. Thus we set the standard
deviation of the two Gaussian filters to k1*p and k2*p respectively
(0<k1<k2 are the constants) . Then the outputs of them are given by
where ‘*’ denotes the convolution
operation between the image I and the corresponding Gaussian filter. F1 is the
Gaussian filtered image with small scale and F2
is the Gaussian filtered image with large scale value. N is the normalization
of the Gaussian filter to zero mean and unit standard deviation G(x,y) is the
expression for the two dimensional Gaussian filter. The settings of the k1 and
k2 should be chosen appropriately depending upon the ridge valley pattern. In
our experiment we empirically set the values of
k1 and k2 as 0.5 and 2.
Fig.1: Difference of Gaussian Model |
The filtering outputs F1 and F2 are
then further binaries to have the values in the range [0, 1] resulting in B1
and B2. The small scale Gaussian filter Gk1p will enhance both pores and
valleys whereas the large scale Gaussian filters Gk2p will enhance valleys
only. At last the Difference of Gaussian is performed by subtracting B2 form B1
thereby resulting in the final pore extraction.
Where
PB is the resultant binary pore extracted image. The Fig.2 (a) shows the
fingerprint image block and Fig.2 (e) and Fig.2 (f) shows the extracted pore
for the given block of fingerprint image.
Post-Processing
In order to
remove the outliers from the pore extraction results following steps are
employed. First of all the pores which are not on the ridges are removed using
the binary ridge map. Second the spurious white lines at the boundary of the
image are removed using morphological operations. This boundary lines results
due to the large difference between the sizes of the two Gaussian filters. At
last pores should be within the valid range of values. We measure the size of
pores by counting the number of pixels inside its region. In our experiment we
have empirically set the size of pores between 3 and 30. Finally we get the
extracted pore image.
The above
presented two pore models have reliably extracted the pores form fingerprint
image which is shown clearly in the Fig.2. Now our very next
step is to match the pores of two fingerprints which are extracted using the
proposed pore model which is presented in the next chapter.
References:
[1] Q. Zhao, L. Zhang, D. Zhang, N.
Luo, “High resolution partial fingerprint alignment using pore- valley descriptor”, Pattern Recognition vol. 43 (3), 1050-1061,
(2010).
No comments:
Post a Comment