TỔNG QUAN VỀ AN TOÀN THÔNG TIN VÀ XÁC THỰC ĐỊNH DANH NGƯỜI DÙNG
Tổng quan về an toàn thông tin
1.1.1 Khái niệm an toàn thông tin
An toàn thông tin là việc b ảo vệ cho thông tin và các hệ th ống thông tin tránh khỏi việc truy cập, sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép Đây là quá trình phát hiện và ngăn chặn mọi hình vi sử dụng trái phép máy tính, điện thoại hoặc thiết bị chứa thông tin Quá trình này liên quan đến các quá trình bảo vệ chống lại những kẻ xâm phạm sử dụng tài nguyên máy tính cá nhân hoặc văn phòng với mục đích xấu.
Theo Viện Tiêu chuẩn và Công nghệ Quốc Gia Mỹ, an toàn thông tin gồm những tính chất sau đây:
- Tính bí mật: Là tính chất đảm bảo thông tin chỉ cung cấp cho những người có thẩm quyền Điều này bao gồm việc đảm bảo những người không có thẩm quyền sẽ không có khả năng tiếp cận với các dữ liệu cá nhân hoặc bí mật (tính bí mật) và người sở hữu dữ liệu riêng tư có toàn quyền lưu trữ, sử dụng, và cấp phép cho người khác được tiếp cận với dữ liệu đó (tính riêng tư hoặc liên quan đến vấn đề bản quyền) Dữ liệu hoặc hệ thống bị mất tính bí mật khi nó bị tiếp cận hoặc tiết lộ trái phép Nguyên nhân gây ra mất tính bí mật đối với thông tin có thể xảy ra do: o Các hành vi nghe lén, xem lén, đọc lén. o Đánh cắp vật mang. o Xâm nhập trái phép. o Sự bất cẩn (nhầm lẫn, mất cảnh giác) của người có bí mật. o Các hành vi gián điệp.
- Tính toàn vẹn: Là tính chất đảm bảo thông tin không bị thay đổi một cách trái phép hoặc thay đổi không như ý muốn Bảo vệ thông tin chống lại việc sửa đổi hoặc phá hủy trái phép hoặc vô ý, bao gồm cả việc đảm bảo tính xác thực và chống chối bỏ của thông tin Mất tính toàn vẹn xảy ra khi thông tin bị sửa đổi hoặc phá hủy trái phép hoặc sai lệch do lỗi đường truyền Điều này bao gồm việc đảm bảo dữ liệu không bị thay đổi và đảm bảo cả về nguồn gốc của thông tin Tính toàn vẹn cũng bao gồm việc đảm bảo rằng một hệ thống thực hiện đúng và đầy đủ các chức năng được thiết kế mà không có sự cố ý hoặc vô tình thao túng trái phép hệ thống Nguyên nhân gây ra mất tính toàn vẹn của thông tin có thể xảy ra do: o Lỗi đường truyền. o Lỗi phát sinh khi lưu trữ o Tấn công sửa đổi, phá hủy.
- Tính khả dụng: Là tính chất đảm bảo khả năng truy cập thông tin, tính năng của hệ thống thông tin mỗi khi người dùng hợp lệ có nhu cầu Nguyên nhân gây ra mất tính khả dụng của hệ thống thông tin có thể do: o Tấn công từ chối dịch vụ, tấn công từ chối dịch vụ phân tán. o Cấu hình sai. o Tính toàn vẹn bị phá vỡ. o Hỏng hóc, mất điện, thiên tai, hỏa hoạn.
Ba tính chất bí mật, toàn vẹn và khả dụng của thông tin được gọi là tam giác CIA (Confidentiality - Integrity - Availability) và là 3 tính chất cốt lõi quan trọng nhất của an toàn thông tin Mọi vấn đề liên quan đến việc đảm bảo an toàn thông tin đều xoay quanh việc đảm bảo 3 tính chất này của thông tin.
Bên cạnh đó, nhiều cuộc tranh luận về việc mở rộng ba yếu tố trên thành nhiều yế u tố hơn đã được diễn ra Trong đó, người ta thêm vào hai yếu tố mới là tính xác thực và tính không thể chối cãi.
- Tính xác thực: Là tính chất đảm bảo rằng dữ liệu, giao dịch, kết nối hoặc các tài liệu đều là thật Nó cũng quan trọng cho việc xác nhận rằng các bên liên quan biết họ là ai trong hệ thống.
- Tính không thể chối cãi: Có nghĩa rằng một bên giao dịch không thể phủ nhận việc họ đã thực hiện giao dịch với các bên khác.
Như vậy, hai yếu tố mới thêm vào làm cho tính chất của an toàn thông tin được đầy đủ hơn, một hệ thống đáp ứng được các tính chất trên sẽ đủ bảo đảm việc bảo vệ thông tin và tránh lộ lọt.
1.1.2 Các mối đe dọa và nguy cơ trong an toàn thông tin
Trong xã hội, cái thiện và cái ác luôn song song tồn tại như hai mặt không tách rời, chúng luôn phủ định nhau Có biết bao nhiêu người muốn hướng tới cái chân thiện, cái tốt đẹp, thì cũng có không ít kẻ vì mục đích này hay mục đích khác lại làm cho cái ác nảy sinh, lấn lướt cái thiện Sự giằng co giữ a cái thiện và cái ác ấy luôn là vấn đề bức xúc của xã hội, cần phải loại trừ cái ác, thế nhưng cái ác lại luôn nảy sinh theo thời gian Hệ thống thông tin và mạng máy tính cũng như vậy, có những người phải mất biết bao nhiêu công sức nghiên cứu ra các biện pháp bảo vệ cho an ninh của tổ chức mình, thì cũng lại có kẻ tìm mọi cách phá vỡ lớp bảo vệ đó với nhiều ý đồ khác nhau.
Mục đích của người lương thiện là luôn muốn tạo ra các khả năng bảo vệ an ninh cho tổ chức r ất rõ ràng Ngược lại, ý đồ của kẻ xấu lại ở nhiều góc độ, cung bậc khác nhau Có kẻ muốn phá vỡ lớp vỏ an ninh để chứng tỏ khả năng của mình, để thoả mãn thói hư ích kỷ Loại người này thường làm hại người khác bằng cách phá hoại các tài nguyên trên mạng, xâm phạ m quyền riêng tư hoặc bôi nhọ danh dự của họ Nguy hiểm hơn, có những kẻ lại muốn đoạt không các nguồn lợi của người khác như việc lấy cắp các thông tin mật của các công ty, đột nhập vào ngân hàng để chuyển trộm tiền Bởi trên thực tế, h ầu hết các tổ chứ c công ty tham gia vào mạng máy tính toàn cầu đều có một lượng lớn các thông tin kết nối trực tuyến Trong lượng lớn các thông tin ấy, có các thông tin bí mật như: các bí mật thương mại, các kế hoạch phát triển sản phẩm, chiến lược maketing, phân tích tài chính hay các thông tin về nhân sự , bí mật riêng tư Các thông tin này hết sức quan trọng, việc để lộ ra các thông tin cho các đối thủ cạnh tranh sẽ dẫn đến một hậu quả hết sức nghiêm trọng.
Nhìn từ quan điểm kẻ t ấn công, có vô số cách để tấn công, lấ y cắp thông tin của một hệ thống Không có một hệ thống nào là đảm bảo an toàn trước các cuộc tấn công Các mối nguy cho hệ thống thông tin là luôn thường trực, những mối nguy đó đã được liệt kê ra dưới đây:
- Lỗi và sự bỏ sót, cố tình bỏ qua : Nguy cơ này được xếp vào hàng nguy hiểm nhất Khi lập trình, các cảnh báo và lỗi do trình biên dịch đưa ra thường bị bỏ qua và nó có thể dẫn đến những sự việc không đáng có, ví dụ như tràn bộ đệm, tràn heap Khi người dùng vô tình (hay cố ý) sử dụng các đầu vào không hợp lý thì chương trình sẽ xử lý sai, hoặc dẫn đến việc bị khai thác, đổ vỡ (crash).
Kỹ thuật lập trình đóng vài trò rất quan trọng trong mọi ứng dụng Và lập trình viên phải luôn luôn cập nhật thông tin, các lỗi bị khai thác, cách phòng chống, sử dụng phương thức lập trình an toàn.
- Lừa đảo và lấy cắp thông tin : Tưởng tượng rằng có những đồng nghiệp trong công ty đi làm không phải để làm việc, mà để lấy cắp những thông tin quan trọng của công ty Chuyện này hoàn toàn có thể xảy ra, đặc biệt là những công ty làm việc về quân sự, cơ quan nhà nước… Đã có rất nhiều công ty bị lộ thông tin từ bên trong và rất khó để phát hiện kẻ tấn công từ bên trong.
- Hacker (Tin tặc) : Có rất nhiều cách hacker tấn công hệ thống Mỗi kẻ tấn công đều có những thủ thuật, công cụ, kiến thức, hiểu biết về hệ thống Và cũng có vô số cá cuốn sách, diễn đàn đăng tải những nội dung này.
Các kiến thức cơ bản về xác thực người dùng
1.2.1 Khái niệm về xác thực người dùng
Khi người sử dụng muốn truy nhập vào một hệ thống máy tính, thông thường, người sử dụng cần cung cấp các thông tin nhận dạng cho máy tính Khi nhận được các thông tin ấy, máy tính kiểm tra xem người sử dụng có quyền truy nhập vào hệ thống không Đây cũng là một nguyên tắc cơ bản được áp dụng cho một người khi muốn trao đổi thông tin với người khác: Trước tiên cần phải xác định người tham gia trao đổi thông tin có đúng là người muốn trao đổi không Do đó cần phải có một phương thức để cung cấp đặc điểm nhận dạng nhằm đảm bảo người trao đổi thông tin là hợp lệ Quá trình này được gọi là xác thực người sử dụng.
Xác thực người dùng là một quá trình qua đó hệ thống có thể xác minh rằng một ai đó thực sự là họ Quá trình xác thự c sẽ xác định xem một người có phải là người được sử dụng hệ thống không Nó thường đi kèm với quá trình xác định quyền hạn của người đó trong hệ thống.
Trên thế giới cũng như ở Việt Nam, vấn đề xác thực người dùng đang được quan tâm và đã có nhiều giải pháp được sử dụng và nghiên cứu Có rất nhiều cách để xác thực: người sử dụng có thể cung cấp các thông tin mà chỉ có người đó mới biết: ví dụ mật khẩu, mã số cá nhân, … hoặc người đó có thể cung cấp các thông tin riêng khác như số chứng minh thư, thẻ từ, thẻ thông minh… Trong đó, mỗi giải pháp lại có những ưu điểm và nhược điểm riêng khác nhau.
1.2.2 Các giải pháp xác thực người dùng phổ biến
1.2.2.1 Giải pháp sử dụng tên và mật khẩu
Mô tả Đây là giải pháp truyền thống hay được sử dụng nhất, là giải pháp sử dụng tài khoản của hệ thống Mỗi tài khoản bao gồm tên truy nhập (uername) và mật khẩu (password) Tên truy nhập dùng để phân biệt các người dùng khác nhau (thường là duy nhất trong hệ thống), còn mật khẩu để xác thực lại người sử dụng tên đó có đúng là người dùng thật sự không Mật khẩu thường do người sở hữu tên truy nhập tương ứng đặt và được giữ bí mật chỉ có người đó biết.
Khi người dùng muốn đăng nhập và sử dụng tài nguyên hệ thống thì phải đăng nhập bằng cách nhập tên và mật khẩu của mình Trước hết, hệ thống sẽ đối chiếu tên truy nhập của người dùng đưa vào với cơ sở dữ liệu tên người dùng, nếu tồn tại tên người dùng như vậy thì hệ thống tiếp tục đối chiếu mật khẩu được đưa vào tương ứng với tên truy nhập trong cơ sở dữ liệ u Qua 2 lần đối chiếu nếu thỏa mãn thì người đăng nhập là người dùng hợp lệ của hệ thống.
Thiết kế và sử dụng đơn giản, tốn ít tài nguyên Hệ thống chỉ gồm một cơ sở dữ liệu người dùng với 2 thông tin chủ yếu là tên truy nhập và mật khẩu. Tương ứng với mỗi tên truy nhập là quyền sử dụng của người đó trong hệ thống.
Do đó các thông tin này không chiếm nhiều tài nguyên Người dùng dễ hiểu và dễ sử dụng.
Chi phí để thực hiện giải pháp này là rẻ so với các giải pháp khác Nó không phụ thuộc vào các thiết bị phần cứng mà chỉ dựa trên phần mềm Giải pháp này có khả năng làm việc trên mọi hệ điều hành Do đó, việc thực hiện giải pháp này khá dễ dàng và không tốn kém.
Giải pháp này có nhược điểm lớn nhất là không có được s ự bảo mật cao.
Vì người dùng thường có tên đăng nhập nhiều người dùng có Mặt khác, người dùng thường chọn mật khẩu dễ nhớ hoặc không cẩn thận khi gõ mật khẩu, do vậy dễ bị tấn công Kẻ tấn công có nhiều phương pháp để đạt được mật khẩu như thâm nhập vào hệ thống đọc file mật khẩu, dự đoán mật khẩu, vét cạn các từ trong từ điển để tìm mật khẩu, hoặc có thể lừa người dùng để lộ mật khẩu.
Một số biện pháp để tăng thêm tính bảo mật cho giải pháp này:
- Đặt mật khẩu phức tạp: mật khẩu phải chứa tối thiểu 6 ký tự, không trùng với tên đăng nhập, chứa các loại ký tự là chữ cái, chữ số, ký tự đặc biệt Nếu đặt như vậy thì kẻ muốn tấn công cũng sẽ rất khó đoán được mật khẩu.
- Thay đổi mật khẩu: quy định sau một thời gian nhất định mật khẩu sẽ không còn tác dụng đối với hệ thống và người dùng phải đặt lại mật khẩu khác. Mật khẩu sẽ được thay đổi nên khả năng kiểm soát tình trạng an toàn của mật khẩu cao hơn.
- Mã hóa thông tin: Trong môi trường làm việc là mạng, những nhà thiết kế thường dùng biện pháp mã hóa thông tin đăng nhập từ một máy khách nào đó trước khi chúng được gửi đi tới máy chủ của hệ thống Do đó, khả năng bị mất cắp mật khẩu sẽ giảm đi rất nhiều khi kẻ xấu bắt gói tin đăng nhập trên đường truyền.
Hiện nay, giải pháp mật khẩu sử dụng một lần (one-time password) được sử dụng rất nhiều trong các ứ ng dụng Các mật khẩu trong danh sách chỉ có thể sử dụng một lần duy nhất mà không thể sử dụng lại trong những lần đăng nhập sau. Mật khẩu sử dụng một lần này thường được sử dụng làm lớp xác thực thứ hai cho các hệ thống và ứng dụng.
Có 2 cách để hệ thống mật khẩu sử dụng một lần có thể làm việc là:
-Danh sách các mật khẩu được tạo ra một cách ngẫu nhiên bởi hệ thống và được sao làm 2 bản, một bản cho người dùng và một bản cho hệ thống.
-Danh sách mật khẩu được tạo ra theo yêu cầu của người sử dụng và được hệ thống công nhận.
Quá trình thực hiện: Sử dụng thuật toán băm MD4 (hiện nay là MD5) từ một giá trị cho trước (do người dùng hoặc do máy ngẫu nhiên tạo ra) để tạo ra khóa đầu tiên, tiếp tục áp d ụng thuật toán MD4 cho khóa đầu tiên để được khóa thứ 2 …và cứ áp dụng liên tục thuật toán MD4 để sinh ra các khóa nối tiếp nhau. Khi xác thực người dùng, h ệ thống phải biết một trong các khóa (khóa thứ n), nó sẽ hỏi người dùng khóa trước đó (khóa thứ n-1) Nếu người dùng nhập đúng khóa n-1 thì hệ thống sẽ cho người dùng đăng nhập và ghi lại khóa n-1 vào bộ nhớ. Đến lần đăng nhập sau, hệ thống sẽ hỏi người dùng khóa thứ n-2 …
Khi dùng thuật toán MD4 để sinh ra kết quả thì từ kết quả hầu như không thể suy ngược lại giá trị đầu vào nên hệ thống không thể tìm ra được khóa thứ n-
1 là gì, mặc dù khi biết cả khóa thứ n.
GIẢI PHÁP XÁC THỰC ĐỊNH DANH QUA HÌNH ẢNH TĨNH MẠCH NGÓN TAY
Tổng quan giải pháp
2.1.1 Sự cấp thiết và tầm quan trọng của giải pháp xác thực định danh qua hình ảnh tĩnh mạch ngón tay
Với xu hướng loại bỏ hoàn toàn mật khẩu, Apple đã đánh dấu một kỷ nguyên không mật khẩu vào 09/2022 Cụ thể, trong các bản cập nhật phần mềm mới nhất của Apple dành cho Iphone, Ipad và Macbook, người dùng sẽ có thể xác thực định danh mà không cần mật khẩu hoặc dựa vào công cụ quản lý mật khẩu để lưu và điền thông tin Tiếp nối xu hướng của Apple, Google và Window cũng công bố chính thức khai tử mật khẩu vào th ời gian tôi đang viết luận văn này Như vậy, việc loại bỏ mật khẩu ra khỏi bước xác thực định danh sẽ mang lại sự thuận lợi hơn rất nhiều cho người sử dụng.
Tuy nhiên, việc loại bỏ mật khẩu sẽ kéo theo vai trò của các giải pháp xác thực định danh khác ngày càng quan trọng hơn Trong đó, sự phổ biến của xác thực định danh bằng sinh trắc học là không thể bàn cãi Phương pháp này tồn tại trên hàng tỉ thiết bị và ứng dụng Với không mật khẩu, phương pháp này sẽ đứng ởmột vị trí mới, là lớp phòng thủ vật lý nhìn thấy duy nhất để có thể xác thực vào hệ thống.
Nói đến xác thực định danh bằng sinh trắc h ọc, xác thực bằng vân tay, khuôn mặt, giọng nói và mống mắt là nhiều hơn cả Đây hầu hết là các đặc điểm sinh trắc học bên ngoài, có thể bị sao chép và đánh cắp Nếu như một cuộc tấn công giả mạo các loại sinh trắc học trên xảy ra thì sẽ gây ra hậu quả cực kì nghiêm trọng cho các hệ thống không m ật khẩu sử dụng phương pháp định danh bằng các loại sinh trắc học đó Trên thực tế điều này hoàn toàn có thể xảy ra, Veasna Soum và các đồng sự đã chế tạo ra được một máy in sợi Carbon [1] vào năm 2019 Theo như tác giả, máy in này có thể in được d ấu vân tay và sử dụng chúng vào các cuộc tấn công giả mạo dấu vân tay Hoặc như nhận diện khuôn mặt đã bị vượt qua và được trình bày tại hội nghị Black Hat USA 2019 Các nhà nghiên cứu chỉ ra rằng, h ọ đã vượt qua được lớp nhận diện khuôn mặt chỉ bằng mộ t cặp kính đặc biệt Như vậy, với công nghệ không mật khẩu mới ra đời, sinh trắc học đã trở thành tâm điểm chú ý Tự hỏi liệu công nghệ mới sẽ tạo ra khả năng bảo mật cao hơn hay là tạo ra một véc tơ tấn công mới với mối đe dọa mới.Nhận rõ sự cấp thiết và tầm quan trọng của việc cần có một giải pháp xác thực định danh bằng sinh trắc học phù hợp vớ i các công nghệ mới Xác thực định danh bằng sinh trắc học sử dụng các đặc điểm sinh trắc bên trong cơ thể là một sự lựa chọn phù hợp, mang tính xu thế và đảm bảo an toàn trước các cuộc tấn công giả mạo Trong những năm gần đây, việc sử dụng đặc điểm tĩnh mạch ngón tay để xác thực là một giải pháp an toàn, nhanh, hiệu quả và không gián đoạn trong việc xác minh đúng người đưa ra yêu cầu nhận dạng.
Giống như công nghệ sử dụng vân tay, hệ thống mạng lưới các mạ ch máu tĩnh mạch ở ngón tay có tính chất đặc trưng riêng ở mỗi cá thể và không có sự thay đổi trong suốt quá trình trưởng thành của một con người Thêm vào đó, do thuộc tính sinh h ọc các tế bào hồng cầu có khả năng hấp thu ánh sáng hồng ngoại có bước sóng ngắn Do đó, hình thứ c nhậ n dạng này sẽ mang tính cá thể và tính tồn tại của cá thể Cơ sở của việc định danh là sử dụng mạng lưới mạch máu tĩnh mạch, các mạng lưới sẽ được chụp khi đưa ngón tay chủ thể vào luồng ánh sáng hồng ngoại.
2.1.2 Các đặc điểm của giải pháp xác thực định danh qua hình ảnh tĩnh mạch ngón tay
Nhận dạng, định danh bằng tĩnh mạch ngón tay là sử dụng yếu tố sinh trắc học bên trong cơ thể con người làm đầu vào cho hệ thống nhận dạng, định danh cá thể Phương pháp này có các đặc điểm như sau:
-Chống giả mạo (khó hơn nhiều so với võng mạc mắt, dấu vân tay, khuôn mặt) vì tĩnh mạch nằm bên trong ngón tay nên khó có thể bắt trước và khó bị hư hỏng [2].
-Tĩnh mạch không bị thay đổi trong suốt thời gian dài và không thể lấy cắp tĩnh mạch của người đã khuất vì không có sự hấp thụ ánh sáng cận hồng ngoại xảy ra [2].
-Hình ảnh được chụp không xâm lấn vì vậy đảm bảo sự thuận tiện cho người sử dụng [2].
- Độ chính xác cao, tỷ lệ sai sót khi đăng nhập cực thấp.
- Không phụ thuộc hay bị ảnh hưởng bởi môi trường và các yếu tố khác.
- Không ảnh hưởng bởi môi trường hay nguồn lực hạn chế.
- Cảm biến sinh trắc: kích thước nhỏ và chi phí thấp.
- Mức độ về bảo mật cao nhất.
- Bảo vệ tối đa thông tin riêng tư của khách hàng.
- Tương thích, tích hợp và kết nối tốt với các giải pháp đã triển khai (nền tảng hạ tầng và hệ thống).
Hình 2.1 Tổng thể tiến trình thu nhận xử lý tĩnh mạch ngón tay.
Với các đặc điểm có ưu điểm trên, giải pháp xác thực trên là giải pháp số 1 được các đơn vị ngành cần độ bảo mật, chính xác cao như tài chính, ngân hàng ưu tiên lựa chọn (>85%), nhận được đánh giá tích cự c từ các tổ chức an ninh bảo mật khi ứng dụng vào hoạt động Ngân hàng, đáp ứng toàn diện được các yêu cầu của các Ngân hàng trên thế giới (về an ninh bảo mật, điều kiện làm việc…) Và đây là giải pháp sinh trắc học đầu tiên trên thế giới khả thi hóa chữ ký điện tử trên giấy tờ, tài liệu.
2.1.3 Nguyên lý hoạt động của giải pháp xác thực định danh qua hình ảnh tĩnh mạch ngón tay
Nguyên lý cốt lõi của giải pháp là việc sử dụng ánh sáng cận hồng ngoại (NIR) (700 – 900 nm) chiếu xuyên qua ngón tay, hồng huyết cầu sẽ hấp thu ánh sáng này Ở phía ánh sáng xuyên qua, ta sẽ sử dụng camera có đặc tính bắt được ánh sáng cận hồng ngoại để hứng ánh sáng xuyên qua Từ đó, ta đã chụp lại cấu trúc mạng tĩnh mạch và sau đó số hóa nó, lưu lại, so sánh với mã hồ sơ định danh đã lưu trên hệ thống để nhận diện.
Hình 2.2 Mô tả thiết bị xác thực tĩnh mạch ngón tay.
Với nguyên lý trên, công nghệ này có tính bảo mật và độ chính xác cao nhất trong bảo mật xác thực danh tính hiện nay Một so sánh cụ thể, phương pháp xác thực định danh qua tĩnh mạch có chỉ số FAR (False Acceptance Rate): tỷ lệ nhận diện sai cỡ < 0,0001%, FRR (False Rejection Rate): tỷ lệ từ chối sai cỡ 0.01% trong khi đó, phương pháp phổ biến hiện nay, nhận diện qua vân tay có chỉ số FAR cỡ 3~4%.
Hình 2.3 Cấu tạo thiết bị thu nhận hình ảnh tĩnh mạch ngón tay.
Công nghệ tĩnh mạch ngón tay đạt yêu cầu chống giả mạo, nhờ phương pháp sinh trắc học vô hình dưới những điều kiện đặc biệt Nó đảm bảo các mạch máu sống hiện hữu, mà nhờ đó ngăn cản sự giả mạo Các kiểu dạng mạch máu tĩnh mạch rất rõ ràng và đặc trưng, đã giải thích chính xác cho độ chính xác cao của giải pháp.Các nghiên cứu ghi nhận có sự khác biệt rất lớn giữa các mẫu hình về kiểu loại tĩnh mạch, làm cơ sở cho sự duy nhất và không trùng lặp của tĩnh mạch.
Thêm vào đó kiểu dạng tĩnh mạch không thay đổi trong suốt thời gian sống kể từ khi con người trưởng thành.
Hình 2.4 Nguyên lý thu ảnh tĩnh mạch ngón tay.
Về mức độ chính xác của nhận dạng tĩnh mạch ngón tay là hầu như không bị ảnh hưởng bởi các yếu tố ngoại lai như bụi bẩn, mồ hôi hoặc dầu mỡ trên các ngón tay, hoặc tổn thương bề mặt Nó thậm chí có thể sử dụng phương pháp này trong khi đeo găng tay cao su, do vậy có thêm rất nhiều ưu điểm trong yêu cầu cài đặt giải pháp tại các điểm đặt thanh toán ngoài trời trong điều kiện thời tiết đa dạng từ nắng nóng đến băng giá và mưa gió.
Bảng 2.1 Bảng so sánh các phương pháp trên phương diện tính bảo mật và tính thực tế.
Tính bảo mật Tính thực tế
Chống Độ Tốc độ Đăng Thuận Giá Kích giả mạo chính ký tiện cỡ xác mẫu
Vân Kém Trung Trung Kém Trung Tốt Tốt tay bình bình bình
Võng Trung Tốt Trung Trung Kém Kém Kém mạc bình bình bình
Khuôn Trung Kém Trung Trung Tốt Kém Kém mặt bình bình bình
Giọng Trung Kém Trung Trung Tốt Trung Trung nói bình bình bình bình bình
Tĩnh Tốt Tốt Tốt Trung Trung Trung Trung mạch bình bình bình bình
Phương pháp nhận dạng tĩnh mạch ngón tay nhanh và tiện lợi, đơn giản là đặt các ngón tay trên một máy quét nhận dạ ng, mà không cần yêu cầu triển khai hay cài đặt gì Có lẽ đây là ưu thế tuyệt đối nhất trong việc thương mại hóa ứng dụng ra thị trường hiện nay, chi phí – hiệu quả là tuyệt vời: công nghệ tĩnh mạch ngón tay có thể cung cấp một độ chính xác cao không cân xứng khi so với chi phí của nó Còn về t ổng thể, nhận d ạng tĩnh mạch ngón tay dường như là một ứng cử viên tốt cho một định danh sinh trắc học lý tưởng.
Hình 2.5 Xu hướng của công nghệ sinh trắc học trong khía cạnh thanh toán điện tử.
2.1.4 Mô hình bài toán tổng thể của giải pháp Để thực hiện giải pháp xác thực và định danh cá nhân qua hình ảnh tĩnh mạch ngón tay, mô hình bài toán tổng thể của giải pháp được đưa ra như Hình 2.6
Hình 2.6 Mô hình thực hiện giải pháp xác thực và định danh cá nhân bằng tĩnh mạch ngón tay.
Trong Hình 2.6 , mô hình thực hiện giải pháp xác thực và định danh cá nhân qua hình ảnh tĩnh mạch ngón tay được chia làm 2 phần:
• Phần 1: Là quá trình đăng ký các mẫu tĩnh mạch ngón tay Ngón tay được đưa vào máy quét tĩnh mạch, máy quét tiến hành thu thập các hình ảnh tĩnh mạch, sau đó tiền xử lý hình ảnh để bức ảnh có chất lượng tốt hơn Trích xuất các đặc trưng của tĩnh mạch và kết hợp các bức ảnh mẫu để tạo thành bản đặc trưng mẫu Các bản mẫu này sẽ được lưu lại trong cơ sở dữ liệu phục vụ việc xác thực sau này.
Các công trình nghiên cứu liên quan
Mô hình tổng quát thể hiện việc cho kết quả chính xác hay không phụ thuộc rất nhiều vào thiết bị thu ảnh rồi sau đó là thuật toán xử lý các bước: tiền xử lý hình ảnh và trích xuất đặc trưng của tĩnh mạch Đây là vấn đề thách thức cho giải pháp này Sở dĩ vậy, vì qua thực tế nghiên cứu, các hình ảnh tĩnh mạch thường có độ tương phản rất thấp, sự thay đổi nhiệt độ và chiếu sáng là không đồng đều Do vậy, việc tập trung nghiên cứu vào thiết kế thiết bị thu nhận ảnh và các thuật toán xử lý ảnh, trích xuất đặc trưng là hết sức cần thiết. Đã có nhiều công trình nghiên cứu nhằm cải thiện khả năng thu ảnh của thiết bị như: Công trình thiết kế thiết bị thu ảnh tĩnh mạch ngón tay dựa trên ARM và mảng CMOS của Qiuyuan Huang [3] Công trình trình bày rằng: thiết bị C73 chụp tĩnh mạch ngón tay thông thường không thể ghi lại toàn bộ ngón tay do có khoảng cách và góc nhìn hẹp, một hệ thống mới được đề xuất để chụp ảnh tĩnh mạch ngón tay từ nhiều góc độ cho hiệu quả và chính xác hơn Hệ thống này bao gồm bộ vi xử lý ARM, đèn LED NIR (cận hồng ngoại) đóng vai trò chiếu sáng, mảng CMOS ghi lại hình ảnh tĩnh mạch ngón tay từ sáu vị trí khác nhau và
PC hiển thị hình ảnh tĩnh mạch Bài báo của có Qiuyuan Huang mô tả thiết kế phần cứng của mô-đun nguồn sáng, mô-đun hình ảnh và mô-đun điều khiển thu nhận Ứng dụng của nghiên cứu dựa trên Linux Kết quả thử nghiệm cho thấy thiết bị chụp này hoạt động chính xác, hiệu quả và ổn định.
Hoặc các công trình sử dụng học máy để trích chọn đặc trưng được chính xác, tuy nhiên nếu sử dụng cách này sẽ mất thời gian hơn so với xử lý ảnh thuần. Xiufeng Zhang cho rằng khi trích xuất đặc trưng bằng xử lý ảnh thuần sẽ không đầy đủ thông tin đặc điểm tĩnh mạch ngón tay do vậy ông đã công bố nghiên cứu
“Nhận dạng tĩnh mạch ngón tay dựa trên GLCM-HOG và SVM” [4] Đây là công trình mới được công bố năm 2020 đề cập đến các vấn đề sau Thứ nhất, nghiên cứu đề xuất dùng bộ lọc trung vị thích ứng để tiền xử lý hình ảnh, qua đó nâng cao kết cấu của hình ảnh và loại bỏ nhiễu Thứ hai, GLCM-HOG được đề xuất để hợp nhất tính năng nối tiếp của các tĩnh mạch ngón tay Cuối cùng, sử dụng thuật toán học máy (SVM) để phân loại nhằm đạt được tính năng phù hợp và xác thực.Kết quả thí nghiệm mô phỏng cho thấy tỷ lệ nhận biết có thể đạt 97,3% So với các thuật toán truyền thống, tỷ lệ nhận dạng và tốc độ nhận dạng của phương pháp này được cải thiện đáng kể, đồng thời nó có độ ổn định và mạnh mẽ hơn.
Bên cạnh các công trình sử dụng học máy, các công trình theo phương pháp xử lý ảnh truyền thống cũng có độ hiệu quả, khả năng chính xác cao Nhóm tác giả Miura, Nagasaka và Miyatake là những tác giả đặt nhiều dấu mốc trong lĩnh vực này bằng phương pháp xử lý ảnh truyền thống Có thể kể đến các công trình của họ như: trích xuất đặc trưng tĩnh mạch sử dụng phương pháp dò đường tĩnh mạch nhiều vòng [5], hoặc trích xuất đặc trưng tĩnh mạch sử dụng đặc tính cong cực đại của các đường tĩnh mạch [6] Cũng có các phương pháp truyền thống khác giúp trích xuất đặc trưng tĩnh mạch như sử dụng bộ lọc Gabor Các tác giả Yang, Shi và Wu đã sử dụng bộ lọc Gabor để trích xuất thông tin tĩnh mạch theo nhiều tỉ lệ và nhiều chiều [7] Họ cũng công bố một bài báo khác sử dụng bộ lọc Gabor kết hợp với Gabor Wavelets để tăng cường tĩnh mạch và loại bỏ nền [8]. Eui Chul Lee và các cộng sự thì công bố một giải pháp đối sánh tĩnh mạch bằng cách sử dụng mô hình mã nhị phân cục bộ (Local Binary Pattern’s codes) [9]. Một công trình đáng chú ý được công bố bởi Kauba và các cộng sự [10], công trình nghiên cứu này tổng hợp nhiều phương pháp trích xuất tĩnh mạch bằng xử lý ảnh thuần Các kết quả đạt được có tỷ lệ cân bằng lỗi rất tốt.
Một trong những giải pháp làm cải thiện khả năng định dạng qua mạch máu ngón tay theo phương pháp xử lý ảnh truyền thống gần đây mới công bố sử dụng phân rã DSST [11] DSST được sử dụng để phân rã hình ảnh qua đó hệ số phân rã thu được và tiến hành phân tích Kết quả thử nghiệm cho thấy rằng phương pháp này có thể cung cấp đặc điểm bị thưa của hình ảnh tĩnh mạch ngón tay gốc Đồng thời có được hiệu ứng nhận dạng tốt khi chất lượng của một số hình ảnh kém.
THIẾT KẾ, XÂY DỰNG GIẢI PHÁP XÁC THỰC ĐỊNH
Phân tích, thiết kế mô hình cho giải pháp
Dựa trên nguyên lý hồng cầu hấp thụ ánh sáng cận hồng ngoại, các nhà khoa học đã chiếu ánh sáng cận hồng ngoại xuyên ngón tay và dùng camera cận hồng ngoại đặt phía ánh sáng thoát ra để thu ảnh Ảnh thu được sẽ có các đường tối (các điểm không thu được ánh sáng) chính là tĩnh mạch của ngón tay.
Hình 3.1 Ảnh tĩnh mạch ngón tay thu được từ camera.
Tuy nhiên trong quá trình trên, việc ánh sáng cận hồng ngoại bị tán xạ và phản xạ trong mô đã gây nên nhiều nhiễu trong ảnh chụp Hơn nữa, nguồn sáng không lý tưởng còn gây ra sự tương phản kém ổn định trong ảnh tĩnh mạch ngón tay Những điều trên dẫn đến ảnh tĩnh mạch ngón tay thường có độ tương phản kém, các cấu trúc tĩnh mạch thường mờ và không rõ ràng Nên việc thiết kế mô hình nhằm xử lý nổi bật và tách các cấu trúc tĩnh mạch là hoàn toàn cần thiết.
Hình 3.2 Độ tương phản không đồng đều trong ảnh tĩnh mạch ngón tay.
Ngoài ra, ảnh chụp tĩnh mạch có chứa nhữ ng thông tin ở nền không cần thiết Nên việc loại bỏ các vùng nền ngoài ngón tay sẽ giảm bớt nhiễu từ hệ thống thu ảnh và tăng độ chính xác hơn cho quá trình trích chọn đặc trưng.
Hình 3.3 Thông tin nền không cần thiết từ thiết bị thu.
Với các đặc điểm khá bất lợi trên, tôi hướng đến thiết kế một mô hình có thể tách được ngón tay ra khỏi nền, tăng cường được độ tương phản để làm nổi bật các đường mạch máu không rõ ràng, trích xuất được các đặc trưng của m ạch máu Các đặc trưng đó có thể là các đường mạch máu hoặc cũng có thể là các thông tin của mạch máu như vị trí, cường độ, Cuối mô hình, các đặc trưng sẽ được đưa vào thuật toán xác thực để cho ra kết quả.
Mô hình giải pháp xác thực định danh được đề xuất trong Hình 3.4
Hình 3.4 Mô hình giải pháp xác thực đề xuất.
Trong mô hình Hình 3.4 , ảnh tĩnh mạch đầu vào sẽ được qua khối tách ngón tay để loại bỏ các thông tin ở nền không cần thiết Tiếp theo, ảnh ngón tay sẽ được tăng cường chất lượng tĩnh mạch Sau khi tăng cường chất lượng tĩnh mạch, ta sẽ trích xuất các đặc trưng của tĩnh mạch Thông tin đặc trưng sẽ phục vụ cho thuật toán xác thực.
Trong các phần tiếp theo, tôi sẽ trình bày chi tiết hơn về từng khối.
Khối tách ngón tay
Hình ảnh tĩnh mạch ngón tay trước hết phải trải qua khối xử lý tách ngón tay để loại bỏ các thông tin ở nền không cần thiết Khối này còn được gọi là trích xuất vùng quan tâm, viết tắt là ROI (Region of Interest) Khi thực hiện, vùng nền sẽ bị loại bỏ bằng cách đặt các điểm ảnh vùng nền về giá trị 0. Để thực hiện trích xuất vùng quan tâm, cạnh trên và cạnh dưới của ngón tay phải được xác định Bên cạnh đó, có rất nhiều ảnh đầu vào có ngón tay bị xoay 1 góc nhỏ, xê dịch trên/dưới ít nhiều do cách đặt ngón tay trong quá trình thu ảnh.
Do đó trong khối tách ngón tay, tôi đề xuất sơ đồ thuật toán trong Hình 3.5
Hình 3.5 Sơ đồ thuật toán trích xuất vùng quan tâm.
Có một số thuật toán xử lý ảnh phù hợp làm bộ lọc cạnh như: Bộ lọc Sobel, bộ lọc Prewitt, bộ lọc cạnh do Eui Chul Lee và cộng sự đề xuất [9].
Toán tử Sobel hay còn được gọi là toán tử Sobel – Feldman hoặc bộ lọc Sobel, là thuật toán xác định cách cạnh Trong xử lý ảnh 2 chiều, bộ lọc Sobel thực hiện tính toán gradient trên hình ảnh và làm nổi bật những vùng có tần số không gian cao tương ứng với các cạnh Bộ lọc thiết kế 2 mặt nạ để tìm các cạnh chạy theo chiều dọc và chiều ngang Mỗi mặt nạ được áp dụng riêng biệt cho hình ảnh đầu vào Với sự áp dụng riêng biệt sẽ tạo ra các thành phần gradient theo từng hướng gọi là và Sau đó, chúng được kết hợp với nhau để tìm ra độ lớn tuyệt đối của gradient tại mỗi điểm trên ảnh và hướng của gradient đó.
Hình 3.6 (a) Mặt nạ Sobel theo phương x, (b) Mặt nạ Sobel theo phương y. Độ lớn của gradient được cho bởi:
Hướng của gradient được cho bởi:
Hướng 0 được coi là hướng có độ tương phản tối đa từ đen sang trắng chạy từ trái sang phải trên hình ảnh và các góc khác được đo ngược chiều kim đồng hồ từ hướng này.
Là bộ lọc để phát hiện biên theo chiều ngang và chiều dọc của một hình ảnh, kỹ thuật này cũng sử dụng hai mặt nạ theo phương dọc và phương ngang tương tự như bộ lọc Sobel, chi tiết hai mặt nạ như Hình 3.7:
Hình 3.7 (a) Mặt nạ Prewitt theo phương x, (b) Mặt nạ Prewitt theo phương y.
Từng mặt nạ sẽ được nhân chập với hình ảnh tương ứng với đạo hàm theo 2 hướng dọc là hướng ngang Kết quả sẽ là hình ảnh với các đường biên được nổi bật.
Bộ lọc cạnh do Eui Chul Lee và cộng sự đề xuất [9] Đây là phương pháp sử dụng mặt nạ có kích thước 4x20 pixel trong Hình 3.8 để phát hiện cạnh trên và cạnh dưới của ngón tay Điều này thực hiện được là vì mặt nạ nhạy với những vùng có sự thay đổi mức xám lớn theo phương dọc Cụ thể là mức xám của vùng nền sẽ thấp hơn mức xám vùng ngón tay, các cạnh ngón tay là điểm chuyển tiếp giữa 2 vùng nên tại đây sẽ có mức xám tăng dần và thay đổi mạnh.
Hình 3.8 Mặt nạ của bộ lọc cạnh.
Khi đã lọc được cạnh trên và cạnh dưới của ngón tay, việc đảm bảo các cạnh được lọc ra không có điểm đứt gãy là rất quan trọng, vì chỉ khi tách được chính xác hai cạnh thì ta mớ i tạo được mặt nạ để tách ngón tay Do vậy, nếu có hiện tượng đứt gãy thì phải nối lại các điểm đó để tạo lại cạnh một cách hoàn chỉnh.
Trong sơ đồ đề xuất Hình 3.5 , tôi đã đưa vào bước dò cạnh để làm nhiệm vụ này. Trong bước này, thuật toán dò cạnh có độ hiệu quả và chính xác cao được đề xuất giá trị mứ ( , ) ( , ) bởi Huimin Lu và cộng sự [12] Phương pháp thực hiện dò cạnh như sau:
Gọi là giá trị mức xám của điểm ảnh trong ảnh đầu vào, là các điểm ảnh ( , ) c xám của điểm ảnh trong ảnh sau khi qua bộ lọc cạnh Bắt đầu tại một điểm ảnh bất kì mà ta chắc chắn nó là cạnh Tại vị trí này, ta bắt đầu dò bên phải Nếu một trong các điểm ảnh bên phải là cạnh, ta đặt điểm đó là điểm bắt đầu mới và tiếp tục dò sang phải cho tới điểm ảnh cuối cùng bên phải Làm tương tự điều này theo chiều bên trái Cụ thể sẽ có các bước sau đây:
Bước 1: Đánh dấu điểm bắt đầu hiện tại Ta sẽ cài đặt giá trị điểm ảnh bắt đầu hiện tại thành 255 cho cả F và G.
(3.3) Cập nhật điểm hiện tại Tính toán sự khác biệ t của điể m hiện tại
Bước 2: ( , ) = ( , ) = 255 theo phương trình (3.4) và lấy điểm với ba vị trí lân cận cùng một phía lân cận cho kết quả nhỏ nhất làmđiểm bắt đầu tiếp theo ( , )
+×(|(, )−(,)|) tương ứng lần lượt là ba điểm lân cận cùng một phía với thứ tự phía = 1,2,3 trên, ngang hàng và phía dưới. biệt l là trọng số có thể điều chỉnh, nó có thể được điều chỉnh nhỏ khi có sự khác ớn giữa vùng nền và( vùng,)ngón tay. Điểm lân cậ ( n có, ) nhỏ nhất sẽ là cạnh và được đánh dấu làm điểm hiện tại tiếp theo
Bước 3: Lặp lại bước 1 và bước 2 Khi đã hoàn thành dò theo một phía thì bắt đầu theo phía còn lại.
Bước tiếp theo trong sơ đồ Hình 3.5 là hiệu chỉnh Đây là phương pháp cần thiết, bởi vì nếu như xác thực 2 ảnh của cùng một ngón tay mà không hiệu chỉnh lại góc cũng như vị trí thì cùng một đườ ng mạch máu nhưng lại đang hướng theo các góc khác nhau trong từng ảnh Điều này sẽ ảnh hưởng tiêu cực tới kết quả xác thực Thuật toán hiệu chỉnh ảnh tĩnh mạch ngón tay của Huang Dai [13] đã được thực nghiệm cho kết quả tốt Thuật toán điều chỉnh một đường trung tâm giữa các cạnh trên và dưới của ngón tay về chính giữa ảnh và có góc xoay là 0 độ Trong phương pháp, tác giả đã sử dụng thuật toán hồi quy tăng cường [14] và các tham số để di chuyển đường trung tâm gồm: góc quay, khoảng tịnh tiến Ta sẽ tìm giá trị của các thông số đó để thự c hiện chuyển đổi Affine Phép biến đổiAffine này sẽ đưa đường trung tâm ngón tay về vị trí chính giữa ảnh.
Khối tăng cường chất lượng tĩnh mạch
Khối tăng cường chất lượng tĩnh mạch nhằm giải quyết vấn đề các đường tĩnh mạch mờ, khó để đưa vào trích xuất Khối sẽ thực hiện tăng cường độ tương phản cho các đường tĩnh mạch, làm cho các đường tĩnh mạch nổi bật hơn so với nền, tạo điều kiện thuận lợi để đưa vào trích xuất ở bước sau.
Sơ đồ thuật toán thực hiện tăng cường ảnh tĩnh mạch Hình 3.9 Đây cũng là sơ đồ quen thuộc trong các bài toán xử lý ảnh đòi hỏi phải tăng cường chất lượng ảnh.
Hình 3.9 Sơ đồ thuật toán tăng cường ảnh tĩnh mạch.
3.3.1 Cân bằng mức xám đồ
Thông thường, phương pháp cân bằng mức xám đồ toàn cục (Global histogram equalization, viết tắ t GHE) hay được sử dụng để tăng cường độ tương phản trong các bài toán xử lý ảnh Chi tiết phương pháp này được trình bày sau đây:
Cân bằng mức xám đồ toàn cục (GHE)
Trong lĩnh vực xử lý ảnh, histogram là biểu đồ tần suất được dùng để thống kê số lần xu ất hiện các mứ c sáng trong ảnh Với ảnh 8-bits, các mức sáng sẽ có giá trị từ 0 đến 255 Nếu như biểu đồ thống kê histogram cho thấy rằng số lượng các điểm ảnh nằm nhiều ở mức sáng cao (ví dụ: từ 150 đến 200) thì khi đó toàn bộ ảnh sẽ bị sáng hơn mức cần thiết, độ tương phản cao và chi tiết vật thể sẽ không được rõ nét Vì vậy, cân bằng mức xám đồ sẽ điều chỉnh histogram về trạng thái cân bằng, làm cho phân bố giá trị điểm ảnh không bị co cụm tại một khoảng hẹp và được kéo dãn ra Thuật toán tiến hành như sau:
Bước 1: Thống kê số lượng điểm ảnh cho từng mức xám, ta thu được biểu đồ histogram :
Tính hàm tích lũy cho từng mức sáng theo
()=� () chính là tổng số điểm ả nh có mức xá m là hàm đồng
Bước 3: Hàm biến đổi ( ) tại một mức sáng được tính như sau:
()−() sẽ được biến đổi ại các điểm ảnh có giá trị mức xám ban đầu là
Như vậy, t ( ) = max( ) − ( ) ∗ 255 sang một mức xám mới có giá trị là ( ) Công thức (3.6) có tác dụng dãn các khoảng phân bố dày đặc và co các kho ảng phân bố thưa.
Cân bằng mức xám đồ thích ứng (AHE) và cân bằng mức xám đồ thích ứng giới hạn độ tương phản (CLAHE)
Ngoài phương pháp cân bằng mức xám đồ kể trên, trong một số bài toán với ảnh xử lý có độ sáng không đồng đều, cân bằng mức xám đồ thích ứng (Adaptive histogram equalization, viết tắt AHE) là thuật toán phù hợp và hay được lựa chọn. Phương pháp này sẽ chia hình ảnh đầu vào thành các khối riêng biệt (ví dụ: chia ảnh đầu vào thành 64 khối, sử dụng cửa sổ 8x8) Sau đó, sẽ sử dụng cân bằng mức xám đồ toàn cục trong mỗi khối Như vậy, hình ảnh đầu ra sẽ được tăng cường độ tương phản cục bộ Tuy nhiên, nếu trong một khối có nhiều điểm ảnh cùng chung một mức xám, việc sử dụng cân bằng mức xám đồ thích ứng sẽ gia tăng cường độ nhiễu trong khối đó lên Để tránh điề u này, giới hạn độ tương phản được áp dụng thêm vào cân bằng mức xám đồ thích ứng tạo nên một phương pháp mới hiệu quả hơn “Cân bằng mức xám đồ thích ứng giới hạn độ tương phản” [15], viết tắt là CLAHE (Contrast Limited Adaptive Histogram Equalization).
CLAHE sẽ cắt biểu đổ mức xám ở một giá trị xác định và phân phối đồng đều phần bị cắt trước khi thực hiện cân bằng mức xám.
Hình 3.10 Ý tưởng phân phối đồng đều trong thuật toán CLAHE.
Sau khi tiến hành cân bằng mức xám, để loại bỏ các nhiễu ban đầu cũng như các nhiễu mới xuất hiện trong quá trình cân bằng mức xám, tôi đề xuất sử dụng bộ lọc nhiễu Hình 3.9
Bộ lọc nhiễu sử dụng bộ lọc mờ Gaussian là phương pháp lọc mờ ảnh đơn giản và là một kiểu làm mịn dữ liệu Để sử dụng bộ lọc Gaussian, người ta tạo ra một mặt nạ lọc theo (3.7)
(0,0) nạ , , Ví dụ: nếu mặt là độ lệ ch chuẩn, giá trị cận c là vị trí điểm ảnh với gốc tọa độ là pixel trung tâm
Gaussian có kích cỡ 3x3, thì sẽ nằm trong khoảng giá trị từ -3 đến 3. này thể hiện mức độ ảnh hưởng của các pixel lân ủa pixel trung tâm lên kết quả tính toán Hình 3.11b ( , ) có tọa Để dễ hình dung, tôi ví dụ một mặt nạ Gaussian có kích cỡ 3x3 và độ lệch chuẩn = 1.5 trong Hình 3.11 Trong đó, Hình 3.11a là tọa độ của , điểm độ là điểm nằm chính giữa mặt nạ là giá trị của mặt nạ sau khi á p(0,0)
Hình 3.11 (a) Tọa độ của mặt nạ Gaussian, (b) Giá trị của mặt nạ Gaussian có là 1.5.
Khối trích xuất đặc trưng
Sau khi tăng cường chất lượng hình ảnh tĩnh mạch ngón tay, việc tách các đường tĩnh mạch ra khỏi ngón tay làm đặc trưng hay trích xuất ra các đặc trưng liên quan đến các đường tĩnh mạch được thực hiện ở khối này. Đây là khối có sự ảnh hưởng lớn tới độ chính xác của hệ thống xác thực định danh bằng hình ảnh tĩnh mạch ngón tay Để trích xuất các đặc trưng liên quan đến các đường tĩnh mạch hay trích xuất các đường tĩnh mạch để làm đặc trưng thì đều phải xuất phát từ bước tách ra được đường tĩnh mạch Như vậy, khối trích xuất đặc trưng có sơ đồ thuật toán đề xuất trong Hình 3.12
Hình 3.12 Sơ đồ thuật toán khối tách các đường tĩnh mạch.
Với đề xuất trong Hình 3.12 , khối trích xuất đặc trưng sẽ có hai cách tạo ra đặc trưng như sau:
-Đặc trưng là các đường tĩnh mạch: đây là ảnh chỉ có các đường tĩnh mạch,được trích xuất bởi bước “trích xuất đường tĩnh mạch” và được tăng cường bởi
“bộ lọc nhiễu, lọc hình thái” Đặc trưng này phù hợp với các thuật toán xác thực sử dụng phương pháp đối sánh mẫu hoặc các phương pháp so sánh độ tương đồng giữa hai ảnh.
-Đặc trưng là các thông tin của các đường tĩnh mạch: đây là các thông tin của các đường tĩnh mạch như hướng tĩnh mạch, cường độ, số lượng và vị trí các điểm chẽ ba của tĩnh mạch, … Để trích xuất được đặc trưng này, mô hình vẫn phải trải qua bước “trích xuất đặc trưng là các đường tĩnh mạch” trước khi đi vào các thuật toán khác đảm nhiệm việc lấy thông tin của các đường tĩnh mạch Đặc trưng này có nhiệm vụ giảm chiều dữ liệu và phù hợp với các thuật toán xác thực sử dụng phương pháp học máy.
3.4.1 Trích xuất các đường tĩnh mạch
Các đường tĩnh mạch được trích xuất với sự mất mát tối thiểu và nhiễu tối thiểu thì sẽ tạo ra được đầu vào chất lượng cho các thuật toán trích xuất đặc trưng lấy thông tin tĩnh mạch hoặc là đầu vào trực tiếp (được gọi là đặc trưng các đường tĩnh mạch) cho thuật toán xác thực.
Có nhiều phương pháp trích xuất các đường tĩnh mạch có thể kể tên như:
Dò đường tĩnh mạch nhiều vòng (Repeated Line Tracking) [5], viết tắt RLT; sử dụng lọc Gabor [7][8][16] để tách tĩnh mạch theo nhiều hướng và nhiều tỉ lệ; tách các đường có độ rộng lớn (Wide Line Detector) [13], viết tắt WLD; trích xuất tĩnh mạch dựa trên đặc tính cong cực đại (Maximum Curvature Method) [6], viết tắt MCM.
Phương pháp Repeated Line Tracking [5] Ý tưởng của phương pháp là bắt đầu từ một điểm, ta tiến hành dò sang các điểm ảnh lân cận và quyết định xem đó có phải là tĩnh mạch hay không “Line Tracking” Quy trình này được thực hiện lại nhiều lần “Repeated” để đảm bảo không bỏ sót bất kỳ một đường tĩnh mạch.
Phương pháp này được thực hiện theo các bước sau đây:
Bước 1: Xác định điểm bắt đầu và hướng di chuyển Điểm bắt đầu và hướng di chuyển được lựa chọn ngẫu nhiên.
Bước 2: Phát hiện hướng của đường tối và chuyển động của điểm theo dõi.
Trong bước này có một số bước con như sau:
Bước 2-1: Khởi tạo một bảng lưu các vị trí
Bước 2-2: Xác định các tập vị trí có thể di chuyển theo hướng di chuyển đã cài đặt sẵn từ đầu. thành vị trí vạch tối đó.
Bước 2-3: Phát hiện hướng và vị trí của của vạch tối gần điểm đang xét. Bước 2-4: Đăng ký vị trí của vạch tối đó vào và chuyển điểm đang xét
Bước 2-5: Thực hiện lại Bước 2-2 đến Bước 2-4 cho đến khi không tìm được vạch tối nào nữa.
Bước 3: Cập nhật các điểm trong không gian quỹ tích đã được theo dõi.Bước 4: Chạy lại Bước 1 đến Bước 3 nhiều lần (N lần).
Bước 5: Trích xuất được các đường tĩnh mạch từ không gian quỹ tích.
Có thể nói, đây là phương pháp dò từng điể m ảnh để xem đó có phải điểm ảnh thuộc tĩnh mạch không (điể m ảnh này thường có mức xám thấp) Với phương pháp này, số lần N càng lớn thì số lượng đường tĩnh mạch dò ra được càng nhiều Tuy nhiên, nếu N lớn thì thời gian tính toán của phương pháp cũng tăng lên và ảnh hưởng nhiều đến tốc độ của hệ thống.
Phương pháp Maximum Curvature Method [6]
Trong số đó, phương pháp trích xuất tĩnh mạch sử dụng đặc tính cong cực đại, viết tắt MCM là phương pháp cho thấy độ hiệu quả cao khi trích xuất tĩnh mạch. Đi chi tiết vào MCM sẽ bao gồm 2 bước: Trích xuất các vị trí trung tâm của tĩnh mạch và kết nối các vị trí trung tâm để tạo tĩnh mạch hoàn chỉnh.
Bước 1: Trích xuất các vị trí trung tâm của tĩnh mạch Để trích xuất các đường tâm tĩnh mạch với nhi ều độ rộng, độ sáng khác nhau Phương pháp đề xuất kiểm tra cấu hình mặt cắ t của hình ảnh ngón tay. Mặt cắt tại các điểm ảnh gần tĩnh mạch sẽ tạo ra một vết lõm với điểm lõm là điểm ảnh tĩnh mạch do tĩnh mạch sẫm màu hơn vùng xung quanh Có thể quan sát đồ thị biểu diễn thang xám mặt cắt theo phương dọc trong Hình 3.13 để hình dung dễ hơn Những đường cong lõm này có độ cong lớn, ngay cả khi các tĩnh mạch hẹp/rộng hoặc sáng/tối hoặc các tĩnh mạch không có đủ độ sáng tối thiểu cục bộ Như vậy, các vị trí trung tâm của các tĩnh mạch có thể nhận được bằng cách tính toán độ cong tối đa cục bộ trong các mặt cắt.
Hình 3.13 Cấu hình mặt cắt ngang của ngón tay.
Hình 3.14 Mối quan hệ giữa cấu hình mặt cắt, độ cong và xác xuất điểm là tĩnh mạch.
Việc tính toán độ cong tối đa trong các mặt cắt được thực hiện như sau: là c
Bước 1-1: Tính toán các độ cong cho các cấu hình mặt cắt như
( )Cho ví dụ, là mặt cắt theo phương dọc thì sẽ là hàm
Có là ảnh ngón tay, là mức xám tại điểm ảnh Định nghĩa
( ) ( ) ( , ) ấu hình mặt cắt ở bất kỳ hướng và vị trí nào, là vị trí của cấu hình. được định nghĩa:
( ) ( , ) trong Để biể u thị mối quan hệ giữa và Hà m ánh xạ
Hàm tính ( , ) = � ( ) � toán độ cong cho cấu hình mặt cắt được định nghĩa:
� giá trị của độ cong là dương 2 tại điểm là ( ) định các điểm trung tâm của tĩnh mạch ( )
Một cấu hình mặt cắt tại điểm được phân loại là lồi hoặc lõm tùy thuộc vào
( ) hay âm Nếu dương thì cấu hình mặt cắt lõm Trong bước này, các điểm cực đại cục bộ trong mỗi vùng số lượng các điểm cực đại cục bộ trong một cấu = 0,1,…, − 1 lõm được tính toán, những điểm đó sẽ là điểm trung tâm của tĩnh mạch Những điểm trung tâm của tĩnh mạch được đánh dấu là ′ với , và là hình mặt cắt.
Bước 1-3: Tính toán điểm số cho các điểm trung tâm Điểm số thể hiện độ chắc chắn điểm trung tâm đó là tĩnh mạch Điểm số
( ) được định nghĩa: (3.10) đạ i cục bộ ′ n ( )
Trong đó, là độ rộng của vùng có độ cong dương và có một điểm cực ằm trong vùng đó.
33 và càng ch ( ) thể hiện cho độ rộng của mạch máu thì
( ) lớn sẽ tăng điểm số
Nếu trí Các ắn chắn điểm được tính toán là mạch máu Do vậy, một điểm có phải làtương ứng: mạch máu hay không sẽ phụ thuộc vào độ rộng và độ cong của vùng.( , ) ′ ′ ′ ′ ′
(3.11) điểm số sau khi được tính toán sẽ được phân bố vào ma trận ảnh tại vị
Trong đó, đại diện cho các điểm được định nghĩa:
Bước 1-4: Tính toán qua tất cả các cấu hình mặt cắt Để có được cấu trúc tĩnh mạch lan rộng theo một hướng thì tất cả các cấu hình mặt cắt theo một hướng phải được phân tích Để có được cấu trúc tĩnh mạch lan rộng theo mọi hướng thì tất cả các cấu hình mặt cắt theo bốn hướng phải được phân tích Các hướng được sử dụng là ngang, dọc và hai hướng chéo 45 0
Từ đó, tất cả các điểm trung tâm tĩnh mạch được xác định bởi tính toán độ cong tối đa cục bộ.
Bước 2: Kết nối các vị trí trung tâm
Sau khi xác định các điểm trung tâm tĩnh mạch, ta cần phải kết nối chúng để tạo ra được ảnh chỉ còn tĩnh mạch. Đầu tiên, hai điểm ảnh lân cận ở hai phía của điểm ảnh được kiểm tra. Nếu và các điểm ảnh lân cận này đều có điểm số lớn thì một đường sẽ được
Khối thuật toán xác thực
3.5.1 Xác thực sử dụng thuật toán đối sánh mẫu
Khối thuật toán xác thực sử dụng thuật toán đối sánh mẫu là phương pháp xử lý ảnh thuần Ở đây, hai ảnh tĩnh mạch sau khi được trích xuất các đường mạch sẽ được đem đi đối sánh trực tiếp mà không cần phải qua bước trích xuất đặc trưng. Ở đây, chúng tôi đề xuất sử dụng phương pháp đối sánh mẫu do Miura và không tương đồng giữa hai ảnh được đối sánh được định và là giá trị điểm cộng sự đề xuất [5] Phương pháp thực hiện tính toán tỷ lệ đối sánh giữa mẫu ảnh tại vị trí của lần lượt ảnh đối sánh và ( , ) ( , ) nghĩa là tỷ lệ tĩnh mạch kiểm thử và mẫu tĩnh mạc h đã biế t Tỷ lệ
ℎ là giới hạn dịch chuyển ảnh và là chiều rộng phương ngang, tham ảnh đã biết. và chiều cao của ảnh;là vị trí góc ( , ℎ ) theo phương đứng và
( − ,ℎ− ℎ ) số này tạo ra ảnh đem đi đối sánh mới là một vùng hình chữ nhật có các góc như sau: sẽ là vị trí góc trên bên trái và sánh tại các ( , ) trùng với vị trí như sau:
Giá trịvị trí là giá trị thể hiệ n sự không khớp giữa ảnh đã biết và ảnh đối ( , )
≤2 ,0≤ ≤ 2 ℎ được mô tả như sau: 0 ≤
Giá trị 0 á ườ ℎợ ℎá , sử dụng giá trị
( , ) tính được ẽ là giá trị nhỏ nhất của ta sẽ theo công thức :
Như vậy, được mô tả là tỷ số giữa và tổng số pixel được phân loại là hai tập dữ liệu.
3.5.2 Xác thực sử dụng học máy
Khối thuật toán xác thực sử dụng học máy phù hợp với đầu ra từ trích xuất đặc trưng sử dụng các thuật toán trích xuất đặc trưng tĩnh mạch Đây là phương pháp sử dụng sức mạnh tính toán để huấn luyện và kiểm thử các mô hình và trường hợp Do đó, phương pháp này thường có kết quả cao hơn nhưng tốc độ đáp ứng lại chậm hơn so với phương pháp xử lý ảnh thuần.
Trong bước này, phương pháp học máy SVM (Support Vector Machine) [22] đã được thử nghiệm Đây là một thuật toán học máy có giám sát được sử dụng phổ biến trong các bài toán phân lớp (classification) Ý tưởng chính của SVM là tìm một siêu phẳng (còn được gọi là đường phân lớp “tốt nhất”) để phân tách các điểm dữ liệu Siêu phẳng này sẽ chia không gian thành các miền khác nhau và mỗi miền sẽ chứa một loại dữ liệu.
Giả sử, cho trước tập dữ liệu D gồm ( ), ( ),…,( ) Trong đó luyện tương ứng với nhãn lớp Mỗi
X i i thể hiện đầu vào của một tập các bộ huấn X , y X , y X , y y i sẽ nhận một trong hai giá trị hoặc là +1 hoặc là -1 ( i {+1, -1}). y trên cùng một tập dữ liệu.
Trên thực tế, có vô số các siêu phẳng phân chia y ∈
SVM sẽ tìm ra đường phân chia sao sự sai sót về phân loại trên các bộ dữ liệu là ít nhất Do đó, mục tiêu của phương pháp phân lớp SVM là tìm một siêu phẳng phân cách giữa hai lớp sao cho khoảng cách lề (margin) đạt cực đại.
Hình 3.15 Hai siêu phẳng phân chia tuyến tính cùng với biên độ nhưng khoảng cách lề khác nhau.
Phương trình tổng quát của một siêu phẳng phân cách được biểu diễn: còn gọi là số chiều của dữ liệu.
:Đại lượng vô hướng, thường được xem như là một độ nghiêng (bias).
Khi tìm được siêu phẳng phân cách (3.31), ở giai đoạn phân lớp, SVM xác định dữ liệu mới X nằm về phía nào của siêu phẳng phân cách theo công thức:
Hàm() signum 0 : bộ dữ liệu nằm phía dưới siêu phẳng phân cách.
= 0: bộ dữ liệu nằm phía trên siêu phẳng phân cách.
( ) : bộ dữ liệu nằm trên siêu phẳng phân cách.
Như vậy, sử dụng SVM ta sẽ đi tìm và tối ưu các siêu phẳng phân cách các mẫu trong tập dữ liệu tĩnh mạch ngón tay Đầu vào của SVM là vectơ đặc trưng được trích xuất ở khối trích chọn đặc trưng Thuật toán SVM sẽ đối sánh vectơ đặc trưng này với các lớp đã được phân tách bởi siêu phẳng, kết quả là độ chắc chắn của đặc trưng với từng lớp.
THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Phương pháp đánh giá
Trong những hệ thống xác thực và định danh bằng sinh trắc học, thông số đo đạc khả năng hoạt động của hệ thống thường được sử dụng là tỉ lệ lỗi cân bằng (Equal Error Rate), viết tắt là EER Giá trị của EER là điểm mà tại đó tỉ lệ chấp nhận sai FAR (False Acceptance Rate) bằng với tỉ lệ từ chối sai FRR (False Rejected Rate).
Tỉ lệ chấp nhận sai FAR và tỉ lệ từ chối sai FRR được tính:
: là số lượng tĩnh mạch xác thực thực tế khớp và dự đoán khớp.
: là số lượng tĩnh mạch xác thực thực tế khớp nhưng dự đoán không khớp. : là số lượng tĩnh mạch xác thực thực tế không khớp nhưng dự đoán khớp. : là số lượng tĩnh mạch xác thực thực tế không khớp và dự đoán không khớp Vậy làm thế nào để biết được , , , ?
Trong khối xác thực, ta thực hiện đối sánh giữa m ẫu tĩnh mạch kiểm tra và mẫu tĩnh mạch đã biết Kết quả trả về là độ chắc chắn theo phương pháp SVM hoặc độ không tương đồng theo phương pháp đối sánh mẫu Các kết quả này nằm trong khoảng từ 0 đến 1.
- Với phương pháp đối sánh mẫu: độ không tương đồng càng nhỏ thì chứng tỏ tĩnh mạch xác thực với tĩnh mạch mẫu là khớp và ngược lại.
- Với SVM: độ chắc chắn càng cao thì chứng tỏ tĩnh mạch xác thực với tĩnh mạch mẫu là khớp và ngược lại. Đó là hướng phân loại của hai phương pháp Còn nhìn tổng thể, việc ta phải làm là lựa chọn một ngưỡng phân loại giữa 0 và 1 để phân loại xem ảnh kiểm tra là khớp hay không khớp Khi có ngưỡng phân loại này, ta sẽ tính được , , , khi kiểm thử một số lượng lớn ảnh tĩnh mạch Các thông số , , , cũng là các thông số thống kê khi ta kiể m thử hệ thống bằng lượng lớn các ảnh tĩnh mạch Từ các thông số thống kê đó ta có thể tính được FAR và FRR. Giữa 0 và 1 có vô vàn ngưỡng, một ngưỡng đủ tốt là ngưỡng cho ra FAR bằng với FRR hay chính là EER.
Ngoài ra, để đánh giá một mô hình xác thự c định danh thì độ chính xác của mô hình cũng là một thông số đáng quan tâm Độ chính xác của mô hình được định nghĩa:
= + = + Độ chính xác = T ổng số tĩnh mạch xác thực
Tóm lại, trước tiên để đánh giá một mô hình ta phải đi tìm một ngưỡng phân loại đủ tốt Với ngưỡng đó ta sẽ thống kê để tìm ra FAR, FRR, EER và độ chính xác của mô hình Đối với EER ta có thể biết được độ tin cậy của hệ thống còn độ chính xác ta biết được khả năng xác thực định danh của hệ thống Hơn nữa, các thông số trên cũng là tiêu chuẩn để ta đi so sánh các mô hình với nhau.
Giới thiệu các cơ sở dữ liệu
Một mô hình tổng thể như đã trình bày trong 2.1.4 bao gồm có thiết bị thu nhận ảnh ở đằng trước và mô hình xử lý ảnh, xác thực định danh ở đằng sau. Trước khi xây dựng thiết bị thu nhận ảnh, tôi hướng đến xây dựng một mô hình xác thực định danh có hiệu suất tốt dựa trên các bộ cơ sở dữ liệu tĩnh mạch ngón tay được công bố.
Theo đó, ảnh tĩnh mạch làm đầu vào mô hình là ảnh thuộc cơ sở dữ liệu được công bố ở các nguồn trên mạng Có thể kể đến các bộ cơ sở dữ liệu FV- USM, UTFVP, cơ sở dữ liệu từ Đại học Bách Khoa Hồng Kông, …
Bộ cơ sở dữ liệu FV-USM là bộ dữ liệu từ trường điện – điện tử, Đại học Sains Malaysia Các hình ảnh trong cơ sở dữ liệu được thu thập từ 123 tình nguyện viên gồm 83 nam và 40 nữ, họ là nhân viên và sinh viên của trường Đại học Độ tuổi của đối tượng dao động từ 20 đến 52 tuổi Mỗi tình nguyện viên đều cung cấp bốn ngón tay: ngón trỏ trái, ngón giữa trái, ngón trỏ phải và ngón giữa bên phải và cho tổng số 492 ngón tay thu được Hình ảnh ngón tay được chụp cung cấp hai đặc điểm quan trọng: hình dạng và kiểu tĩnh mạch Mỗi ngón tay được chụp sáu lần trong một phiên và mỗi cá nhân tham gia vào hai phiên, cách nhau hơn hai tuần Trong phiên đầu tiên, tổng cộng 2952 hình ảnh (123x4x6) đã được thu thập Do đó, tổng hai phiên đã thu được tổng cộng 5904 hình ảnh từ
492 lớp ngón tay Độ phân giải không gian và độ sâu của hình ảnh ngón tay được chụp lần lượt là 640x480 và 256 mức xám.
Hình 4.1 Một số hình ảnh trong cơ sở dữ liệu FV-USM.
Qua quan sát, bộ cơ sở dữ liệu FV-USM có phần nền tối và nhiễu từ nền không quá lớn, hình ảnh ngón tay là rõ ràng và các đường tĩnh mạch cũng có thể quan sát rõ.
Cơ sở dữ liệu hình ảnh ngón tay của Đại học Bách khoa Hồng Kông bao gồm các hình ảnh kết cấu bề mặt ngón tay và tĩnh mạch ngón tay được thu thập đồng thời từ các tình nguyệ n viên nam và nữ Cơ sở dữ liệu này đã được thu thập phần lớn trong khoảng thời gian từ tháng 4 năm 2009 - tháng 3 năm 2010 bằng cách sử dụng một thiết bị hình ảnh không tiếp xúc trong khuôn viên Đại học Bách khoa Hồng Kông Cơ sở dữ liệu hiện có có 6264 hình ảnh từ 156 đối tượng, tất cả các hình ảnh đều ở định dạng bitmap (* bmp) Trong tập dữ liệu này, khoảng 93% đối tượng dưới 30 tuổi Các hình ảnh ngón tay được thu thập trong hai phiên riêng biệt với khoả ng thời gian tối thiểu là một tháng, khoảng thời gian tối đa là hơn sáu tháng và khoảng thời gian trung bình là 66,8 ngày Trong mỗi phiên, mỗi đối tượng cung cấp 24 hình ảnh.
Hình 4.2 Một số hình ảnh trong cơ sở dữ liệu tĩnh mạch ngón tay của Đại học Bách khoa Hồng Kông.
Quan sát có thể thấy, bộ cơ sở dữ liệu tĩnh mạch ngón tay của Đại học Bách khoa Hồng Kông có phần nền sáng hơn phần ngón tay và có nhiễu nề n, trong ngón tay các đường tĩnh mạch rõ ràng nhưng có nhiều nhiễu Có một số hình ảnh thể hiện chất lượng tĩnh mạch không tốt, mức xám rất thấp và không rõ ràng. Ngoài ra, còn có cơ sở dữ liệu về mẫu tĩnh mạch ngón tay của Đại học Twenve (UTFVP) Bộ dữ liệu thu thập được t ổng cộng 1440 hình ảnh mẫu mạch máu ngón tay từ 60 tình nguyện viên của Đại h ọc Twente trong năm học 2011 –
2012 Hình ảnh được thu thập trong hai l ần với thời gian cách nhau trung bình là
15 ngày Với mỗi một tình nguyện viên, sẽ thu thập mẫu ngón trỏ, ngón giữa và ngón áp út của cả hai bàn tay ở mỗi phiên Các hình ảnh có kích thước 320x240 pixel, được lưu trữ là ảnh xám Tỷ lệ tình nguyện viên nam là 73% và tỷ lệ tình nguyện viên thuận tay phải là 87% Tập dữ liệu đại diện cho một nhóm dân số trẻ với 82% tình nguyện viên nằm trong độ tuổi từ 19 đến 30 Chất lượng ảnh được thu khác nhau ở mỗi người, nhưng sự khác biệt về chất lượng của các hình ảnh từ cùng một người là rất nhỏ.
Hình 4.3 Một số hình ảnh trong cơ sở dữ liệu UTFVP.
Bộ cơ sở dữ liệu UTFVP có phần nền tối và nhiễu từ nền ít Tĩnh mạch trong ngón tay rõ ràng, tuy nhiên có một số hình ảnh khó để quan sát tĩnh mạch.Trong số các bộ cơ sở dữ liệu tĩnh mạch đã giới thiệu ở trên, bộ cơ sở dữ liệu của Đại học Bách Khoa Hồng Kông cho thấy sự thách thức lớn đối với các nhà nghiên cứu vì chất lượng của các ảnh là không đồng đều, mỗi ngón tay có 12 ảnh chụp Trong khi đó bộ cơ sở dữ liệu FV-USM và UTFVP có chất lượng tương đồng.FV-USM có một chút tốt hơn UTFVP khi các ảnh có nhiễu nền thấp, tĩnh mạch nổi hơn so với FV-USM và 1 ngón tay sẽ có 12 ảnh chụp, con số này là 4 ảnh chụp cho một ngón tay của UTFVP Nếu xét về độ khó trong ba cơ sở dữ liệu trên thì cơ sở dữ liệu của Đại học Bách Khoa Hồng Kông là khó nhất, sau đó là cơ sở dữ liệu UTFVP và cuối cùng là cơ sở dữ liệu FV-USM.
Trong quá trình nghiên cứu đề tài, tôi đã lựa chọn bộ cơ sở dữ liệu của Đại học Twente để tiến hành thực nghiệm Lí do vì đây là bộ cơ sở dữ liệu không quá khó như bộ cơ sở dữ liệu của Đại học Bách khoa Hồng Kông và phù hợp với đề tài tiếp cận lần đầu Ngoài ra, việc chỉ có 4 ảnh chụp cho một ngón tay sẽ tạo ra sự thách thức cho thuật toán học máy về cơ sở dữ liệu huấn luyện.
Các công cụ hỗ trợ xây dựng mô hình
Để tiến hành xây dựng các mô hình thử nghiệm, tôi sử dụng ngôn ngữ lập trình Python và bộ công cụ xử lý ảnh mã nguồn mở OpenCV.
Python là một ngôn ngữ lập trình thông dịch, hướng đối tượng, cấp cao, ra mắt năm 1991 bởi Guido van Rossum Đây là ngôn ngữ dễ học, dễ nhớ, có cấu trúc rõ ràng Cấu trúc của Python cho phép người sử dụng gõ mã lệnh với số lần gõ phím tối thiểu Cú pháp của python đơn giản, dễ học nên nhấ n mạnh tính dễ đọc và do đó giảm chi phí bảo trì chương trình Python hỗ trợ các mô -đun và gói, tận dụng các mô-đun vào chương trình và tái sử dụng mã Trình thông dịch Python và thư viện tiêu chuẩn mở rộng có sẵn ở dạng mã nguồn hoặc nhị phân miễn phí cho tất cả các nền tảng chính và có thể được phân phối miễn phí.
Thông thường, các lập trình viên yêu thích Python vì tốc độ hoàn thành dự án mà nó mang lại Vì không có bước biên d ịch, chu trình chỉnh sửa, kiểm tra, gỡ lỗi là cực kỳ nhanh Gỡ lỗi các chương trình Python rất dễ dàng: một l ỗi hoặc đầu vào không tốt sẽ không bao giờ gây ra lỗi phân đoạn Thay vào đó, khi trình thông dịch phát hiện ra lỗi, nó sẽ tạo ra một ngoại l ệ Khi chương trình không bắt được ngoại lệ, trình thông dịch sẽ in một dấu vết Trình gỡ lỗi ở mã ngu ồn cho phép kiểm tra các biến cục bộ và toàn cục, đánh giá các biểu thứ c tùy ý, thiết lập các điểm ngắt, Trình gỡ lỗi này được viết bằng chính Python, minh chứng cho sức mạnh của Python Mặt khác, cách nhanh nhất để gỡ lỗi một chương trình là thêm một vài câu lệnh in vào nguồn bởi vì chu trình sửa, kiểm tra, gỡ lỗi nhanh làm cho cách tiếp cận đơn giản này rất hiệu quả.
Với OpenCV (Open Source Computer Vision Library), đây là một thư viện phần mề m máy tính và thị giác máy tính mã nguồn mở OpenCV được xây dựng để cung cấp một cơ sở hạ tầng chung cho các ứng dụng thị giác máy tính và để tăng tốc việc sử dụng thị giác máy tính trong các sản phẩm thương mại Là một sản phẩm được cấp phép Apache 2, OpenCV giúp các doanh nghiệp dễ dàng sử dụng và sửa đổi mã Thư viện có hơn 2500 thuật toán được tối ưu hóa, bao gồm một cơ sở thuật toán toàn diện: thuật toán máy tính và thị giác máy tính cổ điển, thuật toán máy tính và thị giác máy tính tân ti ến Các thuật toán này có thể được sử dụng để phát hiện và nhận dạng khuôn mặt, xác định đối tượng, phân loại hành động của con người trong video, theo dõi chuyển động của camera, theo dõi đối tượng chuyển động, trích xuất mô hình 3D c ủa đối tượng, ghép các hình ảnh lại với nhau để tạo ra hình ảnh toàn cảnh có độ phân giải cao, OpenCV có cộng đồng hơn 47 nghìn người và ước tính số lượt tải OpenCV vượt quá 18 triệu.
Thư viện OpenCV được sử dụ ng r ộng rãi trong các công ty, nhóm nghiên cứu và các cơ quan chính phủ Cùng với các công ty lâu đời như Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota, cũng có nhiều công ty khởi nghiệp như Applied Minds, VideoSurf và Zeitera sử dụng OpenCV Các ứng dụng được triển khai của OpenCV trải dài từ việc ghép các hình ảnh ở chế độ xem phố lại với nhau, phát hiện sự xâm nhập trong video giám sát ở Israel, giám sát thiết bị bom mìn ở Trung Quốc, giúp robot điều hướng và nhặt đồ vật tại Willow Garage, phát hiện tai nạn đuối nước bể bơi ở châu Âu, kiểm tra nhãn mác trên sản phẩm tại các nhà máy trên khắp thế giới, phát hiện nhanh khuôn mặt ở Nhật Bản, … OpenCV có cung cấp các các giao diện lập trình C++, Python, Java và MATLAB Hỗ tr ợ Windows, Linux, Android và Mac OS OpenCV chủ yếu hướng tới các ứng dụng thị giác thời gian thực Các tính năng CUDA và OpenCL đã được phát triển và tích hợp vào OpenCV để giải quyết bài toán thị giác thời gian thực Có hơn 500 thuật toán và nhiều gấp khoảng 10 lần các hàm tạo hoặc hỗ trợ các thuật toán đó.
Các mô hình thử nghiệm
Với khối tách ngón tay ra khỏi nền, tôi tiến hành thử nghiệm duy nhất trên bộ lọc cạnh để lự a chọn thuật toán lọc cạnh cho kết quả tốt nhất Các bộ lọc cạnh thử nghiệm gồm: bộ lọc Sobel, bộ lọc Prewitt và bộ lọc do Eui Chul Lee đề xuất
[9] Bộ dò cạnh do Huimin Lu đề xuất [12] và hiệu chỉnh ảnh do Huang Dai đề xuất [13] cho kết quả tốt trong các công trình nghiên cứu liên quan nên tôi sẽ không thử nghiệm hai phần này Mô hình thử nghiệm với khối tách ngón tay.
Hình 4.4 Các mô hình thử nghiệm với khối tách ngón tay (a) Mô hình thử nghiệm sử dụng bộ lọc cạnh Sobel, (b) Mô hình thử nghiệm sử dụng bộ lọc cạnh Prewitt, (c) Mô hình thử nghiệm sử dụng bộ lọc cạnh Eui Chul Lee.
Với khối tăng cường chất lượng tĩnh mạch, tôi sẽ thử nghiệm để lựa chọn thuật toán cân bằng mức xám đồ phù hợp Hai thuật toán được tiến hành thử nghiệm là cân bằng mức xám đồ toàn cục (GHE) và cân bằng mức xám đồ thích ứng giới hạn độ tương phản (CLAHE) Bộ lọc nhiễu áp dụng sau bước cân bằng mức xám đồ tôi đề xu ất sử dụng bộ lọc Gaussian Mô hình thử nghiệm với khối tăng cường chất lượng tĩnh mạch trong Hình 4.5
Hình 4.5 Các mô hình thử nghiệm với khối tăng cường chất lượng tĩnh mạch (a) Mô hình thử nghiệm sử dụng cân bằng mức xám đồ toàn cục, (b) Mô hình thử nghiệm sử dụng cân bằng mức xám đồ thích ứng giới hạn độ tương phản.
Với khối trích chọn đặc trưng, sự thử nghiệm tập trung vào tìm ra phương pháp trích xuất ra được hình ảnh tĩnh mạch tốt nhất để phục vụ khối xác thực bằng phương pháp đối sánh mẫu Hoặc, ảnh tĩnh mạch trích xuất ra sẽ được giảm chiều không gian, tạo vectơ đặc trưng (thực hiện tại bước trích xuất đặc trưng trong khối trích xuất đặc trưng) cho việc xác thực bằng phương pháp học máy. Các thuật toán tôi tiến hành thực nghiệm: RLT [5], MCM [6] và EMC [17]. Khối xác thực có mối quan hệ phụ thuộc với khối trích chọn đặc trưng Do vậy, trong các Hình 4.6 , Hình 4.7 tôi đề xuấ t các mô hình thử nghiệm khối xác thực theo khối trích xuất đặc trưng tương ứng.
Hình 4.6 Mô hình thử nghiệm với khối trích xuất đặc trưng và khối xác thực theo phương pháp học máy (a) Mô hình thử nghiệm sử dụng bộ lọc Trung vị và Frangi, (b)
Mô hình thử nghiệm sử dụng bộ lọc Trung vị.
Hình 4.7 Mô hình thử nghiệm với khối trích xuất đặc trưng và khối xác thực theo phương pháp đối sánh mẫu (a) Mô hình thử nghiệm sử dụng bộ lọc Trung vị và bộ lọc
Frangi, (b) Mô hình thử nghiệm sử dụng bộ lọc Trung vị.
Mô hình thử nghiệm giữa Hình 4.6 , Hình 4.7 sẽ đưa ra được đánh giá giữa khối xác thực theo phương pháp đối sánh mẫu với khối xác thực theo phương pháp học máy SVM Trong khi đó, Hình 4.6a với Hình 4.6b, Hình 4.7a vớiHình 4.7b sẽ đưa ra được đánh giá khi cắt giảm bộ lọc Frangi trong khâu lọc nhiễu và làm sắc nét đường tĩnh mạch.
Kết quả thực nghiệm
Các thử nghiệm được tiến hành trên máy tính có bộ vi xử lý Intel Core i5, xung nhịp 2.3GHz và bộ nhớ RAM 8GB Đây là cấu hình thiết bị đủ cho đề tài.
4.5.1 Kết quả thực nghiệm khối tách ngón tay
Khối tách ngón tay, sau khi thử nghiệm khối với các b ộ lọc: Sobel, Prewitt và bộ lọc Eui Chul Lee [9] như đã đề xuất, kết quả đạt được:
Hình 4.8 Kết quả thử nghiệm với khối tách ngón tay (a) Kết quả với bộ lọc Sobel, (b)
Kết quả với bộ lọc Prewitt, (c) Kết quả với bộ lọc Eui Chul Lee.
Bộ lọc Sobel và Prewitt cho kết quả khá tương đồng, các cạnh rõ nét nhưng tại 1 số điểm khi sự thay đổi giữa ngón tay và nền không quá cao thì hai bộ lọc trên hoạt động chưa được tốt như điểm khoanh đỏ trong Hình 4.8 Trong khi đó, bộ lọc Eui Chul Lee lại làm tốt cả điểm này Vì vậy, tôi lựa ch ọn bộ lọc Eui
Chul Lee làm bộ lọc phát hiện cạnh trên và cạnh dưới của ngón tay.
Khi sử dụng mặt nạ lọc đề xuất bởi Eui Chul Lee làm bộ lọc cạnh, các pixel ởvị trí ranh giới ngón tay sẽ trở nên cực đại như trong Hình 4.9b
Hình 4.9 (a) Ảnh tĩnh mạch trước khi lọc, (b) Ảnh tĩnh mạch sau khi qua bộ lọc cạnh Eui Chul Lee.
Tiếp theo như đã đề xuất trong Hình 4.4c, ta đưa hình ảnh vào bộ dò cạnh
[12] để vá những điểm trên cạnh bị mất Hình ảnh cạnh trên và cạnh dưới được trích xuất như trong Hình 4.10a Kết quả cho thấy các cạnh đã được trích xuất đầy đủ Từ các đường cạnh đã được trích xuất đầy đủ, ta có thể tạo ra mặt nạ ngón tay dùng để tách ngón tay ra khỏi nền như Hình 4.10b.
Hình 4.10 (a) Ảnh các cạnh ngón tay được trích xuất đầy đủ khi qua bộ dò cạnh, (b) Ảnh mặt nạ để tách ngón tay.
Cuối cùng, để tách được ngón tay hoàn chỉnh làm đầu vào cho các khối sau, thuật toán hiệu chỉnh [13] cho kết quả như Hình 4.11b.
Hình 4.11 (a) Ảnh ngón tay thu nhận bị l ệch chuẩn và bị xoay, (b) Ảnh ngón tay sau khi được hiệu chỉnh.
Hình 4.11a cho thấy các cạnh ngón tay được phát hiện có màu đỏ và đường trung tâm ngón tay có màu xanh lục, đường trung tâm này đang bị xoay và lệch so với trục ngang của tâm hình ảnh Hình ảnh hiệu chỉnh Hình 4.11b đã đưa đường xanh lục về trung tâm của ảnh.
Nhận thấy hình ảnh các đường tĩnh mạch không được rõ ràng, phải tăng cường để các đường tĩnh mạch rõ ràng hơn Sau đây, tôi sẽ trình bày kết quả thực nghiệm với các mô hình đã giới thiệu của khối tăng cường chất lượng tĩnh mạch.
4.5.2 Kết quả thực nghiệm khối tăng cường chất lượng tĩnh mạch
Theo đề xuất, tôi tiến hành thử nghiệm với phương pháp cân bằng mức xám đồ toàn cục và cân bằng mức xám đồ thích ứng giới hạn độ tương phản.
Hình 4.12 là kết quả sau khi sử dụng cân bằng mức xám đồ toàn cục, có thể thấy rõ vùng được khoanh tròn trong ảnh có chất lượng mạch máu kém Nên, phương pháp này không phù hợp cho ảnh tĩnh mạch ngón tay bởi vì bức ảnh có ánh sáng ở các vùng là không đồng đều.
Hình 4.12 Ảnh tăng cường sử dụng cân bằng mức xám đồ toàn cục.
Với phương pháp CLAHE, tôi tiến hành cài đặt các cấu hình như sau để thử nghiệm:
- Lưới chia ảnh có kích thước 3x3, 6x6, 8x8.
Hình 4.13 Kết quả sau CLAHE (a) Lưới chia ảnh 3x3, (b) Lưới chia ảnh 6x6, (c) Lưới chia ảnh 8x8.
Lưới chia ảnh 8x8 hoạt động tốt hơn và làm nổi bật các đường tĩnh mạch hơn lưới chia ảnh 3x3 và 6x6 Vì vậy, tôi sẽ sử dụng thông số này và phương pháp CLAHE để tăng cường chất lượng ảnh tĩnh mạch.
Sau khi tiến hành cân bằng mức xám đồ bằng CLAHE, các nhiễu tồn tại trước đó và các nhiễu mới được sinh ra từ thuật toán cân bằng mức xám đồ sẽ được lọc bởi bộ lọc mịn Gaussian Với bộ lọc mịn Gaussian, có cấu hình như sau:
- Mặt nạ lọc có kích= thướ1c 3x3. Độ lệch chuẩn
Kết quả sau khi thực hiện cân bằng mức xám dùng CLAHE Hình 4.14a và việc loại bỏ nhiễu sử dụng bộ lọc mờ Gaussian Hình 4.14b.
Hình 4.14 (a) Ảnh được tăng cường mức xám sử dụng CLAHE, (b) Ảnh đã loại bỏ nhiễu sử dụng bộ lọc mờ Gaussian.
Qua trực quan đánh giá, các đường tĩnh mạch đã được tăng cường độ tương phản, chúng trở nên đậm hơn, nổi bật hơn so với nền Kết quả ở bước này là đầu vào rất quan trọng ở bước tiếp theo Mục tiếp theo, tôi sẽ trình bày về kết quả thực nghiệm của khối trích xuất đặc trưng.
4.5.3 Kết quả thực nghiệm khối trích xuất đặc trưng
Với khối trích xuất đặc trưng, thử nghiệm tách đường tĩnh mạch đường thực hiện trước tiên Tiến hành thử nghiệm với RLT, MCM và EMC có kết quả sau:
Hình 4.15 Kết quả thử nghi ệm thuật toán trích xuất đường tĩnh mạch (a) Kết quả sử dụng phương pháp RLT, (b) Kết quả sử dụng phương pháp MCM, (c) Kết quả sử dụng phương pháp EMC.
Quan sát Hình 4.15 , phương pháp RLT cho kết quả kém nhất Trong khi đó, phương pháp MCM chỉ tìm những đường trung tâm trong đường tĩnh mạch nên cho ra các đường tĩnh mạch trích xuất rất mỏng Phương pháp EMC là cải tiến của MCM nên các đường tĩnh mạch được trích xuất dày hơn và tăng cường các đường tĩnh mạch khó thấy hơn Như vậy, EMC là phương pháp trích xuất đường tĩnh mạch cho kết quả tốt nhất trong số các phương pháp đã thử nghiệm. Hình 4.15c, thể hiện kết quả trích xuất tĩnh mạch khi áp dụng thuật toán EMC Có thể nhận thấy, trong ảnh vẫn chứa rất nhiều nhiễu, các đường tĩnh mạch bị lem và chưa sắc nét Vì vậy, theo mô hình đã đề xuất tôi sẽ sử dụng lọc trung vị và lọc Frangi để giải quyết vấn đề này. o Thuật toán lọc trung vị có cấu hình:
- Mặt nạ lọc có kích thước 3x3.
- Tham số điều = o Thuật toán lọc Frangi có cấu hình:- Tham số điều chỉnh độ tương phả = 0.5
- Độ lệch chuẩn 1, 3, 5, 7, 9 = 15 chỉnh độ dị hướng n
Quan sát Hình 4.16a, có thể thấy các nhiễu đốm và muối tiêu trong Hình 4.15c đã được giảm bớt đáng kể bởi bộ lọc trung vị Độ lem và thô của các đường tĩnh mạch cũng đã được cải thiện hơn khi qua bộ lọc Frangi Hình 4.16b Kết quả cho thấy các đường tĩnh mạch được tách ra rõ nét và rất ít nhiễu.
Hình 4.16 (a) Ảnh tĩnh mạch sau khi qua bộ lọc trung vị, (b) Ảnh tĩnh mạch sau khi qua bộ lọc Frangi.
Với mô hình sử dụng thuật toán xác thực bằng học máy SVM trong Hình 4.6