có sơ đồ nguyên lý, sơ đồ khối, sơ đồ thuật toán và hướng dẫn chi tiết về KỸ THUẬT NHẬN DIỆN dấu vân TAY TRÊN MATLAB ...................................................................................................................................................................................
Trang 2Hình 14: Ảnh đã được nhị phân hóa và làm mảnh
Hình 15: Vân rẽ nhánh và vân cụt trong nhị phân
Hình 16: Ảnh sau khi được trích chọn đặc trưng
Hình 17: Các vân sai
Hình 18: Các vân sai được sữa và loại bỏ
Hình 19: Giao điện chương trình
Hình 20: Ảnh được load
Hình 21: Vân tay sau cân bằng lược đồ xám
Hình 22: Vân tay sau khi tăng cường chất lượng ảnh bằng FFT Hình 23: Ảnh sau khi chuyển thành nhị phân
Hình 24: Ảnh sau khi tính trường định hướng
Hình 25: Ảnh sau khi khoanh vùng
Hình 26: Ảnh sau khi làm mảnh
Hình 27: Ảnh sau khi xoá minutaie sai
Hình 28: Ảnh sau khi xóa minutiae sai lần 2
Hình 29: Ảnh sau khi được lọc minutia
Trang 3Orientation: trường định hướng
Crossing number: phương pháp dùng để phát hiện minutiae Binarization: Nhị phân hóa
FFT-Fourier Fast Transform: biến đổi Fourier nhanh
ROI-Region of Interest : vùng mong muốn
Crossover: hiện tượng giữa hai vân song song có cầu nối
Trang 4Chương 1: Giới thiệu về vân tay
Trong phần này sẽ trình bày về tầm quan trọng của vân tay trong cuộc sống, tínhchất của vân tay để được dùng trong nhận dạng, hình thức cũng như khó khăntrong việc nhận dạng vân tay
Hình 1: Một số vân tay
1.1 Giới thiệu về vân tay.
Vân tay là một phần của sinh trắc học, nhận dạng vân tay đã được phát triển từlâu Nhưng tới thời gian gần đây, cùng với sự phát triển của thiết bị điện tử, nómới trở thành một trong các phương phát nhận dạng có độ tin cậy cao nhất
Hình 2: Một số loại sinh trắcTrong quá trình thu nhận vân tay, rất dễ bị ảnh hưởng bởi điều kiện thu thậpnhư: nhiệt độ, độ ẩm của da, góc lấy vân, diện tích lấy vân nên rất khó trong
Trang 5• Thu nhận vân tay
• Trích chọn đặc tính vân tay
• Đối chiếu vân tay
Có nhiều phương pháp để thực hiện nhận dạng vân tay, nhưng trong hạn chế củathời than cũng như kiến thức, em chọn sử dụng phương pháp phát hiện và sửdụng các điểm đặc trưng (minutiae)
1.2 Đặc tính riêng của mỗi vân tay.
Các đặc tính của vân tay giúp nhận dạng :
• Tính cá nhân: mỗi người có một dấu vân tay riêng và xác suất trùng vớingười khác nhần như bằng không
• Tính bất biến: theo nghiên cứu thì hình dạng tổng thể của vân tay mỗingười không thay đổi theo thời gian
• Tính phổ thông: tất cả mọi người đều có vân tay , trừ một số rất ít ngườitrên thế giới bị bệnh adermatoglyphia sinh ra đã không có vân tay
1.3 Hình thức thể hiện của vân tay.
Hình thức thể hiện vân tay được chia làm ba cấp độ
• Global: thể hiện tổng thể
ở cấp độ này, ta quan tâm đến sự sắp xếp của đường vân, các điểm kì dị(singular)
Trang 6Hình 3: cấp độ global
• Local: thể hiện vân tay bởi một số điểm đặc trưng sau khi đã làm mảnhđường vân còn 1 pixel Ở cấp độ local, đặc trưng của vân tay được quansát là các điểm đặc trưng (minutiae) trong đó nổi bật là vân cụt (ridgetermination) và vân rẽ nhánh (ridge bifurcation)
Hình 4: cấp độ local
• Very-fine: thể hiện các đường cong tạo nên đường vân (sweat pores)
ở cấp độ này, muốn quan sát được những lỗ trên đường vân (pores) thìphải có ảnh với độ phân giải rất cao
Trang 7Hình 5: cấp độ very-fine
1.4 Các khó khăn khi thu nhận vân tay.
Do đang xét trong ứng dụng dân sự, nên các điều kiện khi lấy mẫu ảnh hưởngrất lớn đến chất lượng ảnh, trong đó gồm:
• Điều kiện khô: ảnh thu được sẽ bị mờ đường vân, hoặc mất hẳn, nguyênnhân là do lực nhấn của tay nhẹ hoặc thiếu mực in
• Điều kiện ướt: ảnh thu được sẽ bị dính liền đường vân, hoặc nhòe,nguyên dân là do lực nhấn của tay quá lớn hoặc mực in quá nhiều
• Điều kiện biến dạng: ảnh thu được sẽ bị bóp méo hay chồng lên nhau,không giống với vân tay thực tế, nguyên nhân do việc kéo, xê dịch taykhi lấy mẫu
• Điều kiện vân tay không đầy đủ: ảnh thu được chỉ có một phần vân trênngón, nguyên nhân là do để tay không chính xác
Trang 8Chương 2: Tổng quan về xử lý ảnh trong matlab
Ảnh số là tập hợp hữu hạn các điểm ảnh (pixel), thường được thể hiện bằngmảng hai chiều I(x,y) với x số hàng, y là số cột Số lượng điểm ảnh xác định độphân giải của 1 bức ảnh
có =256 mức nên ta lấy trong khoảng [0;255], với mức 0 là màu đen và mức
255 là màu xám, vì vậy các điểm ảnh cần 8bits
Trang 9Hình 7: ảnh xám
2.1.3 Ảnh màu (RBG)
ảnh mà mỗi điểm ảnh gồm ba giá trị đỏ (red) + xanh lam (blue) + xanh lục (green), mỗi mau lại có giá trị [0;255], tức là mỗi điểm ảnh cần 24bits Các màu này được pha trộn với nhau để tạo ra nhiều màu khác nhau, được thể hiện bằng vector màu từ màu đen (0,0,0) đến màu trắng (1,1,1)
Hình 8: ảnh RGBTrong matlab, ảnh màu được lưu dưới dạng mảng dữ liệu ba chiều x,y,ztương ứng với ba màu red green blue
Trang 10Hình 9: hệ màu RGB
2.2 Xử lý ảnh trong Matlab
Matlab từ lâu đã được sử dụng như 1 công cụ hỗ trợ tính toán, thiết kế các bàitoán trong kỹ thuật, riêng về mặt xử lý ảnh, các công cụ thường đươc xử dụngtrong Matlab là :
• Image processing toolbox
• Wavelet toolbox
• Signal processing
Các thuật toán sau được sử dụng để xử lý ảnh số:
2.2.1 Lược đồ xám (Histogram Equalization)
Lược đồ xám cung cấp thông tin về phân bố mức xám của ảnh, thể hiện tầnsuất xuất hiện của mỗi mức xám Nếu ảnh tối thì lược đồ xám lệch về phíabên trái, nếu ảnh sáng thì ngược lại, so với điểm quy chiếu
Trang 11Hình 10: Lược đồ xám
Ta cũng có thể tăng cường chất lượng ảnh bằng phương pháp cân bằng lược
đồ xám, giúp cho ảnh đồng đều về cường độ sáng
Hình 11: Cân bằng lược đồ xám
2.2.2 Biến đổi Fourier rời rạc (Fourier Enchancement)
Trang 12Bằng cách chia ảnh thành các khối 32 x 32 pixels, ta có thể giữ lại các thànhphần có tần số trội (vùng ảnh có đường vân) Do đó sau khi biến đổi xong,các đường vân sẽ rõ nét hơn, không bị nhòe cũng như loại bỏ bớt vân lỗi khilấy mẫu Công thức biến đổi FFT:
Trong đó
k: hệ số mũ của phổ Fourier
|F(I[x,y])| phổ FourierNếu chọn k quá lớn, sẽ dẫn đến đường vân bị sai
2.2.3 Ước lượng trường định hướng vân tay (Orientation)
Trường định hướng thể hiện đặc tính tự nhiên của vân tay Nguyên lý tínhtrường định hướng:
Trang 13Hình 12: ảnh đã được tính trường định hướng
2.2.4 Khoanh vùng vân tay (ROI extraction)
Theo phương pháp Morphology, có hai phép toán là Openning và Closing
• Openning: Loại bỏ những đối tượng không đủ lớn, tách chúng ra khỏinhững đối tượng lớn
• Closing: nối liền những mẫu rời nhau, lấp đầy các lỗ nhỏ
Ở đây ta dùng cả hai tính chất trên để khoanh vùng và chọn vùng mongmuốn
Trang 14Hình 13: ảnh đã được khoanh vùng
2.2.5 Nhị phân hóa ảnh (binarization) và làm mảnh (thinking)
Sau khi thực hiện biến đổi Fourier rời rạc, đường vân đã nổi rõ hơn so vớiảnh ban đầu Ta có thể chuyển ảnh xám sang ảnh nhị phân chỉ có 2 bit 0hoặc 1, sau đó tiếp tục làm mảnh đường vân lại với độ rộng = 1 pixel
Hình 14: ảnh được nhị phân hóa và làm mảnh
2.2.6 Phát hiện điểm đặc trưng (Minutiae Extrac)
Thuật toán crossing number (CN) được sử dụng rộng rãi trong việc để chọnđiểm đặc trung, do đó em chọn phương pháp này Tóm tắt cách làm như sau:
Trang 15Hình 15: vân rẽ nhánh và vân cụt trong nhị phân
Hình 16: ảnh sau khi được trích chọn đặc trưng
2.2.7 Ước lượng khoảng cách giữa các vân
Trang 16tế đó chỉ là 1 phần nhỏ của vân khác Vì vậy khâu ước lượng khoảng cáchgiữa các vân rất cần thiết để có dữ liệu chính xác về vân tay Ước lượngkhoảng các các vân có thể hiểu là giá trị trung bình khoảng cách giữa haiđường vân song song và gần nhau.
2.2.8 Hiệu chỉnh và lọc minutiae sai
Có kiểu vân sai như sau:
Hình 17: các vân saiĐây là quá trình loại bỏ các vân sai, giúp tăng tính xác thực của mẫu, do mỗivân sai đều ảnh hưởng đến kết quả so sánh cuối cùng Sau khi xử lý xong, talưu lại thông tin của mẫu
Hình 18: các vân sau khi được sửa và loại bỏ
2.2.9 So sánh đối chiếu vân với dữ liệu có sẵn
Do phương pháp nhận dạng vân tay này dựa trên minutiae, nên việc đốichiếu/so sánh dựa trên số liệu của ảnh đưa vào (input) và bản mẫu trong cơ
sở dự liệu (template) Bao gồm hai cộng đoạn :
• Khớp mẫu
Trang 17o Tính mức độ phù hợp cho đến khi đạt giá trị cho trước
• Đối chiếu
o Sau khi có được các cặp minutiae ta tính số cặp có cùng vị trí
và hướng để nhận dạng và đưa ra kết quả
Trang 18Chương 3: Kết quả và hướng phát triển
3.1 Kết quả
• Đã có thể đối chiếu và cho sự giống nhau giũa hai vân
• Đúng với thiết kế ban đầu là nhận dạng dựa trên các minitiae
• Do viết chương trình theo dạng file scipt nên dễ dàng thay đổi và bổ sungnếu cần thiết
Dưới đây là một số hình ảnh về giao diện chương trình và công dụng cácnút nhấn:
Hình 19: Giao diện chương trình
“Load” dùng để load ảnh
Trang 19Hình 20: Ảnh được LoadNút “Histogram” dùng để căng bằng lược đồ sáng, ảnh sau cân bằng sẽ sáng đềuhơn.
Hình 21: Vân tay saucân bằng lược đồ xámNút “FFT” dùng để tăng cường chat lượng ảnh bằng biến đổi Fourier nhanh, ta có thể lựa
Hình 22: Vân tay saukhi tăng cường chấtlượng ảnh bằng FFTNút
“Binarization” dùng để chuyển ảnh xám thành ảnh nhị phân
Trang 20Hình 23: Ảnh sau khi chuyển thành ảnh nhị phânNút”Direction” dùng để tính trường định hướng vân tay
Hình 24: Ảnh sau khi tính trường định hướngNút “Draw ROI” thực hiện khoanh vùng vân tay
Trang 21Hình 25: Ảnh sau khi khoanh vùngNút “Thinking” để làm mảnh đường vân với độ rộng bằng 1 pixel
Hình 26: Ảnh sau khi làm mảnhNút “remove H breaks” để xóa những minutiae dạng cross over
Trang 22Hình 27: Ảnh sau khi xóa minutiae saiNút “remove spike” xóa những vân thừa ra trên đường vân lớn
Hình 28: Ảnh sau khi xóa minutiae sai lần 2Nút “Extract” đưa ra các minutiae và nút “Real Minutiae” loại bỏ những điểm sai
Trang 23Hình 29: ảnh sau khi được lọc minutiae
3.2 Hướng phát triển đề tài
Tuy đã thành công trong việc nhận dạng vân tay, nhưng đề tài vẫn còn nhưng hạn chế thiếu sót:
• Cơ sở dữ liệu còn ít, chưa tự động hóa được khâu thu nhận mẫu
• Thuật toán xử lý và giao diện người dùng con thô sơ, cần cải thiện hơn trong tương lai
Bên cạnh đó, vẫn có những mặt tốt và hướng phát triển cho đề tài:
• Có thể nâng cấp, áp dụng đề tài cho việc thu nhận/xử lý vân tay trực tiếp, không cần ảnh số có sẵn
• Tăng thời gian xử lý chương trình lên, có thể thương mại hóa đồ án này
Trang 25[3] Wuzhili, Fingerprint Recognition, Hong Kong Baptist University, 2002.
0.3%