Mục tiêu nghiên cứu Xây dựng một chương trình phần mềm của hệ thống nhận dạng vân tay sử dụng mạng neural tích chập với phương pháp one-shot learning trên máy tính với hiệu suất trên 90
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGÔ VĂN TIẾN
NHẬN DẠNG VÂN TAY SỬ DỤNG MẠNG NEURAL NHÂN TẠO ỨNG DỤNG VÀO
Trang 2Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Người hướng dẫn khoa học: TS TĂNG ANH TUẤN
Có thể tìm hiểu luận văn tại:
Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách khoa
Thư viện Khoa Điện tử - Viễn thông Trường Đại học Bách khoa - ĐHĐN
Trang 3MỞ ĐẦU
1 Tính cấp thiết của đề tài
Nhận dạng dấu vân tay là một trong những công nghệ sinh trắc học được ứng dụng rộng rãi Sự phát triển của công nghệ đã làm thay đổi từ việc lăn tay trên mực và lưu trữ trên giấy sang quét trên máy
và lưu trữ kỹ thuật số Nhờ đó đạt được nhiều kết quả quan trọng và trở thành một trong những phương pháp sinh trắc học tin cậy nhất
2 Mục tiêu nghiên cứu
Xây dựng một chương trình phần mềm của hệ thống nhận dạng vân tay sử dụng mạng neural tích chập với phương pháp one-shot learning trên máy tính với hiệu suất trên 90% và độ tin vậy cao ứng dụng vào hệ thống điều khiển thang máy
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu:
3.2 Phạm vi nghiên cứu:
4 Phương pháp nghiên cứu
5 Ý nghĩa khoa học và thực tiễn của đề tài
7 Cấu trúc luận văn
Với đề tài “Nhận dạng vân tay sử dụng mạng neural nhân tạo ứng dụng vào hệ thống thanh máy”, Tập trung vào việc nghiên
cứu, xây dựng và thực thi hệ thống nhận dạng dấu vân tay sử dụng
mạng neural tích chập với phép học one-shot
Nội dung đồ án gồm 4 chương :
Chương 1 : Tổng quan về các phương pháp nhận dạng vân tay Chương 2 : Giới thiệu mạng neural nhân tạo, mạng neural tích chập và one-shot learning
Trang 4Chương 3 : Thiết kế, xây dựng chương trình nhận diện vân tay
sử dụng one-shot learning ứng dụng vào hệ thống thang máy
Chương 4 : Thực nghiệm và kết quả đánh giá
Trang 5Chương 1 TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP NHẬN DIỆN DẤU
VÂN TAY 1.1 Tổng quát về các hệ thống sinh trắc học
Hình 1.1 Mô tả quy trình lấy mẫu vân tay đầu vào
Hệ thống đăng ký mẫu
Hệ thống xác thực (Verification System)
Hệ thống định danh (Identification System)
Hình 1.2 Sơ đồ khối của hệ thống đăng ký [6]
Hình 1.3 Sơ đồ khối của hệ thống xác thực [6]
Hình 1.4 Sơ đồ khối của hệ thống định danh [6]
1.1.1 Các khối và chức năng
Scanner: đây là khối quan trọng để thu thập mẫu vân tay
thông qua bộ cảm biến sinh trắc học thường là đầu đọc vân tay
Trang 6Feature extractor: đây là khối sẽ rút trích đặc trưng từ vân
tay thu thập được từ khối scanner đầu vào
Template Storage: khối dùng để lưu trữ những tập đặc trưng
ứng với từng vân tay sau đó sắp xếp và lưu trữ trong hệ thống
Matcher: khối đối sánh thực hiện so khớp giữa tập đặc trưng
được lưu trữ trong khối lưu trữ
Xác thực: bước xác thực thích hợp cho việc khẳng định lại
việc khai báo định danh của đối tượng
- Định danh: trong quá trình định danh, đối tượng không cần
khai báo ID
1.2 Cơ sở lý thuyết về vân tay
1.2.1 Đặc tính vân tay
Tính cá thể: không có sự giống nhau tuyệt đối hai vân tay của
hai người bất kì trên thế giới dù đó là song sinh cùng trứng
Tính bền vững: vân tay của một người không thay đổi trong
suốt thời gian sống
Tính pháp lý: vân tay này được ghi nhận về mặt pháp lý
1.2.2 Cấu trúc vân tay
Vân tay được thu nhận từ lớp biểu bì da với cấu trúc dễ nhận thấy nhất là vân lồi và vân lõm
1.2.3 Các đặc trưng vân tay và cách biểu diễn
Trên các ảnh vân tay có các đặc điểm đặc trưng Đó là những điểm đặc biệt mà vị trí của nó không trùng lặp trên các vân tay khác
Trang 71.2.3.2 Điểm Minutiate
Những điểm đường vân kết thúc (Rigde Ending) hoặc rẽ nhánh (Bifurcation) được gọi chung là minutiae
1.2.3.3 Cách biểu diễn vân tay
Hình ảnh vân tay thường được biểu diễn như là một bề mặt hai chiều
1.3 Các yếu tố ảnh hưởng đến nhận dạng vân tay
Nhận dạng dấu vân tay là một bái toán cực kì khó, chủ yếu do
sự thay đổi dấu in của cùng một vân tay Các yếu tố chính làm các dấu in khác nhau được trình bày dưới đây:
- Sự đổi chỗ: một ngón tay có thể đặt ở các vị trí khác nhau
trên bộ cảm biến làm tịnh tiến ảnh vân tay
- Sự quay: cùng một vân tay có thể quay ở các góc quay khác
nhau trên bề mặt bộ cảm biến
- Sự chồng chéo đường vân: sự đổi chỗ và sự quay vân tay
thường làm cho một phần vân tay bị đổ ra ngoài vùng nhìn thấy của
bộ cảm biến
- Sự nhiễu phi tuyến và méo vân: do áp lực da gây ra các
biến dạng kéo dãn khác nhau, mồ hôi cũng như bề mặt vân và cảm biến gây ra nhiễu với nhiều mức độ
Trang 9Chương 2 GIỚI THIỆU MẠNG NEURAL NHÂN TẠO, MẠNG NEURAL
TÍCH CHẬP VÀ ONE-SHOT LEARNING
Chương này tập trung nói về mạng neural nhân tạo, mạng neural tích chập và phép học one-shot, tìm hiểu mô tình mạng, thuật toán huấn luyện
2.1 Tổng quan về mạng neural nhân tạo
2.1.1 Mạng neural nhân tạo là gì ?
Mạng neural nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng neural
2.1.2 Cấu trúc của một mạng neural nhân tạo
Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ não con người
2.3.2 Thuật toán huấn luyện mạng neural
Huấn luyện mạng neural là điều chỉnh, xác lập các giá trị trọng
số liên kết – còn được gọi là bộ trọng số kết nối của mạng (ký hiệu là W) giữa các neural trong mạng và của các ngưỡng theo một thuật toán nào đó
2.3.3 Thuật toán tối ưu Adam
Adaptive Moment Estimation (Adam) là thuật toán tối ưu có khả năng cập nhật trọng số của mạng neural
Trang 102.4 Mạng neural tích chập (CNN)
2.4.1 Định nghĩa mạng neural tích chập
Những năm gần đây, ta đã chứng kiến được nhiều thành tựu
vượt bậc trong ngành Thị giác máy tính (Computer Vision)
Lớp này thường được cài đặt ngay sau lớp Convolutional Lớp
này sử dụng hàm kích hoạt ReLU:
Hình 2.1 Đồ thị hàm ReLU
Hàm ReLU có công thức như sau :
f(x)=max(0, x)
2.4.5 Pooling layer
Mục đích của pooling rất đơn giản, là làm giảm số
hyperparameter mà ta cần phải tính toán, từ đó giảm thời gian tính
toán xuống và tránh hiện tượng overfitting
2.4.6 Lớp kết nối hoàn chỉnh (The Fully connected layer)
Lớp này tương tự với lớp trong mạng neural truyền thẳng, các giá trị ảnh được liên kết đầy đủ vào node trong lớp tiếp theo
2.4.7 Hàm mất mát (Loss function)
Trong các bài toán về nhận dạng, phân loại đối tượng, ta cần
Trang 112.6 Kết luận Chương
Chương này đã tập trung trình bày tổng quan về mạng neural tích chập và học một lần (One-shot learning), giúp ta hiểu được các thành phần trong mạng tích chập, kiến trúc cũng như thuật toán huấn luyện trong mạng Từ đó để chọn ra cấu hình mô hình mạng neural tích chập tốt nhất cho đề tài
Trang 12Chương 3 THIẾT KẾ, XÂY DỰNG CHƯƠNG TRÌNH NHẬN DIỆN VÂN TAY SỬ DỤNG ONE-SHOT LEARNING ỨNG DỤNG VÀO
HỆ THỐNG THANG MÁY
Chương này trình bày những chức năng của hệ thống đã có và chi tiết các quy trình thiết kế, xây dựng chương trình nhận diện vân tay sử dụng phép học one-shot ứng dụng vào hệ thống thang máy
3.1 Thiết kế mô hình nhận diện vân tay phiên bản với bộ lọc Gabor
Sơ đồ khối của mô hình được mô tả như trong hình :
Hình 3.1 Sơ đồ mô tả mô hình nhận diện vân tay phiên bản với bộ
lọc Gabor
3.1.1 Nâng cao hình ảnh vân tay
Đối với khối nâng cao hình ảnh vân tay, sử dụng các phương pháp chuẩn hoá, phân vùng, dự đoán và phục hồi đường vân cho vân tay
3.1.2 Nhận dạng hình ảnh vân tay
Hình ảnh vân tay sau khi được phục hồi rõ ràng các đường vân
Trang 13sẽ được đưa vào mạng neural tích chập đã được huấn luyện để trích xuất đặc trưng dưới dạng vector có khả năng phân biệt giữa các vân tay khác nhau
3.2 Thiết kế mô hình nhận diện vân tay phiên bản với mạng tích chập
Sơ đồ khối của mô hình được mô tả như trong hình :
Hình 3.2 Sơ đồ mô tả mô hình nhận diện vân tay phiên bản với
Trang 14Hình 3.3 Kiến trúc mạng MobileNet-Unet
Mạng MobileNet-Unet được chia làm hai phần chính với MobileNet có nhiệm vụ trích xuất đặc trưng từ hình ảnh đầu vào và Unet dựa vào những kết quả đặc trưng đó nội suy ra phân vùng của vân tay, cụ thể:
Phần trích xuất đặc trưng (hay còn gọi là encoder) là tập hợp các lớp tích chập thông thường với các bộ lọc trọng số có nhiệm vụ trích xuất đặc trưng của hình ảnh vân tay, làm kích thước ảnh đầu vào giảm dần theo từng lớp tích chập
Phần nội suy (hay còn gọi là decoder) có mục đích khôi phục lại kích thước của ảnh đầu vào và phân loại là đường vân hay nền ở mỗi pixel, là tập hợp của các lớp tích chập chuyển vị,
Trang 15Hình 3.4 Sơ đồ khối chức năng
3.3.1 Khối thu thập vân tay
Đầu đọc vân tay R305 bao gồm cảm biến vân tay quang học,
có hiệu suất ổn định, cấu trúc đơn giản, tiêu thụ điện năng cực thấp
và có giá thành rẻ hơn các loại đầu đọc vân tay có trên thị trường khác R305 sử dụng giao tiếp UART (với tốc độ baud tối đa lên đến 115200) Hình ảnh vân tay thu được có độ phân giải 256x288 pixel, 8-bit tương đương 256 mức xám Sử dụng đầu đọc R305 kết hợp với mạch chuyển USB-UART giúp giao tiếp dễ dàng qua cổng USB
Hình 3.5 Đầu đọc vân tay R305
Trang 163.3.2 Khối xử lý nhận dạng
Máy tính nhúng Raspberry Pi 4 Model B sẽ đảm nhận vai trò của khối xử lý nhận dạng và đồng thời gửi tín hiệu điều khiển thang máy
Thông số cấu hình của máy tính nhúng :
Sử dụng chip Cortex-A72 (ARMv8) 64-bit SoC @ 1.5GHz
Dung lượng RAM : 4GB LPDDR2 SDRAM
2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 5.0, BLE
Có 40 cổng GPIO
Hỗ trợ cổng micro HDMI với độ phân giải lên tới 4K
2 cổng USB 3.0 và 2 cổng USB 2.0
Sử dụng thẻ nhớ micro-SD để lưu trữ hệ điều hành và dữ liệu
Nguồn vào : 5V/3A DC chuẩn USB-C
Hình 3.6 Máy tính nhúng Raspberry Pi 4 Model B
Sơ đồ khối phần mềm được chỉ ra ở hình 3.15 Phần mềm được xây dựng dựa trên cấu trúc hệ thống đã được lắp đặt gồm có 2 phần chính:
- Phần giao tiếp với camera
Trang 17- Phần xử lý tín hiệu video nhận được từ camera và đưa ra cảnh báo
Hình 3.7 Sơ đồ khối chi tiết của phần mềm nhận dạng
Phần này gồm có 2 khối chính là nâng cao phục hồi đường vân của vân tay và khối nhận dạng vân tay kiểm tra định danh thông tin của đối tượng Vì phần này đòi hỏi phải tính toán phức tạp với khối lượng tính toán cực kì lớn nên được xây dựng trên bộ các bộ thư viện trên ngôn ngữ Python Các khối được xây dựng dựa trên thuật toán đã được trình bày trong phần 3.1 và 3.2
Giao diện được xây dựng bởi thư viên và phần mềm chỉnh sửa
đi kèm là PyQt5 và Qt Designer Giao diện được thiết kế phù hợp, đầy đủ các tính năng phục vụ cho nhiệm vụ nhận diện vân tay điều khiển thang máy và đăng ký người dùng
Trang 18Hình 3.8 Giao diện chính chương trình nhận diện vân tay trước vào
sau khi nhận diện
Hình 3.9 Giao diện đăng ký mới vân tay
3.4 Kết luận Chương
Quy trình thiết kế và xây dựng chương trình nhận diện vân tay
sử dụng phép học one-shot ứng dụng vào hệ thống thang máy trên máy tính nhúng đã được trình bày trong chương này Các phương pháp nâng cao hình ảnh và nhận dạng đã được thiết kết và xây dựng
Trang 19Việc kết nối giữa các khối được mô tả trong sơ đồ tổng thể của toàn
bộ hệ thống Quá trình xây dựng cơ sở dữ liệu và đánh giá hiệu quả nhận dạng của các mô hình được thiết kế sẽ được phân tích trong chương tiếp theo
Trang 20Chương 4 KẾT QUẢ
Chương này trình bày các quy trình thực hiện, đánh giá và phân tích hiệu quả của chương trình nhận dạng việc định danh vân
tay
4.1 Tiêu chí đánh giá
Có nhiều phương pháp đánh giá một hệ thống nhận dạng, trong luận văn này sử dụng ma trận phân loại đối tượng Confusion Matrix
Xây dựng chương trình nhận dạng dấu vân tay có hoặc không
có trong chương trình, vì vậy chỉ cần sử dụng 2 lớp phân loại Với lớp thực tế, ứng với mỗi dấu vân tay được ánh xạ vào một tập hợp {P, N}, với P là tích cực (Positive) ứng với dấu vân tay của đối tượng có trong hệ thống, và N là tiêu cực (Negative) ứng với dấu vân tay của đối tượng không có trong hệ thống Một mô hình phân loại được xây dựng để phán đoán kết quả, ở đây sử dụng nhãn {T, F} để mô tả cho lớp phân loại của hệ thống, với T là phân loại dấu vân tay có trong hệ thống và F là phân loại dấu vân tay không có trong hệ thống
Hình 4.1 Ma trận phân lớp cho hai loại đối tượng đó:
4.2 Xây dựng cơ sở dữ liệu và phân tích kết quả
4.2.1 Xây dựng cơ sở dữ liệu
Trong luận văn này, bộ cơ sở dữ liệu CrossFingerprint của trường Đại học Bách khoa Hong Kong bao gồm 2976 ảnh vân tay của 336 người
Trang 21khác nhau từ tháng 9/2014 đến tháng 2/2017 được sử dụng
Dữ liệu qua tiền xử lý giúp nâng cao hình ảnh vân tay và chia làm 2 bộ dữ liệu huấn luyện và kiểm tra theo tỉ lệ 8/2 Cụ thể 2320 ảnh huấn luyện và 656 ảnh kiểm tra
Hình 4.2 Các ví dụ mẫu có trong bộ cơ sở dữ liệu vân tay
4.2.2 Đánh giá và so sánh thời gian xử lý, kết quả nhận dạng mô hình nhận diện vân tay phiên bản với bộ lọc Gabor và với mạng tích chập
So sánh hai mô hình nhận diện vân tay phiên bản với bộ lọc Gabor (mục 3.1) và phiên bản với mạng tích chập (mục 3.2) đều được khởi chạy và đánh giá trên cùng một bộ dữ liệu kiểm tra (gồm
656 ảnh vân tay của 336 người), cùng cấu hình phần cứng đọc hình ảnh vân tay (R305) và phần cứng xử lý (Raspberry Pi 4)
Bảng 4.1 So sánh thời gian xử lý của hai phiên bản
Phiên bản với bộ lọc Gabor
Phiên bản với mạng tích chập Lấy hình ảnh
vân tay từ cảm
biến
Thời gian xử lý: 4 giây
Nâng cao vân
Trang 22Thời gian xử lý của khối nâng cao và phục hồi đường vân hình ảnh vân tay của phiên bản với bộ lọc Gabor sử dụng bộ lọc gabor mất 20 giây, một khoảng thời gian quá lớn để cho ra kết quả nhận dạng, trong khi đó mô hình phiên bản với mạng tích chập sử dụng mạng phân vùng ngữ nghĩa nhanh gần 20 lần (1,2 giây) so với phiên bản với bộ lọc Gabor
Bảng 4.2 Kết quả nhận dạng cho mô hình phiên bản với bộ lọc
Gabor với bộ dữ liệu kiểm tra
Cho phép Từ chối
Bảng 4.3 Kết quả nhận dạng cho mô hình phiên bản với mạng tích
chập với bộ dữ liệu kiểm tra
Cho phép Từ chối
Bảng 4.4 Bảng so sánh kết quả thống kê EER, ACC, FAR, FRR của
hai phiên bản với bộ dữ liệu kiểm tra
Phiên bản với
bộ lọc Gabor
Phiên bản với mạng tích chập
Trang 23xét khi có sự hiện diện của những đối tượng lạ tức là không có trong
cơ sở dữ liệu EER và ACC được dùng để đánh giá độ tin cậy của chương trình EER càng nhỏ các tốt và ACC càng lớn càng tốt
4.3 Kết luận chương
Trong chương này, năng lực nhận dạng của chương trình đã được kiểm tra trong các điều kiện dữ liệu thực tế với độ chính xác
92,8%
Trang 24Kết quả phân tích và đánh giá chương trình chỉ ra rằng :
- Mạng neural tích chập sử dụng phép học one-shot sau khi được huấn luyện cho kết quả với độ chính xác Acc = 92,8%
- Chương trình điều khiển và tương tác với người dùng thân thiện, dễ sử dụng
Từ kết quả đạt được, kiến nghị các hướng nghiên cứu phát triển tiếp theo :
- Lưu trữ lịch sử và thống kê các đối tượng sử dụng thang máy Quản lý dữ liệu và đăng ký vân tay trên website, thuận tiện cho người quản lý