BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG -🙞🙞🙞🙞🙞 - ĐỒ ÁN HỆ THỐNG NHÚNG ĐỀ TÀI: MỞ CỬA BẰNG NHẬN DIỆN KHUÔN MẶT SỬ DỤNG ESP32-CAM Giảng viên hướng dẫn: Sinh viên thực : Thầy Nguyễn Ngọc Minh Nguyễn Đình Phát - B17DCDT139 Lê Văn Cương - B17DCDT027 Trần Đức Hiếu - B17DCDT075 Nguyễn Quôc Kiên - B17DCDT103 Hà Nội, tháng năm 2021 MỞ ĐẦU MỤC LỤC 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 CHƯƠNG I: GIỚI THIỆU 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.Điều Tổngđóquan 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 LíBên chọn cạnh đề sự tài: 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 qua Bằng chứng là khắp các ngành nghề đều Vấn đềứng cầndụng giảvừa quyết: có2.những sử dụng trí tuệ nhân tạo để nhằm tạo suất lao động tốt dung hơn, độ chính xác máy cao Các sản phẩm trí tuệ nhân tạo có Nội thực hiện: tính đột phá, điều mà những năm về trước người chỉ có thể xem là viễn II Công nghệ sinh trắc và nhận dạng bằng khuôn mặt 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à Công nghệ trắc và bảonay mậtVới đề tài “Bộ khóa cửa nhận diện tất1.yếu cũng là sinh xu hướng hiện bằng khuôn mặt” củadạng nhóm chúngmặt em thực hiện, chính là sự kết hợp Công nghệ nhận đó2.với mong muốn tìm hiểukhuôn và phát triển một sản phẩm công nghệ theo xu hướng ứng dụngCỨU hiệu quả trongQUAN cuộc sống CHƯƠNG II : NGHIÊN TỞNG I Hệ thớng nhận diện khuôn mặt 4 4 5 8 Bài toán nhận diện mặt người Những tham sớ của hình ảnh khn mặt Ý tưởng xử lí bài tốn II Tìm hiểu tổng quát về ESP32 CPU và bộ nhớ 10 Timers and Watchdogs 11 System Clocks 12 Radio 12 Wifi 12 Bluetooh 13 Thiết bị ngoại vi và Cảm biến 14 III Bộ khóa cửa đóng mở bằng nhận diện khuôn mặt 14 Module ESP32 CAM 14 Module Relay 18 Ổ khóa điện từ LY-01 20 CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG I Tởng quan hoạt đợng 21 21 II Tổng quan về chức Chức 22 22 CHƯƠNG IV: CODE 24 CHƯƠNG V : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 31 I Kết luận 31 II Hướng phát triển 31 CHƯƠNG I: GIỚI THIỆU I Tổng quan Lí chọn đề tài: 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 Vấn đề cần giả quyết: Với đề tài này chúng ta xác định mục tiêu là vấn đề bảo mật cho lối vào của một địa điểm Cụ thể là bộ khóa cửa cho một hộ Yêu cầu đặt cho bộ khóa này gồm các tiêu chí: - Nhận diện có độ chính xác cao - Cho phép người sử dụng lưu khuôn mặt vào dữ liệu vào hệ thống - Tốc độ mở khóa nhanh, có người dùng muốn mở cửa (khóa điện sẽ thức hiện đóng mở ổ khóa) thì camera tiến hành nhận diện khuôn mặt - Sản phẩm có tính thẩm mỹ Nội dung thực hiện: Sử dụng các kiến thức đã học học phần môn vi điều khiển và trí tuệ nhân tạo để tìm hiểu, xây dựng cấu trúc hoạt động phần cứng của ổ khóa, khả nhận diện khuôn mặt của ổ khóa - Tiến hành thiết lập sơ đồ khối hệ thống - Xử lí các quá trình nhận diện, cho phép đóng mở cửa - Thực hiện lắp đặt phần cứng và viết nạp code theo yêu cầu chức II Công nghệ sinh trắc và nhận dạng bằng khuôn mặt Công nghệ sinh trắc và bảo mật Được biết đến một công nghệ áp dụng các đặc tính sinh học, vật lí hay các các đặc điểm đặc trưng , riêng biệt của các cá thể, cá nhân dáng đi, giọng nói, vân tay, khuôn mặt,… để nhận biết, nhận dạng Trong tiếng anh Biometric có nghĩa là sinh trắc học Công nghệ sinh trắc được đung việc xác nhận thông tin về một cá nhân hay than nhân một cách hiệu quả và chính xác Hình 1.1 Sơ đồ khối logic chính của hệ thống sinh trắc học Công nghệ nhận dạng khuôn mặt Nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác định hoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khung hình video từ một nguồn video Một những cách để thực hiện điều này là so sánh các đặc điểm khuôn mặt chọn trước từ hình ảnh và một sở dữ liệu về khuôn mặt Hệ thống này thường được sử dụng các hệ thống an ninh và có thể được so sánh với các dạng sinh trắc học khác các hệ thống nhận dạng vân tay hay tròng mắt ❖ Nhận dạng truyền thống Một số thuật toán nhận dạng khuôn mặt xác định các đặc điểm khuôn mặt bằng cách trích xuất các ranh giới, hoặc đặc điểm, từ một hình ảnh khuôn mặt của đối tượng Ví dụ, một thuật toán có thể phân tích các vị trí tương đối, kích thước, và/hoặc hình dạng của mắt, mũi, gò má, và cằm Những tính này sau đó được sử dụng để tìm kiếm các hình ảnh khác với các tính phù hợp Các thuật toán bình thường hóa một bộ sưu tập các hình ảnh khuôn mặt và sau đó nén dữ liệu khuôn mặt, chỉ lưu dữ liệu hình ảnh nào là hữu ích cho việc nhận dạng khuôn mặt Một hình ảnh mẫu sau đó được so sánh với các dữ liệu khuôn mặt Một những hệ thống thành công sớm nhất dựa các kỹ thuật phù hợp với mẫu áp dụng cho một tập hợp các đặc điểm khuôn mặt nổi bật, cung cấp một dạng đại diện của khuôn mặt được nén Các thuật toán nhận dạng có thể được chia thành hai hướng chính, là hình học, đó là nhìn vào tính phân biệt, hoặc trắc quang (đo sáng), là sử dụng phương pháp thống kê để 'chưng cất' một hình ảnh thành những giá trị và so sánh các giá trị với các mẫu để loại bỏ chênh lệch Các thuật toán nhận dạng phổ biến bao gồm Principal Component Analysis (Phép phân tích thành phần chính) sử dụng các khuôn mặt riêng, Linear Discriminate Analysis (Phân tích biệt tuyến tính), Elastic Bunch Graph Matching sử dụng thuật toán Fisherface, các mô hình Markov ẩn, Multilinear Subspace Learning (Luyện nhớ không gian đa tuyến) sử dụng đại diện căng, và theo dõi liên kết động thần kinh ❖ Nhận dạng 3D Một xu hướng mới nổi lên, tuyên bố cải thiện được độ chính xác, là nhận dạng khuôn mặt ba chiều Kỹ thuật này sử dụng các cảm biến 3D để nắm bắt thông tin về hình dạng của khuôn mặt Thông tin này sau đó được sử dụng để xác định các tính đặc biệt bề mặt của một khuôn mặt, chẳng hạn các đường viền của hốc mắt, mũi và cằm Một lợi thế của nhận dạng khuôn mặt 3D là nó không bị ảnh hưởng bởi những thay đổi ánh sáng các kỹ thuật khác Nó cũng có thể xác định một khuôn mặt từ một loạt các góc nhìn, đó có góc nhìn nghiêng Các điểm dữ liệu ba chiều từ một khuôn mặt cải thiện lớn độ chính xác cho nhận dạng khuôn mặt Nghiên cứu 3D được tăng cường bởi sự phát triển của các bộ cảm biến tinh vi giúp nắm bắt hình ảnh chụp khuôn mặt 3D được tốt Các cảm biến hoạt động bằng cách chiếu ánh sáng có cấu trúc lên gương mặt Hàng chục hoặc nhiều nữa các bộ cảm biến hình ảnh này có thể được đặt lên cùng một chip CMOS-mỗi cảm biến sẽ thu một phần khác của hình ảnh Ngay cả một kỹ thuật 3D hoàn hảo cũng có thể gặp khó khăn bởi các sắc thái biểu cảm gương mặt Để đạt được mục tiêu đó một nhóm tại Technion (viện công nghệ Israel tại Haifa) đã áp dụng các công cụ từ hình học metric để giải quyết các biểu lộ cảm xúc phép đẳng cự Một công ty có tên Vision Access tạo một giải pháp vững chắc cho nhận dạng khuôn mặt 3D Công ty này sau đó đã được mua lại bởi công ty truy cập sinh trắc học Bioscrypt Inc Công ty đã phát triển một phiên bản được gọi là 3D FastPass CHƯƠNG II : NGHIÊN CỨU TỞNG QUAN I Hệ thớng nhận diện khn mặt Bài tốn nhận diện mặt người Hệ thống nhận dạng mặt người là một hệ thống nhận vào một ảnh hoặc đoạn video (một dòng gồm các ảnh liên tục) Qua quá trình xử lí, tính toán hệ thống xác định vị trí mặt người có ảnh và xác định là người nào số những người mà hệ thống biết (qua quá trình học) hoặc người lạ Những tham sớ của hình ảnh khuôn mặt Khuôn mặt người vốn dĩ đa dạng Điều này khiến cho hình ảnh thu được của khuông mặt rất phong phú, có thể chỉ một số tham số cho các hình ảnh này như: - Góc quay xung quanh trục thẳng đứng: tham số này ảnh hưởng tới tính đối xứng của khuôn mặt, đồng thời che lấp một mắt và làm thay đổi hình ảnh hiển thị của những chi tiết khác khuôn mặt - Góc quay xung quanh trục nằm ngang: ứng với tư thế ngẩng hay cúi đầu của đối tượng thu nhập trước máy quay, tham số này ảnh hưởng tới sự hiện diện của một số chi tiết quan trọng khuôn mặt đôi mắt, vùng trán hay vùng miệng - Góc quay xung quanh trục nối liền khuôn mặt với máy quay: tham số này không biểu hiện đến những chi tiết khuôn mặt và có thể khôi phục về vị trí thẳng đứng bằng phép xử lí quay hình - Kích thước khuôn mặt - Tỉ lệ của các chiều của khuôn mặt - Cảm xúc của khuôn mặt: tham số này làm thay đổi hình ảnh hiển thị của những chi tiết khuôn mặt Ý tưởng xử lí bài toán Việc giải quyết bài toán tổng quát là vô cùng khó khăn và hiện tại chưa có một giải pháp toàn vẹn Đã có rất nhiều phương pháp đã đề xuất và được phát triển những năm gần Mỗi phương pháp có hướng tiếp cận riêng nhằm giải quyết bàitoán theo những tiêu chí cụ thể.Có thể phân nhóm thành hai hướng tiếp cận chính: - Những phương pháp dựa hình ảnh khuôn mặt (image-based approaches) - Những phương pháp dựa cấu trúc hình học của khuôn mặt (geomatrical- based approaches) Hướng tiếp cận thứ nhất tìm cách xây dựng những bộ phân lớp được huấn luyệntrên một tập mẫu (bao gồm những ảnh khuôn mặt đã được chuẩn hóa và những ảnh bất kỳ không chứa khuôn mặt được gọi là ảnh không-phải-là-mặt) có sẵn Những bộ phân lớp sau huấn luyện sẻ được sử dụng để xác định xem vùng ảnh cửasổ quét bất kỳ thuộc lớp khuôn mặt hay lớp khôngphải-là-mặt Hướng tiếp cận thứ hai cố gắng phát hiện những chi tiết đặc trưng cho khuôn mặtnhư: mắt, mũi, miệng,… có toàn bộ ảnh hoặc vùng ảnh cửa sổ quét Những chi tiết sau phát hiện sẽ được so khớp với một mô hình khuôn mặt mẫudựa cấu trúc hình học của khuôn mặt nói chung, từ đó dự đoán xem vùng ảnh đó là khuôn mặt hay khơng phải là khn mặt II Tìm hiểu tổng quát về ESP32 ESP32 là chip kết hợp Wi-Fi và Bluetooth 2,4 GHz được thiết kế với TSMC 40 nm công suất cực thấpCông nghệ Nó được thiết kế để đạt được công suất và hiệu suất RF tốt nhất, thể hiện sự mạnh mẽ, linh hoạt vàđộ tin cậy nhiều ứng dụng và các kịch bản điện Dòng chip ESP32 bao gồm ESP32-D0WD-V3, ESP32-D0WDQ6-V3, ESP32-D0WD, ESP32-D0WDQ6,ESP32-D2WD, ESP32-S0WD và ESP32U4WDH, đó, ESP32-D0WD-V3, ESP32-D0WDQ6-V3,và ESP32U4WDH dựa tấm wafer ECO V3 Hình 2.3: ESP32-CAM Schematic b Ứng dụng thực tế thực tế Sử dụng rộng rãi các ứng dụng IoT: các thiết bị thông minh nhà, giám sát và đ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 Module Relay Rơ-le là một công tắc (khóa K) Nhưng khác với công tắc ở một chỗ bản, rơ-le được kích hoạt bằng điện thay vì dùng tay người Chính vì lẽ đó, rơ-le được dùng làm công tắc điện tử! Vì rơ-le là một công tắc nên nó có trạng thái: đóng và mở 18 Trên thị trường chúng ta 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 sẽ đóng), module rơ-le đóng ở mức cao (nối cực dương vào chân tín hiệu rơ-le sẽ đóng) Nếu sơ sánh giữa module rơ-le có cùng thông số kỹ thuật thì hầu hết mọi kinh kiện của nó đều giống nhau, chỉ khác ở chỗ cái transitor của module Chính vì cái transistor này nên mới sinh loại module rơ-le này đấy (có loại transistor là NPN - kích ở mức cao, và PNP - kích ở mức thấp) Hình 2.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 thế kích tối ưu vào chân này - : nối với cực âm S: chân tín hiệu, tùy vào loại module rơ-le mà nó sẽ làm nhiệm vụ kích rơ-le Nếu bạn dùng module rơ-le kích ở mức cao và chân S bạn cấp điện thế dương vào thì module rơ-le của bạn sẽ được kích, ngược lại thì 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: 19 - COM: chân nối với chân bất kỳ của đồ dùng điện, mình khuyên bạn nên mắc vào chân lửa (nóng) nếu dùng hiệu điện thế xoay chiều và cực dương nếu là hiệu điện một chiều - ON hoặc NO: chân này bạn sẽ nối với chân lửa (nóng) nếu dùng điện xoay chiều và cực dương của nguồn nếu dòng điện một chiều - OFF hoặc NC: chân này bạn sẽ nối chân lạnh (trung hòa) nếu dùng điện xoay chiều và cực âm của nguồn nếu dùng điện một chiều Ở khóa điện từ LY-01 Khóa chớt điện từ LY-01 có chức hoạt động một ổ khóa cửa sử dụng Solenoid để kích đóng mở bằng điện, được sử dụng nhiều nhà thông minh hoặc các 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, là loại thường đóng (cửa đóng) với chất lượng tốt, độ bền cao Khóa có thể sử dụng chung với các mạch chức tạo thành một hệ thống thông minh Hình 2.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 CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 20 I Tổng quan hoạt động Hình 3.1 mô tả hoạt động của bộ khóa Mô tả hoạt động: - Nhận diện ảnh vào: camera thực hiện nhận dạng hình ảnh đưa vào với độ phân giả thấp để có thể xử lí phù hợp với tài nguyên của phần cứng - Trình duyệt tiếp nhận hình ảnh: cho phép thực hiện đăng kí, xóa khuôn mặt hoặc phát hiện khuôn mặt của chủ nhà để mở cửa - Xử lí hình ảnh: Sau tiếp nhận hình ảnh, tiến hành xử lí hình ảnh theo các chương trình cài đặt và đối chiếu với dữ liệu xem đã có hay chưa - Đóng mở cửa: Phụ thuộc vào việc kiểm tra dữ liệu để đối sánh kết quả Nếu kết quả trả về chính xác dữ liệu thì có thể mở cửa Trả về kết quả hiển thị trình duyệt đã xác nhận thành công 21 Sơ đồ hệ thống II Tổng quan về chức Chức Hình 3.2 Các chức của bộ khóa 22 Mô tả chức năng: - Đăng kí khuôn mặt: dùng để đăng kí dữ liệu khuôn mặt vào, được lưu bộ nhớ của ổ khóa, để lần tiếp theo mở của sẽ tiến hành đối chiếu với dữ liệu này - Đăng kí tên người dùng: kết hợp với việc đăng kí khuôn mặt ta cần phải đăng kí một cái tên để sử dụng - Xóa dữ liệu: nếu người sử dụng đến chức xóa dữ liệu của một thành viên nào đó khỏi bộ nhớ thì sẽ mất tất cả dữ liệu về thành viên đó, đồng nghĩa với việc không thể tiếp tục đăng nhập vào cửa được nữa - Chức đóng/mở: tùy thuộc vào kết quả xử lí của vi xử lí sẽ cho kết quả là đóng hay mở cửa 23 CHƯƠNG IV: CODE Kích hoạt nhận diện khuôn mặt #include "esp_camera.h" #include "fd_forward.h" #include "fr_forward.h" #include "fr_flash.h" #define relayPin // pin 12 can also be used unsigned long currentMillis = 0; unsigned long openedMillis = 0; long interval = 5000; // open lock for milliseconds #define ENROLL_CONFIRM_TIMES #define FACE_ID_SAVE_NUMBER static inline mtmn_config_t app_mtmn_config() { mtmn_config_t mtmn_config = {0}; mtmn_config.type = FAST; mtmn_config.min_face = 80; mtmn_config.pyramid = 0.707; mtmn_config.pyramid_times = 4; mtmn_config.p_threshold.score = 0.6; mtmn_config.p_threshold.nms = 0.7; mtmn_config.p_threshold.candidate_number = 20; 24 mtmn_config.r_threshold.score = 0.7; mtmn_config.r_threshold.nms = 0.7; mtmn_config.r_threshold.candidate_number = 10; mtmn_config.o_threshold.score = 0.7; mtmn_config.o_threshold.nms = 0.7; mtmn_config.o_threshold.candidate_number = 1; return mtmn_config; } mtmn_config_t mtmn_config = app_mtmn_config(); static face_id_list id_list = {0}; dl_matrix3du_t *image_matrix = NULL; camera_fb_t * fb = NULL; dl_matrix3du_t *aligned_face = dl_matrix3du_alloc(1, FACE_WIDTH, FACE_HEIGHT, 3); void setup() { Serial.begin(115200); digitalWrite(relayPin, LOW); pinMode(relayPin, OUTPUT); camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; 25 config.pin_d0 = 5; config.pin_d1 = 18; config.pin_d2 = 19; config.pin_d3 = 21; config.pin_d4 = 36; config.pin_d5 = 39; config.pin_d6 = 34; config.pin_d7 = 35; config.pin_xclk = 0; config.pin_pclk = 22; config.pin_vsync = 25; config.pin_href = 23; config.pin_sscb_sda = 26; config.pin_sscb_scl = 27; config.pin_pwdn = 32; config.pin_reset = -1; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; config.frame_size = FRAMESIZE_SVGA; config.jpeg_quality = 12; config.fb_count = 1; esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { Serial.printf("Camera init failed with error 0x%x", err); 26 return; } //drop down frame size for higher initial frame rate sensor_t * s = esp_camera_sensor_get(); s->set_framesize(s, FRAMESIZE_QVGA); face_id_init(&id_list, FACE_ID_SAVE_NUMBER, ENROLL_CONFIRM_TIMES); read_face_id_from_flash(&id_list);// Read current face data from on-board flash } void rzoCheckForFace() { currentMillis = millis(); if (run_face_recognition()) { // face recognition function has returned true Serial.println("Face recognised"); digitalWrite(relayPin, HIGH); //close (energise) relay openedMillis = millis(); //time relay closed } if (currentMillis - interval > openedMillis){ // current time - face recognised time > secs digitalWrite(relayPin, LOW); //open relay } } bool run_face_recognition() { 27 bool faceRecognised = false; // default int64_t start_time = esp_timer_get_time(); fb = esp_camera_fb_get(); if (!fb) { Serial.println("Camera capture failed"); return false; } int64_t fb_get_time = esp_timer_get_time(); Serial.printf("Get one frame in %u ms.\n", (fb_get_time - start_time) / 1000); // this line can be commented out image_matrix = dl_matrix3du_alloc(1, fb->width, fb->height, 3); uint32_t res = fmt2rgb888(fb->buf, fb->len, fb->format, image_matrix->item); if (!res) { Serial.println("to rgb888 failed"); dl_matrix3du_free(image_matrix); } esp_camera_fb_return(fb); box_array_t *net_boxes = face_detect(image_matrix, &mtmn_config); if (net_boxes) { if (align_face(net_boxes, image_matrix, aligned_face) == ESP_OK) { 28 int matched_id = recognize_face(&id_list, aligned_face); if (matched_id >= 0) { Serial.printf("Match Face ID: %u\n", matched_id); faceRecognised = true; // function will now return true } else { Serial.println("No Match Found"); matched_id = -1; } } else { Serial.println("Face Not Aligned"); } free(net_boxes->box); free(net_boxes->landmark); free(net_boxes); } dl_matrix3du_free(image_matrix); return faceRecognised; } void loop() { rzoCheckForFace(); } Xóa khuôn mặt khỏi bộ nhớ 29 #include "esp_camera.h" #include "fd_forward.h" #include "fr_forward.h" #include "fr_flash.h" #define ENROLL_CONFIRM_TIMES #define FACE_ID_SAVE_NUMBER static face_id_list id_list = {0}; void setup() { Serial.begin(115200); face_id_init(&id_list, FACE_ID_SAVE_NUMBER, ENROLL_CONFIRM_TIMES); read_face_id_from_flash(&id_list);// Read current face data from on-board flash Serial.println("Faces Read"); while ( delete_face_id_in_flash(&id_list) > -1 ){ Serial.println("Deleting Face"); } Serial.println("All Deleted"); } void loop() { } 30 CHƯƠNG V : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN I Kết luận Mục tiêu chính của báo cáo này là tìm hiểu chung về các kỹ thuật và nghiên cứu hiện cho bài toán bảo mật lối vào cho các địa quan, công sở hay nhà ở,… kèm theo sự tiện lợi nhanh chóng Tuy nhiên hệ thống còn một số hạn chế sau: o o o Hệ thống còn yếu nhận dạng ảnh động Khả bảo mật yếu vì chỉ cần một tấm ảnh có thể qua mắt được hệ thống Hoạt động chưa hoàn toàn hiệu quả với mắt kính thường nơi có ánh sáng chiếu II Hướng phát triển Sau là một số các cải tiến có thể được thực hiện tương lai của hệ thống này: o o o Sản phẩm độc lập: Nó có thể được thực hiện một sản phẩm độc lập, có thể được cài đặt thành một thiết bị, có đèn màn hình hiển thị hoặc nút bấm, mà không cần sử dụng tới trình duyệt Nâng cao bảo mật bằng công nghệ mới, sử dụng camera 3D là phương án tốt nhất để hạn chế về vấn đề bảo mật Có thể hoạt động tốt môi trường thiếu sáng TÀI LIỆU THAM KHẢO Hệ thống nhận diện khuôn mặt, https://vi.wikipedia.org/wiki/he-thong-nhan-dienkhuon-mat/ 31 ESP32 cam VideoStrem Web Server, https://robotzero.one/esp32-face-door-entry/ 32 ... dụngCỨU hiệu quả trongQUAN c̣c sớng CHƯƠNG II : NGHIÊN TỞNG I Hệ thống nhận diện khuôn mặt 4 4 5 8 Bài toán nhận diện mặt người Những tham sớ của hình ảnh khn mặt Ý tưởng xử... Bộ khóa cửa đóng mở bằng nhận diện khuôn mặt 14 Module ESP32 CAM 14 Module Relay 18 Ổ khóa điện từ LY-01 20 CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG I Tởng quan hoạt động 21 21... hình - Kích thước khuôn mặt - Tỉ lệ của các chiều của khuôn mặt - Cảm xúc của khuôn mặt: tham số này làm thay đổi hình ảnh hiển thị của những chi tiết khuôn mặt Ý tưởng