BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-🙞🙞🙞🙞🙞 -IoT và Ứng dụng
khuôn mặt sử dụng Arduino và Esp-32 CAM
Họ và 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
Trang 2MỞ ĐẦ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 trong 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ạ trong cuộc sống của chúng ta nữa Nhất là khi 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 như thế nào trong cuộc sống con 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 trong thời gian vừa qua Bằng chứng là khắp các ngành nghề đều đang có những ứng dụng sử dụng trí tuệ nhân tạo để nhằm tạo năng suất lao động tốt hơn, độ chính xác máy cao hơn 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 con 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 nay Với đề tài “Hệ thống mở khoá cửa bằng nhận diện
khuôn mặt sử dụng Arduino và Esp-32 CAM ” của em đang 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 nhưng ứng dụng hiệu quả trong cuộc sống
Trang 3Mục lục
2 Công nghệ nhận diện khuôn mặt: 4 CHƯƠNG 2 : Giới thiệu module Esp32-CAM 6 CHƯƠNG 3: Phân tích thiết kế hệ thống 9
1 Tổng quan hoạt động 10
2 Tổng quan chức năng 10 CHƯƠNG 4: Quy trình tiến hành 11
2 Phân vùng lại bộ nhớ và thu thập dữ liệu khuôn mặt để lưu trữ: 14
Trang 4Chương 1: Giới thiệu đề tài
1 Lí do 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 trong 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 đang thúc đẩy đời song phát triển mạnh mẽ Từ vấn đề an ninh của cá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 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 như 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 con 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 ra 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 trên 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
2 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 trong 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 cơ sở dữ liệu về khuôn mặt
Hệ thống này thường được sử dụng trong 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 như 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ăng này sau đó được sử dụng để tìm kiếm các hình ảnh khác với các tính năng 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
Trang 5Một hình ảnh mẫu sau đó được so sánh với các dữ liệu khuôn mặt Một trong những hệ thống thành công sớm nhất dựa trên 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 năng 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 con đa tuyến) sử dụng đại diện cơ
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 năng đặc biệt trên bề mặt của một khuôn mặt, chẳng hạn như 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 trong ánh sáng như 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, trong đó 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 hơn 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 hơn nữa các bộ cảm biến hình ảnh này có thể được đặt lên trên cùng một con chip CMOS-mỗi cảm biến sẽ thu một phần khác nhau 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 trên gương mặt Để đạt được mục tiêu đó một nhóm tại Technion (viện
Trang 6cô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 như phép đẳng cự Một công ty có tên Vision Access tạo ra 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 như 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 trong các thiết bị IoT khác nhau
- 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:
Trang 7Tên Mô tả
Điện áp cung cấp 5V
SPI Flash Mặc định 32MB
Bộ nhớ ngoài Khe cắm thẻ micro SD lên đến 4GB
Bluetooth Chuẩn Bluetooth 4.2 BR/EDR và BLE
Interface UART, SPI, I2C, PWM
Tốc độ truyền
UART 115200bps(Mặc định)
Camera
+ Đầu nối FPC + Hỗ trợ camera OV2640(bán kèm theo board) hoặc 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, 1 Mbps : -90dBm CCK, 11 Mbps: -85dBm
6 Mbps (1/2 BPSK): -88dBm
54 Mbps (3/4 64-QAM): -70dBm MCS7 (65 Mbps, 72.2 Mbps): -67dBm Tiêu thụ điện năng + Tắt đèn flash: 180mA@5V
+ Bật đèn flash và bật độ sáng tối đa: 310mA@5V
Trang 8+ 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 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 đi kèm với đầu nối micro-USB 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)
Trang 9Hình 2.3 Hình ảnh về FTDI
b Ứng dụng thực tế trong thực tế
Sử dụng rộng rãi trong các ứng dụng IoT: các thiết bị thông minh trong 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 trong đề 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 khi 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
1 Tổng quan hoạt động
Trang 10Hì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 khi 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 như trong dữ liệu thì có thể mở cửa Trả về kết quả hiển thị trên trình duyệt đã xác nhận thành công
2 Tổng quan về chức năng
Hình 3.2 Các chức năng của bộ khóa
Trang 11Mô tả chức năng:
- Đăng kí khuôn mặt: dùng để đăng kí dữ liệu khuôn mặt đi vào, được lưu trong bộ nhớ của ổ khóa, để lần tiếp theo khi 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 năng xóa dữ liệu của một thành viên nào đó ra 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 năng đóng/mở: tùy thuộc vào kết quả xử lí của vi xử lí sẽ cho ra 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
- 1 Esp32-CAM AI Thinker
- 1 USB TTL để kết nối esp32-cam với máy tính
- 1 khoá điện, 1 module relay
II Quy trình
1 Nhận diện khuôn mặt
- Chạy chương trình CameraWebServer trên Arduino, chỉnh sửa và điền các thông tin cần thiết
Trang 12- Kết nối Esp-CAM với FTDI như hình vẽ, sau đó kết nối với máy tính
- Sau khi điền các thông tin trong mục Tools thì bắt đầu tiến hành tải mã lên
Trang 13- Sau khi tải lên hoàn tất, ngắt kết nối GPIO0 khỏi GND và ấn đặt lại trên Esp32-CAM Khi đó trạng thái kết nối Wifi, địa chỉ IP của máy chủ sẽ hiển thị trên màn hình
Trang 14- 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
2 Phân vùng lại bộ nhớ và thu thập dữ liệu khuôn mặt để lưu trữ:
Gồm 3 bước 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
3 Bổ sung: thông báo có thể được gửi về điện thoại qua Telegram
Trang 15Tài liệu tham khảo
1 https://ptiteduvn.sharepoint.com/sites/NHM09-LPD19-021/Shared
%20Documents/General/DeCuong-IoT-va-Ungdung.pdf
2 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-and-video-streaming-with-arduinoide/