Ứ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.
14 trang |
Chia sẻ: vietpd | Lượt xem: 1453 | Lượt tải: 1
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