Đồ án kỹ thuật_nhận dạng dấu vân tay
Trang 1Mụ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
Trang 26 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
Trang 3Danh 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
Trang 4Danh 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
Trang 5Hì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
Trang 6Danh 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
• ore: Đ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,π] tại các ñiểm [i,j]
• Direction Image: Tương tự như Orientation Image nhưng θij ∈[0, 2π]
• 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
Trang 7Lờ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
Trang 8Xin 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
Trang 9Do ñó 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à
Trang 10phươ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:
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
• ươ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
Trang 11• ươ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ố
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ả)
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
công ñoạn trước ñược ñối sánh trong công ñoạn này
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
á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
Trang 122 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
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)
Trang 132.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 th3 hi6n và các ñ8c t9 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
Trang 14Hì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
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
Trang 15Ở 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)
Hình-5 Hai dạng minutiae quan trọng: a) ridge termination; b) ridge bifurcation
2.4 Khó khăn g8p ph9i 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
Trang 163 Đạ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ử
Ả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 [ , ] biểu diễn cho mức xám hay cường ñộ ảnh tại vị trí của phần tử ñó
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ố
Trang 17Tù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ị, I i j ∈[ , ] [ ]0,1 Ứ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 400nm÷ 750nm) 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
Trang 18Trong 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ơ
max
min
x k x
p x dx =
Trang 19Giả sử ba màu cơ bản ñược tổ hợp theo tỉ lệβ k( )λ , i =1,3 Để tạo ra một màu
có phân bố phổ năng lượng C( )λ sẽ bằng
3 1
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
Trang 203.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:
P∗: 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:
Trang 213.2 X lý 9nh 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
Trang 22Lượ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)
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
Trang 23Ả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ệ
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 x= 0,M − 1 và y= 0,N− 1 là một ảnh số cỡ M×N Biến ñổi Fourier rời rạc của f là F u v( , )
Trang 24Biến ñổi ngược Fourier rời rạc ñịnh nghĩa bởi công thức:
trong ñó φ( )u v, 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ả
Trang 25Tổ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
Trang 26Đá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
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
Trang 27Thô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
Trang 283.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
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
Trang 29strel, ñố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
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ả
Trang 304 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
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)
Trang 31Phươ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
Trang 324.3 Xây d ng h6 th?ng nh&n d)ng vân tay bBng 9nh 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
Trang 332) 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
Trang 34Tậ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
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 364 × 256pixel 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ứ
Trang 35tự 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ý