Chương II: THUẬT TOÁN ĐỐI SÁNH VÂN TAY 2.1 Đối sánh vân tay
2.2 So sánh hiệu năng của các thuật toán đối sánh
Qua chương này, vài kĩ thuật cho đối sánh vân tay đã được khảo sát và vài phương pháp chuyên nghiệp đã được nhấn mạnh. Dù sao, một câu trả lời rõ ràng không được cung cấp cho câu hỏi: Đâu là thuật toán tốt nhất cho đối sánh vân tay? Có hai lý do chính giải thích tại sao quyết định hiệu năng tương đối giữa các thuật toán khác nhau là khó khăn:
Hiệu năng của một phương pháp nhận dạng vân tay liên quan đến nhiều độ đo hiệu năng khác nhau: độ chính xác ( FMR, FNMR …), hiệu quả ( thời gian thu thâp, thời gian kiểm tra ), tính mềm dẻo cho nhận dạng.
Hầu hết các kết quả khoa học được xuất bản trong các tài liệu bao gồm các kết quả thực nghiệm thực hiện trên cơ sở dữ liệu độc quyền sử dụng các giao thức khác nhau, và không chia sẻ trên các kênh nghiên cứu. Điều này tạo khó khăn để so sánh các phương pháp khác nhau, hiệu năng đo được không có một điểm chuẩn để so sánh.
Trước khi cuộc thi kiểm tra vân tay FVC2000 và FVC2002, chỉ có tập dữ liệu vân tay miền công cộng là cơ sở dữ liệu NISt. Mặc dù các cơ sở dữ liệu này là điểm chuẩn tốt cho phát triển AFIS, chúng không thích hợp tốt để đánh giá hoạt động thuật toán với các ảnh quét trực tiếp.
CHƯƠNG 3: THỰC NGHIỆM VÀ KẾT QUẢ 3.1 Giới thiệu.
Chương này sẽ tập trung vào việc mô tả chi tiết các thuật toán đã đuợc sử dụng và kết quả thực thi của chúng. Nó mô tả các bước cần thiết để có thể so sánh hai vân tay với nhau. Từ việc tính hướng cục bộ, chuẩn hóa, tăng cường, tìm kiếm,… đến việc đối sánh vân tay.
Chương trình được viết bằng ngôn ngữ hướng đối tượng Visual C#. Lớp ImageData chứa dữ liệu ảnh và tất cả các thuật toán lên quan đến việc xử lý ảnh vân tay. Lớp Minutiae chứa dữ liệu về chi tiết và một số phương thức xử lý chi tiết như quay và tịnh tiến. Lớp Functions chưa một số hàm tĩnh để xử lý giữa các ảnh và các chi tiết như so sánh chi tiết, so sánh ảnh, khoảng cách các chi tiết,….
Các phương thức nhận dạng đối sánh vân tay
- Đối sánh vân tay 1-1: Xác định một người có đúng là người đó không? Bằng cách đối sánh vân tay của người đó với ảnh vân tay thu được lưu trữ trong chip điện tử.
- Đối sánh 1- N: Tra cứu, tìm kiếm đối tượng bằng cách đối sánh vân tay của một người với tập vân tay lưu trữ trong cơ sở dữ liệu vân tay để xác định được danh sách đối tượng giống nhất với người cần xác định nhân thân.
- Mẫu đặc trưng vân tay: Đặc trưng vân tay là các điểm kết và các điểm phân nhánh của các đường vân nổi của vân tay.
3.2 Chương trình thực nghiệm.
Trong phần này sẽ tập trung vào việc mô tả các thuật toàn đã được sử dụng và kết quả thực thi của chúng. Mô tả các bước tìm điểm chi tiết, xác thực
theo dấu vân tay theo phương pháp 1-1. Các from của chương trình được thiết kế đơn giản, đầy đủ chức năng và khá thân thiện. Có thể nhận và xử lý được ảnh vân tay.
Chương trình thực nghiệm minh họa: Chức năng “ mở vân tay 1” thể hiện mẫu vân tay sống thu được từ thiết bị thu nhận vân tay. Chức năng “ mở vân tay 2” thể hiện ảnh vân tay lưu trong chip điện tử được từ máy đọc chip điện tử kết nối với hệ thống máy tính. Chức năng “so sánh” thể hiện xác thực giữa mẫu vân tay sống thu được với ảnh vân tay được lưu trong chip điện tử của người đó.
Chương trình thực nghiệm gồm các Moduel chính sau:
- Moduel: Mở ảnh vân tay ( thể hiện chức năng hiển thị mẫu vân tay sống và mẫu vân tay lưu trong chip điện tử).
- Moduel: Công cụ bao gồm hai chức năng chính: Kiểm nghiệm thuật toán và tùy chỉnh.
3.3 Tìm kiếm chi tiết.
3.3.1 Phương pháp.
Chi tiết ảnh chính là những điểm những điểm ảnh đặc biệt nằm trên xương của vân và hướng vân cục bộ tại điểm đó. Điểm đặc biệt chính là điểm kết thúc hoặc rẽ nhánh của đường vân. Việc kiểm tra một điểm có là điểm rẽ nhánh hay điểm kết thúc hay không được thực hiện bằng các tính tổng các trị tuyệt đối của hiệu các cặp điểm liên tuc xung quanh điểm đang xét (tất nhiên việc xử lý này được thực hiện trên ảnh vân tay đã được làm mảnh). Nếu tổng bằng 1 thì đó là điểm kết thúc, và bằng 3 nếu nó là điểm rẽ nhánh.
Cụ thể cho điểm ảnh (x,y) như sau;
BOOL IsMinutiae(int x, int y) {
If ( Image[x ][y] ==0)) {
sum = |image[x-1,y-1]-image[x-1,y]|
+ |image[x-1,y+1]-image[x,y+1]|
+ |image[x+1,y+1]-image[x+1,y]|
+ |image[x+1,y+1]-image[x+1,y]|
+ |image[x+1,y-1]-image[x,y-1]|
If(sum==1orsum==3) return true;
}
return FALSE;
}
3.3.2 Kết quả thực thi:
Bước 1: Chọn chức năng “Công cụ”, tiếp đó chọn chức năng “Kiểm nghiệm thuật toán”. From này thực hiện bước tiền xử lý ảnh vân tay với các chức năng:
Mở ảnh, chuẩn hóa ảnh, tăng cường, nhị phân hóa.
Bước 2: Thực hiện các chức năng tiền xử lý ảnh vân tay.
Bước 3: Sau khi thực hiện xong các chức năng tiền xử lý ảnh. Ta click và nút “ Xem chi tiết” sẽ hiện ra các chi tiết của vân tay thu được. Các điểm chi tiết của
ảnh vân tay đã làm mảnh bao gồm các điểm đặc trưng của vân tay như: Điểm rẽ nhánh, điểm kết thức đường vân, điểm Core và điểm Delta.
Hình 3-1: Form kiểm nghiệm thuật toán xử lý chi tiết 3.4 Thuật toán Hough
3.4.1 Phương pháp.
Thuật toán Hough là thuật toán tìm ra các gía trị tịnh tiến theo trục x, trục y, góc quay ngược chiều kim đồng hồ va đổ nở của vân ( x, y, θ, s ) sao cho khi thực hiện các phép biến đổi đó thực hiện trên tập chi tiết của vân tay này sẽ thu được tập chi tiết mới mà có số lượng chi tiết trùng khớp với tập chi tiết của vân tay kia là lớn nhất.
Thuật toán dựa trên các tập giới hạn của x là { x1 +, x2
+,…, xa
+| }, của y là { y1
+, y2
+,…, yb
+| }, của θ là { θ1 +, θ2
+,…,θc
+ } và của s là {s1 +, s2
+,…,sd +}
Thuật toán phát biểu như sau:
Với mỗi mi, i = 1..m Với mỗi m’j, j = 1..n
Với mỗi + {+1, +2, …, +c}
Nếu khoảng cách trực tiếp(’j + +, i) < 0 Với mỗi s+ {s+1, s+2, …, s+d}
{
j j i
i
y s x
y x y x
' ' cos
sin
sin cos
x+, y+ = lượng tử hoá của x, y tới tập gần nhất A[x+, y+, +, s+] = A[x+, y+, +, s+] + 1
}
Ở đây A chính là mảng bốn chiều mà gái trị của A[x+, y+, +, s+] thể hiện số cặp chi tiết ủng hộ cho [x+, y+, +, s+].
Ở cuối quá trình tích lũy, biến đổi có căn chỉnh tốt nhất (x*, y*, *, s*) nhận được như sau:
(x*, y*, *, s*) = arg max A[x+, y+, +, s+] Đó chính là giá trị mà ta muốn tìm.
3.4.2 Kết quả thực thi.
Bước 1: Mở Form chính của chương trình. Thực hiện chức năng “ Mở vân tay1”
và “ Mở vân tay 2”. From hiển thị như sau:
Hình 3-2 : Form mở vân tay để so sánh
Bước 2: Ta chọn chức năng “ Thực nghiệm rồi thông tin so sánh” sẽ tạo ra Form hiển thị thông tin so sánh. Tuy nhiên việc thực hiện này chỉ thành công khi đã thực hiện xong đối sánh.
Hình 3-3 : From thông tin so sánh 3.5 Thuật toán đối sánh vân tay
3.5.1 Phương pháp.
Phương pháp này sẽ tiến hành đối sánh hai tập chi tiết của hai ảnh vân tay.
Nếu số lượng ảnh vân trùng khớp lơn hơn một giá trị giới hạn nào đây thì hai vân tay là trùng khớp.
Trước hết chúng ta tiến hành tịnh tiến và quay tập chi tiết của ảnh hai theo các đại lượng chúng ta thu được từ thuật toán Hough. Tiến hành đối sánh lần lượt từng chi tiết của tập chi tiết ảnh vân tay 1 với tập chi tiết thu được.
Giả sử T và I lần lượt là mẫu vân tay được lưu trong chip điện tử và mẫu vân tay sốn thu được qua thiết bị thu nhận cần đối sánh, m={x,y, } là các điểm đặc trưng được xác định bởi tọa độ {x,y} và hướng
T = { m1, m2, …mm }; mI = { xi, yi, i }, i = 1…m I = { m1
’, m2
’…mn
’ }; mj
’ = { xj
’, yj
’, j’ } j = 1…n
Hai chi tiết mI = { xi, yi, Өi } và mj’ = { xj’, yj’, Өj’ } được gọi là so khớp nếu:
2 2
' ' '
0
' ' '
0
( , )
dd( , ) min | |,360 | |
j i j i j i
j i j i j i
sd m m x x y y r
m m
Với r0 và 0 là các giá trị giới hạn.
Dựa theo công thức trên sẽ đếm số lượng cặp chi tiết so kớp với nhau. Tư đó rút ra kết luận
3.5..2 Kết quả thực thi.
Bước 1: Thực hiện chức năng “ mở vân tay 1” và “ mở vân tay 2”. Với 2 vân tay 1 và vân tay 2, chọn chức năng “ Thực nghiệm so sánh dấu vân tay” sẽ đưa ra thông báo như sau:
Hình 3-4: Form so sánh hai vân tay không trùng khớp
Bước 2: Chọn chức năng “ Thực nghiệm, hiện chi tiết” sẽ hiển thị chi tiết các điểm đặc trưng của 2 ảnh vân tay vừa so sánh:
Hình 3-5 : Form hiện chi tiết 2 ảnh vân tay vừa so sánh Bước 3: Thực hiện chức năng “ mở vân tay 1” và “ mở vân tay 2”
Với 2 vân tay 1 và vân tay 2 . Chọn chức năng “ Thực nghiệm so sánh vân tay”
sẽ đưa ra thông báo như sau:
Hình 3- 6 : Form so sánh hai vân tay trùng khớp
Bước 4: Chọn chức năng “ Thực nghiệm, hiện chi tiết” sẽ hiển thị chi tiết các điểm đặc trưng của 2 ảnh vân tay vừa so sánh:
Hình 3-7 : Form hiện chi tiết hai ảnh vân tay vừa được so sánh
Ngoài chức năng đã nêu trên, chương trình thực nghiệm còn có một số chức năng phục vụ cho việc đối sánh vân tay.
- Chức năng “ Vùng chọn đặc trưng” Thực hiện loại bỏ các độ rộng của khung ảnh nhằm lấy đường biên của ảnh vân tay để xử lý.
- Chức năng “ Thông số xử lý ảnh” thực hiện thiết đặt các thông số chuẩn hóa ảnh, thông số nhị phân hóa ảnh và thông số tăng cường ảnh: giá trị phương sai, các giá trị ngưỡng, tần suất vân cục bộ.
- Chức năng “ Thông số đối sánh vân tay” thiết đặt các điều kiện chi tiết trùng khớp với điều kiện hai vân tay trùng khớp.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Nhận dạng vân tay là một trong những lĩnh vực 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 luận văn, đã xây dựng được Form các bước thực hiện 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.
Kết quả của luận văn:
- Đã thực hiện nhận dạng vân tay đầu vào với độ chính xác cao. Đi sâu tìm hiểu nhận dạng vân tay phục vụ xác thực ảnh vân tay theo phương pháp 1-1 như: lưu trư, thu nhận, tăng cường và tìm kiếm chi tiết đặc trưng ảnh vân tay. Trong đó tập trung nghiên cứu thuật toán đối sánh vân tay.
- 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.
- 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 nhận dạng vân tay trong luận văn có thể triển khai vào thực tế.
- Đã nghiên cứu một số thuật toán xử lý ảnh vân tay như chuẩn hoá, tăng cường ảnh vân tay và một số thuật toán trong việc trích chọn đặc trưng vân tay như tính hướng cục bộ, trích chọn chi tiết, tần suất vân tay.
- Nghiên cứu một số thuật toán đối sánh vân tay như thuật toán dựa trên độ tương quan, dựa vào đặc trưng, dựa vào đặc tính vân.
- Cài đặt thành công một số thuật toán xử lý ảnh như chuẩn hóa, tăng cường ảnh vân và một số thuật toán trích chọn đặc trưng vân. Cài đặt thành công các thuật toán dựa trên chi tiết.
- Chương trình đã có thể đối sánh hai vân tay.
Kiến nghị và hướng phát triển:
- Sử dụng công nghệ nhận dạng vân tay để so sánh đối chiếu trong quá trình cấp phát và kiểm soát cửa khẩu là khả thi. Áp dụng được vào hệ thống kiểm soát hộ chiếu điện tử tại cửa khẩu thì chương trình thực nghiệm nên sử dụng kết hợp nhiều thuật toán xác thực khác để tăng tính khả thi như sử dụng mạng NEURAL,…
- Với việc mua các sản phẩm công nghệ xác thực vân tay của nước ngoài rất đắt tiền và các công ty thường không chuyển giao công nghệ mà chỉ chuyển giao sản phẩm. Chính vì vậy, việc nghiên cứu và ứng dụng công nghệ xác thực vân tay là cần thiết.
- Vì chương trình thực nghiệm tìm các điểm đặc trưng của vân tay và đặc trưng hướng đường vân tay nên thông thường ta sẽ thu được rất nhiều điểm chi tiết đặc trưng, chính vì vậy việc so sánh sẽ mất nhiều thời gian. Ngoài ra, do điều kiện tiếp cận nên chương trình chỉ mới thực nghiệm trên tập mẫu vân tay nhỏ nên không có cơ sở đánh giá chính xác và sai sót trong nhận dạng. Trong tương lai chương trình thực nghiệm sẽ bổ sung thêm chức năng phân lớp vân tay và kết hợp với việc tìm kiếm các điểm đặc trưng của vân tay. Khi đó sẽ có những bộ mẫu vân tay theo nhóm và cùng với việc tìm kiếm những điểm đặc trưng của vân tay. Như vậy ta sẽ cải thiện được thời gian đối sánh phục vụ việc rút ngắn thời gian thực thi kiểm soát tại của khẩu.
TÀI LIỆU THAM KHẢO Tiếng Việt:
[1] Đỗ Năng Toàn, Phạm Việt Bình, Giáo trình xử lí ảnh, Trường ĐH Thái Nguyên khoa CNTT, tháng 11 năm 2007.
[2] Ngô Quốc Tạo. Tập bài giảng “Nhập môn xử lý ảnh”.
[3] Lương Mạnh Bá, Nguyễn Thanh Thuỷ. Nhập môn xử lý ảnh số. Nhà xuất bản khoa học kỹ thuật, 1999.
[4] Nguyễn Kim Sách, “Xử lý ảnh và video số”, NXB Khoa học và kỹ thuật, 1997.
Tiếng Anh:
[5] D.Maltoni, D.Maio, A.K.Jain, S.Prabhakar, ”Minutiae-basedMethods”
Extract from “Handbook of Fingerprint Recognition”, Springer, New York, 2003.
[6] Registration of images with geometric distortions. Transactions on Geoscience and Remote ensing, 26(1), 1988.
[7] Orit Baruch. Line thinning by line following. Pattern Recognition Letters, 8:271–276, 1988.
[8] Dario Maio and Davide Maltoni,”Direct Gray-Scale Minutiae
Detection In Fingerprints”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, No. 1, January 1997.
[9] D.Maltoni, D.Maio, A.K.Jain, S.Prabhakar, ”Singularity and Core Detection” Extract from “Handbook of Fingerprint Recognition”, Springer, New York, 2003.
[10] Handbook of fingerprint Recognition – Davide malhoni,Dario Maio, Anil K.Jain, Salil Prabhakar.
[11] Fingerprint verification competition. http://bias.csr.unibo.it/fvc2002/.
[12] Nist fingerprint vendor technology evaluatio(http://fpvte.nist.gov/).