Ứng dụng chấm công bằng nhận dạng khuôn mặt sử dụng deep learning

99 0 0
Ứng dụng chấm công bằng nhận dạng khuôn mặt sử dụng deep learning

Đ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

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.HCM KHOA CƠNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP ỨNG DỤNG CHẤM CÔNG BẰNG NHẬN DẠNG KHUÔN MẶT SỬ DỤNG DEEP LEARNING Giảng viên hướng dẫn: ThS Hồ Đắc Quán Sinh viên thực hiện: Trần Quang Trung 17009171 Hồ Duy Quang 17014761 TP HỒ CHÍ MINH, THÁNG NĂM 2021 Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán INDUSTRIAL UNIVERSITY OF HO CHI MINH CITY FACULTY OF INFORMATION TECHNOLOGY TIMEKEEPING APPLICATION BY FACIAL RECOGNITION USING DEEP LEARNING Major: Computer Science Instructor: MSc Ho Dac Quan Student: Tran Quang Trung 17009171 Ho Duy Quang 17014761 HO CHI MINH CITY, JUNE 2021 Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán TIMEKEEPING APPLICATION BY FACIAL RECOGNITION USING DEEP LEARNING ABSTRACT Reason for choosing the topic: At the present time, due to the complicated situation of Covid-19 pandemic in the world, it is very necessary to limit contact with public devices However, workers in enterprises still have to use public devices to time attendance every day, especially Biometric Fingerprint Time Clocks or Magnetic Stripe Cards Companies mainly use these two types of public devices because they have high accuracy each person will have different fingerprint or different barcode card, these technologies ensure high accuracy and security On the other hand, besides the advantages of these two attendance devices, during the current epidemic, the frequent use of Biometric Fingerprint Time Clocks or Magnetic Stripe Cards can make employees get viruses when interacting with public devices Because of the above reasons, our group has learned, researched and wanted to implement the topic “Timekeeping Application by Facial recognition using Deep learning” Problems: ‐ Manage the real time employees take attendance ‐ Identify and ensure the correct employee for attendance ‐ Save attendance data of employees to calculate salaries for employees Methods: There are a lot of ways to study and implement this research However, our group mainly used technologies: Visual Studio Code, Google Colab, Python 3.8, Tkinter,… and read a lot documents which related to the research to learn the problems encountered Then, we learned from experience and built a realtime face attendance system Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán LỜI CAM ĐOAN Chúng xin cam đoan việc nghiên cứu đề tài thực nhóm chúng tơi với giáo viên hướng dẫn luận án chưa sử dụng để báo cáo cho khóa luận hay môn học Chúng xin cam đoan giúp đỡ cảm ơn, thông tin trích dẫn luận văn ghi đầy đủ bảo đảm rõ nguồn gốc không xâm phạm quyền tác giả TP.Hồ Chí Minh, ngày… tháng 06 năm 2021 TÁC GIẢ KHÓA LUẬN Hồ Duy Quang Trần Quang Trung Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán LỜI CẢM ƠN Quá trình thực báo cáo tốt nghiệp xem cột mốc quan trọng quãng đời sinh viên người tiền đề nhằm trang bị cho chúng em kiến thức, kỹ nghiên cứu đặc biệt kinh nghiệm quý báu trước bước xã hội lập nghiệp Để hoàn thành tốt đề tài “Ứng dụng chấm công khuôn mặt áp dụng công nghệ Deep learning“, chúng em nhận nhiều giúp đỡ nhiệt tình từ nhà trường, q thầy cơ, gia đình, bạn bè đồng nghiệp Trước hết, chúng em xin chân thành cảm ơn Ban lãnh đạo khoa Khoa học máy tính trường Đại học Cơng nghiệp thành phố Hồ Chí Minh tạo điều kiện thuận lợi cho chúng em học tập thực đề tài báo cáo tốt nghiệp Bên cạnh đó, chúng em xin gửi lời cảm ơn đến quý thầy cô khoa Khoa học máy tính tận tâm giảng dạy, truyền đạt kiến thức, trang bị cho chúng em kinh nghiệm quý báu năm học vừa qua Đặc biệt, chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Ths Hồ Đắc Quán – giảng viên trường Đại học Cơng nghiệp Thành phố Hồ Chí Minh ln tận tình hướng dẫn, bảo giúp đỡ chúng em suốt q trình hồn thành báo cáo tốt nghiệp Những lời hướng dẫn, góp ý thầy vơ trân quý, thúc đẩy chúng em không ngừng cố gắng để hồn thành tốt khóa luận Cuối cùng, chúng em mong nhận đóng góp ý kiến, nhận xét dẫn q thầy giáo TP Hồ Chí Minh, ngày…., tháng 06 năm 2021 Nhóm thực Hồ Duy Quang Trần Quang Trung Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN TP Hồ Chí Minh, ngày… tháng 06 năm 2021 GIÁO VIÊN HƯỚNG DẪN ThS HỒ ĐẮC QUÁN Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN TP Hồ Chí Minh, ngày… tháng 06 năm 2021 GIÁO VIÊN PHẢN BIỆN Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN TP Hồ Chí Minh, ngày… tháng 06 năm 2021 GIÁO VIÊN PHẢN BIỆN Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT - LỜI NÓI ĐẦU CHƯƠNG I PHẦN MỞ ĐẦU - 1.1 Tổng quan mô tả đề tài khóa luận - 1.1.1 Tổng quan - 1.1.2 Mơ tả đề tài khóa luận 1.2 Mục tiêu 10 1.3 Các yêu cầu chức 10 CHƯƠNG II CƠ SỞ LÝ THUYẾT - 11 2.1 Convolutional Neural Network (CNNs) 11 2.1.1 Lớp tích chập (Convolution Layer) - 11 2.1.2 Lớp tổng hợp (Pooling Layer) - 12 2.1.3 Hàm phi tuyến – ReLU (Rectified Linear Unit) 13 2.1.4 Fully Connected 13 2.2 One-shot Learning 15 2.3 Learning Similarity 15 2.4 Siamese Network 17 2.5 Hàm mát Triplet Loss 19 2.6 Cách chọn ba ảnh Triplet Loss - 22 2.7 Công nghệ phát khuôn mặt với MediaPipe - 23 2.7.1 Tổng quát - 23 2.7.2 Đầu MediaPipe 23 2.7.3 Hướng dẫn cài đặt python 24 2.7.4 Kết nhận diện - 25 Ứng dụng chấm công nhận dạng khuôn mặt 2.7.5 ThS Hồ Đắc Quán Nhận xét - 25 CHƯƠNG III XÂY DỰNG VÀ ĐÁNH GIÁ MƠ HÌNH 26 3.1 Xây dựng mạng Siamese Network với kiến trúc VGG16 26 3.2 Bộ liệu dùng để huấn luyện cho đề tài - 28 3.3 Giới thiệu mạng pretrained FaceNet 29 3.4 Đánh giá mơ hình tự train sử dụng kiến trúc mạng VGG16. 31 3.4.1 Kết training sau 450 epochs - 31 3.4.2 Đánh giá độ xác mơ hình VGG16 - 31 3.5 Đánh giá mơ hình pretrain FaceNet 33 CHƯƠNG IV PHÂN TÍCH VÀ XÂY DỰNG ỨNG DỤNG 34 4.1 Mô tả User Case ứng dụng 34 4.1.1 Mơ hình Use case 34 4.1.2 Danh sách tác nhân mô tả - 50 4.1.3 Danh sách Use case mô tả 50 4.2 Đặc tả yêu cầu chức 51 4.2.1 UC001_DangNhap 51 4.2.2 UC002_DanhSachNhanVien 53 4.2.3 UC003_TimKiemNhanVien 54 4.2.4 UC004_ThemNhanVien 55 4.2.5 UC005_ChiTietNhanVien 56 4.2.6 UC006_CapNhatNhanVien 58 4.2.7 UC007_ThemKhuonMat - 59 4.2.8 UC008_XemDuLieuKhuonMat - 61 4.2.9 UC009_HuanLuyenKhuonMat - 62 4.2.10 UC010_DanhSachChamCong - 63 4.2.11 UC011_LocChamCongTheoNgay 64 4.2.12 UC012_Checkin 65 4.2.13 UC013_Checkout 67 Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán Hình 4.33 Giao diện lỗi đăng nhập Sau đăng nhập thành công, ứng dụng tự động chuyển đến hình Dashboard, chứa mục chức quản lý 4.4.2 Màn hình Dashboard Hiển thị mục quản lý (nhân viên, chấm công) chức đăng xuất, quản lý chọn để vào thao tác với mục Ở mục Quản lý nhân viên ta có chức sau: • Xem danh sách nhân viên • Tìm kiếm nhân viên • Thêm nhân viên Trần Quang Trung ˗ Hồ Duy Quang 74 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khn mặt ThS Hồ Đắc Qn • Xem thơng tin chi tiết nhân viên • Chỉnh sửa thơng tin nhân viên • Thêm khn mặt • Xem liệu khn mặt • Training khn mặt Ở mục Chấm cơng ta có chức sau: • Xem danh sách chấm cơng • Lọc danh sách chấm cơng theo ngày • Check-in • Check-out • Xem chỉnh sửa thông tin chi tiết chấm công Nếu không muốn dùng ứng dụng nữa, ta chọn mục Đăng xuất để khỏi hình chức ứng dụng Hình 4.34 Giao diện bảng điều khiển Trần Quang Trung ˗ Hồ Duy Quang 75 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán 4.4.3 Màn hình danh sách nhân viên Hình 4.35 Giao diện danh sách nhân viên Chức tìm kiếm nhân viên tên nhân viên Tìm kiếm chữ thường, chữ hoa, tên nhân viên có dấu phải viết dấu để tìm kết xác Hình 4.36 Kết tìm kiếm nhân viên Trần Quang Trung ˗ Hồ Duy Quang 76 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán 4.4.4 Màn hình thêm nhân viên Hình 4.37 Giao diện thêm nhân viên Nếu không nhập thông tin đủ, sai định dạng email hình hiển thị lỗi Sau nhập xong thông tin nhân viên mới, bắt buộc phải thêm khuôn mặt cho nhân viên với tối thiểu tối đa 15 ảnh, dùng liệu ảnh để huấn luyện cho mơ hình nhận dạng khn mặt Nút thêm ảnh nhân viên hiển thị màu xanh đổi thành “Đã thêm ảnh nhân viên” thêm khn mặt hồn tất Nhấn nút “Đăng ký” để đăng ký cho nhân viên Nhấn nút “Trở về” để thoát khỏi hình thêm nhân viên Trần Quang Trung ˗ Hồ Duy Quang 77 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khn mặt ThS Hồ Đắc Qn Hình 4.38 Giao diện lỗi nhập liệu thêm nhân viên Trần Quang Trung ˗ Hồ Duy Quang 78 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán Hình 4.39 Hình ảnh nhập đầy đủ thông tin Danh sách nhân viên thêm vào nhân viên tạo Hình 4.40 Danh sách sau thêm nhân viên Trần Quang Trung ˗ Hồ Duy Quang 79 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán Chức thêm khuôn mặt cho nhân viên: mục đích để thu thập liệu khuôn mặt nhân viên, dùng liệu để huấn luyện mơ hình mạng nhân tạo nhận dạng nhân viên Sau thêm xong, quản lý xem lại khn mặt cách nhấn vào nút “Xem liệu khn mặt” 4.4.5 Màn hình thêm khn mặt Màn hình thêm khn mặt dùng để thu thập liệu khuôn mặt nhân viên nhằm mục đích huấn luyện mơ hình nhận dạng khn mặt Để vào hình này: • Bước 1: Nhấn chọn nhân viên danh sách nhân viên hiển thị hình “Danh sách nhân viên” • Bước 2: Nhấn phím “b” bàn phím để lấy liệu khn mặt • Bước 3: Sau thu thập 100 ảnh, nhấn phím “q” để khỏi cửa sổ Hình 4.41 Giao diện hình thêm khn mặt Trần Quang Trung ˗ Hồ Duy Quang 80 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán 4.4.6 Màn hình xem liệu khn mặt Hình 4.42 Giao diện xem liệu khn mặt 4.4.7 Màn hình chi tiết nhân viên Có thể chỉnh sửa họ tên, ngày sinh, email nhân viên Hình 4.43 Giao diện chi tiết nhân viên Trần Quang Trung ˗ Hồ Duy Quang 81 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Qn 4.4.8 Màn hình chấm cơng Hình 4.44 Giao diện danh sách chấm công Chức lọc danh sách chấm công theo ngày, quản lý chọn ngày select box, kết danh sách chấm công hiển thị theo ngày quản lý chọn Hình 4.45 Kết sau lọc ngày chấm công Trần Quang Trung ˗ Hồ Duy Quang 82 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán 4.4.9 Màn hình check-in Ứng dụng hiển thị user id nhân viên mà nhận dạng lưu liệu lưu hình ảnh dùng để nhận dạng Sau lưu thời gian check-in xong, ứng dụng thơng báo cách nói “Xin chào” + {họ tên} nhân viên Danh sách sau check-in cập nhật, khỏi hình check-in kết danh sách hiển thị Hình 4.46 Giao diện hình check-in Hình 4.47 Kết sau check-in Trần Quang Trung ˗ Hồ Duy Quang 83 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khn mặt ThS Hồ Đắc Qn 4.4.10 Màn hình check-out Ứng dụng hiển thị user id nhân viên mà nhận dạng lưu liệu lưu hình ảnh dùng để nhận dạng Sau lưu thời gian check-out xong, ứng dụng thông báo cách nói “Tạm biệt” + {họ tên} nhân viên Hình 4.48 Giao diện hình check-out Nếu phát khuôn mặt đường viền màu hồng bao lấy khuôn mặt nhân viên, nhận dạng danh tính nhân viên, ứng dụng hiển thị user id nhân viên đó, ngược lại ứng dụng hiển thị “Unknown” Trần Quang Trung ˗ Hồ Duy Quang 84 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khn mặt ThS Hồ Đắc Qn Hình 4.49 Kết sau check-in check-out Danh sách chấm công hiển thị thông tin nhân viên check-in check-out thành cơng 4.4.11 Màn hình chi tiết chấm cơng Ở quản lý chỉnh sửa thơng tin chấm cơng có sai sót từ ứng dụng nhận dạng sai danh tính thời gian check-in check-out Hình 4.50 Giao diện chi tiết chấm công Trần Quang Trung ˗ Hồ Duy Quang 85 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán CHƯƠNG V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt Sau hồn thành xong ứng dụng chấm cơng khn mặt, nhóm chúng tơi đúc kết có thêm kinh nghiệm thực tiễn nhiều mặt • Hiểu cách hoạt động mơ hình Siamese Network hàm lỗi Triplet Loss • Xây dựng ứng dụng thực tế • Xây dựng huấn luyện mơ hình nhận dạng khn mặt 5.2 Hạn chế khóa luận Song song q trình phát triển hồn thiện ứng dụng nhiều mặt hạn chế như: Đối với hạn chế lưu trữ thao tác liệu tệp Excel thay sử dụng dữ liệu SQL ứng dụng khác, việc sử dụng tệp Excel để tạo hay cập nhật liệu thực tế sử dụng cấu trúc liệu ứng dụng không phức tạp, mặt tốc độ xử lý thời gian thực trở ngại check-in check-out ứng dụng phải trễ đến giây để xử lý liệu Đây kinh nghiệm làm ứng dụng cần phải ý, quan hệ liệu phức tạp yêu cầu cao thời gian thực Đối với mơ hình phát khuôn mặt, MediaPipe làm tốt nhiệm vụ mình, phát khn mặt dù góc mặt kể đeo phụ kiện hay bị vật cản che trang, mắt kính, đội nón với tốc độ nhanh xác MediaPipe tuyệt hỗ trợ đa tảng dù giải pháp cho thiết bị di động, hỗ trợ Windows, Mac Ubuntu Nhưng MediaPipe có hạn chế định tập trung hỗ trợ cho thiết bị di động, khoảng cách phát khn mặt MediaPipe có giới hạn nhóm chúng tơi thử nghiệm với nhiều khoảng cách khác nhau, mơ hình khó phát khn mặt cách xa Trần Quang Trung ˗ Hồ Duy Quang 86 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán sải tay Và việc phát khuôn mặt chưa thể xử lý việc chống giả mạo khuôn mặt để chấm cơng hộ Đối với mơ hình nhận dạng khn mặt, FaceNet thực công nghệ nhận dạng khuôn mặt tốt, với xác suất nhận dạng 95%, độ xác bị ảnh hưởng khn mặt gia đình, thật bất ngờ chúng tơi thử nghiệm nhận dạng gia đình kết hiển thị thay đổi liên tục tên thành viên gia đình 5.3 Hướng phát triển Dựa sở sẵn có tương lai, ứng dụng cải thiện: Phát triển hệ thống chống giả mạo khuôn mặt cho hệ thống nhận diện Về độ xác nhận dạng khn mặt nhân viên ứng dụng, cần cải thiện liệu cách thêm góc chụp, hạn chế thay đổi khuôn mặt, điều kiện ánh sáng, Hiện tại, ứng dụng chưa thể nhận dạng khn mặt xác đeo trang, mong muốn phát triển nhóm cải thiện ứng dụng nhận dạng khuôn mặt đeo trang để phù hợp với tình hình đại dịch Covid phải ln đeo trang Thử nghiệm thêm mơ hình pre-trained thuật toán huấn luyện khác cho liệu ứng dụng Bằng cách tìm mơ hình nhận dạng tốt có ứng dụng Để cải thiện tốc độ chấm công, việc thay đổi cách thức lưu trữ liệu ưu tiên hàng đầu Ngồi ra, cấu trúc lại mơ hình liệu để thuận tiện việc phát triển chức tính tiền lương cho nhân viên Không dừng lại nhiệm vụ chấm cơng, ứng dụng cịn cải tiến thêm chức giám sát, quản lý vào cho nhân viên phòng ban Trần Quang Trung ˗ Hồ Duy Quang 87 Lớp DHKHMT13A Ứng dụng chấm công nhận dạng khuôn mặt ThS Hồ Đắc Quán TÀI LIỆU THAM KHẢO [1] Bhaskar Chaudhary (2015), Tkinter GUI Application Development Blueprints [2] Facial recognition system – Wikipedia (Đã cập nhật lần cuối: May 2021), https://en.wikipedia.org/wiki/Facial_recognition_system [3] Florian Schroff, Dmitry Kalenichenko, James Philbin (Jun 2015), FaceNet: A Unified Embedding for Face Recognition and Clustering [4] Time and attendance – Wikipedia (Đã cập nhật lần cuối: March 2021), https://en.wikipedia.org/wiki/Time_and_attendance [5] Tkinter-GUI-Application-Development-Cookbook (March 2018), https://github.com/PacktPublishing/Tkinter-GUI-Application-DevelopmentCookbook [6] Face – Detection MediaPipe (2020), https://google.github.io/MediaPipe/solutions/face_detection.html [7] CS231n Convolutional Neural Networks for Visual Recognition, https://cs231n.github.io/convolutional-networks Trần Quang Trung ˗ Hồ Duy Quang 88 Lớp DHKHMT13A

Ngày đăng: 19/05/2023, 22:48

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan