Đề tài Thiết kế hệ thống nhận dạng vân tay từ ảnh số

Tài liệu Đề tài Thiết kế hệ thống nhận dạng vân tay từ ảnh số: ĐỀ TÀI “Thiết kế hệ thống nhận dạng vân tay từ ảnh số” i Mục lục Mục lục............................................................................................................... i Danh mục các hình vẽ...................................................................................... iv Danh mục một số thuật ngữ thường dùng....................................................... vi Lời nói đầu ...................................................................................................... vii 1. Giới thiệu....................................................................................................... 1 2. Vân tay trong sinh trắc học ........................................................................... 4 2.1. Vị trí của nhận dạng vân tay trong sinh trắc học ................................................................ 4 2.2. Uniqe là một thuộc tính của vân tay..............................................................................

pdf71 trang | Chia sẻ: haohao | Lượt xem: 1227 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Thiết kế hệ thống nhận dạng vân tay từ ảnh số, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐỀ TÀI “Thiết kế hệ thống nhận dạng vân tay từ ảnh số” i Mục lục Mục lục............................................................................................................... i Danh mục các hình vẽ...................................................................................... iv Danh mục một số thuật ngữ thường dùng....................................................... vi Lời nói đầu ...................................................................................................... vii 1. Giới thiệu....................................................................................................... 1 2. Vân tay trong sinh trắc học ........................................................................... 4 2.1. Vị trí của nhận dạng vân tay trong sinh trắc học ................................................................ 4 2.2. Uniqe là một thuộc tính của vân tay..................................................................................... 5 2.3. Hình thức thể hiện và các đặc tả của vân tay....................................................................... 5 2.4. Khó khăn gặp phải khi nhận dạng vân tay .......................................................................... 7 3. Đại cương về ảnh số và xử lý ảnh trong Matlab ........................................... 8 3.1. Đại cương về ảnh số .............................................................................................................. 8 3.1.1. Biểu diễn ảnh số............................................................................................................................8 3.1.2. Cơ sở về màu ................................................................................................................................9 3.1.3. Chuyển đổi màu..........................................................................................................................12 3.2. Xử lý ảnh số trong Matlab.................................................................................................. 13 3.2.1. Histogram ...................................................................................................................................13 3.2.2. Phân ngưỡng cục bộ ....................................................................................................................14 3.2.3. Biến đổi Fourier-2D rời rạc .........................................................................................................15 3.2.4. Lọc ảnh Sobel .............................................................................................................................16 3.2.5. Phát hiện biên bằng toán tử gradient ............................................................................................18 3.2.6. Loang rộng và thu nhỏ đối tượng.................................................................................................20 4. Sơ đồ khối thiết kế hệ thống nhận dạng vân tay ......................................... 22 4.1. Các nguyên lý nhận dạng vân tay ...................................................................................... 22 4.2. Hệ thống nhận dạng vân tay............................................................................................... 23 4.3. Xây dựng hệ thống nhận dạng vân tay bằng ảnh số .......................................................... 24 ii 5. Tập mẫu ảnh vân tay ................................................................................... 26 6. Trích chọn minutiae cho đối sá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ân bằng cường độ sáng của ảnh.................................................................................................29 6.2. Tăng cường ảnh chất lượng ảnh......................................................................................... 30 6.2.1. Tăng cường ảnh bằng cân bằng histogram ...................................................................................30 6.2.2. Tăng cường ảnh bằng biến đổi Fourier-2D...................................................................................31 6.3. Ước lượng orientation image và khoanh vùng ảnh vân tay............................................... 32 6.3.1. Ước lượng orientation image.......................................................................................................32 6.3.2. Khoanh vùng ảnh vân tay ............................................................................................................34 6.4. Trích chọn minutiae ........................................................................................................... 35 6.4.1. Nhị phân hóa và làm mảnh đường vân .........................................................................................36 6.4.2. Phát hiện minutiae.......................................................................................................................37 6.4.3. Ước lượng khoảng cách đường vân..............................................................................................39 6.4. Hiệu chỉnh đường vân và lọc minutiae sai ......................................................................... 39 6.4.1. Hiệu chỉnh đường vân và lọc minutiae sai cấp một.......................................................................39 6.4.2. Lọc minutiae sai cấp hai và tạo mã từ minutiae ............................................................................41 7. Phân loại kiểu vân tay ................................................................................. 43 7.1. Trích chọ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 danh mẫu.......................................................... 48 8.1. Khớp mẫu hai mẫu vân tay ................................................................................................ 49 8.2. Đối sánh vân tay.................................................................................................................. 50 9. Tổng kế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ức bản thân thu được .................................................................................. 53 9.3. Những hạn chế của đồ án ................................................................................................... 53 9.4. Hướng phát triển ................................................................................................................ 53 Tài liệu tham khảo .......................................................................................... 55 iii Phụ lục ............................................................................................................ 56 Danh sách các script file khác trong đồ án ............................................................................... 56 Các bước chạy phần mềm mô phỏng........................................................................................ 57 iv Danh mục các hình vẽ Hình-1. Một số tín hiệu sinh trắc học cơ bản ..................................................... 4 Hình-2. Đóng góp của các ngành trong sinh trắc học.......................................... 4 Hình-3. Vân tay thể hiện ở cấp độ very-fine ....................................................... 5 Hình-4. Vân tay thể hiện trong cấp độ global ..................................................... 6 Hình-5. Hai dạng minutiae quan trọng................................................................ 7 Hình-6. Biểu diễn ảnh số .................................................................................... 8 Hình-7. Cảm nhận của các tế bào nhạy sáng trong võng mạc mắt ...................... 9 Hình-8. Tổ hợp màu. ........................................................................................ 10 Hình-9. Hệ tọa độ màu ..................................................................................... 11 Hình-10. Phân tích lược đồ xám....................................................................... 14 Hình-11. Giá trị ngưỡng tối ưu. ........................................................................ 15 Hình-12. Các bước thực hiện lọc ảnh trong miền tần số ................................... 16 Hình-13. Các bước lọc ảnh bằng toán tử không gian ........................................ 17 Hình-14. Biểu diễn mask.................................................................................. 18 Hình-15. Loang rộng đối tượng........................................................................ 20 Hình-16. Thu nhỏ đối tượng............................................................................. 21 Hình-17. Tạo mã vân tay.................................................................................. 22 Hình-18. Sơ đồ khối hệ thống nhận dạng vân tay ............................................. 24 Hình-19. Các loại vân tay................................................................................. 26 Hình-20. Thuật toán trích chọn minutiae .......................................................... 28 Hình-21. Tăng cường ảnh................................................................................. 30 Hình-22. Ước lượng orientation image............................................................. 33 Hình-23. Khoanh vùng ảnh vân tay .................................................................. 35 Hình-24. Thông số của hai dạng minutiae quan trọng....................................... 36 Hình-25. Nhị phân hóa và làm mảnh đường vân .............................................. 36 Hình-26. Phát hiện minutiae ............................................................................. 38 v Hình-27. Số minutiae phát hiện được ............................................................... 40 Hình-28. Lọc các minutiae ............................................................................... 40 Hình-29. Các minutiae được trích chọn cuối để tạo mã .................................... 41 Hình-30. Năm kiểu vân tay trong thực tế.......................................................... 43 Hình-31. Sơ đồ khối mô tả thuật toán phân loại vân tay ................................... 44 Hình-32. Phương pháp chỉ số Poincaré............................................................. 44 Hình-33. Lấy đặc tính cho phân loại................................................................. 46 Hình-34. Kết quả cây quyết định của bài toán phân loại kiểu vân..................... 46 Hình-35. Đường cong sai số học và kiểm tra. ................................................... 47 Hình-36. Đối chiếu vân tay dựa trên cơ sở minutiae ......................................... 48 Hình-37. Khớp mẫu từng đối tượng.................................................................. 49 Hình-38. Thực hiện matching........................................................................... 50 Hình-39. Kết quả nhận dạng............................................................................. 51 Hình-40. Cửa sổ giao diện. ............................................................................... 57 Hình-41. Mở một file ảnh................................................................................. 57 Hình-42. Cân bằng lược đồ xám....................................................................... 58 Hình-43. Biến đổi Fourier rời rạc và cân bằng cường độ sáng. ......................... 58 Hình-44. Nhị phân hóa ảnh............................................................................... 59 Hình-45. Trường định hướng. .......................................................................... 59 Hình-46. Segmentation..................................................................................... 60 Hình-47. Phát hiện core. ................................................................................... 60 Hình-47. Làm mảnh đường vân........................................................................ 61 Hình-48. Lọc minutiae. .................................................................................... 61 Hình-49. Hiển thị minutiae. .............................................................................. 62 Hình-50. Đối sánh vân tay. ............................................................................... 62 vi Danh mục một số thuật ngữ thường dùng trong nhận dạng vân tay · Ridge: Đường vân tay trên ngón tay người. · Vallay: Đường rãnh xen kẽ hai đường vân tay. · Singular: Điểm kỳ dị của vân tay trên ngón tay người, mang đặc điểm phân loại. · Core: Điểm “tâm” của vân tay, là một trong những điểm singular. · Minutia: Điểm đặc trưng của vân tay trên ngón tay con người. · Termination: Điểm kết thúc của đường vân, một loại minutia quan trọng. · Bifurcation: Điểm trẽ ba của đường vân, là một loại minutia quan trong. · Sweat pores: Vòng xuyến xếp liên tiếp tạo thành đường vân (thường quan sát được khi ảnh vân tay ở độ phân giải cao: > 1000dpi). · Orientation Image: Hình ảnh thể hiện các định hướng cục bộ của các đường vân tay, bao gồm nhiều phần tử [ ]ij 0,q pÎ tại các điểm [i,j]. · Direction Image: Tương tự như Orientation Image nhưng [ ]ij 0, 2q pÎ . · Segmentation: Phân định giữa vùng ảnh thể hiện đường vân và vùng ảnh nền. · Varance field: Một các thể hiện vùng ảnh thể hiện đường vân còn thô. · Crossing number: Một phương pháp dùng để phát hiện minutiae. · Poincaré: Một phương pháp dùng để phát hiện core theo trường vec-tơ và đường bao. · Ridge map: Ảnh đen trắng chỉ thể hiện các đường vân màu trắng nhưng không nhất thiết các đường vân có độ rộng đồng đều. · Thinned ridge map: Ảnh đen trắng thể hiện các đường vân màu trắng nhưng nhất thiết các đường vân có độ rộng đồng đều 1pixel vii Lời nói đầu Hiện nay, việc thu thập, xử lý thông tin qua ảnh để nhận biết đối tượng đang được quan tâm và ứng dụng rộng rãi. Với phương pháp nay, chúng ta có thể thu nhận được nhiều thông tin từ đối tượng mà lại không cần tác động nhiều đến đối tượng nghiên cứu. Một trong những nhóm ứng dụng hay gặp trong xử lý thông tin bằng hình ảnh là xác minh hoặc định danh mẫu. Nhận dạng vân tay là một bài toán cụ thể mà cần phải giải quyết một trong hai vấn đề nêu trên: xác minh vân tay (fingerprint verification) hoặc định danh vân tay (fingerprint identification). Qua tìm hiểu thực tế em chọn đề tài: “Thiết kế hệ thống nhận dạng vân tay từ ảnh số”. Đề tài này có nội dung bao trùm lên cả các hệ thống có kiểu nhận nhận dạng verification (cần mã PIN cộng với ảnh vân tay). Do đề tài có tính chất mới, trong quá trình làm đồ án em đã gặp rất nhiều khó khăn. Được sự giúp đỡ, chỉ bảo tận tình của TSKH. TRẦN HOÀI LINH em đã dần dần tiếp cận được tới lĩnh vực này và bước đầu đã đạt được một số các kết quả (phân loại được hơn 90% các kiểu vân tay và định danh được vân tay). Sau thời gian 15 tuần khẩn trương thực hiện đồ án tốt nghiệp, đề tài đã được hoàn thành đúng kế hoạch. Em mong những thiếu sót của em trong đồ án sẽ nhận được những ý kiến đóng góp quý báu của các thầy, cô cùng các bạn sinh viên. Em xin chân thành cảm ơn TSKH.TRẦN HOÀI LINH. Thầy đã tận tình chỉ bảo em rất nhiều. Các thầy cô giáo trường Đại Học Bách Khoa, bộ môn Kỹ thuật đo và Tin học công nghiệp đã cho em những kiến thức, kinh nghiệm, cùng những bài học giúp trưởng thành hơn trong quá trình học tập ở trường. Xin cảm ơn bạn bè, người thân, gia đình đã động viên, giúp đỡ và là chỗ dựa vững chắc cho em trong quá trình học tập, làm đồ án. viii Xin cảm ơn Công ty TNHH Tin học và Điện tử Thăng Long cùng chú VŨ QUANG THÀNH đã tạo điều kiện giúp đỡ, cho em nhiều lời khuyên bổ ích trong quá trình thực tập tốt nghiệp và làm đồ án. Hà Nội, ngày 20 tháng 5 năm 2007 Sinh viên thực hiện Ngô Hồng Việt 1. GIỚI THIỆU 1 1. Giới thiệu Nhận dạng vân tay là một bộ phận của nhận dạng sinh học. Khoa học nhận dạng vân tay cũng đã hình thành từ khá lâu. Nhưng tới thời gian gần đây, cùng với sự ra đời của máy tính nó mới đạt được nhiều kết quả quan trọng và trở thành một trong những phương pháp sinh trắc có độ tin cậy nhất. Ảnh vân tay dùng để nhận dạng thường bị ảnh hưởng nhiều bởi điều kiện thu thập số liệu (hình ảnh vân tay không trọn vẹn, bị xoay góc, méo hay có nhiều nhiễu…) nên việc so sánh trực tiếp hai mẫu vân tay sẽ rất phức tạp và khó khăn. Do đó vân tay cần lọc nhiễu, sau đó tạo mã từ một số các đặc tính của nó (có thể phân biệt với vân tay khác) nhằm mục đích giải quyết vấn xử lý, lưu trữ vân tay với số lượng lớn mà vẫn đảm bảo chính xác. Các kỹ thuật thực nhận dạng vân tay cũng có khá nhiều. Tựu trung, quá trình này trải qua ba công đoạn chính: thu nhận vân tay (i); trích chọn đặc tính vân tay (ii); đối sánh vân tay (iii) [1]. Bởi vì ngay trong từng công đoạn này lại có nhiều biện pháp khác nhau, tùy vào ngữ cảnh và vùng ứng dụng các khâu này sẽ thực hiện theo cách cụ thể. Công nghệ nhận dạng vân tay ngày nay đã đạt tới độ chính xác rất cao. Tuy vây, các hệ thống nhận dạng AFIS (Automated Fingerprint Identification Systems) vẫn còn nhiều mặt hạn chế. Chẳng hạn như IAFIS của FBI có cơ sở dữ liệu lớn tới hàng trăm triệu vân tay, thời gian tìm kiếm tính bằng phút cho một mẫu, độ tin cậy cao… nhưng đó là một hệ thống đồ sộ gồm nhiều máy tính xử lý song song và giới hạn trong giám định hình sự. Trong ứng dụng dân sư, các hệ thống nhận dạng thường được giới hạn ở một mức độ ít phức tạp hơn: số mẫu không lớn (khoảng vài nghìn), cấu trúc hệ thống kiểu nối tiếp, ảnh đầu vào không có quá nhiều nhiễu (nhằm giảm bớt gánh nặng xử lý tính toán),… có vậy mới giải quyết được vấn đề chi phí đồng thời vẫn đảm bảo độ tin cây. Đồ án này sẽ thực hiện nhận dạng vân tay bàng ảnh số theo hướng có thể triển khai trong dân sư. Chính vì vây phương pháp nhận dạng là dựa trên cơ sở phát hiện và sử dụng các điểm nút đặc trưng (gọi là minutiae) [2]. Đây là 1. GIỚI THIỆU 2 phương pháp thứ hai trong ba phương pháp nhận dạng được áp dụng nhiều hiện nay [1], ch. 4. Hệ thống AFIS nói chung cũng sử dụng phương pháp này [11]. · Phương pháp thứ nhất, sử dụng đặc trưng tương quan của hai mẫu vân tay. Xếp chồng trực tiếp hai mẫu này và dựa vào tương quan giữa các pixel để tính toán sự khác nhau giữa hai mẫu. Phương pháp này không thích hợp với đồ án vì đòi hỏi khối lượng tính toán lớn mà chất lượng ảnh phải đảm tốt. · Phương pháp thứ ba, sử dụng các đặc trưng về đường vân. Đường vân của các mẫu được trích ra khỏi ảnh ban đầu rồi so sánh giữa chúng. Phương pháp này không thích hợp với đồ án vì nó chỉ thích hợp với các mẫu có chất lượng xấu (chẳng hạn như vân tay tội phạm để lại hiện trường sau vụ án). Đồ án sẽ sử dụng bộ mẫu chuẩn các vân tay đã được chuẩn bị trước. Đó là các ảnh số vân tay lấy trong FVC200 (một bộ dữ liệu chuẩn quốc tế xây dựng bởi phòng thí nghiêm hệ thống sinh trắc, đại học Bologna). Trong tâm của đồ án tập trung vào hai phần: · Tạo vec-tơ đặc tính cho mục đích phân loại kiểu vân tay và cho đối sánh vân tay (feature extraction). · Sử dụng các điểm minutea đã trích chọn bước trước để đối sánh nhận dạng vân tay (minutiae matching). Đồ án trình bày theo cấu trúc: · Chương 1: Giới thiệu chung. · Chương 2: Vân tay trong sinh trắc học. Đề cập một số bộ phận của sinh trắc học (trong đó có nhận dạng vân tay) và những tính chất gì quyết định vân tay được ứng dụng nhiều nhất trong sinh trắc học. · Chương 3: Đại cương về ảnh và xử lý ảnh trong Matlab, trình bày khái quát về ảnh số và một số thuật toán xử lý ảnh trong Matlab sử dụng trong đồ án. 1. GIỚI THIỆU 3 · Chương 4: Sơ đồ khối thiết kế hệ thống. Đề cập một số mô hình hệ thống nhận dạng vân tay và xây dựng sơ đồ khối hệ thống nhận dạng vân tay bằng ảnh số. · Chương 5: Bộ dữ liệu ảnh sử dụng trong đồ án. Đây là bộ dữ liệu ảnh vân tay trích ra từ FVC2000 (cơ sở dữ liệu ảnh vân tay chuẩn, hiện nay được nhiều nhà khoa học chọn để nghiên cứu và kiểm nghiệm kết quả). · Chương 6: Trích chọn đặc tính vân tay và đối sánh vân tay. Đây một trong những công đoạn quan trọng nhất của đồ án. Giai đoạn này áp dụng các thuật toán xử lý ảnh để tạo mã vân tay. · Chương 7: Đối sánh vân tay. Mẫu vân tay được tạo mã từ minutiae ở công đoạn trước được đối sánh trong công đoạn này. · Chương 8: Phân loại kiểu vân tay. Trình bày về vấn đề tạo vec-tơ đặc tính cho khâu phân loại kiểu vân tay và thực hiện phân loại kiểu vân tay. · Chương 9: Tổng kết và hướng phát triển. Trình bày những kết quả của đồ án, những kiến thức bản thân thu được, các hạn chế và hướng phát triển đề tài. · Tài liệu tham khảo. Liệt kê một số tài liệu dùng tham khảo chính trong đồ án. · Phụ lục. Bao gồm danh sách các script file của phân mềm mô phỏng và các bước thực hiện chạy phần mềm mô phỏng nhận dạng vân tay. 2. VÂN TAY TRONG SINH TRẮC HỌC 4 2. Vân tay trong sinh trắc học Trong phần này sẽ trình bày những tiếp cận khởi đầu, như: vị trí của nhận dạng vân tay trong sinh trắc học; những tính chất của vân tay để trở thành đối tượng cơ bản của sinh trắc học; hình thức thể hiện và đặc tả của một mẫu vân tay và những khó khăn gặp phải khi nhận dạng vân tay. a) b) c) Hình-1. Một số tín hiệu sinh trắc học cơ bản: a) giọng nói; b) đồng tử; c) chữ ký. 2.1. Vị trí của nhận dạng vân tay trong sinh trắc học Dựa vào tiêu chuẩn physiological sinh trắc học có: dạng vân tay, mặt, đồng tử, giọng nói… Còn dựa vào tiêu chuẩn behavioral sinh trắc học có: nhận dạng chữ viết, chữ ký… Dưới đây là biểu đồ tương quan ứng dụng sinh trắc (số liệu thống kê của International Biometric Group, 2002). Hình-2. Đóng góp của các ngành trong sinh trắc học. (vân tay đứng vị trí hàng đầu trong các ứng dụng nhận dạng) 2. VÂN TAY TRONG SINH TRẮC HỌC 5 2.2. Uniqe là một thuộc tính của vân tay Cho tới nay, vẫn chưa có bằng chứng xác thực 100% vân tay trên các ngón tay tuyệt đối mang tính cá nhân và không hề lặp lại. Câu trả lời chính xác chỉ có được khi đem so sánh từng mẫu vân tay của mười đầu ngón người với hơn sáu tỉ người còn lại. Tuy nhiên khi không xét tới phần nhỏ lẻ ấy có thể rút ra một số tính chất cơ bản của vân tay để nó trở thành phổ biến trong ứng dụng nhận dạng và định danh con người [2, 11]: · Tính “phổ thông”, mọi người đều có. · Tính cá nhân và không lặp lại. Xác suất trùng khớp với người khác gần bằng không. · Tính “bất biến”. Hình dạng tổng thể của vân tay trên các ngón tay của con người không thay đổi theo thời gian. Ngay cả trường hợp bị chấn thưong nhẹ, dấu vân tay vẫn có khả năng khôi phục lại. 2.3. Hình thức thể hiện và các đặc tả của vân tay Nhằm mục đích mô tả người ta đã định nghĩa một số hình thức thể hiện vân tay. Mỗi một trường hợp thể hiện thì sẽ có hình thức trích chọn đặc tả vân tay tương ứng. Vì vậy, căn cứ vào ảnh vân tay đầu vào chúng ta có thể lựa chọn được đặc tính cần trích chọn và dự kiến phương án nhận dạng. Hình-3. Vân tay thể hiện ở cấp độ very-fine: các sweat pores được khoanh tròn, điểm vân chẽ ba (bifurcation) và vân cụt (termination) đánh dấu hình tròn. 2. VÂN TAY TRONG SINH TRẮC HỌC 6 Hình thức thể hiện vân tay được chia thành ba cấp độ: global (thể hiện tổng thể vân tay), local (thể hiện vân tay bởi một số nút đặc trưng khi đường vân làm mảnh đến một pixel), very-fine (thể hiện bởi các vòng xuyến tạo hình nên đường vân - sweat pores) [1], tr. 28-31, 83-85. Đối với cấp độ very-fine thì đòi hỏi các phương tiện xử lý tốn kém cũng như các yêu cầu đặc biệt khác mà khó có thể ứng dụng trong dân sự. Chẳng hạn để trích được các pores, ảnh cần có độ phân giải tối thiểu 1000dpi. Sau đây sẽ tìm hiểu sâu hơn các đặc trưng vân tay ở hai cấp độ đầu. a) b) c) d) e) Hình-4. Vân tay thể hiện trong cấp độ global: a) arch; b) whorl; c) tented arch; d) left loop; e) right loop; hình vuông đánh dấu điểm loop, hình tam giác đánh dấu điểm delta. Ở cấp độ global, đặc trưng vân tay liên quan nhiều đến sự tạo hình của đường vân và các điểm kỳ dị (singular), chúng bao gồm: loop (đường vân tạo vòng xoáy hở), delta (đường vân tạo hình tam giác). Điểm kỳ dị có vai trò quan trọng trong việc thực hiện phân loại vân tay và tổ chức, xây dựng cơ sở dữ liệu. 2. VÂN TAY TRONG SINH TRẮC HỌC 7 Ở mức độ cục bộ, các đặc trưng của vân tay được gọi là minutiae. Người ta đã thống kê có tới 150 đặc trưng loại này. Hai đặc trưng cơ bản và nổi trội hơn cả là ride temination và ridge bifurcation (cũng được gọi tắt là minutiae) a) b) Hình-5. Hai dạng minutiae quan trọng: a) ridge termination; b) ridge bifurcation. 2.4. Khó khăn gặp phải khi nhận dạng vân tay Do điều kiện thu nhận ảnh quyết định nhiều đến chất lượng ảnh thu thập nên nhiều khi các chi tiết trên mẫu vân tay không thể hiện rõ ràng. Có thể liệt kê một số trường hợp dưới đây: · Dry finger (vân tay thu nhận trong điều kiện “khô”): ảnh thu nhận sẽ có nhiều chỗ đường vân bị mờ đi, đường vân bị lẫn với nền ảnh. Lực ấn của tay nhẹ hoặc mực in không đủ (với vân tay lăn trên giấy) là các nguyên nhân chính làm giảm chất lượng ảnh thu thập. · Wet finger (vân tay thu nhận trong điều kiện “ướt”): ảnh thu nhận sẽ có nhiều chỗ đường vân bị dính liền. Lực ấn của ngón tay quá lớn hoặc mực in quá nhiều (với vân tay lăn trên giấy) là các nguyên nhân chính tạo nhiễu trong trường hợp này. · Vân tay thu nhận trong điều kiện bị biến dạng: ảnh thu nhận được có thể thể hiện rõ nét nhưng các đường vân lại bị bóp méo không còn giống với mẫu thực. Lực ấn, kéo và xê dịch tay là các nguyên nhân chính. · Vân tay thu thập không đầy đủ: ảnh thu thập được chỉ có một phần vân tay trên ngón tay. Nguyên nhân chính là do ngón tay đặt không đúng vị trí chuẩn thu thập. Tuy vậy trong thực tế cũng có nhiều mẫu vân tay thu thập trong điều kiện tốt nên có chất lượng cao 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 8 3. Đại cương về ảnh số và xử lý ảnh trong Matlab Đồ án này không xây dựng bộ thu thập mẫu vân tay mà sử dụng bộ mẫu chuẩn quốc tế FVC2000 do phòng thí nghiệm hệ thống sinh trắc, đại học Bologna tạo ra. Trong cơ sở dữ liệu ấy, các mẫu được lưu dữ dưới dạng ảnh số. Bởi vậy, quá trình xử lý tính toán thực hiện đồ án phải làm việc chính với dạng số liệu đó. Cho nên, trong phần này sẽ trình bày tóm tắt về ảnh số và một số thuật toán xử lý ảnh số trong Matlab. 3.1. Đại cương về ảnh số Ảnh có thể biểu diễn dưới dạng tín hiệu tương tự hoặc số. Trong phần sẽ tập trung vào biểu diễn ảnh số, cơ sở về mầu và việc chuyển đổi màu. 3.1.1. Biểu diễn ảnh số Ảnh xám cũng như các ảnh số khác là tập hợp các phần tử ảnh hay còn gọi là các pixel, [ , ]i j . Ảnh được biểu diễn như một ma-trận hai chiều cỡ W H´ , hai thông số này cho biết thông tin về độ rộng và chiều cao ảnh. Giá trị của mỗi phần tử của ma-trận [ , ]I i j biểu diễn cho mức xám hay cường độ ảnh tại vị trí của phần tử đó. é ù ê ú ê ú= ê ú ê ú ë û f(1,1) f(1,2) f(1,N) f(2,1) f(2,2) f(2,N)f f(M,1) f(M,2) f(M,N) L L M M M L a) b) Hình-6. Biểu diễn ảnh số: a) hệ trục tọa độ trong Image Processing Toolbox; b) ma-trận biểu diễn ảnh số 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 9 Tùy theo yêu cầu lưu trữ, các pixel sẽ được mã hóa bằng 8-bit, 16-bit,… tương ứng với ảnh xám 256, 65536 mức. Với ảnh đen trắng, các pixel này được lưu trữ bằng 1-bit. Cường độ ảnh I chỉ có thể là một trong hai giá trị, [ ][ , ] 0,1I i j Î . Ứng với giá trị 0 đó là các điểm đen, còn với giá trị 1 đó là điểm trắng. Với ảnh màu, cách biểu diễn cũng tương tự như với ảnh xám, chỉ khác là các giá trị tại mỗi phần tử của ma-trận biểu diễn ba màu riêng biệt gồm: đỏ (Red-R), lục (Green-G) và lam (Blue-B). Để biểu diễn cho ba màu riêng rẽ cần 24-bit, 24- bit này được chia thành ba khoảng 8-bit. Mỗi khoảng này biểu diễn cho cường độ sáng của một trong các màu chính. 3.1.2. Cơ sở về màu Ánh sáng màu là tổ hợp các ánh sáng đơn sắc. Mắt người có thể cảm nhận được một số màu nhất định nhưng lại có thể phân biệt được rất nhiều màu (trong vùng quang nhìn thấy, có dải bước sóng 400 750nm nm¸ ). Cảm nhận màu của con người phụ thuộc vào ba thuộc tính B, H, S. B (brightness): độ chói, H (hue): sắc lượng, S (saturation): độ bão hòa. Hình-7. Cảm nhận của các tế bào nhạy sáng trong võng mạc mắt với các màu ánh sáng phụ thuộc vào chiều dài bước sóng ánh sáng. 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 10 Trong võng mạc mắt người có các tế bào cảm thụ hình nón nhạy với ánh sáng. Có khoảng 6 ¸7 triệu tế bào loại này trong mắt, chúng chia làm ba nhóm nhạy với ba màu ánh sáng khác nhau: 65% tế bào nhạy với ánh sáng đỏ (red), 32% tế bào nhạy với ánh sáng xanh lục (green) và 2% còn lại nhạy với ánh sáng xanh lơ (blue). Tổ hợp B, H, S đối với từng ánh sáng màu trong ba màu này giúp mắt con người có thể phân biệt được hàng ngàn màu. R, G, B còn được gọi là các màu cơ sở. Phân bổ phổ năng lượng của một nguồn sáng màu có bước sóng l ký hiệu là ( )C l và việc tổ hợp màu theo ba màu cơ sở (có các đường cong cảm nhận 1S , 2S , 3S ) mô tả bằng sơ đồ khối sau: Hình-8. Tổ hợp màu. Đáp ứng phổ ( )i Ca sẽ được tính như sau trong dải bước sóng ( ) max min ( ) ( )i iC S c d l l a l l l= ò , 1,3i = . Với phân phối xác xuất của ba màu ( )kp x , 1,3k = nên có: max min ( ) 1 x k x p x dx =ò . 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 11 Giả sử ba màu cơ bản được tổ hợp theo tỉ lệ ( )kb l , 1,3i = . Để tạo ra một màu có phân bố phổ năng lượng ( )C l sẽ bằng 3 1 ( ) ( )k k k p xb l = å . Thay giá trị vào phương trình về đáp ứng phổ: max max3 3 3 , 1 1 1min min ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )i i k k k i k k i k k k k c S x p x dx x S p x dx x a l l l l a l b b l b = = = æ ö = = =ç ÷ è ø å å åò ò trong đó: max i, k min ( ) ( )i kS p x dx l l a l= ò . Như vậy có thể tổ hợp màu theo phép cộng màu với ia là hệ số tổ hợp theo công thức tổng quát sau: 1 2 3X R G Ba a a= + + Tổ chức quốc tế về chẩn hóa màu CIE đã đưa ra một số không gian màu như: RGB, CMY, CMYK, HIS,… Trong đó mô hình RGB có vai trò quan trọng. x red P green blue é ù ê ú= ê ú ê úë û a) b) Hình-9. Hệ tọa độ màu: a) mô hình màu RGB; b) biểu diễn điểm ảnh trong hệ tọa độ màu RGB. 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 12 3.1.3. Chuyển đổi màu Hệ tọa độ màu do CIE quy định như một hệ quy chiếu và trên thực tế không thể biểu diễn hết các màu. Tùy thuộc vào các ứng dụng khác nhau người ta đưa ra thêm một số hệ tọa độ khác như NTSC, CMY, YIQ... phù hợp với yêu cầu hiển thị màu sắc. Việc chuyển đổi giữa các không gian biểu diễn màu thực hiện theo nguyên tắc sau: x xP A P *= ´ , trong đó: xP : không gian biểu diễn màu ban đầu, xP * : không gian biểu diễn màu mới, A : ma-trận phép biến đổi. Ảnh dùng trong đồ án này là ảnh xám. Mức xám là kết quả của sự mã hóa tương ứng một cường độ sáng của điểm ảnh với một trị số. Giá trị của nó phụ thuộc vào mức độ lượng tử hóa ảnh, như các ảnh dùng làm cơ sở dữ liệu đã lấy 8-bit để mã hóa ảnh (ứng với 256 mức xám, trong đó mức xám 0 là màu đen, mức xám 255 là màu trắng). Khi chuyển đổi từ ảnh màu RGB sang ảnh xám có thể dùng công thức sau: 1 2 3grayscale R G Ba a a= + + , các hệ số ia lần lượt như dưới đây [6]. 1 2 30,2989; 0,5870; 0,1140a a a= = = 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 13 3.2. Xử lý ảnh số trong Matlab Đứng về mặt xử lý tín hiệu nói chung và xử lý ảnh nói riêng, Matlab là công cụ rất mạnh. Hầu hết các thuật toán về ảnh và xử lý ảnh đều đã được thể hiện trong các hàm của Matlab như các hàm đọc, ghi ảnh, chuyển đổi giữa các hệ màu của ảnh, các thuật toán phát hiện biên, tách đối tượng, khớp mẫu, các phép biến đổi ảnh như xoay ảnh, chuẩn kích thước, tịnh tiến,... Các thư viện ngày càng được mở rộng, các hàm ứng dụng có thể được lập bởi người sử dụng. Ứng dụng phần mềm Matlab trong xử lý ảnh sẽ có được nhiều tiện ích và trợ giúp. Câu lệnh Matlab được gần với các thuật ngữ mô tả kỹ thuật, câu lệnh ngắn gọn và có thể tra cứu nhanh trong chức năng Help. Trong Matlab có nhiều Toolbox hỗ trợ các ứng dụng chuyên sâu. Với bài toán nhận dạng hình ảnh, các Toolbox thường được sử dụng gồm: · Image Processing Toolbox · Image Acqusition Toolbox · Wavelet Toolbox · Signal Processing · Statistics Toolbox · Neural Network Toobox Các thuật toán xử lý trong đồ án đều được viết bằng ngôn ngữ lập trình phần mềm Matlab. Các chương trình có sử dụng một một số thư viện của Matlab (chủ yếu trong Image Processing Toolbox, Statistics Toolbox). Sau đây là một số công cụ xử lý và thuật toán xử lý ảnh chính được ứng dụng trong đồ án. 3.2.1. Histogram Histogram (lược đồ xám) thể hiện tần suất xuất hiện mỗi mức xám trong ảnh. Lược đồ xám biểu diễn trong hệ tọa độ Oxy: trục hoành biểu diễn N mức xám (tùy theo số bit mã hóa pixel), trục tung biểu diễn số điểm ảnh một mức xám tương ứng. 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 14 Lược đồ xám cung cấp thông tin về phân bố mức xám của ảnh. Nó cho phép phân tích trong khoảng nào đó phân bố phần lớn mức xám của ảnh. Nếu ảnh sáng thì lược đồ xám lệch về phía bên trái, nếu ảnh tối thì lược đồ xám lệch về bên phải so với điểm quy chiếu (giữa mức xám N). a) b) c) d) Hình-10. Phân tích lược đồ xám: a) ảnh sáng và b) lược đồ xám của (a) lệch phải; c) ảnh tối và d) lược đồ xám của (c) lệch trái. 3.2.2. Phân ngưỡng cục bộ Phân ngưỡng với mục đích làm tăng độ tương phản các đối tượng cần quan tâm đông thời loại bớt nhiễu. Nếu phân ngưỡng toàn bộ ảnh nhiều khi tỏ ra không hiệu quả, nhất là khi cường độ sáng của ảnh không đồng đều. Phân ngưỡng cục bộ cũng giống như phân ngưỡng nhưng chỉ khác ở điểm: ngưỡng được chọn thích nghi với từng vùng cục bộ của ảnh. Điều này rất có ý nghĩa trong khâu nhị phân hóa ảnh vân tay. Vùng cục bộ thường dùng có thể là các block dạng hình vuông hay hình chữ nhật. 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 15 Ảnh xám khi phân ngưỡng thì kết quả phân ngưỡng đi đôi với nhị phân hóa ảnh. Một điểm bất kỳ (x, y) thuộc ảnh f khi có ( , )f x y T³ thì được gọi là object point (điểm trên nền), trường hợp còn lại gọi là background point (điểm nền). Đối tượng ưu tiên trích chọn từ phân ngưỡng không quan trọng là bachground point hay object point. Đấy chỉ là các tên gọi quy ước và chúng có thể chuyển đổi dễ dàng cho nhau nhờ biến đổi âm bản. Hình-11. Giá trị ngưỡng tối ưu. Kết quả phân ngưỡng được ảnh ( , )g x y thì nó được định nghĩa liên hệ ( ) 1 : ( , ), 0 : ( , ) f x y T g x y f x y T ³ì = í <î 3.2.3. Biến đổi Fourier-2D rời rạc Biến đồi Fourier rời rạc trong xử lý ảnh số nhằm mục đích lọc lấy các thành phần tín hiệu ảnh có tần số trội. Với ảnh vân tay vùng ảnh co các đường vân đóng vai trò làm tín hiệu có tần số trội. Có ( , )f x y , với 0, 1x M= - và 0, 1y N= - là một ảnh số cỡ M N´ . Biến đổi Fourier rời rạc của f là ( , )F u v . ( ) 1 1 2 / / 0 0 ( , ) ( , ) M N j ux M vy N x y F u v f x y e p - - - + = = = åå , 0, 1u M= - , 0, 1v N= - . 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 16 Biến đổi ngược Fourier rời rạc định nghĩa bởi công thức: ( ) 1 1 2 / / 0 0 ( , ) ( , ) M N j ux M vy N u v f x y F u v e p - - - + = = = åå , 0, 1x M= - , 0, 1y N= - . Biến đổi Fourier rời rạc của ảnh f còn được viết dưới dạng: ( ),( , ) ( , ) j u vF u v F u v e f-= , trong đó ( ),u vf là góc pha, ( , )F u v là phổ Fourier. Các bước thực hiện lọc ảnh trong miền tần số bằng biến đổi Fourier rời rạc có thể mô tả bởi sơ đồ dưới đây. Hình-12. Các bước thực hiện lọc ảnh trong miền tần số. 3.2.4. Lọc ảnh Sobel Lọc Sobel là một trường hợp của lọc số tuyến tính. Nghĩa là bộ lọc dùng một convolution-mask (cửa sổ dùng để nhân chập, gọi tắt mask), rồi lấy tổng có trọng số các điểm lân cận với điểm ở chính giữa trong mask đó. Di chuyển mask trên toàn bộ miền tín hiệu ảnh, mỗi bước một pixel, cuối cùng thu ảnh kết quả. 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 17 Tổng quát, lọc tuyến tính của ảnh số f cỡ M N´ với convolution-mask có cỡ m n´ định bởi như sau ( ) ( )( , ) , , a b s a t b g x y w s t f x s y t =- =- = + +å å , trong đó: ( )1 / 2a m= - , ( )1 / 2b n= - và 0, 1x M= - , 0, 1y N= - . Hình-13. Các bước lọc ảnh bằng toán tử không gian. 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 18 Đáp ứng lọc số tại từng điểm (x,y) là R, đối với lọc Sobel sẽ là ( ) ( ) 9 7 8 9 1 3 4 1 2 2x xi i i R w z z z z z z z = = = + + - + +å , ( ) ( ) 9 3 6 9 1 4 7 1 2 2y yi i i R w z z z z z z z = = = + + - + +å , trong đó iz là mức xám của ảnh. a) b) Hình-14. Biểu diễn mask: a) các hệ số của mask cỡ 3 3´ ; b) các hệ số của cặp mask dùng cho lọc Sobel 3.2.5. Phát hiện biên bằng toán tử gradient Sử dụng toán tử gradient trong miền 2D là một trong các phương pháp dùng để phát hiện biên. Toán tử định nghĩa như là một vec-tơ hai thành phần x y G f x G f y é ù ¶ ¶é ù Ñ = =ê ú ê ú¶ ¶ë ûë û f Toán tử xác định mô-đun và góc của gradient lần lượt như sau ( ) ( ) ( ) ( ) ( ) 1/ 22 2 1/ 22 2/ / , , . x y x y f mag G G f x f y x y arctg G Ga é ùÑ = Ñ = +ë û é ù= ¶ ¶ + ¶ ¶ë û = f 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 19 Thông thường thành phần mô-đun chỉ cần tính xấp xỉ là đã đạt yêu cầu độ chính xác của bài toán đặt ra. Hai công thức gần đùng hay sử dụng là tổng các bình phương 2 2x yf G GÑ » + và tổng các giá trị tuyệt đối x yf G GÑ » + . 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 20 3.2.6. Loang rộng và thu nhỏ đối tượng Loang rộng (dilation) và thu nhỏ (erosion) đối tượng là hai toán tử cơ của nhóm thuật toán xử lý morphology. Cả hai toán tử này chỉ áp dụng cho các ảnh nhị phân và mô tả toán học của morphology là các phép toán tập hợp [3]. Đồ án sẽ vận dụng nhiều hai thuật toán trong công đoạn: khoanh vùng ảnh, làm mảnh biên, và hiệu chỉnh đường vân. a) c) b) d) Hình-15. Loang rộng đối tượng. a) ảnh ban đầu với đối tượng hình chữ nhật; b) strel có ba pixel xếp thành dạng đoạn thẳng, chéo 450 so với phương ngang; c) strel di chuyển khắp ảnh và các điểm bị tác động; d) ảnh kết quả. Phần tử cơ bản để thực hiện loang rộng hay thu hẹp gọi là structuring element (viết tắt là strel). Căn cứ vào ảnh gốc cộng với độ lớn và hình dạng của 3. ĐẠI CƯƠNG VỀ ẢNH VÀ XỬ LÝ ẢNH 21 strel, đối tượng bị cắt bớt hoặc thêm vào từng điểm ảnh (phù hợp với khuôn hình của strel) Trường hợp đặc biệt, áp dụng toán tử thu hẹp liên tiếp đủ số lần thì có quá trình làm mảnh đối tượng tới một pixel. a) c) b) d) Hình-16. Thu nhỏ đối tượng. a) ảnh ban đầu với đối tượng hình chữ nhật; b) strel có ba pixel xếp thành dạng đoạn thẳng vuông góc với phương ngang; c) strel di chuyển khắp ảnh và các điểm bi tác động; d) ảnh kết quả. 4. THIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG 22 4. Sơ đồ khối thiết kế hệ thống nhận dạng vân tay Trong phần nay sẽ giới thiệu một số phương pháp nhận dạng vân tay. Tiếp theo là các hình hệ thống nhận dạng đa năng. Ở mỗi phần, sẽ lựa chọn ra phương án thực hiện trong đồ án. Đây là hai tiền đề xây dựng nên sơ đồ hệ thống nhận dạng vân tay cho đồ án này. 4.1. Các nguyên lý nhận dạng vân tay Các nguyên lý nhận dạng vân tay thì liên quan chặt chẽ đến cách thức tìm ra sự tương đồng giữa ảnh vân tay đầu vào với một template trong cơ sở dữ liệu vân tay. Dưới đây là ba phương pháp chính lần lượt dựa trên các cơ sở là đối sánh minutiae, correlation và ridge feature [1], ch. 4. · Minutiae-base matching, · Correlation-base matching, · Ridge feature-base matching. a) b) Hình-17. Tạo mã vân tay: a) ảnh ban đầu; b) trích chọn minutiae quan trọng (các minutie được đánh dấu O) 4. THIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG 23 Phương pháp đầu tiên phổ biến hơn cả và được ứng dụng rất rộng rãi. Hai vân tay sẽ được so sánh bằng các điểm minutiae trích ra từ các vân tay đó. Giai đoạn thứ nhất này còn goi là tạo mã [11], các minutiae tạo thành tập hợp điểm đặc trưng và được lưu trữ trong từng mảng 2D. Giai đoạn thứ hai sẽ tìm vị trí khớp phù hợp giữa template và input-image sao cho số các minutiae tao thanh cặp tương đồng là lớn nhất. Còn hai nguyên lý còn lại không phù hợp với đồ án. Correlation-based thực hiện bằng cách xếp chồng hai mẫu vân tay lên nhau để tìm ra tương quan giữa chúng, phương pháp này gặp hạn chế khi quá trình thu nhận ảnh vân tay gặp phải các biến dạng méo. Còn ridge feature-base là một phương pháp cao cấp, đòi hỏi các bước xử lý phức tạp và thường dùng cho ứng dụng nhận dạng với các vân tay có chất lượng rất xấu (chẳng hạn như vân tay latent). Đồ án này lựa chọn phương án đầu tiên vì đó là một phương pháp cơ bản, phù hợp với điều kiện hiện tại cho phép và cũng hứa hẹn cho kết quả khả quan. 4.2. Hệ thống nhận dạng vân tay Nhận dạng vân tay là một bộ phận của sinh trắc học. Vì thế phân loại hệ thống nhận dạng sinh trắc học cũng bao hàm cho hệ thống nhận dạng vân tay nói riêng. Có hai hình thức phân loại hệ thống nhận dạng vân tay: dựa trên kiến trúc của hệ thống và cách xử lý dữ liệu trong hệ thống [1], tr. 237-240. a) Phân loại hệ thống theo kiến trúc: · Hệ thống có kiến trúc song song · Hệ thống có kiến trúc nối tiếp · Hệ thống có kiến trúc thứ bậc b) Phân loại hệ thống theo các xử lý dữ liêu: · Hệ thống có khâu hợp nhất sau trích chọn đặc tính · Hệ thống có khâu hợp nhất sau đối sánh · Hệ thống có khâu hợp nhất sau tổng hợp kết quả Với khuôn khổ đồ án, sẽ chọn hệ thống cấu trúc nối tiếp làm nền tảng. 4. THIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG 24 4.3. Xây dựng hệ thống nhận dạng vân tay bằng ảnh số Trên cơ sở các phân tích đã nêu, sau đây là đề xuất về sơ đồ khối hệ thống nhận dạng vân tay bằng ảnh số. Hệ thống này có khả năng phân loại vân tay, tạo cơ sở dữ liệu và nhận dạng vân tay. · Kiểu nhận dạng là identification, nghĩa là một mẫu cần nhận dạng (input) sẽ nhận kết quả bằng cách đối sánh với N mẫu khác trong cơ sở dữ liệu (template). · Kiểu chế độ hoạt động của hệ thống hướng đến là online. Nghĩa là hệ thống có thể hoạt động liên tục, có khả năng ghép với khâu thu thập số liệu sử các phương pháp thu nhận ảnh live-scan (bằng máy scan, sensor,…) và quan trọng hơn có thể vừa thu thập số liệu vừa có thể nhận dạng. · Kiến trúc hệ thống thiết kế theo hướng xử lý dữ liệu nối tiếp, gồm tám khâu chính trình bày trong Hình-18. Hình-18. Sơ đồ khối hệ thống nhận dạng vân tay. Tám khâu này có cá chức năng hoạt động như sau: 1) Khâu số 1: thực hiện thu nhận ảnh. 4. THIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG 25 2) Khâu số 2: thực hiện trích chọn đặc tính vân tay để phân loại. Đặc tính trích chọn là góc định hướng, orientation. 3) Khâu số 3: thực hiện tạo vec-tơ đặc tính để phân loại. 4) Khâu số 4: thực hiện phân loại vân tay làm năm nhóm. 5) Khâu số 5: làm cơ sở dữ liệu, lưu trữ các template-image. 6) Khâu số 6: thực hiện trích chọn minutiae. Đặc tính trích chọn là miutiae. 7) Khâu số 7: thực hiện đối sánh input-image với template-image. 8) Khâu số 8: thực hiện đưa ra kết quả nhận dạng. 5. TẬP MẪU ẢNH VÂN TAY 26 5. Tập mẫu ảnh vân tay Vân tay có thể lưu trữ theo hai cách: trên giấy (giấy thường, giấy ảnh...) hoặc file ảnh. Đối với cách thứ nhất vẫn còn được ứng dụng trong giám định, định danh hình sự (các bằng chứng về dấu tay tội phạm cần được thể hiện bằng ảnh in trên giấy). Cách thứ hai được ứng dụng phổ biến trong nhận dạng nói chung và ngày càng chiếm được nhiều ưu thế (có thể lưu trữ, tìm kiếm thuận tiện). Đồ án này tập trung đến hình thức lưu trữ ảnh theo file. a) b) c) Hình-19. Các loại vân tay: a) vân tay latent; b) vân tay lăn mực; c) vân tay trong Db2b-FVC2000. Có nhiều định dạng ảnh vân tay khác nhau, phổ biến hơn cả là: jpeg, bmp, tif, gif, png,... Các thông số ảnh bao gồm: độ rộng của ảnh, độ phân giải, số bit dành cho một pixel, độ chính xác hình học, méo,... Khi thiết kế hệ thống nhận dạng vân tay, các thông số ảnh thông thường được quy chuẩn theo giải giá trị nào đó sao cho phù hợp với hệ thống. Hệ thống nhận dạng vân tay bằng ảnh số, ảnh số là đại lượng đầu vào nên hai thông quan tâm hơn cả: kích thước và độ phân giải. Như đã trình bày ở trên, đồ án này sử dụng dữ liệu ảnh FVC2000 để tạo cơ sở dữ liệu hệ thống nhận dạng và kiểm tra kết quả nhận dạng. Các mẫu vân tay lưu theo file ảnh, có phần mở rộng .tif, kích thước của ảnh 256364´ pixel. Mỗi mẫu vân tay gồm bảy ảnh khác nhau và được lưu tên theo quy ước xx_y. Trong đó xx là chỉ số về thứ tự của bộ mẫu (còn gọi là chỉ bản) trong tập dữ liệu ảnh, y là thứ 5. TẬP MẪU ẢNH VÂN TAY 27 tự của ảnh trong một bộ mẫu. Bộ mẫu sẽ đươc chia làm hai: một phần dùng để thực hiện trích chọn và tạo mã cho vân tay thông qua các thuật toán xử lý ảnh (mục đích cuối là tạo ra các template xây dựng cơ sở dữ liệu); phần còn lại dùng để kiểm tra, đánh giá thuật toán xử lý. 6. TRÍCH CHỌN MINUTIAE 28 6. Trích chọn minutiae cho đối sánh vân tay Đồ án này được thiết kế bằng cách chia nhỏ các công đoạn chính trên thành các mô-đun nhỏ hơn. Hướng chung là chọn các phương pháp mà có thể tận dụng được các mô-đun chương trình ở công đoạn này và áp dụng được cho công đoạn khác. Nhưng các phương pháp lựa chọn phải đạt yêu cầu cho bài toán nhận dạng cuối cùng. Vì vậy, tạo tính mở cho hệ thống và tiết kiệm thời gian thiết kế. Hình-20. Thuật toán trích chọn minutiae. Với sơ đồ này thấy rằng, trích chọn minutiae thực hiện qua tám khâu. · Khối tiền xử lý ảnh thực hiện chuẩn hóa kích thước ảnh. · Khối tăng cường chất lượng ảnh thực hiện làm nổi rõ đường vân. · Khối orientation image thực hiện ước lượng trường định hướng. · Khối segmentation (khoanh vùng ảnh vân tay) thực hiện tách vùng ảnh cần quan tâm nhiều trong xử lý trích chọn đặc tính. · Khối tạo ridge map (ảnh nhị phân với đường vân có giá trị logic 1). · Khối làm mảnh đường vân. Đường vân làm mảnh tới độ rộng đồng nhất một pixel từ ridge map. · Khối hiệu chỉnh đường vân và lọc minutiae sai cấp một. Đường vân sẽ được làm “trơn”, minutiae sai kiểu lake (dạng hình xuyến nhỏ), dạng điểm, chẽ ngắn, đoạn vân ngắn sẽ loại bỏ. · Lọc minutiae sai cấp hai và tạo mã vân tay bằng minutiae. Kết thúc khâu này các template sẽ được tạo ra. 6. TRÍCH CHỌN MINUTIAE 29 6.1. Chuẩn hóa ảnh đầu vào Chuẩn hóa ảnh đầu vào là bước cần thiết trước khi vào bước tiền xử lý ảnh. Do ảnh dùng cho trích trọn đặc tính có thể không phù hợp về kích thước cũng như phân bố mức xám. Trong đồ án, giai đoạn này gồm: chuẩn hóa kích thước ảnh và đồng đều hóa cường độ sáng giữa các ảnh đầu vào khác nhau. 6.1.1. Chuẩn hóa kích thước ảnh Ảnh chuẩn đầu vào có kích thước 256364´ pixel. Các thuật toán xử lý ảnh vân tay về sau thường áp dụng cho từng từng block vuông trên ảnh (thường sử dụng các block vuông cạnh 16 pixel, 32 pixel,…). Nên kích thước ảnh chuẩn hóa hợp lý hơn là 256352´ pixel. Để thực hiện điều này sẽ “cắt” đi vùng dữ liệu ảnh kích thước 12 256´ pixel. Phần này cũng không ảnh hưởng quá nhiều tới kết quả nhận dạng cuối cùng vì đối với bộ dữ liệu đã chọn, các vùng ảnh ở gần khung thường đóng vai trò làm background. Hàm thực hiện chuẩn hóa kích thước ảnh đầu vào là norsizfv. gns = norsizfv(g, bs), trong đó: g : ảnh số đầu vào có kích thước cần được chuẩn hóa, bs : kích thước của block mà ảnh đầu ra sẽ được làm tròn theo, gns : ảnh đầu ra có kích thước đã chuẩn hóa. 6.1.2. Cân bằng cường độ sáng của ảnh Do điều kiện thu thập ảnh khác nhau với mỗi lần lấy mẫu vân tay; do kỹ thuật thu nhận ảnh (sử dụng sensor, scanner,…) khác nhau nên độ sáng ảnh vân tay không gần nhất. Vì vậy cần làm đồng đều cường độ sáng của các ảnh vân tay trong bộ dữ liệu. Phương pháp thực hiện: dùng một ảnh mẫu có cường độ sáng đồng đều, rồi chuẩn hóa độ sáng của các ảnh khác theo ảnh này bằng bình phương cực tiểu. Trong đồ án sử dụng ảnh có cùng kích thước cường độ sánh các điểm ảnh [ ], 128I i j = (là mức xám trung trung bình trong 255 mức). 6. TRÍCH CHỌN MINUTIAE 30 Hàm thực hiện cân bằng cường độ sáng của ảnh là briequfv. gbb = briequfv(g,ref), trong đó: g : ảnh số đầu vào cần được chuẩn hóa cường độ sáng, ref : ảnh số làm mẫu gbb : ảnh đầu ra có cường độ sáng gần với ảnh mẫu. 6.2. Tăng cường ảnh chất lượng ảnh Thu nhận ảnh không phải lúc nào cũng cho những ảnh với chất lượng tốt. Tăng cường ảnh sẽ giúp cải thiện chất lượng ảnh trước khi thực hiện các thuật toán xử lý ảnh tiếp theo nhằm gia tăng hiệu quả xử lý. Hai thuật toán sử dụng để tăng cường ảnh chất lượng ảnh ở đây là: histogram equalization (cân bằng lược đồ xám) và biến đổi Fourier rời rạc [1], tr. 104-113. a) b) c) Hình-21. Tăng cường ảnh: a) ảnh ban đầu; b) ảnh sau cân bằng histogram; c) ảnh sau biến đổi Fourier rời rạc. 6.2.1. Tăng cường ảnh bằng cân bằng histogram Histogram của ảnh xám là một biểu đổ thể hiện quan hệ giữa cường độ ảnh và số pixel có cùng cùng cường độ ảnh đó. Cân bằng histogram sẽ làm đồng đều cường độ sáng trong bản thân ảnh đó. 6. TRÍCH CHỌN MINUTIAE 31 Hàm thực hiện tăng cường ảnh bằng cân bằng lược đồ xám là hisequfv. ghe = hisequfv(g), trong đó: g : ảnh số đầu vào, ghe : ảnh đầu ra đã được tằng cường bằng cân bằng lược đồ xám. 6.2.2. Tăng cường ảnh bằng biến đổi Fourier-2D Sử dụng lọc Gabor và biến đổi Fourier là hai nền tảng chính để thực hiện tăng cường ảnh trong xử lý ảnh vân tay. Ảnh sau khi đã được tăng cường chất lượng bằng histogram equalization, thực hiện bước kế tiếp là tăng cường ảnh bằng thuật toán biến đổi Fourier [1, 8, 9, 10]. So với các phương pháp trên cơ sở lọc Gabor, nó lợi thế hơn ở chỗ không yêu cầu việc tính toán chính xác định hướng cục bộ của đường vân và tần số vân tay phục vụ cho mục đích cuối công đoạn tạo ridge-map. Công thức tính toán cho thuật toán tăng cường ảnh bằng biến đổi Fourier rời rạc có dạng như sau: ( ) ( ){ }kenh yxIFyxIFFI ],[],[1 ×= - trong đó: k : hệ số mũ của phổ Fourier, [ ]( )F I x,y : phổ Fourier. Đồ án thực hiện tăng cường chất lượng ảnh bằng biến đổi Fourier rời rạc cho từng block có kích thước 3232´ pixel. Theo cách này, các thành phần ảnh có tần số trội sẽ được giữ lại, đó là các vùng ảnh thể hiện làm đường vân. Ảnh sau biến đổi Fourier rời rạc có các đường vân “nổi” hơn, sự phân tách giữa các đường vân cũng thể hiện rõ ràng hơn. Đồng thời các vùng ảnh nhiễu sẽ loại bớt đi. 6. TRÍCH CHỌN MINUTIAE 32 Số mũ của phổ Fourier, k đóng vai trò làm hệ số điều chỉnh. Trong [1], khuyến nghị đặt 6,0=k khi tính toán với kích thước block như trên. Tuy nhiên, trong quá trình thực hiện, đặt 0,35k = thì cho kết quả tốt hơn so với việc chọn giá trị khác. Vì phổ Fourier đóng vai trò làm hàm lọc, do đó: k càng nhỏ hàm lọc tiến tới 1 (ảnh gốc và ảnh sau khi tăng cường không khác nhau nhiều); với k lớn, các đoạn vân cục bộ có thể bị biến dạng không còn khả năng xử lý cho công đoạn tiếp nữa. Hàm thực hiện tăng cường ảnh bằng biến đổi Fourier rời rạc là fouenhfv. gfe = fouenhfv(g,k), trong đó: g : ảnh số đầu vào, k : hệ số, gfe : ảnh đầu ra đã được tăng cường bằng biến đổi Fourier. 6.3. Ước lượng orientation image và khoanh vùng ảnh vân tay Trong phần này sẽ trình bày các ước lượng định hướng vân tay cục bộ. Đây là cần thiết để chọn được các thông số thích hợp để lọc ảnh về sau (lọc nhiễu, khoanh vùng ảnh...). Vì orientation image (trường định hướng) mang tính mô tả góc định hướng đường vân, nên kết quả này còn được áp dụng để phân loại kiểu vân tay (quyết định bởi sự tạo hình của các đường vân). 6.3.1. Ước lượng orientation image Trường định hương thể hiện bản chất tự nhiên của đường vân và các rãnh đường vân. Trường định hướng cung cấp nhiều thông tin quan trong cho các bước xử lý tiếp theo. Phần này sẽ trình bày về ước lượng orientation image D, phần tử định hướng ijq (tương ứng với nó là góc định hướng ijq và mô-đun định hướng). Có sự phân biệt khác nhau giữa các thuật ngữ mô tả phần tử định hướng orientation (có [ ]0,ijq pÎ ), direction (có [ ]0, 2ijq pÎ ) khi tính toán trường định hướng [1]. 6. TRÍCH CHỌN MINUTIAE 33 Nguyên lý thực hiện tính định hướng: chia ảnh thành các khối ww´ , sau đó khảo sát lần lượt định hướng cục bộ của đường vân trong từng khối đó. Orientation image sẽ được ước lượng bằng phương pháp Gradient [3, 4] a) b) Hình-22. Ước lượng orientation image: a) ảnh vân tay ban đầu; b) orientation image tương ứng Các công thức tính toán: ( ) ( ) ( )å å + -= + -= = 2 2 2 2 ,,2, wi wiu wj wjv yxn vugvugjiG , ( ) ( ) ( )( )å å + -= + -= -= 2 2 2 2 22 ,,, wi wiu wj wjv yxd vugvugjiG , ( ) ( )( ) ,1, 2 , n d G i j i j arctg G i j q æ ö = ç ÷ç ÷ è ø . Ở đây: ( )jig x , , ( )jig y , là các gradient tại ( )ji, theo các trục x, y và tính bằng toán tử Sobel [5, 6]. 6. TRÍCH CHỌN MINUTIAE 34 Hàm thực hiện ước lượng trường định hướng là oriimafv. [iD, iC, DF] = oriimafv(g,bs), trong đó: g : ảnh số đầu vào, bs : kích thước block vuông ước lượng định hướng, iD : ma-trận lưu đính hướng của mỗi block, iC : ma-trân lưu level-certenty của mỗi block, DF : ma-trân lưu định hướng và tọa độ tâm của mỗi block. 6.3.2. Khoanh vùng ảnh vân tay Khoanh vùng ảnh vân tay nhằm mục đích phân chia các vùng khác nhau trên ảnh vân tay. Ở đây, chúng ta quan tâm đến foreground/background (ảnh nền và ảnh trên nền) cùng với biên ảnh vân tay. Trong nhận dạng vân tay, vùng ảnh mang thông tin hữu ích giới hạn bởi vùng có các đường vân (đóng vai trò làm foreground). Vùng ảnh còn lại thường là các nhiễu tạo ra trong quá trình thu nhận, sao chép, lưu trữ ảnh… (đóng vai trò làm background) cần được tách ra khỏi foreground. Khoanh vùng ảnh vân tay nằm trong nhóm thuật toán segmentation. Tổng quát, nó dựa vào hai tính chất của ảnh số liên quan đến cường độ sáng để thực hiện, đó là: sự không liên tục và sự tương tự nhau [3]. Ảnh vân tay trong đồ án sẽ khoanh vùng lấy vùng hữu ích dựa vào cả hai tính chất kể trên. Tiêu chí đánh giá là certainty level (một giá trị thể hiện sự biến thiên của cường độ sáng theo các đường vân). Theo cách này vùng ảnh đóng vai trò background và foreground được phân tách nhờ một ngưỡng đặt trước [2]. Công thức tính certainty level cho từng block kích thước w w´ , trọng tâm tương ứng của block có tọa độ [ ],i j như sau: ( ) ( ) ( )( )jiG jiGjiG ww jiC s dn , ,,1, 22 + ´ = 6. TRÍCH CHỌN MINUTIAE 35 Một ngưỡng cT được đặt ra và block đó định nghĩa làm · background nếu ( ) cTjiC <, , · foreground nếu ( ) cTjiC ³, . Phương pháp này có lợi thế kế thừa được các kết quả tính toán trong phần ước lượng orientation image. a) b) c) Hình-23. Khoanh vùng ảnh vân tay: a) ảnh ban đầu; b) variance field; c) ảnh đã khoanh vùng đường vân. Hàm thực hiện khoanh vùng ảnh có các đường vân tay là segimafv. area = segimafv(iC,k), trong đó: iC : ma-trận lưu giá trị level-certenty cục bộ, bs : kích thước block, area : vùng ảnh vân tay đã được khoanh. 6.4. Trích chọn minutiae Giai đoạn này bao gồm: nhị phân hóa ảnh bằng thuật toán local threshold với ảnh đã được tăng cường kết hợp với kết quả khoanh vùng ảnh vân tay ở phần 6. TRÍCH CHỌN MINUTIAE 36 trên; sau đó với ảnh có các đường vân đã được làm mảnh đến độ rộng một pixel thì thực hiện tìm minutiae bằng thuật toán crossing number [1], ch. 4. a) b) Hình-24. Thông số của hai dạng minutiae quan trọng: a) bifurcation; b) termination. 6.4.1. Nhị phân hóa và làm mảnh đường vân Sau tăng cường ảnh bằng biến đổi Fourier rời rạc, đường vân tây đã nổi rõ hơn so với ảnh ban đầu. Đây là lúc sử dụng thuật toán local threshold chuyển đổi ảnh xám đã tăng cường chất lượng đó thành ảnh đen trắng. a) b) Hình-25. Nhị phân hóa và làm mảnh đường vân: a) ridge-map; b) thinned ridge-map. Kích thước cửa sổ 3232´ pixel trong biến đổi Fourier rời rạc thì kích thước block cho phân ngưỡng cục bộ có thể là: 32 32´ ,32 16´ ,16 16´ ,16 8´ pixel… Thử nghiệm với block 16 16´ pixel thì cho kết quả tốt hơn (các đường vân tách biệt rõ 6. TRÍCH CHỌN MINUTIAE 37 ràng hơn). Ảnh này tiếp tục được làm mảnh bằng thuật toán morphology cho ảnh đen trắng sau cùng với đường vân thể hiện bằng đường màu trắng (giá trị logic 1) có độ rộng đồng nhất một pixel. Hàm thực hiện nhị phân hóa ảnh vân tay là locthrfv. glt = locthrfv(g,bs,adj), trong đó: g : ảnh đầu vào, bs : kích thước block, adj : hệ số hiệu chỉnh, glt : ảnh đầu ra đã được nhị phân hóa. 6.4.2. Phát hiện minutiae Vân tay sau khi đã làm mảnh có thể bắt đầu tìm các minutiae. Thuật toán dùng để phát hiện minutiae sử dụng trong đồ án là crossing number. Nó dùng một cửa sổ kích thước 3 3´ pixel, lấy tất cả các điểm ảnh trong cửa sổ, sau đó khảo sát giá trị logic của các điểm ảnh xung quanh điểm ảnh [ ],i j ở chính giữa cửa sổ đó. Tùy vào kết quả tính toán của biểu thức crossing number thì kết luận rằng: điểm [ ],i j đang xét là một điểm phân nhánh, điểm cụt hay đang nằm trên một đường vân. Công thức tính như sau: ( ) ( )å = --= 8 1 18mod2 1)( i ii pvalpvalpcn Ảnh sử dụng phát hiện các minutiae phải là ảnh nhị phân, do đó ( ) { }1,0Îpval . Các biến 721 ...,,, ppp thứ tự tạo thành các điểm lân cận điểm giữa cửa sổ đang khảo sát xét theo một chiều thuận hoặc ngược kim đồng hồ. 6. TRÍCH CHỌN MINUTIAE 38 Khi đó định nghĩa điểm [ ],i j đang xét là: · trên đường vân nếu cp(n) = 2, · termination minutiae nếu cn(p) = 1, · bifurcation minutiae nếu cn(p) = 3. Thuật toán tìm kiếm và giá trị crossing number có vai trò quan trọng. Không những được dùng trong việc phát hiện minutiae mà nó còn giúp loại bỏ các minutiae sai (được cho là nhiễu). a) cn(p) = 2 b) cn(p) = 2 a) cp(n) = 3 d) cn(p) = 1 Hình-26. Phát hiện minutiae: a), b) pixel trên đường vân; c) bifurcation minutiae; d) termination minutiae. Hàm thực hiện phát hiện minutiae là finminfv. [ter, bif] = finminfv(g), trong đó: g : ảnh đầu vào có độ rộng đường vân một pixel, ter : ma-trận lưu tọa độ của termination minutia, bif : ma-trận lưu tọa độ của bifurcation minutia. 6. TRÍCH CHỌN MINUTIAE 39 6.4.3. Ước lượng khoảng cách đường vân Vân tay trên ngón tay không giống nhau giữa mỗi người. Ngay cả trường hợp ở một người, các đường vân cũng thể hiện sự khác biệt trên từng ngón tay. Do vậy, ước lượng khoảng các đường vân được hiểu là dải trị trung bình khoảng cách giữa hai đường vân song song và gần nhau. Đây là một thông tin làm tiền đề cho công đoạn lọc minutiae về sau. Ảnh nhị phân có các đường vân đã được làm mảnh đến 1 pixel tạo ra từ khâu làm mảnh đã có, tỏ ra rất thuận tiện với phương pháp scan trong việc ước lượng khoảng cách đường vân. Theo cách này, sẽ quét một số dòng và một số cột trên ảnh (thinned ridgemap), lưu lại vị trí điểm trên đường vân, sau đó tính giá trị trung bình khoảng cách điểm là được kết quả cần tìm. Hàm thực hiện phát hiện ước lượng độ rộng đường vân là mearidfv. rd = mearidfv(g), trong đó: g : ảnh đầu vào có độ rộng đường vân môt pixel, rd : độ rộng trung bình của đường vân. 6.4. Hiệu chỉnh đường vân và lọc minutiae sai Trong phần này sẽ trình bay về vấn vân đề loại bỏ các minutiae sai. Những nhiễu này chủ yếu được tao ra từ quá trình làm mảnh đường vân, và cũng có những nhiễu từ khâu thu nhận ảnh Các công việc thực hiện: làm “trơn” đường vân, “nối” các đường vân bị đứt trong ngưỡng giới hạn, “tách” các đường vân bị dính, cuối cùng là tạo mã vân tay từ minutiae. 6.4.1. Hiệu chỉnh đường vân và lọc minutiae sai cấp một Giai đoạn này thực hiện hiệu chỉnh các vân tay và các tín hiệu cho là nhiễu (đoạn vân ngắn, chẽ nhánh cụt, vòng xuyến nhỏ…) sẽ được loại đi. Như vậy sẽ 6. TRÍCH CHỌN MINUTIAE 40 làm tăng tính xác thực của các minutiae đã trích chọn được so với ảnh vân tay gốc ban đầu. a) c) Hình-27. Số minutiae phát hiện được: a) ngay sau làm mảnh vân; b) sau lọc minutiae. (vùng ảnh đánh dấu vuông và tròn thể hiện điển hình một số minutiae sai được loại bỏ) Khi thực hiện hai nhiêm vụ này, thông tin cần cần biết trước là khoảng các trung bình giữa các đường vân rd. Nó đã được ước lượng từ bước scan ảnh vân tay làm mảnh trình bày ở trên. Sau đó, việc lọc minutiae sẽ căn cứ theo rd cộng thêm các điểm “nút” tìm thấy bằng thuật toán crossing number. a) b) Hình-28. Lọc các minutiae. a) minutiae sai; b) các minutiae sai bị loại bỏ 6. TRÍCH CHỌN MINUTIAE 41 Hàm thực hiện phát hiện thuật toán hiệu chỉnh đường vân tay và lọc minutiae cấp một là smoridfv. [gs, ster, sbif] = smoridfv (g), trong đó: g : ảnh đầu vào có độ rộng đường vân một pixel, gs : ảnh đầu ra đã được làm “trơn” đường vân, ster : ma-trận lưu tọa độ của termination minutia, sbif : ma-trận lưu tọa độ của bifurcation minutia. 6.4.2. Lọc minutiae sai cấp hai và tạo mã từ minutiae Khi các đường vân đã làm “trơn”, các điểm minutiae được tìm kiếm một lần nữa và số lượng các điểm sai cũng đã được giảm đáng kể. Tuy nhiên còn hai lỗi mà quá trình trên chưa khắc phục được là “nối” các đường vân bị đứt (khoảng các giữa hai đầu mút < rd) và “cắt” đoạn vân nối hai đường vân dạng cầu chữ H (khoảng cách cầu < rd). Giải pháp thực khắc phục là so sánh khoảng cách định giữa hai điểm nút và góc định hướng của chúng theo ngưỡng ( ,d qD D ) để loại bỏ. Trong đồ án chọn [ ]6, 6q p pD Î - (khoảng góc rộng hơn hoặc hẹp hơn tỏ ra ít có hiệu quả trong khi thưc hiện đồ án), còn d rdD = . Hình-29. Các minutiae được trích chọn cuối để tạo mã. 6. TRÍCH CHỌN MINUTIAE 42 Hàm thực hiện sai cấp hai và tạo mã từ minutiae là extminfv [eter, ebif] = extminfv (g), trong đó: g : ảnh đường vân môt pixel đã làm “trơn”. eter : ma-trận lưu tọa độ của termination minutiae, ebif : ma-trận lưu tọa độ của bifurcation minutiae. Các minutiae trích chọn cuối cùng này sẽ được lưu trữ thành file tạo template cho cơ sở dữ liệu. Thông tin lưu trữ là tọa độ, định hướng minutiae. Quá trình tạo mã từ minutiae hoàn tất khâu trích chọn đặc tính để định danh. 7. PHÂN LOẠI VÂN TAY 43 7. Phân loại kiểu vân tay Hệ thống nhận dạng identification, cơ sở dữ liệu có thể lên đến hàng triệu chỉ bản nên quá trình đối chiếu 1:N dĩ nhiên tốn rất nhiều thời gian [1], tr.173. Phân loại vân tay nhằm mục đích tổ chức các template theo từng category (nhóm phân loại) để tiết kiệm thời gian nhận dạng (cho một input-image khi hệ thống hoạt động). a) b) c) d) e) Hình-30. Năm kiểu vân tay trong thực tế: a) arch ; b) whorl ; c) tented arch; d) left loop ; e) right loop. Mặc dù đồ án giới hạn trong số lượng mẫu ít để thực hiện xử lý dữ liệu đó và thử nghiệm. Nhưng hệ thống nhận dạng vân tay trong đồ án này được thiết kế theo kiểu identification (có khả năng đối chiếu 1:N). Tuân thủ kiểu nhận dạng của hệ thống và hướng thiết kế mở đặt ra ban đầu thì phân loại vân tay là khâu không thể bỏ qua. Giải pháp phân loại vân tay ở đây sử dụng cây quyết định (treefit), như vậy sẽ kế thừa được nhiều kết quả của phần trích chọn đặc tính vân tay cho đối chiếu ở trên. 7. PHÂN LOẠI VÂN TAY 44 Quá trình phân loại vân tay được thực hiện qua ba khâu chính 1) trích chọn đặc tính định hướng cục bộ, 2) tạo vec-tơ đặc tính, 3) bộ phân loại. Các vân tay được phân loại vào năm category: A, L, R, T, W, tương ứng với arch, left loop, right loop, tented arch và whorl [1], ch.5. Hình-31. Sơ đồ khối mô tả thuật toán phân loại vân tay. 7.1. Trích chọn đặc tính Phân loại vân tay thì phụ thuộc nhiều vào các điểm kỳ dị (singular point), bao gồm điểm delta và điểm core. Khi đã có orientation image các điểm kỳ dị có thể xác định thuân lợi bằng phương pháp Poincaré. Đặc tính cần trính chọn là góc định hướng cục bộ ,i jq [1, 3, 8]. a) b) Hình-32. Phương pháp chỉ số Poincaré: a) trong miền liên tục; b) trong ảnh số. 7. PHÂN LOẠI VÂN TAY 45 Chỉ số Poincaré của trường định hướng tại điểm ảnh [ ],i j theo một đường bao kín tính như sau: ( ) ( ) 0 1é , , 2 N k Poincar i j k p = = Då ( ) ( ) ( ) ( ) ( ) ( ) ( ) , , 2 , , 2 , , 2 d k d k k d k d k d k d k p d d p p d d pp d d ì <ï ï ïD = + ³í ï ï - £ -ïî ( ) ( )( ) ( )( )( ) ( ) ( )( )1 mod , 1 mod , .i j i jd k DF L k L L k L DF L k L kd = + + - Trong đó L là một đường bao kín lấy điểm [ ],i j , iL và jL tạo hệ trục tọa độ hướng hàng và hướng cột tại điểm đang xét. Chỉ số Poincaré bằng 0,5 nếu điểm đó là core, bằng 0,5- nếu điểm đó là delta. Đồ án thực hiện thuật toán phát hiện core với đường bao L có chiều dài 16 pixel và bao quanh điểm [ ],i j . 7.2. Tạo vec-tơ đặc tính Sau khi phát hiện được điểm core, vec-tơ đặc tính được tạo ra bằng các khoanh vùng lấy 11 11´ định hướng cục bộ mà điểm này làm trọng tâm. Một ma-trận cỡ 11 11´ không thích hợp làm vec-tơ đầu vào cho khâu phân loại nên nó được điều chỉnh lại kích thước thành vec-tơ 121 thành phần. Mỗi thành phần này là góc định hướng định hướng cục bộ của block có tọa độ [ ],i j . ( )1 2 121, , ..., , ...,f kV q q q q= , [ ]0, , 1,121k kq pÎ = . Vec-tơ chuẩn hóa của fV là ±fV có các thành phần thuộc đoạn [ ]0,1 . ± 1 2 121f 1V , , ..., , ...,kfV qq q q p p p p p æ ö= = ç ÷ è ø . 7. PHÂN LOẠI VÂN TAY 46 Dưới hình ảnh mô tả quá trình tạo vec-tơ đặc tính 1,1 1,11 11,1 11,11 V q q q q æ ö ç ÷= ç ÷ ç ÷ è ø K M O M L a) b) Hình-33. Lấy đặc tính cho phân loại: a) vùng tạo vec-tơ đặc tính; b) vec-tơ đặc tính tương ứng. 7.3. Khâu phân loại kiểu vân tay Giải pháp thực hiện khâu phân loại vân tay dùng cây quyết định (treefit), đây là một giải pháp tốt cho bài toán phân loại kiểu vân tay (thể hiện ở kết quả nhận dạng). Hình-34. Kết quả cây quyết định của bài toán phân loại kiểu vân. 7. PHÂN LOẠI VÂN TAY 47 Do số nút trong cây quyết định không biết trước. Cây quyết định cũng cần xác định cấu trúc tối ưu. Tiêu chí để đánh giá dùng cặp sai số học và sai số kiểm tra (là các hàm của số nút) để tìm ra số nút đầu cuối mà có sai số kiểm tra bé nhất. Cấu trúc cây đánh giá là tốt nếu nó thật đơn giản (có ít nhánh nhất), nhưng vẫn phải đảm bảo độ chính xác. Trong khâu phân loại này, bộ mẫu sử dụng trích ra từ 175 ảnh và tiến hành xây dựng cây tối ưu thông qua thuật toán cross-validation. Theo cách này, sẽ dùng 90% mẫu ngẫu nhiên để xây dựng cây và dùng 10% số mẫu còn lại để kiểm tra sai số. Sai số cho quá trình xây dựng cây được gọi là resubstitution. Hình-35 thể hiện đường cong sai số kết quả của bài toán phân loại vân tay. Cấu trúc tối ưu của cây gồm sáu nút. Sai số học là 1,14%. Sai số kiểm tra là 9,14%. Hình-35. Đường cong sai số học và kiểm tra. 8. ĐỐI CHIẾU VÂN TAY 48 8. Đối chiếu vân tay để định danh mẫu 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, ,..., pT T m m m= , { }, ,i i i im x y q= , 1,i p= . { }1 2, ,..., qI I m m m¢ ¢ ¢= , { }, ,j j j jm x y q¢ ¢ ¢ ¢= , 1,j 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. Sau đây sẽ trình bày thuật toán đối sánh vân tay, bao gồm cả hai công đoạn: khớp mẫu (alignment) và đối sánh (matching) [3], ch. 6. 8. ĐỐI CHIẾU VÂN TAY 49 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 pS của hai mẫu input và template cho đến khi đạt một ngưỡng đặt trước rT . 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. rT 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 pS 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 ( )ef , ,rIT x y q cho bước tiếp theo là matching. 8. ĐỐI CHIẾU VÂN TAY 50 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 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.

Các file đính kèm theo tài liệu này:

  • pdfĐề tài Thiết kế hệ thống nhận dạng vân tay từ ảnh số.pdf
Tài liệu liên quan