Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
1,37 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT HÀN Khoa Khoa Học Máy Tính ĐỒ ÁN CHUYÊN NGÀNH TÊN ĐỀ TÀI: MƠ HÌNH MỞ KHĨA CỬA BẰNG NHẬN DIỆN KHUÔN MẶT Sinh viên thực hiện: LƯƠNG VIẾT NHẬT NGUYỄN ĐỨC NGỌC KỲ Lớp: 17IT1 Giảng viên hướng dẫn: PGS.TS NGUYỄN THANH BÌNH Đà Nẵng, tháng 05 năm 2021 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THƠNG VIỆT HÀN Khoa Khoa Học Máy Tính ĐỒ ÁN CHUN NGÀNH TÊN ĐỀ TÀI: MƠ HÌNH MỞ KHĨA CỬA BẰNG NHẬN DIỆN KHN MẶT Sinh viên: LƯƠNG VIẾT NHẬT NGUYỄN ĐỨC NGỌC KỲ Mã:17IT021 Mã:17IT016 Giảng viên hướng dẫn: PGS.TS NGUYỄN THANH BÌNH Đà Nẵng, tháng 05 năm 2021 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN LỜI CẢM ƠN Nhóm em xin chân thành cảm ơn TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN tạo điều kiện cho nhóm em thực đề tài Nhóm em xin gửi lời cảm ơn chân thành đến tất thầy cô giảng dạy chúng em suốt thời gian qua Cảm ơn đến thầy (cô) PGS.TS.NGUYỄN THANH BÌNH hướng dẫn nhóm em thực đề tài Bên cạnh đó, để hồn thành khóa học này, nhóm em nhận nhiều giúp đỡ, lời động viên quý báu bạn bè, anh chị thân hữu, nhóm em xin hết lòng cảm ơn Tuy nhiên, thời gian hạn hẹp, nỗ lực mình, đề tài khó tránh khỏi thiếu sót Nhóm em mong nhận thơng cảm, bảo tận tình thầy bạn Sinh viên, LƯƠNG VIẾT NHẬT, NGUYỄN ĐỨC NGỌC KỲ MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN III LỜI CẢM ƠN IV MỤC LỤC V DANH MỤC CÁC TỪ VIẾT TẮT .VII DANH MỤC HÌNH VẼ .VIII NO TABLE OF FIGURES ENTRIES FOUND VIII MỞ ĐẦU 1 Giới thiệu .1 Mục tiêu đề tài Nội dung kế hoạch thực Bố cục báo cáo .2 CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tổng quan ngôn ngữ , phần mềm liên quan 1.1.1 Ngôn ngữ thực hiện: C, C++ .4 1.1.2 Phần mềm Proteus .6 1.2 Tổng quan thuật toán áp dụng vào đề tài 14 1.2.1 Công nghệ sinh trắc và nhận dạng bằng khuôn mặt 14 a) Công nghệ sinh trắc và bảo mật 14 b) Công nghệ nhận dạng khuôn mặt 15 c) Phân tích kết cấu da 16 1.2.2 Xử lí ảnh đầu vào 16 a) Xử lí video đầu vào 17 b) Nhận dạng khuôn mặt .17 1.3 Kết chương 18 CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG .19 Thiết kế chi tiết 19 2.1 Tổng quan hoạt động .20 2.2 Tổng quan về chức 22 2.2.1 Chức 22 2.2.2) Phân tích sự kiện 22 a Đăng kí khuôn mặt .22 b Xóa người dùng dữ liệu 23 2.2.3 Chức đóng/mở ổ khóa .23 2.3 Kết chương 23 CHƯƠNG 3: TRIỂN KHAI XÂY DỰNG .24 3.1 Các thiết bị phần cứng 24 3.1.1 Module ESP32 CAM 24 a Giới thiệu ESP32 – CAM và các thông số kĩ thuật 24 b Ứng dụng thực tế thực tế 26 3.1.2 Module Relay 26 3.1.3 Ổ khóa điện từ LY-01 .27 3.1.4 Thiết kế mô hình phần cứng 28 3.2 Cách kết nối giữa bộ khóa tới trình duyệt 30 3.2.1 WebSockets .30 3.2.2 Kết nối bằng WebSockets 31 3.2.3 Mơ hình phần mềm: 32 KẾT LUẬN 32 1.Kết đạt 32 2.Hạn chế: 32 Hướng phát triển .32 TÀI LIỆU THAM KHẢO I PHỤ LỤC I DANH MỤC CÁC TỪ VIẾT TẮT VIẾT TẮT NỘI DUNG AI Artificial Intelligence, trí tuệ nhân tạo IOT Internet of things DANH MỤC HÌNH VẼ HÌNH: 1.1 CÁCH GỠ BỎ PROTEUS 15 HÌNH:1.2 GỠ BỎ TỒN BỘ PROTEUS 16 HÌNH: 1.3 CÀI ĐẶT PROTEUS 17 HÌNH: 1.4 CÁCH CÀI PROTEUS 17 HÌNH: 1.5 QUÁ TRÌNH CÀI PROTEUS 18 HÌNH: 1.6 HỒN THÀNH CÀI ĐẶT PROTEUS 18 HÌNH: 1.7 THIẾT LẬP PROTEUS 19 HÌNH: 1.8 THIẾT LẬP PROTEUS .20 HÌNH: 1.9 THIẾT LẬP PROTEUS .21 HÌNH: 1.10 THIẾT LẬP PROTEUS .22 HÌNH: 1.11 SƠ ĐỜ KHƠÍ LOGIC CHIN ́ H CUẢ HỆ THÔN ́ G SINH TRĂĆ HOC̣ .23 HÌNH: 2.1 SƠ ĐỒ THỰC HIỆN 27 HÌNH: 2.2 SƠ ĐỒ LÀM VIỆC 28 HÌNH: 2.3 MƠ TẢ HOAṬ ĐÔN ̣ G CUẢ BỘ KHOÁ .28 HÌNH: 2.4 CAĆ CHƯĆ NĂNG CUẢ BỢ KHOÁ 30 HÌNH: 3.1 MODULE ESP32- CAM 32 HÌNH: 3.2 HIN ̀ H AN ̉ H CAĆ CHÂN ESP32 CAM 34 HÌNH: 3.3 MODULE RELAY SRD-05VDG-SL-C 35 HÌNH: 3.4 Ở KHOÁ ĐIÊN ̣ TỪ LY-01 36 HÌNH 3.5 SƠ ĐỒ LẮP ĐẶT CÁC THIẾT BỊ .36 HÌNH 3.6: HÌNH ẢNH THỰC TẾ KHI LẮP ĐẶT 37 HÌNH: MƠ HÌNH HỒN THIỆN .38 HÌNH:3.6 MƠ HÌNH HỒN THIỆN 39 HÌNH 3.7: MƠ HÌNH PHẦN MỀM TRÊN TRÌNH DUYỆT .42 MỞ ĐẦU Giới thiệu Khoa học công nghệ ngày càng đạt được những thành tựu to lớn, kéo theo đó là sự phát triển vượt bậc các ngành nghề có ứng dụng khoa học kỹ thuật Những năm gần đây, khái niệm về Internet of thing (IoT) không còn xa lạ cuộc sống của chúng ta nữa Nhất là hiện nay, các thiết bị IoT đã được sử dụng tràn ngập, rộng rãi khắp thế giới Điều đó cho ta thấy được lợi ích của các thiết bị này thế nào cuộc sống người Bên cạnh sự phát triển của IoT, trí tuệ nhân tạo cũng phát triển vượt bậc thời gian vừa qua Bằng chứng là khắp các ngành nghề đều có những ứng dụng sử dụng trí tuệ nhân tạo để nhằm tạo suất lao động tốt hơn, độ chính xác máy cao Các sản phẩm trí tuệ nhân tạo có tính đột phá, điều mà những năm về trước người chỉ có thể xem là viễn tưởng Việc kết hợp một sản phẩm IoT có ứng dụng của trí tuệ nhân tạo là tất yếu cũng là xu hướng hiện Với đề tài “Bộ khóa cửa nhận diện bằng khuôn mặt” của nhóm chúng em thực hiện, chính là sự kết hợp đó với mong muốn tìm hiểu và phát triển một sản phẩm công nghệ theo xu hướng ứng dụng hiệu quả cuộc sống Trong thời đại phát triển hiện nay, vấn đề bảo mật và an ninh là một vấn đề cực kì quan trọng và cần thiết cuộc sống, ta có thể thấy được hàng loạt các công nghệ có liên quna và ảnh hưởng đến vấn đề này thúc đẩy đời song phát triển mạnh mẽ Từ vấn đề an ninh của các quan, trụ sở cho tới việc đảm bảo an toàn các thiết bị , nhà cửa, công trình,…Điển hình một thiết lập một hệ thống bảo vệ nhà cửa tránh sự xâm nhập của người lạ cũng vấn đề trộm cướp Hệ thống đó có thể là một ổ khóa thông minh được người dùng cài đặt mật khẩu là những số, kí tự, hay bằng vân tay, giọng nói, khuôn mặt,… Như đã nêu ở trên, những địa điểm đó đều cần có sự bảo mật được đặt lên hàng đầu thì một chiếc khóa cửa bảo vệ lối vào để phát hiện, ngăn chặn xâm nhập của người lạ là vô cùng cần thiết Trong đề tài này, chúng ta sẽ nói về một hệ thống bảo vệ đóng mở cửa bằng phương pháp nhận diện dựa công nghệ sinh trắc, cụ thể đó là hệ thống mở cửa bằng nhận diện khuôn mặt Mục tiêu đề tài - Đăng kí thất bại, reload trang b Xóa người dùng dữ liệu Tên ca sử dụng Xóa người dùng dữ liệu Tác nhân Người dùng Sự kiện kích hoạt Người dùng Click button xóa Luồng kiện chính: - Người dùng chọn user cần xóa - Nhấn nút xóa - Thành công, reload lại danh sách người dùng Luồng kiện phụ: - Xóa thất bại, giữ nguyên kết quả 2.2.3 Chức đóng/mở ổ khóa Tên ca sử dụng Tác nhân Sự kiện kích hoạt Luồng kiện chính: - Xử lí ảnh và đối chiếu với CSDL - Gửi tín hiệu đóng/mở tới ổ - Thành công mở cửa Luồng kiện phụ: - Thất bại, giữ nguyên kết quả Đóng mở ở khóa Ở khóa Xử lí và đới chiếu hình ảnh 2.3 Kết chương Trên chương với cách thực hoạt động, chức mơ hình, cịn lại thiếu triển khai xây dựng mơ hình, mời thầy bạn đến với chương Chương 3: Triển khai xây dựng CHƯƠNG 3: TRIỂN KHAI XÂY DỰNG 3.1 Các thiết bị phần cứng 3.1.1 Module ESP32 CAM a Giới thiệu ESP32 – CAM và các thông số kĩ thuật - - - ESP32-CAM có module camera cỡ nhỏ hoạt động hệ thống độc lập với kích thước 27x40.5x4.5mm dòng chế độ deep sleep lên đến 6mA ESP32-CAM đóng gói DIP-16 (Dual In-line Package) lắp trực tiếp vào bo mạch chủ, cung cấp cho khách hàng chế độ kết nối với độ tin cậy cao, thuận tiện cho việc ứng dụng thiết bị IoT khác Module cần phải lập trình với ESP-IDF khơng hỗ trợ Arduino IDE Hình: 3.1 Module ESP32- CAM Thơng số kỹ thuật: Tên Điện áp cung cấp Mô tả 5V Tên Mô tả SPI Flash Mặc định 32MB RAM 520KB SRAM + 4MB PSRAM Bộ nhớ Khe cắm thẻ micro SD lên đến 4GB Bluetooth Chuẩn Bluetooth 4.2 BR/EDR BLE WiFi 802.11 b/g/n Interface UART, SPI, I2C, PWM IO Port Tốc độ truyền UART 115200bps(Mặc định) Camera + Đầu nối FPC + Hỗ trợ camera OV2640(bán kèm theo board) camera OV7670 + JPEG(chỉ hỗ trợ OV2640), BMP, GRAYSCALE + Đèn led Dải quang phổ 2412 ~2484MHz Antenna Onboard PCB antenna, gain 2dBi Transmit Power 802.11b: 17±2 dBm (@11Mbps) 802.11g: 14±2 dBm (@54Mbps) 802.11n: 13±2 dBm (@MCS7) Receiving Sensitivity CCK, Mbps : -90dBm CCK, 11 Mbps: -85dBm Mbps (1/2 BPSK): -88dBm 54 Mbps (3/4 64-QAM): -70dBm MCS7 (65 Mbps, 72.2 Mbps): -67dBm Tiêu thụ điện + Tắt đèn flash: 180mA@5V + Bật đèn flash bật độ sáng tối đa: 310mA@5V + Deep-sleep: 6mA@5V + Moderm-sleep: 20mA@5V + Light-sleep: 6.7mA@5V Bảo mật WPA/WPA2/WPA2-Enterprise/WPS Nhiệt độ hoạt động -20 ℃ ~ 85 ℃ Môi trường bảo quản -40 ℃ ~ 90 ℃ , < 90%RH Hình: 3.2 Hình ảnh các chân ESP32 Cam b Ứng dụng thực tế thực tế Sử dụng rộng rãi ứng dụng IoT: thiết bị thông minh nhà, giám sát điều khiển khơng dây, nhận dạng khơng dây QR, tín hiệu hệ thống định vị không dây,… c Sử dụng đề tài - Module ESP32 CAM có tích hợp một camera nhỏ cho phép chúng ta nhận tín hiệu vào là hình ảnh, video sau đó xử lí các hình ảnh đó theo chương trình của chúng ta - Sau xử lí các dữ liệu thu vào, thiết bị sẽ gửi một tín hiệu tới cho thiết bị relay cho phép đóng/mở cửa 3.1.2 Module Relay Rơ-le một công tắc (khóa K) Nhưng khác với cơng tắc chỗ bản, rơle kích hoạt điện thay dùng tay người Chính lẽ đó, rơ-le dùng làm cơng tắc điện tử! Vì rơ-le cơng tắc nên có trạng thái: đóng và mở Trên thị trường có loại module rơ-le: module rơ-le đóng mức thấp (nối cực âm vào chân tín hiệu rơ-le đóng), module rơ-le đóng mức cao (nối cực dương vào chân tín hiệu rơ-le đóng) Nếu sơ sánh module rơle có thơng số kỹ thuật hầu hết kinh kiện giống nhau, khác chỗ transitor module Chính transistor nên sinh loại module rơ-le (có loại transistor NPN - kích mức cao, PNP - kích mức thấp) Hình: 3.3 Module relay SRD-05VDG-SL-C Rơ-le bình thường gồm có chân Trong có chân để kích, chân cịn lại nối với đồ dùng điện cơng suất cao chân dùng để kích - +: cấp hiệu điện kích tối ưu vào chân - : nối với cực âm S: chân tín hiệu, tùy vào loại module rơ-le mà làm nhiệm vụ kích rơ-le Nếu bạn dùng module rơ-le kích mức cao chân S bạn cấp điện dương vào module rơ-le bạn kích, ngược lại khơng Tương tự với module rơ-le kích mức thấp chân cịn lại nối với đồ dùng điện công suất cao: - COM: chân nối với chân đồ dùng điện, khuyên bạn nên mắc vào chân lửa (nóng) dùng hiệu điện xoay chiều cực dương hiệu điện chiều - ON NO: chân bạn nối với chân lửa (nóng) dùng điện xoay chiều cực dương nguồn dòng điện chiều - OFF NC: chân bạn nối chân lạnh (trung hòa) dùng điện xoay chiều cực âm nguồn dùng điện chiều 3.1.3 Ở khóa điện từ LY-01 Khóa chốt điện từ LY-01 có chức hoạt động ổ khóa cửa sử dụng Solenoid để kích đóng mở điện, sử dụng nhiều nhà thông minh loại tủ, cửa phịng, cửa kho,…, Khóa chốt điện từ này sử dụng điện áp 12VDC, loại thường đóng (cửa đóng) với chất lượng tốt, độ bền cao Khóa sử dụng chung với mạch chức tạo thành hệ thống thơng minh Hình: 3.4 Ở khóa điện từ LY-01 THÔNG SỐ KĨ THUẬT - Vật liệu: Thép khơng gỉ Nguồn điện: 12V DC Dịng điện: 0.8A Kích thước: L54xD38xH28 3.1.4 Thiết kế mơ hình phần cứng Sơ đồ lắp đặt thiết bị: Hình 3.5 sơ đồ lắp đặt thiết bị Hình ảnh thực tế lắp đặt : Hình 3.6: Hình ảnh thực tế lắp đặt Mơ hình hồn thiện: Hình: Mơ hình hồn thiện Hình:3.6 Mơ hình hồn thiện 3.2 Cách kết nối giữa bộ khóa tới trình duyệt 3.2.1 WebSockets WebSokets là công nghệ hỗ trợ giao tiếp hai chiều client server cách sử dụng TCP socket để tạo kết nối hiệu tốn Mặc dù thiết kế để chuyên sử dụng cho ứng dụng web, lập trình viên đưa chúng vào loại ứng dụng - - WebSockets xuất HTML5, kỹ thuật Reverse Ajax WebSockets cho phép kênh giao tiếp song song hai chiều hỗ trợ nhiều trình duyệt (Firefox, Google Chrome Safari) Kết nối mở thông qua HTTP request (yêu cầu HTTP), gọi liên kết WebSockets với header đặc biệt Kết nối trì để bạn viết nhận liệu JavaScript bạn sử dụng TCP socket đơn Dữ liệu truyền tải thông qua giao thức HTTP (thường dùng với kĩ thuật Ajax) chứa nhiều liệu không cần thiết phần header Một header request/response HTTP có kích thước khoảng 871 byte, với WebSocket, kích thước byte (sau kết nối) - 3.2.2 Kết nối bằng WebSockets WebSocket đóng vai trò trung gian vận chuyển từ phía máy ảnh đến trình duyệt và tiến hành xử lí dữ liệu hình ảnh - Gửi danh sách khuôn mặt tới trình duyệt: static esp_err_t send_face_list(WebsocketsClient &client){ client.send("delete_faces"); // tell browser to delete all faces face_id_node *head = st_face_list.head; char add_face[64]; for (int i = 0; i < st_face_list.count; i++) // loop current faces { sprintf(add_face, "listface:%s", head->id_name); client.send(add_face); //send face to browser head = head->next; } } - Xóa tất cả các khuôn mặt tới trình duyệt: static esp_err_t delete_all_faces(WebsocketsClient &client) { delete_face_all_in_flash_with_name(&st_face_list); client.send("delete_faces"); } 3.2.3 Mô hình phần mềm: Hình 3.7: Mơ hình phần mềm trình duyệt KẾT LUẬN 1.Kết đạt Qua trình báo cáo làm đồ án lần nhóm học được: - Cách làm việc nhóm để đạt hiệu cao - Nâng cao kiến thức ngơn ngữ lập trình C, C++ - Hiểu thêm vê Ai - Vì tình hình dịch bệnh, nhóm học cách làm việc từ xa thành thạo phần mềm làm việc từ xa như: teamviewer, thành viên nhóm chủ động, tự giác cao 2.Hạn chế: - Vì kiến thức mới, có phần nâng cao, nên nhiều vấn đề chưa tự giải phải nhờ anh chị, thầy cô giúp đỡ - Mơ hình xây dựng thiếu tính thẩm mĩ - Vì mơ hình nên áp dụng thực tế cần có thiết bị khác Hướng phát triển Với hạn chế tồn nêu trên, hướng nghiên cứu dự kiến sau: Tìm hiểu thiết bị phần cứng, xây dựng mơ hình lớn áp dụng ngồi đời thực TÀI LIỆU THAM KHẢO [1] ESP32-CAM Video Streaming Web Server, " https://randomnerdtutorials.com/esp32-cam-video-streaming-webserver-camera-home-assistant/" [2] cộng đồng adruino , " http://arduino.vn/reference/howto," [3] Tham khảo linh kiện cần mua tại, "http://arduino.vn/" [4] WebSocke, "https://www.websocket.org/ " 2018 [5] [6] Hệ thống nhận diện khuôn mặt, " https://vi.wikipedia.org/wiki/he-thongnhan-dien-khuon-mat/ " ESP32 cam VideoStrem Web Server," https://randomnedr.com/" PHỤ LỤC