1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

73 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 12,53 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA NGÔ VĂN TIẾN C C NHẬN DẠNG VÂN TAY SỬ DỤNG MẠNG NEURAL NHÂN TẠO ỨNG DỤNG VÀO R L T DU HỆ THỐNG THANG MÁY LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ Đà Nẵng – Năm 2020 ĐẠ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 HỆ THỐNG THANGC MÁY R L T DU Chuyên ngành : Kỹ thuật Điện tử Mã số : 852.02.03 LUẬN VĂN THẠC SĨ Người hướng dẫn khoa học: TS TĂNG ANH TUẤN PGS.TS TĂNG TẤN CHIẾN Đà Nẵng – Năm 2020 LỜI CAM ĐOAN Tôi xin cam đoan kết đề 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 thang máy ” cơng trình nghiên cứu cá nhân chưa cơng bố cơng trình khoa học khác thời điểm Học viên thực Ngô Văn Tiến C C DU R L T TÓM TẮT LUẬN VĂN 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 Học viên thực : Ngô Văn Tiến Chuyên ngành: Kỹ thuật điện tử Mã số : Khoá : K37-38 Trường Đại học Bách Khoa – ĐHĐN Tóm tắt – Nhận dạng vân tay phương pháp nhận dạng sinh trắc học cá nhân phổ biến đáng tin cậy Luận văn mô tả hệ thống nhận dạng vân tay thời gian thực áp dụng vào quản lý sử dụng hệ thống thang máy bao gồm bước thu nhận hình ảnh, tiền xử lý, trích xuất đặc trưng nhận dạng Phần tiền xử lý tăng cường, lọc nhiễu làm rõ đường vân, so sánh hiệu suất, tốc độ phương pháp xử dụng xử lý ảnh so với phương pháp sử dụng mơ hình tích chập phân vùng ngữ nghĩa Sử dụng mơ hình tích chập với phương pháp học lần trích xuất đặc trưng vân tay tính khoảng cách ơ-clid để định danh vân tay Luận văn trình bày tổng quan hệ thống sinh trắc học, mạng neural nhân tạo, mạng neural tích chập, phương pháp học lần, thuật tốn huấn luyện mơ hình Nghiên cứu, thiết kế thực thi phần mềm phần cứng, đánh giá chi tiết độ xác thời gian xử lý hệ thống Tác giả tóm tắt kết đạt đưa hướng phát triển Từ khố –tích chập ; phân vùng ngữ nghĩa ; học lần ; sinh trắc học ; nhận dạng vân tay C C R L T FINGERPRINT IDENTIFICATION USING ARTIFICIAL NEURAL NETWORK APPLY TO THE ELEVATOR SYSTEM DU Abstract – Fingerprint identification is one of the most popular and reliable personal biometric identification methods The thesis describes the real-time fingerprint recognition system applied to the management and use of the elevator system, including the steps of image acquisition, pre-processing, feature extraction and identification Enhanced preprocessing, filter noise to clarify the pattern, compare the performance and speed of the method of using image processing compared with the method of using the semantic segmentation convolution model Use a convolution model with a one-time learning method that extracts fingerprint features and calculates euclidean distance to identify a fingerprint The thesis presents an overview of biometric systems, artificial neural networks, convolutional neural networks, one-shot learning methods, and train algorithms Research, design and implement software and hardware, detail the accuracy and processing time of the system The author has summarized the results achieved and gave the next development direction Key words – covolution neural network ; semantic segmentation ; one-shot learning ; biometrics ; fingerprint identification MỤC LỤC MỞ ĐẦU 1 Tính cấp thiết đề tài Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học thực tiễn đề tài Thời gian thực đề tài Cấu trúc luận văn Chương 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 hệ thống sinh trắc học 1.1.1 Các khối chức 1.1.2 Các bước xử lý 1.2 Cơ sở lý thuyết vân tay 1.2.1 Đặc tính vân tay 1.2.2 Cấu trúc vân tay 1.2.3 Các đặc trưng vân tay cách biểu diễn 1.3 Các yếu tố ảnh hưởng đến nhận dạng vân tay 10 1.4 Kết luận chương 11 C C R L T DU Chương GIỚI THIỆU MẠNG NEURAL NHÂN TẠO, MẠNG NEURAL TÍCH CHẬP VÀ ONE-SHOT LEARNING 12 2.1 Tổng quan mạng neural nhân tạo 12 2.1.1 Mạng neural nhân tạo ? 12 2.1.2 Cấu trúc mạng neural nhân tạo 12 2.2 Kiến trúc mạng neural 16 2.3 Huấn luyện mạng neural nhận tạo 17 2.3.1 Các phương pháp học 17 2.3.2 Thuật toán huấn luyện mạng neural 17 2.3.3 Thuật toán tối ưu Adam 18 2.4 Mạng neural tích chập (CNN) 20 2.4.1 Định nghĩa mạng neural tích chập 20 2.4.2 Lớp tích chập 20 2.4.3 Lớp tích chập chuyển vị (Transposed Conlution layer) 22 2.4.4 Lớp tinh chỉnh đơn vị tuyến tính (ReLU layer) 23 2.4.5 Pooling layer 24 2.4.6 Lớp kết nối hoàn chỉnh (The Fully connected layer) 25 2.4.7 Hàm mát (Loss function) 25 2.5 One-shot learning 26 2.6 Kết luận Chương 28 Chương 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 29 3.1 Thiết kế mơ hình nhận diện vân tay phiên với lọc Gabor 29 3.1.1 Nâng cao hình ảnh vân tay 30 3.1.2 Nhận dạng hình ảnh vân tay 35 3.2 Thiết kế mơ hình nhận diện vân tay phiên với mạng tích chập 36 3.2.1 Nâng cao hình ảnh vân tay sử dụng mạng phân vùng ngữ nghĩa 37 3.2.2 Nhận dạng hình ảnh vân tay 38 3.3 Thiết kế thiết bị thu thập, nhận diện vân tay điều khiển hệ thống thang máy 39 3.3.1 Khối thu thập vân tay 39 3.3.2 Khối xử lý nhận dạng 39 3.4 Kết luận Chương 42 C C R L T DU Chương KẾT QUẢ 43 4.1 Tiêu chí đánh giá 43 4.2 Xây dựng sở liệu phân tích kết 44 4.2.1 Xây dựng sở liệu 44 4.2.2 Đánh giá so sánh thời gian xử lý, kết nhận dạng mơ hình nhận diện vân tay phiên với lọc Gabor với mạng tích chập 45 4.3 Kết luận chương 46 KẾT LUẬN 47 DANH MỤC TÀI LIỆU THAM KHẢO PHỤ LỤC DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH, CHỮ VIẾT TẮT Frame Khung hình Object segmentation Phân vùng đối tượng Pre-processing Tiền xử lý Tracking Bám đuổi Feature extraction Trích xuất đặc trưng Pattern recognition Nhận dạng Foreground Vùng ảnh Mathematical Morphology MM Phép tốn hình thái học Template matching Đối sánh State-space Không gian-trạng thái Machine learning Học máy Neural Network T U D Dynamic Bayesian Network Support Vector Machine Convolution Neural Network Background Subtraction Statistical Methods Temporal Differencing R L NN Hidden Markov Model C C Mạng neural HMM Mơ hình Markov ẩn DBN Mạng Bayesian động SVM Máy vector hỗ trợ CNN Mạng neural tích chập Trừ ảnh Phương pháp dựa mơ hình thống kê Sự chênh lệch thời gian khung hình Computer Vision Thị giác máy tính Deep Learning Học sâu Convolution Phép chập Signal processing Xử lý tín hiệu Sliding window Cửa sổ trượt Filter Bộ lọc Feature detector Bộ phát đặc trưng Element-wise Thành phần tương ứng Convoled feature Đặc trưng phép chập Rectified Linear Unit ReLU Hyperparameter Tinh chỉnh đơn vị tuyến tính Siêu tham số Fully connected FC Loss function Kết nối hoàn chỉnh Hàm mát Mean Square Error MSE Smooth Trung bình bình phương lỗi Làm mượt Short-time Fourier transform STFT Biến đổi Fourier thời gian ngắn True Positives TP Đúng tích cực False Positives FP Sai tích cực True Negatives TN Đúng tiêu cực False Negatives FN Sai tiêu cực Recall RC Tỉ lệ phát Precision PR Độ tin cậy True negative rate True positive rate R L T U Accuracy D C C ACC Độ xác TNR Tỉ lệ tiêu cực TPR Tỉ lệ tích cực DANH MỤC CÁC BẢNG Số hiệu bảng 4.1 4.2 4.3 4.4 Tên bảng Trang So sánh thời gian xử lý hai phiên 45 Kết nhận dạng cho mơ hình phiên với lọc Gabor với liệu kiểm tra Kết nhận dạng cho mơ hình phiên với mạng tích chập với liệu kiểm tra Bảng so sánh kết thống kê EER, ACC, FAR, FRR hai phiên với liệu kiểm tra C C DU R L T 45 45 46 DANH MỤC CÁC HÌNH Số hiệu Tên hình hình Trang 1.1 Mơ tả quy trình lấy mẫu vân tay đầu vào 1.2 Sơ đồ khối hệ thống đăng ký [6] 1.3 Sơ đồ khối hệ thống xác thực [6] 1.4 Sơ đồ khối hệ thống định danh [6] 1.5 Vùng Whorl, Loop, Arch vân tay [8] 1.6 chi tiết thường gặp vân tay [8] 1.7 Các điểm singularity core delta [8] 1.8 Một số loại core thường gặp [6] 1.9 Các điểm minutiae Rigde Ending Bifurcation [9] 10 1.10 Bề mặt ảnh vân tay với đường vân (ridge) rãnh (ravine) [9] 10 1.11 Hình ảnh vân tay yếu tố xấu gây Từ trái qua phải : Sự đổi chỗ, Sự quay, Sự chồng chéo đường vân, Sự nhiễu phi tuyến méo vân 11 2.1 Mơ hình cấu trúc neural nhân tạo 13 2.2 Một số hàm kích hoạt thơng dụng 15 2.3 Mạng tự tổ chức 16 2.4 Mạng có kiến trúc truyền thẳng 16 2.5 Mạng có kiến trúc hồi quy 17 2.6 Sơ đồ huấn luyện mạng neural học giám sát với y:Tín hiệu mạng d : Tín hiệu mong muốn x Tín hiệu vào mạng 18 2.7 Hình ảnh minh họa mạng tích chập 20 2.8 Các thành phần tích chập[21] 21 2.9 Minh họa tích chập 21 2.10 Ảnh mờ sau áp dụng phép tích chập 22 2.11 Ảnh phát biên sau chập 22 2.12 So sánh lớp tích chập lớp tích chập chuyển vị 23 2.13 Lớp tích chập chuyển vị với ma trận lọc kích thước 2x2 23 2.14 Đồ thị hàm ReLU 24 2.15 Tính tốn với phương pháp MaxPooling 25 2.16 Cấu trúc mạng Triplet 27 C C R L T DU DANH MỤC TÀI LIỆU THAM KHẢO [1] Akhtar, Zahid, “Correlation based fingerprint liveness detection”, IEEE, pp 305-310, 2015 [2] Atanu Chatterjee, Shuvankar Mandal, G M Atiqur Rahaman, and Abu Shamim Mohammad Arif, “Fingerprint Identification and Verification System by Minutiae Extraction Using Artificial Neural Network”, JCIT, Vol 01, Issue 01, 2010 [3] Ben Krose, Patrick van der Smagt, “An Introduction to Neural Network”, The University of Amsterdam, 1996 [4] Christopher M Bishop, “Pattern Recognition and Machine Learning”, Information Science and Statistics, Springer-Verlag New York, 2006 [5] D Maio, D Maltoni, R Cappelli, J.L Wayman and A.K Jain, “FVC2002: Second Fingerprint Verification Competition”, in Proceedings 16th International Conference on Pattern Recognition, Québec City, Vol, 3, pp 811-814, 2002 [6] D Maio, D Maltoni, R Cappelli, J.L Wayman and A.K Jain, “FVC2004: Third Fingerprint Verification Competition”, in Proceedings 1st International Conference on Biometric Authentication, LNCS 3072, pp 1-7, 2004 [7] D Maio, D Maltoni, R Cappelli, J.L Wayman and A.K.Jain, “FVC2000: Fingerprint Verification Competition”, IEEE PAMI, Vol 24, No 23, pp 402-412, March 2002 [8] Davide Maltoni, Dario Maio, Anil K.Jain, Salid Prabhakar, “Handbook of Fingerprint Recognition”, Second Edition, Springer, 2009 [9] Dorasamy, Kribashnee, “Fingerprint Classification Using a simplified Rule-set Based On Directional patterns And Singularity feartures”, IEEE, pp 400407, 2015 [10] G.Aguilar, G.Sanchez, “Fingerprint Recognition”, IEEE, Computer Society, 2007 [11] G.Betab, R.K.Sandhu, “Fingerprints in Automated Teller Machine-A Survey”, International Journal of Engineering and Advanced Technology, ISSN, Vol 3, Issue 4, April 2014 [12] IG Babatunde, AO Charles, AB Kayode, O Olatubosun, “Fingerprint Image Enhancement: Segmentation to Thinning”, International Journal of Advanced Computer Science and Applications, Vol 3, pp 8-14, 2012 C C DU R L T [13] J S Chen, Y S Moon, K F Fong, “Efficient Fingerprint Image Enhancement for Mobile Embedded Systems”, Biometric Authentication Lecture Notes in Computer Science Vol 3087, pp 146-157, Sept 2008 [14] Kalpna Kashyap, Meenakshi Yadav, “Fingerprint Matching Using Neural Network Training”, International Journal Of Engineering And Computer Science, Vol 2, Issue 6, pp 2041-2044, June 2013 [15] Kondreddi Gopi, J.T Pramod, “Fingerprint Recognition Using Gabor Filter And Frequency Domain Filtering”, IOSR Journal of Electronics and Communication Engineering (IOSRJECE), ISSN: 2278 – 2834, Vol 2, Issue 6, pp 17-21, Sep – Oct 2012 [16] Kong T., Rosenfeld A., “Topological Algorithms for Digital Image Processing”, 1996 [17] L.Hong, Y.Wan, A.Jain “Fingerprint Image Enhancement: Algorithm and Performance Evaluation”, IEEE Transactions on Pattern Analysis and Machine Intelligence Vol 20, Issue 8, pp 777-789, Aug 1998 [18] L.Lam, S Lee, C.Y.Suen, “Thinning Methodologies - A Comprehensive Survey”, IEEE Transactions On Partern Analysis and Machine Intelligence, Vol 14, No 9, Sept 1992 [19] Ozkan, Savas, “Fingerprint recognition with geometric relation of minutiae points”, IEEE, pp 875-878, May 2015 [20] R.Dharmendra Kumar, Kaliyaperumal Karthikeyan, T.Ramakrishna, “Fingerprint Image Enhancement Using FFT for Minutia Matching with Binarization”, International Journal of Engineering Research & Technology (IJERT), Vol 1, Issue 8, October 2012 [21] Robert A Dunne, “A Statistical Approach to Neural Networks for Pattern Recognition”, Commonwealth Scientific and Industrial Research Organization, Mathematical Information Sciences, Statistical Bioinformatics – Health, North Ryde, New South Wales, Australia, 2007 [22] Sachin Harne, Prof K J Satao, “Minutiae Fingerprint Recognition Using Hausdorff Distance”, Sachin Harne et al UNIASCIT, Vol 1, pp 16 – 22, 2011 [23] V.U.Kale, R.A.Wakode, L.Batra, “Finger Knuckle System for Human Identification: A Literature”, International Journal of Engineering and Advanced Technology, ISSN, Vol 5, Issue , January 2015 C C DU R L T PHỤ LỤC mobilenet.py from tensorflow.keras.applications.mobilenet_v2 import MobileNetV2 from tensorflow.keras.models import Sequential from tensorflow.keras.regularizers import l2 from tensorflow.keras import backend as K from tensorflow.keras.layers import Lambda, Flatten, Dense, MaxPooling2D, Conv2D def MobileNet_v2(input_shape, embeddingsize, alpha=1.0): model = Sequential() model.add(MobileNetV2(input_shape=input_shape, alpha=0.7, include_top=False, weights=None, input_tensor=None, pooling=None, classes=1000)) model.add(Flatten()) model.add(Dense(embeddingsize, activation=None, kernel_regularizer=l2(1e-3), kernel_initializer='he_uniform')) model.add(Lambda(lambda x: K.l2_normalize(x, axis=-1))) return model C C R L T DU recognition.py from model.mobilenet import * import numpy as np import cv2 import time class recognition_OSL: def init (self, weights, sizeH=162, sizeW=144, embeddingsize=128): self.H, self.W = sizeH, sizeW self.network = MobileNet_v2((self.H, self.W, 1), embeddingsize=embeddingsize) self.network.load_weights(weights) @staticmethod def compute_dist(a, b): return np.sum(np.square(a - b)) def apply(self, image): image = cv2.resize(image, (self.W, self.H), interpolation=cv2.INTER_NEAREST) image = image - np.min(image) image = (image / np.max(image)) * - image = np.expand_dims(image.reshape((self.H, self.W, 1)), axis=0) return self.network.predict(image)[0] segmentation.py from model import Unet, MobileNetV2_Unet import cv2 import numpy as np def normalise(img): normed = (img - np.mean(img)) / (np.std(img)) return normed def ridge_segment(im, blksze, thresh): rows, cols = im.shape[:2] im = normalise(im) new_rows = np.int(blksze * np.ceil((np.float(rows)) / (np.float(blksze)))) new_cols = np.int(blksze * np.ceil((np.float(cols)) / (np.float(blksze)))) padded_img = np.zeros((new_rows, new_cols)) stddevim = np.zeros((new_rows, new_cols)) padded_img[0:rows, 0:cols] = im blk = np.ones((blksze, blksze)) for i in range(0, new_rows, blksze): for j in range(0, new_cols, blksze): stddevim[i:i + blksze, j:j + blksze] = np.std(padded_img[i:i + blksze, j:j + blksze]) * blk mask = stddevim[0:rows, 0:cols] > thresh return mask class FingerSegment(object): def init (self, weight, sizeH=320, sizeW=320): self.model = MobileNetV2_Unet.mobileNetV2_Unet((sizeH, sizeW, 1), 2) self.model.load_weights(weight) self.sizeH = sizeH self.sizeW = sizeW self.kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3)) def apply(self, image): if len(image.shape) > 2: image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) image = normalise(image) image = cv2.resize(image, (self.sizeW, self.sizeH)).reshape((self.sizeH, self.sizeW, 1))/255 pred = self.model.predict(np.expand_dims(image, axis=0)) mask = np.uint8(np.argmax(pred, axis=3)[0]) C C DU R L T for col in range(mask.shape[1]): if cv2.countNonZero(mask[:, col]) < 50: mask[:, col] = else: break for col in range(mask.shape[1]-1, -1, -1): if cv2.countNonZero(mask[:, col]) < 50: mask[:, col] = else: break for row in range(mask.shape[0]): if cv2.countNonZero(mask[row, :]) < 50: mask[row, :] = else: break for row in range(mask.shape[0]-1, -1, -1): if cv2.countNonZero(mask[row, :]) < 50: mask[row, :] = else: break y, x = np.where(mask) mask = mask[np.min(y): np.max(y) + 1, np.min(x): np.max(x) + 1] return mask C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T C C DU R L T ... 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 máy? ??, Tập trung vào việc nghiên cứu, xây dựng thực thi hệ thống nhận dạng dấu vân tay sử dụng mạng neural tích... tắt – Nhận dạng vân tay phương pháp nhận dạng sinh trắc học cá nhân phổ biến đáng tin cậy Luận văn mô tả hệ thống nhận dạng vân tay thời gian thực áp dụng vào quản lý sử dụng hệ thống thang máy. .. lĩnh vực nhận dạng vân tay, đề tài đề xuất phương án xây dựng chương trình mơ phỏng, xử lý ảnh vân tay để đối sánh vân tay ứng dụng mục đích vào hệ thống thang máy thơng minh nhận dạng vân tay C

Ngày đăng: 29/04/2021, 15:38