BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - - IoT Ứng dụng ĐỀ TÀI: Hệ thống mở khoá cửa nhận diện khuôn mặt sử dụng Arduino Esp-32 CAM Họ tên: Mã sinh viên: Lớp: Giảng viên: Nguyễn Tài Tuyên Hà Nội, ngày 15 tháng 12 năm 2022 MỞ ĐẦ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 “Hệ thống mở khố cửa nhận diện khn mặt sử dụng Arduino Esp-32 CAM ” của 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 Mục lục CHƯƠNG 1: GIỚI THIÊU Lí chon đề tai: Công nghệ nhận diện khuôn mặt: CHƯƠNG : Giới thiệu module Esp32-CAM CHƯƠNG 3: Phân tíí́ch thiết kế hệ thống Tởng quan hoạt đợng Tởng quan chức CHƯƠNG 4: Quy trình tiến hành Nhận diện khuôn mặt Phân vùng lạạ̣i bộạ̣ nhớ thu thập liệu kh TÀI LIỆU THAM KHẢO Chương 1: Giới thiệu đềề̀ tài Lí chon đề tai: 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 quan 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, 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 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 2: Giới thiệu module Esp32-CAM - - - a Giới thiệu ESP32 – CAM và các thông số kĩ thuật ESP32-CAM cóứ́ mộộ̣t module camera cỡ nhỏ cóứ́ thểả̉ hoạộ̣t độộ̣ng mộộ̣t hệộ̣ thốứ́ng độộ̣c lậộ̣p vớứ́i kíứ́ch thướứ́c 27x40.5x4.5mm vàà̀ dòà̀ng ởả̉ chếứ́ độộ̣ deep sleep lên đếứ́n 6mA ESP32-CAM đượộ̣c đóứ́ng góứ́i DIP-16 (Dual In-line Package) vàà̀ cóứ́ thểả̉ đượộ̣c 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 cáứ́c thiếứ́t bịộ̣ IoT kháứ́c Module cầà̀n phảả̉i đượộ̣c lậộ̣p trìà̀nh vớứ́i ESP-IDF vàà̀ không hỗ trợộ̣ Arduino IDE Hình 2.1 Module ESP32- CAM Thông số kỹ thuật: Tên Điệộ̣n áứ́p cung cấứ́p SPI Flash RAM Bộộ̣ nhớứ́ ngoàà̀i Bluetooth WiFi Interface IO Port Tốứ́c độộ̣ truyềà̀n UART Camera Dảả̉i quang phổả̉ Antenna Transmit Power Receiving Sensitivity Tiêu thụộ̣ điệộ̣n Bảả̉o mậộ̣t Nhiệộ̣t độộ̣ hoạộ̣t độộ̣ng Môi trườà̀ng bảả̉o quảả̉n Hình 2.2 Hình ảnh các chân ESP32 Cam - ESP32-Cam không cóứ́ bấứ́t kỳ đầà̀u nốứ́i USB nàà̀o kèm vớứ́i đầà̀u nốứ́i microUSB tíứ́ch hợộ̣p, vìà̀ vậộ̣y ta cầà̀n mộộ̣t FTDI đểả̉ tảả̉i mãỹ̃ lên thông qua cáứ́c chân U0R vàà̀ U0T (chân nốứ́i tiếứ́p) Hìà̀nh 2.3 Hìà̀nh ảả̉nh vềà̀ FTDI 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 nho 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 Chương 3: Phân tíí́ch thiết kế hệ thống 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 Tổng quan về chưc - Hình 3.2 Các chức của bộ khóa 10 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 đó khoi 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 Chương 4: Quy trình tiến hành I Cáứ́c thiếứ́t bịộ̣ cầà̀n thiếứ́t - Esp32-CAM AI Thinker - USB TTL đểả̉ kếứ́t nốứ́i esp32-cam vớứ́i máứ́y tíứ́nh - khoáứ́ điệộ̣n, module relay II Quy trìà̀nh Nhậộ̣n diệộ̣n khuôn mặộ̣t Chạộ̣y chương trìà̀nh CameraWebServer Arduino, chỉả̉nh sửả̉a vàà̀ điềà̀n cáứ́c thông tin cầà̀n thiếứ́t - 11 - Kếứ́t nốứ́i Esp-CAM vớứ́i FTDI hìà̀nh vẽỹ̃, sau đóứ́ kếứ́t nốứ́i vớứ́i máứ́y tíứ́nh - Sau điềà̀n cáứ́c thông tin mụộ̣c Tools thìà̀ bắứ́t đầà̀u tiếứ́n hàà̀nh tảả̉i mãỹ̃ lên 12 Sau tảả̉i lên hoàà̀n tấứ́t, ngắứ́t kếứ́t nốứ́i GPIO0 khỏi GND vàà̀ ấứ́n đặộ̣t lạộ̣i Esp32-CAM Khi đóứ́ trạộ̣ng tháứ́i kếứ́t nốứ́i Wifi, địộ̣a chỉả̉ IP củả̉a máứ́y chủả̉ sẽỹ̃ hiểả̉n thịộ̣ màà̀n hìà̀nh - 13 - Nhấứ́n vàà̀o địộ̣a chỉả̉ IP, hệộ̣ thốứ́ng nhậộ̣n diệộ̣n khuôn mặộ̣t bắứ́t đầà̀u hoat độộ̣ng Bậộ̣t cáứ́c tuỳ chọộ̣n nhậộ̣n diệộ̣n ởả̉ góứ́c dướứ́i, nhấứ́n núứ́t Enroll Face đểả̉ đăng kíứ́ khuôn mặộ̣t - Phân vùà̀ng lạộ̣i bộộ̣ nhớứ́ vàà̀ thu thậộ̣p dữỹ̃ liệộ̣u khuôn mặộ̣t đểả̉ lưu trữỹ̃: Gồm bướứ́c bảả̉n làà̀: Tạộ̣o sơ đồ phân vùà̀ng mớứ́i đểả̉ cho phéứ́p lưu trữỹ̃ liên tụộ̣c Sửả̉a đổả̉i CameraWebServer đểả̉ lưu dữỹ̃ liệộ̣u khuôn mặộ̣t vàà̀o phân vùà̀ng mớứ́i Sửả̉ dụộ̣ng cáứ́c nhậộ̣n dạộ̣ng đãỹ̃ lưu nàà̀y đểả̉ điềà̀u khiểả̉n cáứ́c thiếứ́t bịộ̣ đượộ̣c kếứ́t nốứ́i vớứ́i ESP32 Bổả̉ sung: thông báứ́o cóứ́ thểả̉ đượộ̣c gửả̉i vềà̀ điệộ̣n thoạộ̣i qua Telegram 14 Tài liệu tham khảo https://ptiteduvn.sharepoint.com/sites/NHM09-LPD19021/Shared %20Documents/General/DeCuong-IoT-va-Ungdung.pdf https://ptiteduvn.sharepoint.com/sites/NHM09-LPD19-021/Shared %20Documents/General/Internet-of-things-a-hands-on-approach.pdf https://electronicsinnovation.com/esp32-cam-face-recognition-andvideo-streaming-with-arduinoide/ https://robotzero.one/esp32-face-door-entry/ https://iotcircuithub.com/esp32-cam-telegram-wifi-door-lock/