Ứng dụng thử nghiệm thư viện SFSLib

Ứng dụng thử nghiệm có giao diện như hình 7.1. Giao diện được thiết kế với việc sử dụng bộ thư viện Qt. Ứng dụng thử nghiệm có 3 chức năng chính: đăng ký (enrollment), xác thực (verification), và nhận dạng (identification). Các chức năng chính này sẽ gọi các hàm từ bộ thư viện SFSLib để thực hiện nhiệm vụ cho riêng mình.

pdf14 trang | Chia sẻ: vietpd | Lượt xem: 1450 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Ứng dụng thử nghiệm thư viện SFSLib, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Trang 116 Chương 7 Ứng dụng thử nghiệm " Nội dung chương này giới thiệu ứng dụng thử nghiệm thư viện SFSLib nhằm minh họa khả năng ứng dụng và khả năng thực thi của bộ thư viện này. 7.1 Ứng dụng nhận dạng vân tay trên họ ARM 7.1.1 Giới thiệu Ứng dụng thử nghiệm có giao diện như hình 7.1. Giao diện được thiết kế với việc sử dụng bộ thư viện Qt. Ứng dụng thử nghiệm có 3 chức năng chính: đăng ký (enrollment), xác thực (verification), và nhận dạng (identification). Các chức năng chính này sẽ gọi các hàm từ bộ thư viện SFSLib để thực hiện nhiệm vụ cho riêng mình. Trang 117 7.1.2 Xây dựng các chức năng của ứng dụng thử nghiệm Hình 7.1. Giao diện chính của ứng dụng thử nghiệm. Bảng 7.1 Các chức năng công cụ của ứng dụng thử nghiệm. Mã Chức năng công cụ 1 Có 3 chức năng chính: đăng ký, xác thực, và nhận dạng. 2 Mã đăng ký vào hệ thống của ứng dụng. 3 Lấy ảnh vân tay từ đường dẫn file đưa vào. 4 Lấy ảnh vân tay từ thiết bị đầu đọc vân tay. 5 Ngưỡng xác định 2 dấu vân tay có trùng khớp với nhau không?. 6 Thể hiện các mẫu đặc trưng đã được đăng ký vào hệ thống ứng dụng thông qua các mã đăng ký. Trang 118 7 Xóa các mẫu đặc trưng đã được đăng ký ra khỏi hệ thống. 8 Thể hiện ảnh vân tay sau khi lấy ảnh từ thiết bị, hay từ đường dẫn file ảnh. 9 Thực thi chức năng đã được chọn ở mã 1. 10 Thể hiện các kết quả thực thi. 11 Làm sạch phần ghi Log. Ứng dụng thử nghiệm được xây dựng cho 3 chức năng chính: đăng ký, xác thực, và nhận dạng. 1. Đăng ký: cho phép người dùng có thể đăng ký dấu vân tay của mình cùng với mã thông tin cá nhân duy nhất vào ứng dụng thử nghiệm. Nếu đăng ký thành công, ứng dụng lưu mẫu đặc trưng vân tay đã được rút trích cùng với mã thông tin cá nhân duy nhất vào cơ sở dữ liệu. Hình 7.2 thể hiện trình tự các bước trong quá trình đăng ký một dấu vân tay mới. Tăng cường ảnh Rút trích các đặc trưng Cơ sở dữ liệu Ghi Thông tin cá nhân Đăng ký vân tay 1 mẫu đặc trưng Hình 7.2. Sơ đồ các bước đăng ký một dấu vân tay mới. 2. Xác thực: cho phép xác thực dấu vân tay của người dùng được lấy từ thiết bị với một dấu vân tay đã được đăng ký với ứng dụng trước đó. Ứng dụng sẽ lấy một mẫu đặc trưng vân tay tương ứng trong cơ sở dữ liệu từ mã thông tin cá nhân duy nhất được cung cấp để đối sánh với mẫu đặc trưng vân tay cần được xác thực. Kết quả đối sánh căn cứ vào một ngưỡng đối sánh để xác thực là đúng hay sai. Hình 7.3 thể hiện trình tự các bước trong quá trình xác thực một dấu vân tay. Trang 119 Đ ối sá nh Hình 7.3. Sơ đồ các bước xác thực một dấu vân tay. 3. Nhận dạng: cho phép nhận dạng dấu vân tay của người dùng trong ứng dụng. Ứng dụng sẽ lấy tất cả các mẫu đặc trưng vân tay trong cơ sở dữ liệu để đối sánh với mẫu đặc trưng vân tay cần được nhận dạng. Kết quả đối sánh căn cứ vào một ngưỡng đối sánh để xác thực là đúng hay sai. Hình 7.4 thể hiện trình tự các bước trong quá trình nhận dạng một dấu vân tay. Đ ối sá nh Hình 7.4. Sơ đồ các bước nhận dạng một dấu vân tay. 7.1.3 Bộ dữ liệu kiểm thử Thư viện nhận dạng vân tay SFSLib sử dụng 3 bộ dữ liệu sau để đánh giá: • Bộ dữ liệu thu thập thực tế được lấy từ thiết bị Secugen dùng bộ cảm ứng quang (optical sensor). Các ảnh vân tay được lấy từ 10 ngón tay của 18 nhân viên thuộc phòng thí nghiệm phần mềm SELab; gồm 900 ảnh vân tay lấy từ 180 ngón tay khác nhau, mỗi ngón 5 ảnh (180×5 = 900) có độ phân giải là 500 Trang 120 dpi. Trong quá trình lấy mẫu vân tay, các mẫu vân tay được lấy một cách tự nhiên: người được lấy mẫu có quyền tự do xoay, dịch chuyển ngón tay, lực ấn ngón tay lên bề mặt thiết bị, không rửa tay trước khi lấy mẫu, … Ảnh của mỗi vân tay được lưu trữ trong CSDL như sau: (1_1,1_2, 1_3, 1_4, 1_5): 5 mẫu của cùng một ngón tay thứ 1. (2_1,2_2, 2_3, 2_4, 2_5): 5 mẫu của cùng một ngón tay thứ 2. … (180_1,180_2, 180_3, 180_4, 180_5): 5 mẫu của cùng một ngón tay thứ 180. Bảng 7.2 Thông số kỹ thuật của bộ dữ liệu thu thập thực tế của SELab. Loại sensor Kích thước ảnh Tập (w×d) Độ phân giải SELabDB Cảm ứng quang 256×256 (pixels) 180×5 500 dpi • Bộ cơ sở dữ liệu vân tay do hãng Neurotechnology12 cung cấp. Các ảnh vân tay được lấy từ thiết bị Atmel FingerChip. Bộ dữ liệu gồm 408 ảnh vân tay được lấy từ 51 ngón tay khác nhau, mỗi ngón 8 ảnh (51× 8 = 408) có độ phân giải là 500 dpi. Trong quá trình lấy mẫu vân tay, các mẫu vân tay được lấy một cách tự nhiên: người được lấy mẫu có quyền tự do xoay, dịch chuyển ngón tay, và lực ấn ngón tay lên bề mặt thiết bị. Bảng 7.3 Thông số kỹ thuật của bộ dữ liệu của công ty Neurotechnology. Tên bộ dữ liệu Thiết bị Kích thước ảnh Tập (w×d) Độ phân giải VeriFingerDB Atmel FingerChip 504×480 (pixels) 51×8 = 408 500 dpi • Bộ cơ sở dữ liệu trong cuộc thi FVC2004, gồm 4 cơ sở dữ liệu: DB1, DB2, DB3, DB4. Mỗi cơ sở dữ liệu có 110 ngón tay và mỗi ngón có 8 mẫu; do đó, 12 Công ty Neurotechnology chuyên cung cấp các giải pháp sinh trắc học nổi tiếng của Mỹ. Họ có tham dự ở mỗi cuộc thi FVC, và luôn có thứ hạng cao; họ đạt giải 4 trong cuộc thi FVC2006. Trang 121 CSDL sẽ có 110×8 = 880 ảnh vân tay. Mỗi CSDL sẽ được chia làm 2 tập con là A và B: o Bộ DB1-A, DB2-A, DB3-A, DB4-A gồm 100 ngón đầu tiên tương ứng với 100×8 = 800 ảnh vân tay. o Bộ DB1-B, DB2-B, DB3-B, DB4-B gồm 10 ngón đầu tiên tương ứng với 10×8 = 80 ảnh vân tay. Bộ dữ liệu FVC2004 được lấy với đặc điểm như: các tình nguyện viên có thể xoay tự do các ngón tay, các ngón tay được làm ướt hay khô trước khi lấy mẫu, và lực ấn bất kỳ khi đặt ngón tay lên bề mặt đầu đọc vân tay. Bộ dữ liệu FVC2004 có độ phức tạp cao hơn nhiều so với các bộ dữ liệu FVC2002 và FVC2000. Trong đó, bộ dữ liệu FCV2004 được lấy từ các sinh viên. Các tình nguyện viên được yêu cầu để các ngón tay một cách tự nhiên lên thiết bị đầu đọc vân tay để lấy mẫu. Bộ dữ liệu chính thức được chọn từ các mẫu vân tay khó nhất theo một mục chất lượng nhằm để đánh giá độ hiệu quả các thư viện tham gia dự thi. Bảng 7.4 Thông số kỹ thuật các tập con của bộ dữ liệu FVC2006. Loại sensor Kích thước ảnh Tập A (w×d) Tập B (w×d) Độ phân giải DB1 Cảm ứng quang 640×480 (307 Kpixels) 100×8 10×8 500 dpi DB2 Cảm ứng quang 328×364 (119 Kpixels) 100×8 10×8 500 dpi DB3 Cảm ứng quét biến đổi nhiệt 300×480 (144 Kpixels) 100×8 10×8 512 dpi DB4 SFinge v3.0 288×384 (108 Kpixels) 100×8 10×8 Khoảng 500 dpi Trang 122 Thư viện nhận dạng vân tay SFSLib sử dụng DB1-A để đánh giá cho mình và được đặt tên là FVCDB. 7.1.4 Tiêu chí đánh giá hệ thống nhận dạng vân tay 7.1.4.1 FRR/FNMR Mỗi mẫu trong tập A được đối sánh với các mẫu còn lại của cùng 1 ngón tay để tính FNMR hay FRR. Ví dụ: Trong FVCDB, sẽ đối sánh các cặp sau: (1_1, 1_2), (1_1, 1_3), …(1_1, 1_8) (1_2, 1_3), (1_2, 1_4), ...(1_2, 1_8) … (1_7, 1_8) (2_1, 2_2), (2_1, 2_3), …(2_1, 2_8) (2_2, 2_3), (2_2, 2_4), ...(2_2, 2_8) … (2_7, 2_8) … (100_1, 100_2), (100_1, 100_3), …(100_1, 100_8) (100_2, 100_3) , (100_2, 100_4), ...(100_2, 100_8) … (100_7, 100_8) Mỗi cặp đem đi kiểm tra gọi là genuine, thì tổng số genuine là: 28C *100 = ((8 * 7) / 2) * 100 = 2800. Trang 123 Đối với bộ dữ liệu SELabDB, tổng genuine = 25C * 180 = ((4 * 5) / 2) * 180 = 1800. Tỷ lệ từ chối sai sẽ được xác định theo công thức sau: FRR = Σcặp không matched / Σgenuine (7.1) 7.1.4.2 FAR/FMR Mỗi mẫu đầu tiên của mỗi ngón tay được đối sánh với mẫu đầu tiên của các ngón còn lại trong CSDL để tính toán tỷ lệ FMR hay FAR. Ví dụ: Trong FVCDB, sẽ đối sánh các cặp sau: (1_1, 2_1), (1_1, 3_1), …(1_1, 100_1) (2_1, 3_1), (2_1, 4_1), …(2_1, 100_1) … (99_1, 100_1) Mỗi cặp đem đi kiểm tra gọi là impostor, thì tổng số impostor là: (100 * 99) / 2 = 4950. Đối với bộ dữ liệu thu thập thực tế, tổng impostor = (180 * 179) / 2 = 16110. Tỷ lệ nhận dạng sai sẽ được xác định theo công thức sau: FAR = Σcặp matched / Σ impostor (7.2) 7.1.4.3 EER Trong việc đánh giá độ lỗi sinh trắc học, với cùng một thuật toán, việc lấy ngưỡng khác nhau thì giá trị FAR và FRR sẽ thay đổi và tỷ lệ nghịch. Hệ số tỷ lệ lỗi bằng nhau EER được xác định khi FAR = FRR. Đối với ngưỡng từ 0 đến 100, ta xác định được cặp (FRR, FAR) tương ứng. Vẽ sơ đồ nối các điểm lại (ROC) và lấy giao điểm với phân giác góc phần tư thứ nhất, thì giao Trang 124 điểm giữa đường cong và phân giác góc phần 4 thứ nhất này sẽ là điểm EER cần xác định. Hình 7.5. Đồ thị xác định điểm EER. Trang 125 7.2 Kết quả chạy thử nghiệm 7.2.1 Kết quả chạy thử nghiệm với bộ dữ liệu SELabDB Hình 7.6. Đồ thị thể hiện việc xác định điểm EER của SFSLib trên bộ dữ liệu SELabDB. Bảng 7.5 Kết quả thử nghiệm của thư viện SFSLib trên bộ dữ liệu SELabDB. Thư viện CSDL EER FMR100 FMR1000 SFSLib SELabDB 2.2745% 3.0112% 4.8319% Trang 126 7.2.2 Kết quả chạy thử nghiệm với bộ dữ liệu VerifingerDB Hình 7.7. Đồ thị thể hiện việc xác định điểm EER của SFSLib trên bộ dữ liệu VerifingerDB. Bảng 7.6 Kết quả thử nghiệm của thư viện SFSLib trên bộ dữ liệu VerifingerDB. Thư viện CSDL EER FMR100 FMR1000 SFSLib VerifingerDB 2.7450% 3.5014% 6.9327% Kết quả chạy thử nghiệm của FingerCell 2.1 của công ty Neurotechnology trên cùng bộ dữ liệu VerifingerDB (hình 7.8). FingerCell 2.1 là bộ thư viện phần mềm vân tay được xây dựng trên hệ thống nhúng; cụ thể là ARM9. Bộ thư viện này được phát triển dựa trên bộ thư viện Verifinger; trong đó, bộ thư viện Verifinger được phát triển trên các máy để bàn. Trang 127 Hình 7.8. Đồ thị thể hiện giá trị EER, FAR, và FRR của FingerCell 2.1 trên bộ dữ liệu VerifingerDB. Độ lỗi trung bình của FingerCell 2.1 trên bộ dữ liệu VerifingerDB là 0.85%. Bảng 7.7 Kết quả so sánh của thư viện SFSLib với FingerCell 2.1 trên bộ dữ liệu VerifingerDB. Thư viện Vi xử lý Platform EER Đối sánh 1:1 Đối sánh 1:N (N = 500) SFSLib ARM9, 200MHz Embedded- Linux 2.7450% <1s ~20s FingerCell 2.1 ARM9, 200MHz Embedded- Linux 0.85% <1s ~1s Trang 128 7.2.3 Kết quả chạy thử nghiệm với bộ dữ liệu FVCDB Hình 7.9. Đồ thị thể hiện việc xác định điểm EER của SFSLib với bộ dữ liệu FCVDB. Độ lỗi trung bình với bộ dữ liệu FVCDB là 15.55%. Kết quả độ lỗi này cao là vì các nguyên nhân sau: • Độ phức tạp của ảnh trong bộ dữ liệu FVCDB khó (xem ở mục 7.1.3). • Phần Tăng cường ảnh của bộ thư viện SFSLib chưa tốt ở những vùng gần điểm core nên phát sinh nhiều đặc trưng nhiễu làm ảnh hưởng đến việc xác Trang 129 định cấu trúc toàn cục của các đặc trưng. Kết quả này dẫn đến việc xác định các điểm tham chiếu giữa hai hình sai (hình 7.10). Hình 7.10. Hình bên trái là 2_2 và hình bên phải là 2_3 trong bộ dữ liệu FVCDB. Đặc trưng thứ 12 là đặc trưng tham chiếu của hình bên trái và đặc trưng thứ 32 là đặc trưng tham chiếu của hình bên phải. 7.2.4 Kết quả tốc độ thực thi Bảng 7.8 Thời gian chạy của SFSLib trên bo mạch NK9315. Chức năng Đăng ký vân tay Xác thực Nhận dạng (N = 500) Thời gian chạy <1s <1s ~20s