Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
2,44 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN PBL5 - KỸ THUẬT MÁY TÍNH HỆ THỐNG MỞ KHÓA CỬA TỰ ĐỘNG SỬ DỤNG NHẬN DẠNG KHUÔN MẶT GIẢNG VIÊN HƯỚNG DẪN: TS Bùi Thị Thanh Thanh STT NHÓM: 49 HỌ VÀ TÊN SINH VIÊN Nguyễn Mạnh Đức Ngô Lê Gia Hưng Quách Minh Nhật ĐÀ NẴNG, 06/2022 Báo cáo đồ án PBL5 - Kỹ thuật máy tính TĨM TẮT ĐỒ ÁN Với phát triển cơng nghệ ngày nay, việc tự động hóa cho nhà vấn đề cấp thiết Nhóm chúng em đề xuất tiến hành xây dựng đồ án với đề tài “Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt” để mang lại thuận tiện việc vào nhà tiết kiệm thời gian mở khóa thủ cơng Nhóm ứng dụng cơng nghệ trí tuệ nhân tạo việc phân tích xử lý hình ảnh, API từ Django REST Framework việc giao tiếp server ứng dụng di động, ESP8266, ESP32 Cam để chụp ảnh, xây dựng ứng dụng di động với React Native để hiển thị camera thời gian thực, lịch sử lần nhận diện điều khiển đóng mở cửa Sau tiến hành thực đề tài, hệ thống sử dụng ổn hiệu Tuy nhiên, cịn số thiếu sót Trong thời gian đến, nhóm cố gắng hồn thiện sản phẩm tốt Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính BẢNG PHÂN CƠNG NHIỆM VỤ Sinh viên Ngơ Lê Gia Hưng Qch Minh Nhật Nguyễn Mạnh Đức Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính DANH MỤC HÌNH ẢNH Hình 1: Sơ đồ tổng quan hệ thống Hình 2: Sơ đồ hoạt động tổng quan Hình 3: Mơ hình RESTful API Hình 4: Sơ đồ hoạt động RESTful API Hình 5: Django REST Framework Hình 6: Sơ đồ hệ thống nhận diện khn mặt Hình 7: Loss function Hình 8: Norm norm khơng gian hai chiều Hình 9: Logo React Native Hình 10: Biểu đồ Usecase Hình 11: Cơ sở liệu Hình 12: Bộ liệu Hình 13: Ảnh crop cụ thể đối tượng Hình 14: Vector ảnh Hình 15: Kết nhận diện khn mặt Hình 16: Kết 50 lần test Hình 17: Giao diện đăng nhập Hình 18: Giao diện đăng ký Hình 19: Giao diện hình Hình 20: Giao diện xem camera điều khiển cửa Hình 21: Giao diện danh sách lịch sử lần nhận diện Hình 22: Giao diện chi tiết lịch sử nhận diện Hình 23: Giao diện thơng tin người dùng Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính MỤC LỤC TĨM TẮT ĐỒ ÁN BẢNG PHÂN CÔNG NHIỆM VỤ DANH MỤC HÌNH ẢNH MỤC LỤC CHƯƠNG 1: TỔNG QUAN Giới thiệu 1.1 Giới thiệu sản phẩm: 1.2 Mục tiêu: 1.3 Các vấn đề cần giải CHƯƠNG 2: GIẢI PHÁP Các giải pháp 2.1 Sơ đồ tổng quan hệ thống 2.2 Sơ đồ hoạt động tổng quan 2.3 Linh kiện sử dụng 2.4 Giải pháp truyền thông 2.5 Giải pháp phát nhận diện khuôn mặt 2.5.1 Tổng quan hệ thống nhận diện: 2.5.2 Face Detector 2.5.3 Face Encoder 2.5.4 Face identifier 2.6 Giải pháp ứng dụng di động 2.6.1 Bài toán 2.6.2 Công nghệ sử dụng 2.6.3 Biểu đồ usecase hệ thống 2.6.4 Server CHƯƠNG 3: KẾT QUẢ Tổng quan kết đạt 3.1 Kết thực tế 3.1.1 Quá trình thực kết phân tích 3.1.2 Ứng dụng di động CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận hướng phát triển 4.1 Đánh giá sản phẩm 4.2 Hướng phát triển LỜI CẢM ƠN Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng Báo cáo đồ án PBL5 - Kỹ thuật máy tính TÀI LIỆU THAM KHẢO 27 Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng Báo cáo đồ án PBL5 - Kỹ thuật máy tính CHƯƠNG 1: TỔNG QUAN 1.Giới thiệu 1.1 Giới thiệu sản phẩm: Hiện nay, với phát triển xã hội, vấn đề an ninh bảo mật yêu cầu khắt khe quốc gia giới Các hệ thống xác định, nhận dạng khuôn mặt việc bảo mật nhà sống vô cần thiết Dựa vào nhu cầu ấy, nhóm em phát triển sản phẩm đáp ứng nhu cầu bảo mật tin cậy cho việc mở khóa cửa tự động khuôn mặt Giúp người chủ nhà thuận tiện, tiết kiệm thời gian chi phí để có sản phẩm giúp giải vấn đề bảo mật 1.2 Mục tiêu: Xây dựng hệ thống nhận diện khuôn mặt thông qua việc thu thập liệu từ ESP32 Cam Mơ hình nhận diện khn mặt từ ESP32 Cam, so sánh với liệu có sẵn để đưa kết quả, từ kết thu tiến hành mở khóa cửa 1.3 Các vấn đề cần giải • Xử lý lắp nối thiết bị phần cứng • Xử lý ảnh từ Camera ESP32 liệu trước • Kết nối cài đặt ESP8266 • Xây dựng hệ thống phân tích nhận diện khn mặt • Lập trình viết mã nguồn cho chức • Ghép nối phần chạy thử từ điều chỉnh mơ hình Vấn đề Phần cứng Phát khuôn mặt Nhận diện khuôn mặt Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Ứng dụng Server Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính CHƯƠNG 2: GIẢI PHÁP 2.Các giải pháp 2.1 Sơ đồ tổng quan hệ thống Hình 1: Sơ đồ tổng quan hệ thống Hệ thống bao gồm ESP8266 ESP32 Cam dùng để chụp ảnh, thiết bị smart phone dùng tương tác hiển thị kết Django REST Framework để thiết lập Server Thông qua mạng không dây, điện thoại ESP32 Cam giao tiếp với Server API API lập trình dựa Django REST Framework 2.2 Sơ đồ hoạt động tổng quan Hình 2: Sơ đồ hoạt động tổng quan Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính đỏ) Hình 8: Norm norm khơng gian hai chiều 2.5.5 Các pretrain model Hầu hết xây dựng thuật tốn nhận diện khn mặt khơng cần phải train lại mơ hình facenet mà tận dụng lại mơ hình pretrain sẵn có Bạn không cần phải tốn thời gian công sức khơng có đủ tài ngun liệu Đó lý cho việc xây dựng mô hình nhận diện khn mặt thời điểm dễ dàng Những mơ hình pretrain huấn luyện liệu lên tới hàng triệu ảnh Do có khả mã hóa tốt ảnh khơng gian 128 chiều Việc cịn lại sử dụng lại mơ hình, tính tốn embedding véc tơ huấn luyện embedding véc tơ classifier đơn giản để phân loại classes • Một số liệu public face Hai liệu face phổ biến nhất, sử dụng nhiều báo nghiên cứu face recognition CASIA-WebFace: Bộ liệu bao gồm gần 500k ảnh thu thập từ khoảng 10 nghìn người VGGFace2: Bộ liệu gồm khoảng triệu ảnh thu thập từ gần nghìn người • Một số pretrain model phổ biến Model name 20180408-102900 20180402-114759 Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Bảng 4: Các pretrain model phổ biến 2.6 Giải pháp ứng dụng di động 2.6.1 Bài toán Xây dựng ứng dụng di động để tương tác với Server ESP8266 giúp điều khiển cửa đóng mở Người sử dụng thơng qua ứng dụng để điều khiển cửa, xem camera với thời gian thực, quản lý xem lịch sử lần nhận diện 2.6.2 Công nghệ sử dụng - React Native framework để phát triển ứng dụng di động - Webview để xem camera realtime qua ip ESP32Cam - Ứng dụng di động lấy liệu từ URL remote từ REST APIs Server - Firebase Authentication: Quản lý đăng ký đăng nhập tài khoản - AsyncStorage: Lưu trữ data vào nhớ internet Hình 9: Logo React Native Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính 2.6.3 Biểu đồ usecase hệ thống Hình 10: Biểu đồ Usecase 2.6.4 Server Bảng API: STT URL Door/Doors Door/ Doors// Door/ image_upload Door/Command_to_ESP Door/ Image_To_Androi Bảng 5: Bảng danh sách API Cơ sở liệu: Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Hình 11: Cơ sở liệu Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính CHƯƠNG 3: KẾT QUẢ 3.Tổng quan kết đạt Sau trình xây dựng PBL5 với mục tiêu vấn đề đặt ban đầu, nhóm cố gắng hồn thiện sản phẩm với yêu cầu thời gian đặt đề tài với nội dung sau: - Nắm kiến thức kỹ thuật máy tính - Nắm kiến thức phát nhận diện khuôn mặt để điều khiển Camera - Tương ứng với kết nhận diện người dùng điều khiển, xem quản lý camera để đóng mở cửa 3.1 Kết thực tế 3.1.1 Quá trình thực kết phân tích nhận diện khn mặt Q trình xây dựng mơ hình: • Cài đặt thư viện phần mềm cần thiết: ❖ ❖ ❖ ❖ ❖ • Tải cài đặt CUDA Cài đặt Visual Studio Tải thư viện OpenCV Tải thư viện Tensorflow Tải pretrain model Chuẩn bị liệu: Thu thập liệu dataset từ bạn lớp học, có kích thước size ảnh Mỗi bạn 30 ảnh Ảnh chụp khuôn mặt, gốc mặt khác nhau, có khn mặt cụ thể, rõ rang bạn ảnh Đặt tên folder chứa ảnh bạn tên bạn Hình 12: Bộ liệu Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính • Xử lý liệu: Dữ liệu thu thập liệu ảnh chụp khuôn mặt có ngoại cảnh xung quanh, tiến hành detect khuôn mặt model MTCNN crop ảnh để thu khn mặt cụ thể đối tượng Hình 13: Ảnh crop cụ thể đối tượng • Chuẩn hóa liệu lưu trữ: Dữ liệu thu dạng ảnh (jpg, png,…) Sử dụng model Facenet, chuyển hóa liệu ảnh vector 512 chiều Lưu trữ liệu dạng file npy lưu trữ đối tượng Hình 14: Vector ảnh ❖ • Test: Phần test thực bước: ❖ Thu thập dư liệu test (cụ thể ảnh từ đối tượng cần test) Xử lý liệu, cắt liệu chuẩn hóa liệu dạng vector tương ứng (512 chiều) ❖ Truy cập đến file npy lưu trữ file lưu trữ đối tượng, xử dụng thuật Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính tốn cần thiết để tính tốn xác định, định danh khn mặt cần test Kết nhận diện khn mặt: Hình 15: Kết nhận diện khn mặt Chú thích: Ảnh sử dụng detect người, khoảng cách Euclid nhỏ có 0.60715 Xác định ảnh Đạt, với xác suất 93% Kết chi tiết: Hình 16: Kết 50 lần test Với việc chọn ngưỡng phù hợp, ảnh test có độ sáng đầy đủ (sử dụng camera ESP32-CAM), độ nhịa, mờ => Độ xác thu cho 50 lần test 88% Sai số rơi vào trường hợp : camera bị rung, nhịa, mờ, độ sáng thấp Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính 3.1.2 Ứng dụng di động Hình 17: Giao diện đăng nhập Hình 18: Giao diện đăng ký Chức năng: Đăng ký tài khoản người dùng đăng nhập với tài khoản vừa đăng ký Các hoạt động: Người dùng đăng ký tài khoản cách nhập Email, mật mã PIN cho trước Sau đăng ký thành công, người dùng đăng nhập tài khoản vừa đăng ký, ứng dụng chuyển sang hình Home Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Hình 19: Giao diện hình Chức năng: Là giao diện hình ứng dụng Các hoạt động: Người dùng nhấn vào BottomTab để chuyển đổi sang hình Control, History, Profile Người dùng nhấn vào nút Front để chuyển sang hình Control cửa Front Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Hình 20: Giao diện xem camera điều khiển cửa Chức năng: Là giao diện điều khiển đóng mở cửa xem camera thời gian thực Các hoạt động: Người dùng nhấn vào Switch đóng mở cửa, cửa mở theo lệnh, sau 10s cửa tự động đóng Xem camera thời gian thực Webview Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Hình 21: Giao diện danh sách lịch sử lần nhận diện Nhóm 01 – Hệ thống điểm danh lớp học nhận diện khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Hình 22: Giao diện chi tiết lịch sử nhận diện Chức năng: Là giao diện hiển thị danh sách xem chi tiết lần nhận diện khuôn mặt Các hoạt động: Người dùng cuộn danh sách lịch sử Người dùng nhấn vào item nhận diện Modal chi tiết lịch sử hiển thị lần nhận diện số, tên người nhận diện, thời gian nhận diện Hình 23: Giao diện thơng tin người dùng Chức năng: Là giao diện hiển thị thông tin người dùng Các hoạt động: Người dùng xem email hình Người dùng đăng xuất khỏi ứng dụng cách Nhóm 01 – Hệ thống điểm danh lớp học nhận diện khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận hướng phát triển 4.1 Đánh giá sản phẩm Thiết kế: Sản phẩm thiết kế nhỏ gọn, đơn giản, giao diện ứng dụng thân thiện dễ sử dụng với người dùng Chức năng: • Phát khn mặt: Cho kết tốt, tốc độ phát nhanh, đáp ứng thời gian thực, đáp ứng yêu cầu đồ án • đồ Nhận diện khn mặt: Nhận diện xác khn mặt, đáp ứng u cầu • án Server: Server xử lý ổn định, không xảy lỗi Đáp ứng yêu cầu đồ án • Ứng dụng di động: Ứng dụng có giao diện thân thiện, dễ sử dụng, đầy đủ chức năng, đáp ứng yêu cầu đồ án 4.2 Hướng phát triển Phát khuôn mặt: Hiện mô hình phát khn mặt cịn nhiều lỗi nhận diện Trong tương lai, nhóm mở rộng mơ hình cách huấn luyện thêm tập liệu sinh viên, tập liệu chứa nhiều người không gian lớn Nhận diện khn mặt: Nhóm tiếp tục huấn luyện mơ hình để nâng cao độ xác nhận diện Đồng thời, thu thập thêm nhiều ảnh sinh viên phục vụ cho trình huấn luyện Server: Hiện server cịn xử lý số request thấp Nhóm cố gắng phát triển server để cải thiện khả xử lý, xử lý đa luồng, đa truy cập Tăng khả bảo mật hệ thống, tránh trường hợp sập server hay tải Ứng dụng di động: Hiện ứng dụng tạm hồn thiện Nhóm cố gắng phát triển hoàn thiện nữa, thiết kế giao diện đẹp hơn, đưa vào tính mới, đồng thời thêm thông tin người dùng vào trang Profile chi tiết Đưa sản phẩm cho nhiều người dùng trải nghiệm đánh giá Từ tiếp nhận phản hồi cải tiến sản phẩm tốt Phần cứng: Nhóm đầu tư camera cho ảnh độ phân giải lớn hơn, giúp nhận diện tốt rỏ ràng Nâng cấp xử lý ESP8266 ESP32Cam sang xử lý mạnh Nhóm 01 – Hệ thống điểm danh lớp học nhận diện khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính LỜI CẢM ƠN Trong thời gian triển khai thực đồ án, nhóm chúng em xin chân thành cảm ơn đến cô Bùi Thị Thanh Thanh hỗ trợ hướng dẫn tận tình Trong trình thực hiện, khó tránh khỏi thiếu sót mong thầy bỏ qua Nhóm em xin chân thành cảm ơn Nhóm 01 – Hệ thống điểm danh lớp học nhận diện khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính TÀI LIỆU THAM KHẢO [3] [1] Source code, https://github.com/PBL5FaceUnlock [2] davidsandberg(2018), Facenet, https://github.com/davidsandberg/facenet Nguyễn Chiến Thắng, Face Recog 2.0, https://www.miai.vn/2019/09/11/face- recog-2-0-nhan-dien-khuon-mat-trong-video-bang-mtcnn-va-facenet/ [4] Quang Trần, MTCNN FaceNet, https://viblo.asia/p/nhan-dien-khuon-mat-voi- mang-mtcnn-va-facenet-phan-1-Qbq5QDN4lD8 [5] Trần Đức Trung, Convolutional Neural Network, https://viblo.asia/p/tim-hieu-ve- convolutional-neural-network-va-lam-mot-vi-du-nho-ve-phan-loai-anh-aWj53WXo56m [6] [7] React Native Docs, https://reactnative.dev/docs/getting-started Xây dựng API với Django Rest Framework, https://viblo.asia/p/xay-dung-api-voi- django-rest-framework-Do754PXJ5M6 [8] Django documentation, https://docs.djangoproject.com/en/4.0/ Nhóm 01 – Hệ thống điểm danh lớp học nhận diện khuôn mặt ... khn mặt Nhận diện khn mặt Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Ứng dụng Server Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng. .. Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính Hình 11: Cơ sở liệu Nhóm 49 – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo... – Hệ thống mở khóa cửa tự động sử dụng nhận dạng khuôn mặt Báo cáo đồ án PBL5 - Kỹ thuật máy tính 2. 5 Giải pháp phát nhận diện khuôn mặt 2. 5.1 Tổng quan hệ thống nhận diện: Hình 6: Sơ đồ hệ thống