Cũng giống như phân loại vân tay, có rất nhiều các để thực hiện đối chiếu vân tay. Tuy nhiên có thể chia làm nhóm phương pháp [1], tr. 131-168.
· Correlation-based
· Minutiae-based
· Ridge feature-based
Vì ngay từ ban đầu đã lựa chọn phương pháp nhận dạng vân tay trên cơ sở là
minutiae. Nên khâu thực hiện đối chiếu vân tay sẽ dựa vào các điểm nút đặc trưng nay. Việc đối chiếu dựa trên hai bộ số liệu: I của input-image và T của
template-image. { 1, 2,..., p} T T m m= m , mi ={x yi, ,i qi}, i=1,p. { 1, 2,..., q} I =I m m¢ ¢ m¢ , m¢j ={x y¢ ¢ ¢j, ,j qj}, j=1,q.
Hình-36 dưới đây thể hiện sự đối sánh hai mẫu vân tay trên cơ sở các
minutiae đã được trích chọn ở bước trên. Hai minutiae ở mỗi mẫu được nối với nhau bằng đường liền nét thì thể hiện sự trùng khớp với nhau.
Hình-36. Đối chiếu vân tay dựa trên cơ sở minutiae.
8.1. Khớp mẫu hai mẫu vân tay
Khớp mẫu vân tay được hiểu là “đặt” một mẫu vân tay cần đối sánh với mẫu mà nó cần sẽ đối sánh ở một vị trí sao cho có sự phù hợp giữa chúng theo một ngưỡng. Vì vậy các toán tử dùng để khớp mẫu gồm có: ma-trận quay, tịnh tiến…
Thuật toán alignment bao gồm các bước
1) chọn lấy một cặp minutiae của input và template,
2) xoay các đối tượng của template theo các đối tượng của input,
3) tính mức độ phù hợp Sp của hai mẫu input và template cho đến khi đạt một ngưỡng đặt trước Tr.
Các đối tượng của template và inputở đây chính là các đoạn vân tay mà có điểm
minutiae đã trích chọn, độ dài của các đoạn vân này được lấy bằng khoảng cách trung bình giữa các đường vân rd tính từ điểm minutiae làm mốc. Tr lấy giá trị
bằng 0,8 [3], tr. 117. 1 0 0 1 0 0 1 x R T y D æ ö ç ÷ = ç D ÷ ç ÷ è ø
Hình-37. Khớp mẫu từng đối tượng: a) toán tử ma-trận tịnh tiến; b) quay và tịnh tiến đối tượng Còn Sp tính theo công thức: 2 2 0 0 rd rd p i i i i i i S d D d D = = =å å
Cuối cùng sẽ tìm được điểm minutiae tham chiếu ITref (x y, ,q) cho bước tiếp theo là matching.
8.2. Đối sánh vân tay
Khi đã khớp được hai mẫu vân tay, việc 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 c
f
N
S = q , với Nc 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,
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 100 score» 7_6.tif 86,67 score» 7_7.tif 71,11 score» 7_3.tif 71,11 score» 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
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.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.
· 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.
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”.
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
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.
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.
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.
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.
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.
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.