Đăng ký Đăng nhập
Trang chủ 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 thang máy (...

Tài liệu 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 thang máy (tt)

.PDF
24
4
137

Mô tả:

ĐẠ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 C C R UT.L HỆ THỐNG THANG MÁY D Chuyên ngành : Kỹ thuật Điện tử Mã số : 852.02.03 LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ Đà Nẵng - Năm 2020 Cô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 PGS.TS. TĂNG TẤN CHIẾN Phản biện 1: TS. Võ Tuấn Minh Phản biện 2: TS. Trần Thế Sơn C C R UT.L D Luận văn đã được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Kỹ thuật Điện tử họp tại trường Đại học Bách Khoa vào ngày 25 tháng 10 năm 2020 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 1 MỞ ĐẦ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 oneshot learning trên máy tính với hiệu suất trên 90% và độ tin vậy cao C C R UT.L ứ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 D 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 2 Chươ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á D C C R UT.L 3 Chươ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) C C R UT.L D 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. 4 Feature 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ữ. 1.1.2. Các bước xử lý Sử dụng bốn thành phần trên, ba bước xử lý có thể được thực hiện là đăng ký, xác thực và định danh. Đăng ký: người dùng đăng ký thông tin cá nhân vào hệ thống lưu trữ sinh trắc học. Xác thực: bước xác thực thích hợp cho việc khẳng định lại C C R UT.L 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 D 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 5 nhau. Điểm đặc trưng của vân tay được phân thành hai loại là singularity và minutiae. 1.2.3.1. Điểm Singularity Đây là những vùng có cấu trúc khác thường so với những vùng bình thường khác (thường có cấu trúc song song) được gọi là singularity. Có hai loại singularity là core và delta. 1.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. C C R UT.L 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 D 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 độ. 6 - Các lỗi trích chọn đặc trưng: tính gần đúng và tính chất không hoàn hảo các phép biến đổi làm cho gây ra các lỗi khi trích chọn đặc trưng trước khi nhận dạng. 1.4. Kết luận chương Qua chương này, ta đã có cái nhìn tổng quan về các hệ thống sinh trắc học nói chung cũng như hệ thống nhận dạng dấu vân tay nói riêng và những khái niệm cơ bản về cấu tạo, đặc tính vân tay. D C C R UT.L 7 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 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 C R UT.L của bộ não con người. 2.2. Kiến trúc mạng neural D Cách thức kết nối các neural trong mạng xác định kiến trúc của mạng. 2.3. Huấn luyện mạng neural nhận tạo 2.3.1 Các phương pháp học Học là quá trình thay đổi hành vi của các vật theo một cách nào đó làm cho chúng có thể thực hiện tốt hơn trong tương lai. 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. 8 2.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). 2.4.2. Lớp tích chập Tích chập được sử dụng nhiều trong xử lý tín hiệu số (Digital signal processing). 2.4.3. Lớp tích chập chuyển vị (Transposed Conlution layer) 2.4.4. Lớp tinh chỉnh đơn vị tuyến tính (ReLU layer) 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: C C R UT.L D 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 9 biết được kết quả dự đoán cuối cùng mà mô hình dự đoán đối tượng đầu vào sẽ thuộc nhóm nào. 2.5. One-shot learning One-shot learning là một bài toán phân loại đối tượng, được áp dụng chủ yếu trong lĩnh vực thị giác máy tính. Trong khi các bài toán phân loại đối tượng thông thường yêu cầu được huấn luyện hàng trăm hoặc hàng nghìn mẫu cho mỗi nhãn. 2.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 C C R UT.L neural tích chập tốt nhất cho đề tài. D 10 Chươ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 : C C R UT.L D 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 11 sẽ đượ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 : C C R UT.L D Hình 3.2. Sơ đồ mô tả mô hình nhận diện vân tay phiên bản với mạng tích chập Khối đầu tiên của mô hình (nâng cao hình ảnh vân tay) sử dụng mô hình tích chập có khả năng phân vùng ngữ nghĩa. 3.2.1. Nâng cao hình ảnh vân tay sử dụng mạng phân vùng ngữ nghĩa Lựa chọn một mô hình mạng tích chập phân vùng ngữ nghĩa sao cho thời gian tính toán nhanh mà vẫn giữ được độ chính xác. Mô hình được chọn để sử dụng tốt trên các thiết bị di động, máy tính nhúng gọi là MobileNet-Unet có kiến trúc như hình : 12 C C R UT.L Hì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 D 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ị,. 3.2.2. Nhận dạng hình ảnh vân tay Vì hình ảnh kết quả nâng cao và phục hồi đường vân của hình ảnh vân tay tương tự như phiên bản với bộ lọc Gabor nên tái sử dụng bộ nhận diện hình ảnh vân tay ở mục 3.1 13 3.3. Thiết kế thiết bị thu thập, nhận diện vân tay và điều khiển hệ thống thang máy Hình 3.12 mô tả sơ đồ khối của thiết bị thu thập, nhận diện vân tay và điều khiển hệ thống thang máy. Hình 3.4. Sơ đồ khối chức năng 3.3.1. Khối thu thập vân tay C C R UT.L Đầ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 D 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 14 3.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 C C R UT.L  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 D 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 15 - 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 C C R UT.L đi kèm là PyQt5 và Qt Designer. Giao diện được thiết kế phù hợp, D đầ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. 16 Hì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 C C R UT.L D 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. 17 Việ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. D C C R UT.L 18 Chươ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 C C R UT.L 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ó D 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
- Xem thêm -

Tài liệu liên quan