Đề tài Thiết kế hệ thống nhận dạng vân tay từ ảnh số
Mụclục
Mụclục .i
Danhmục các hìnhvẽ . iv
Danhmụcmộtsố thuật ngữ thường dùng . vi
Lời nói đầu . vii
1. Giới thiệu .1
2. Vân tay trongsinh trắchọc .4
2.1.Vị trícủa nhậndạng vân tay trong sinh trắchọc .4
2.2. Uniqe làmột thuộc tínhcủa vân tay.5
2.3. Hình thức thể hiện vàcác đặctảcủa vân tay .5
2.4. Khó khăngặpphải khi nhậndạng vân tay .7
3. Đạicươngvề ảnhsố vàxử lý ảnh trongMatlab .8
3.1. Đạicươngvề ảnhsố .8
3.1.1. Biểu diễn ảnhsố.8
3.1.2.Cơsởvề màu .9
3.1.3. Chuyển đổi màu . 12
3.2. Xử lý ảnhsố trong Matlab. 13
3.2.1. Histogram . 13
3.2.2. Phân ngưỡngcụcbộ . 14
3.2.3. Biến đổi Fourier-2Drờirạc . 15
3.2.4.Lọc ảnh Sobel . 16
3.2.5. Phát hiện biênbằng toántử gradient . 18
3.2.6. Loangrộng và thu nhỏ đốitượng . 20
4. Sơ đồ khối thiếtkếhệ thống nhậndạng vân tay . 22
4.1. Các nguyên lý nhậndạng vân tay . 22
4.2.Hệ thống nhậndạng vân tay. 23
4.3. Xâydựnghệ thống nhậndạng vân taybằng ảnh số . 24
ii
5. Tậpmẫu ảnh vân tay . 26
6. Trích chọn minutiae cho đốisánh vân tay . 28
6.1. Chuẩn hóa ảnh đầu vào . 29
6.1.1. Chuẩn hóa kích thước ảnh . 29
6.1.2. Cânbằngcường độ sángcủa ảnh . 29
6.2.Tăngcường ảnhchấtlượng ảnh. 30
6.2.1.Tăngcường ảnhbằng cânbằng histogram . 30
6.2.2.Tăngcường ảnhbằng biến đổi Fourier-2D. 31
6.3. Ướclượng orientation image và khoanh vùng ảnh vân tay . 32
6.3.1. Ướclượng orientation image . 32
6.3.2. Khoanh vùng ảnh vân tay . 34
6.4. Tríchchọn minutiae . 35
6.4.1. Nhị phân hóa và làmmảnh đường vân . 36
6.4.2. Phát hiện minutiae. 37
6.4.3. Ướclượng khoảng cách đường vân. 39
6.4. Hiệuchỉnh đường vân vàlọc minutiae sai . 39
6.4.1. Hiệu chỉnh đường vân vàlọc minutiae saicấpmột . 39
6.4.2.Lọc minutiae saicấp hai vàtạo mãtừ minutiae . 41
7. Phân loại kiểu vân tay . 43
7.1. Tríchchọn đặc tính. 44
7.2.Tạo vec-tơ đặc tính . 45
7.3. Khâu phân loại kiểu vân tay. 46
8. Đối chiếu vân tay để định danhmẫu. 48
8.1. Khớpmẫu haimẫu vân tay . 49
8.2. Đối sánh vân tay. 50
9. Tổngkết vàhướng phát triển . 52
9.1.Kết quảcủa đồ án . 52
9.2. Những kiến thứcbản thân thu được . 53
9.3. Nhữnghạnchếcủa đồ án . 53
9.4.Hướngphát triển . 53
Tài liệu tham khảo . 55
iii
Phụlục . 56
Danh sáchcác script file khác trong đồ án . 56
Cácbướcchạyphầnmềm môphỏng . 57
tiếp theo là làm phù hợp giữa T và I. Đầu tiên sẽ thực hiện quay toàn bộ các minutiae của template theo điểm tham chiếu đã chọn được ở bước khớp mẫu. Toán tử quay RA định nghĩa như sau: os sin 0 sin os 0 0 0 1 c RA c q q q q æ ö ç ÷= -ç ÷ ç ÷ è ø Tiếp theo, sẽ đếm các cặp minutiae thỏa mãn sai lệch về vị trí và góc trong giới hạn e . Để đánh giá mức độ giống nhau sẽ dùng thang điểm cf NS q= , với cN là số cặp điểm minutiae thỏa mãn lân cân e ; q là tổng số minutiae của input a) b) Hình-38. Thực hiện matching: a) khớp các minutiae; b) ngưỡng lân cận để tính điểm (score). Hàm thực hiện phát hiện đối sánh vân tay là matimafv. score = matimafv(f,g,e ), trong đó: f : mẫu input-image, g : mẫu template-image, e : giá trị lân cận, score : điểm kết quả của đối sánh hai mẫu. 8. ĐỐI CHIẾU VÂN TAY 51 Thử nghiệm với hai ảnh đầu của mỗi bộ mẫu (xx_1.tif và xx_2.tif) với tất cả các mẫu còn lại của bộ dự liệu (gồm 125 ảnh đánh số xx_3.tif đến xx_7. tif, tổng cộng có 6250 phép thử nghiệm) nếu lấy kết quả so sánh có score cao nhất thì chính xác đạt 100%. Tuy nhiên bộ số liệu này còn có khả năng mở rộng thêm nên hình thức thể hiện kết quả minh bạch hơn là một dải kết quả chính xác từ cao đến thấp. Việc hiển thị 1, 2, 5 hay nhiều kết quả đều có thể thực hiện không khó khăn. Trong đồ án thể hiện ra bốn kết quả sát với ảnh đầu vào nhất. Ví dụ: Hình-39 cho thấy khi nhận dạng ảnh 7_2 (của người 7, mẫu số 2) thì cả bốn mẫu gần nhất đều của người 7, trong đó mẫu 5 giống 100%. 7_5.tif 100score » 7_6.tif 86,67score » 7_7.tif 71,11score » 7_3.tif 71,11score » 7_2.tif a) b) Hình-39. Kết quả nhận dạng: b) vân tay đầu vào; a) các vân tay được nhận dạng theo (b). Các chương trình chạy trong Matlab phiên bản 7.0; cấu hình phần cứng: CPU Pentium IV 1,8Ghz, RAM 512MB, FSB 333Mhz. Thời gian tạo cơ sở dữ liệu: cho tất cả đầu vào gồm 175 ảnh cần thời gian khoảng 10 phút. Nên thời gian trung bình tạo một template khoảng 3,4 giây. Thời gian thực hiện đối sánh: thử nghiệm với 6250 lần đối sánh ( 25 2´ mẫu kiểm tra với 25 5´ mẫu còn lại) thì mất khoảng 2,5 giờ. Nên thời gian trung bình một lần thực hiện đối sánh khoảng 1,4 giây. 9.TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 52 9. Tổng kết và hướng phát triển Nhận dạng vân tay là một trong những lĩnh vực nghiên cứu chuyên sâu. Các tài liệu, thuật toán, mô-đun chương trình rất hạn chế vì bản quyền tác giả. Kết thúc đồ án, đã xây dựng được phần mềm mô phỏng các bước thực hiện nhận dạng trong hệ thống nhận dạng vân tay. Các mô-đun chương trình cần thiết cũng đã được hoàn thành. Sau đây là phần tổng kết chi tiết và hướng phát triển mở rộng của đồ án. 9.1. Kết quả của đồ án · Đã thực hiện nhận dạng được ảnh số vân tay đầu vào với độ chính xác cao. Nếu chỉ lấy một giá trị có điểm đánh giá cao nhất trong các kết quả so sánh thì nhận dạng dược 100%. Tuy nhiên con số này còn bị giới hạn bởi số lượng mẫu khảo sát còn ít. · Hệ thống xây dựng theo như kiểu dự kiến ban đầu, đó là nhận dạng identification (1:N), chính vì vậy kết quả nhận dạng thể hiện minh bạch bằng một dải giá trị sắp xếp theo tiêu chí: giống với mầu đầu vào nhiều cho tới ít · Thực hiện phân loại kiểu vân tay có độ chính xác khá cao, đạt 90,86%. Điều này khẳng định sự khả thi mở rộng cở sở dữ liệu ảnh. Phân loại kiểu vân tay tốt đồng nghĩa với việc hạn chế tìm kiếm so sánh vân tay ở một nhóm template (thay vì toàn bộ) mà vân đảm bảo chính xác. · Chương trình xử lý thuật toán trong đồ án thiết kế theo mô-đun và có thể tận dụng cho các khâu khác cùng hệ thống. · Hệ thống thiết kế có tính mở. Có khả năng thay thế các mô-đun thực hiện thuật toán. Cơ sở dữ liệu ảnh có thể bổ sung thêm dễ dàng. Những kết quả trên cho thây hệ thống nhận dạng trong đồ án có thể triển khai vào thực tế. 9.TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 53 9.2. Những kiến thức bản thân thu được · Đã nắm được đại cương về xử lý ảnh, biết được các thuật toán cơ bản của xử lý ảnh. · Biết cách phân tích và trích chọn các đặc tính của đối tượng thông các thuật toán về xử lý ảnh. · Các chương trình thực hiện các thuật toán xử lý hầu hết do bản thân viết trong Matlab, các thư viện chuẩn và các script file hỗ trợ người sử dụng chỉ mang ý nghĩa tham khảo. 9.3. Những hạn chế của đồ án · Về bộ mẫu: các ảnh dùng làm cơ sở dữ liệu còn ít, được trích ra từ Db-2a và Db-2b của FVC2000. Các ảnh trong mẫu này có chất lượng tương đối tốt, các mẫu chất lượng xấu vẫn còn là khó khăn với đồ án này. · Các thuật toán xử lý: với hạn chế về kiến thức, tài liệu cũng như hạn chế về thời gian và phương tiện xử lý nên còn có các thuật toán (được tác giả nghiên cứu lâu năm trong lĩnh vực này đánh giá tốt, đồng thời cũng khó khăn trong triển khai) chưa được áp dụng trong đồ án. Như trong khâu tăng cường ảnh và tạo ridge-map thuật toán biến đổi Fourier tỏ ra kém hiệu quả với các ảnh vân tay bị đứt gãy liên tục. Quá trình post-processing dừng lại ở việc loại bỏ được một số dạng minutiae sai thường có nhưng không được tất cả. 9.4. Hướng phát triển · Tiếp cận với thuật toán xử ảnh bằng công cụ lọc Gabor nhằm giải quyết vấn đề xử lý các ảnh vân tay bị đứt gãy liên tục. Tuy nhiên đi với điều này sẽ phải giải quyết khó khăn về việc ước lượng chính xác tần số vân tay và định hướng cục bộ vân tay. · Giảm thời gian xử lý xuống thấp hơn nữa bằng cách tối ưu một số chương trình thực hiện thuật toán xử lý ảnh. 9.TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 54 · Tiếp cận với thuật toán nhận dạng đường vân để phân loại chính xác hơn các dạng vân tay. · Các chương trình được thiết kế theo mô-đun, tính mở của hệ thống là xuyên suốt do đó không gặp khó khăn nhiều trong việc mở rộng cơ sở dữ liệu. Điều này cũng có nghĩa là bộ số liệu học có thể tăng thêm dễ dàng, góp phần cải thiện độ chính xác nhận dạng. Và cả việc thay thế nâng cấp các mô-đun chương trình cũng sẽ không gặp nhiều khó khăn. · Đóng gói thành sản phẩm hoàn thiện. PHỤ LỤC 55 Tài liệu tham khảo [1] Maltoni D., Maio D., Jain A. K., Prabhakar S., Handbook of Fingerprint Recognition, Springer, 2003. [2] Hoover J. E., The Science of Fingerprints Classification and Uses, United States Department of Justice, 2006. [3] Hong L., Automatic Personal Identification using Fingerprints, Michigan State Univesity, 1998. [4] Ratha N. K., Chen S., Jain A. K., Adaptiveow orientation based feature extraction in Fingerprint Recognition, Michigan State Univesity, 1995. [5] Gonzalez R C., Woods R. E., Digital Image Processing, 2nd Edition, Prentice Hall 2002. [6] Gonzalez R C., Woods R. E., Eddins S. L., Digital Image Processing using MATLAB, Prentice Hall 2004. [7] Neto H. V., Borges L. D.,Fingerprint Classification with Neural Networks. [8] Park H. C., Park H., Fingerprint Classification using Fast Fourier Transform and Nonlinear Discriminant Analysis, University of Minnesota. [9] Chickkerur S., Wu C., Govindaraju V., Cartwright A. N., Fingerprint Image Enhancement Using STFT Analysis. University at Buffalo. [10] Chickkerur S., Wu C., Govindaraju V., A systemmatic approach for feature extraction fingerprint images, University at Buffalo. [11] Komarinski P., Automated Fingerprint Identification Systems (AFIS), Elsevier, 2005. [12] Trần Hoài Linh. Bài giảng “Mạng nơ-ron nhân tạo và ứng dụng trong xử lý tín hiệu”. [13] Wuzhili, Fingerprint Recognition, Hong Kong Baptist University, 2002. PHỤ LỤC 56 Phụ lục Danh sách các script file khác trong đồ án STT Tên hàm Chức năng 1 angbiffv Tính góc định hướng của bifurcation minutiae 2 angterfv Tính góc định hướng của termination minutiae 3 arecarfv Khoanh vùng để tính chỉ số Poincaré 4 briequfv Cân bằng cường độ sáng 5 cronumfv Tính crosssing number 6 delboufv Xóa nhiễu ở ngoài đường bao tao ra bởi segmentation 7 delshofv Xóa các đoạn vân ngắn 8 fincorfv Tìm điểm core 9 finshofv Tìm đoạn vân ngắn 10 inpcatfv Lấy catogory 11 inpimafv Lấy input 12 leasqufv Ước lượng bình phương cực tiểu 13 loaimafv Load ảnh vào để xử lý 14 mearidfv Ước lượng khoảng cách trung bình của các đường vân 15 norsizfv Hiệu chỉnh kích thước ảnh 16 plominfv Hiển thị các minutiae 17 rotallfv Xoay tất các đối tượng để tìm cặp minutiae 18 rotridfv Xoay các đối tượng để khớp mẫu 19 genvecfv Tạo vector dữ liệu để phân loại 20 sortttfv Sắp xêp kết quả 21 thirid1fv Làm mảnh đường vân cấp một 22 thirid2fv Làm mảnh đường vân cấp hai PHỤ LỤC 57 Các bước chạy phần mềm mô phỏng Bước 1: Chuyển thư mục hiện hành tới thư mục Finger. Sử dụng lệnh: >> myGuifv để có cửa sổ giao diện trong Hình-40 Hình-40. Cửa sổ giao diện. Bước 2: Click vào nút Open, chon một file ảnh vân tay để bắt đầu trích chọn đặc tính. Hình-41. Mở một file ảnh. PHỤ LỤC 58 Bước 3: Click vào nút HE Enhancement để thực hiện tăng cường ảnh bằng cân bằng lược đồ xám. Hình-42. Cân bằng lược đồ xám. Bước 4: Click vào nút FB Enhancement để thực hiện tăng cường ảnh bằng biên đổi Fourier rời rạc và cân bằng cường độ sáng của ảnh. Hình-43. Biến đổi Fourier rời rạc và cân bằng cường độ sáng. PHỤ LỤC 59 Bước 5: Click vào nút Binarization để thực hiện phân ngưỡng cục bộ-nhị phân hóa ảnh. Hình-44. Nhị phân hóa ảnh. Bước 6: Click vào nút Orientation Image để ước lượng trường định hướng. Hình-45. Trường định hướng. PHỤ LỤC 60 Bước 7: Click vào nút Segmentation để khoanh lây vùng ảnh vân tay. Hình-46. Segmentation. Bước 8: Click vào nút Detection Core để tìm điểm core. Hình-47. Phát hiện core. PHỤ LỤC 61 Bước 9: Click vào nút Thinning để làm mảnh đường vân. Hình-47. Làm mảnh đường vân. Bước 10: Click vào nút Post-processing để lọc các minutiae. Hình-48. Lọc minutiae. PHỤ LỤC 62 Bước 11: Click vào nút Display Minutiae để hiện thị các minutiae sẽ tạo mã. Hình-49. Hiển thị minutiae. Bước 12: Click vào nút Matching để đối sánh vân tay. Hình-50. Đối sánh vân tay.
File đính kèm:
- Đề tài Thiết kế hệ thống nhận dạng vân tay từ ảnh số.pdf