Kết quả cải tiến với bộ lọc STFT

Một phần của tài liệu Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay (Trang 42)

Với tập dữ liệu thực nghiệm là 20 ảnh đầu vào, đối với bộ lọc STFT ta thu được kết quả như hình 3.4. Đường màu xanh thể hiện thời gian sau khi cải tiến, đường màu đỏ thê hiện kết quả ban đầu nâng cao chất lượng ảnh bằng bộ lọc STFT. Qua hình 3.4 ta thấy kết quả sau khi cải tiến để nâng cao tốc độ thi hành đối với bộ lọc STFT đã được thay đổi nhất định.

Hình 3. 4 Kết quả cải tiến đối với bộ lọc STFT

0 200 400 600 800 1,000 1,200 1,400 1,600 1,800 2,000 1 5 9 131721252933374145495357616569737781858993

Thời gian nâng cao ảnh vân tay sử dụng bộ lọc Gabor Thời gian sau cải tiến bộ lọc Gabor

(ms) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 1 2 3 4 5 6 7 8 9 10

Thời gian sau cải tiến bộ lọc STFT

KẾT LUẬN CHUNG Kết quả đạt đƣợc của luận văn

Với kết quả thu được như trên, ta thấy kết quả của việc cải tiến tốc độ đối với các bộ lọc là khá hiệu quả. Kết quả này rất hữu ích đối với những hệ thống thực tế đang vận hành mà có tập dữ liệu là lớn như: ứng dụng nhận dạng vân tay vào quản lý bằng lái xe, quản lý dân số, quản lý thay cho chứng minh thư…

Với cách tiếp cận giảm thiểu những bước tính toán trung gian, tính trước những giá trị xấp xỉ có thể được, luận văn đã thử nghiệm được những kỹ thuật cải thiện tốc độ nâng cao chất lượng ảnh vân tay và đánh giá bước đầu cho phép khẳng định được ưu điểm về mặt tốc độ, đảm bảo chất lượng của kỹ thuật đã cài đặt.

Kết quả thu được của luận văn có thể cho phép cải thiện được tốc độ trích rút đặc trưng vân tay của các hệ thống nhận dạng vân tay.

Hƣớng nghiên cứu tiếp theo

Kết quả của luận văn bước đầu cho thấy nghiên cứu đã cải thiện được tốc độ trích rút đặc trưng vân tay của các hệ thống nhận dạng vân tay mà không ảnh hưởng đến chất lượng của ảnh so với trước khi chưa cải tiến.

Tiếp theo, luận văn sẽ hướng đến nghiên cứu, tìm hiểu một số phương pháp, kỹ thuật hiện đại phục vụ so khớp đặc trưng vân tay với số lượng lớn.

TÀI LIỆU THAM KHẢO Tiếng Anh

[1] Mazumdar, Subhra; Dhulipala, Venkata (2008). "Biometric Security Using Finger Print Recognition". University of California, San Diego. p. 3..

[2] Keming Mao, Zhiliang Zhu, Huiyan Jiang, ―A Fast Fingerprint Image Enhancement Method‖, Third International Joint Conference on Computational Science and Optimization, IEEE, 2010.

[3] Patil, Ashwini R, Zaveri, Mukesh A. ―A Novel Approach for Fingerprint Matching Using Minutiae‖, Mathematical/Analytical Modelling and Computer Simulation (AMS), 2010 Fourth Asia International Conference, 26-28 May 2010. [4] D. Maltoni, D. Maio, A.K. Jain, S. Prabhakar, Handbook of Fingerprint Recognition, Springer, New York, Springer Professional Computing, 2009.

[5] Robert Muller, User requirement document, 2011. [6] Sea Solution, Fingerprint Software Design, 2/2012.

[7] Information Technology — Biometric data interchange Formats — Part 2: Finger minutiae data ISO/IEC 19794-2:2005.

[8] Data Sheet - 3D TouchPrint - Optical Fingerprint Recognition USB Module KIA U- 5110 B3, version 1.1, 2011.

[9] Programmer’s Guide for Fingerprint’s SDK, 3D TouchPrint® Optical Fingerprint USB Module KGTU- 5510 A/B, version 1.2, 2011.

[10] User’s Manual for Fingerprint’s SDK - 3D TouchPrint® - Optical Fingerprint USB Module KGTU-5110A, version 1.0, 2011.

[11] Papoulis and Pillai.Probability, Random Variables and Stochastic processes. Mc Graw Hill, 2002. 4th edition.

[12] L. Hong, Y. Wang, and A. K. Jain. Fingerprint image enhancement: Algorithm and performance evaluation.Transactions onPAMI, 21(4):777–789, August 1998. [13] N. Otsu. A threshold selection method from gray level histograms.IEEE Transactions on Systems, Man and Cybernetics,9:62–66, 1979.

[14] Sonka, Hlavac, and Boyle.Image Processing, Analysis and Machine Vision, second edition. Thomson Asia, 2004.

[15] INGERPRINT IMAGE ENHANCEMENT USING STFT ANALYSISSharat S. Chikkerur, Alexander N. Cartwright and Venu Govindaraju

[16] A. Ravishankar Rao.A Taxonomy of Texture Descriptions. Springer Verlag. [17] B.G.Sherlock, D.M.Monro, and K.Millard. Fingerprint enhancement by directional fourier filtering. InVisual Image Signal Processing, volume 141, pages 87– 94, 1994.

[18] C. I. Watson, G. T. Candela, and P. J. Grother. Comparison of fft fingerprint filtering methods for neural network classification.NISTIR, 5493, 1994.

[19] L. Hong, Y. Wang, and A. K. Jain. Fingerprint image enhancement: Algorithm and performance evaluation.Transactions onPAMI, 21(4):777–789, August 1998. [20] C. Wilson et al. ―Fingerprint Vendor Technology Evaluation 2003: Summary of

Tiếng Việt:

[21] Nguyễn Đức Huân (2006), Nghiên cứu và phát triển ứng dụng nhận dạng vân tay, Khóa luận tốt nghiệp đại học, Trường Đại Học Công Nghệ, Đại

học Quốc Gia Hà Nội, tr.7-9.

Internet

[22] Sharat Chikkerur, https://sites.google.com/site/sharatchikkerur/code, Jan 21, 2009, 3:52 PM.

PHỤ LỤC

Phụ lục 1: Các thuật toán sử dụng đối với bộ lọc Gabor

1. Giảm nhiễu Sensor

Function SubstractNoise

Input:

BYTE *inImg: pointer to the input image buffer BYTE *noiseImg: pointer to the noise buffer

Output:

BYTE *oImg: pointer to the result image buffer

Params:

BYTE pNoiseGray: a parameter to increase the image histogram, default=64

Begin

for (each pixel i in inImg)

oImg[i] = (BYTE)(inImg[i] - noiseImg[i] + pNoiseGray;

End

2. Tăng độ tương phản

Function BoostImgContrast

Input:

BYTE *inImg: pointer to the input image buffer

Output:

BYTE *oImg: pointer to the result image buffer

Begin

Compute the gray min & max value of all inImg pixels;

for (each pixel inImg[i])

oImg[i] = (inImg[i] - min) * 255 / (max - min);

End

3. Phân mảnh và chuẩn hóa ảnh

Function SegmentNormImg

BYTE *inImg: pointer to the input image buffer

Output:

BYTE * segImg: pointer to the result image buffer

Params:

BYTE pSegWin ;// window size of block for segmentation, default =16

BYTE pSegThreshold ;//threshold to separate

background/foreground; default = 90

Begin

Compute the gray min & max value of all inImg pixels;

for (j,i are the first row/col in each block k of inImg){ Compute the mean gray value Mk of current block k; Compute the variance Vk of current block k;

If (Vk > pSegThreshold){ // foreground

Normalize all pixels in current block Bk;

Change the last bit of all pixels of Bk to 1 (that means the ROI)

}else{//background

Change the last bit of all pixels of Bk to 0; } } End 4. Lọc Gabor Function FilterGabor Input:

BYTE * norImg: pointer to the segmented&normalized image buffer

Output:

int *filteredImg: pointer to the result image buffer after filter

Params:

BYTE pOrientWin;// window size for orientation estimation; default=8

BYTE pFixFreq;//fix frequency constant; default = 19 BYTE pGaborWin;// window size for Gabor filter; default = 9

Begin

Estimate the orientation of each image blocks (no-overlap) sized

of pOrientWin;

For each pixel P(i,j)

If P(i,j) is background, filteredImg(i,j)=0; Else{

Get the orientation O of current pixel (0-1800); Get the frequency F of current pixel (=pFixFreq); Compute the sum H of Gabor filter for all pixels in

block centered at i,j; sized of pGaborWin;

filteredImg[pos] = (int)H | 1; //assume this is in foreground

} }

End

Phục lục 2: các thuật toán sử dụng đối với bộ lọc STFT

1. Xác định hướng đường vân

function [gimg,oimg] = orientation_image_rao(x) %--- %parameters %--- alpha = 0.3; N = 16; %--- %smoothen the image

%---

msk = fspecial('gaussian',7);

x = imfilter(x,msk,'symmetric','same'); x = pseudo_matched_filter(x,alpha);

%--- %obtain gradient image

%--- hy = -fspecial('sobel') hx = transpose(hy);

gx = imfilter(x,hx,'symmetric','same'); gy = imfilter(x,hy,'symmetric','same');

gmag = sqrt(gx.^2+gy.^2); theta = atan(gy./(gx+1e-5)); %--- %perform averaging %--- oimg = []; gimg = []; [h,w] = size(x); for ii=1:N:h-N+1 oln = []; gln = []; for jj=1:N:w-N+1 a = theta(ii:ii+N-1,jj:jj+N-1); g = gmag(ii:ii+N-1,jj:jj+N-1).^2; %--- %vector averaging %--- num = sum(sum(g.*sin(2*a))); den = sum(sum(g.*cos(2*a))); t = atan2(num,(den+1e-5)); t(t<0) = t(t<0)+2*pi; t = 0.5*t; %convert to [0,pi] g = sum(sum(g)); oln = [oln,t]; gln = [gln,g]; end; gimg = [gimg;gln]; oimg = [oimg;oln]; end; %--- %smoothen the orientation image %--- for i = 1:3

oimg = smoothen_orientation_image(oimg); end;

%end function orientation_image

2. Xác địnhtần số ảnh

smoothen_frequency_image(fimg,RLOW,RHIGH,diff_cycles)

valid_nbrs = 3; %uses only pixels with more then valid_nbrs for diffusion [ht,wt] = size(fimg); nfimg = fimg; N = 1; %--- %perform diffusion %--- h = fspecial('gaussian',2*N+1); cycles = 0;

invalid_cnt = sum(sum(fimg<RLOW | fimg>RHIGH));

while((invalid_cnt>0 &cycles < diff_cycles) | cycles <diff_cycles)

%--- %pad the image %---

fimg = [flipud(fimg(1:N,:));fimg;flipud(fimg(ht- N+1:ht,:))]; %pad the rows

fimg = [fliplr(fimg(:,1:N)),fimg,fliplr(fimg(:,wt- N+1:wt))]; %pad the cols

%--- %perform diffusion %--- for i=N+1:ht+N for j = N+1:wt+N blk = fimg(i-N:i+N,j-N:j+N); msk = (blk>=RLOW & blk<=RHIGH); if(sum(sum(msk))>=valid_nbrs) blk =blk.*msk; nfimg(i-N,j-

N)=sum(sum(blk.*h))/sum(sum(h.*msk)); else

nfimg(i-N,j-N)=-1; %invalid value end;

end; end;

%prepare for next iteration %---

fimg = nfimg;

invalid_cnt = sum(sum(fimg<RLOW | fimg>RHIGH)); cycles = cycles+1;

cycles

3. Nâng cao chất lượng ảnh

function [cimg] = compute_coherence(oimg) [h,w] = size(oimg);

cimg = zeros(h,w); N = 2;

%--- %pad the image %---

oimg = [flipud(oimg(1:N,:));oimg;flipud(oimg(h- N+1:h,:))]; %pad the rows

oimg = [fliplr(oimg(:,1:N)),oimg,fliplr(oimg(:,w- N+1:w))]; %pad the cols

%compute coherence for i=N+1:h+N for j = N+1:w+N th = oimg(i,j); blk = oimg(i-N:i+N,j-N:j+N); cimg(i-N,j-N)=sum(sum(abs(cos(blk- th))))/((2*N+1).^2); end; end;

Một phần của tài liệu Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay (Trang 42)

Tải bản đầy đủ (PDF)

(51 trang)