Cung cấp giải pháp tổng thể cho mô-đun camera
Nhận báo giá miễn phí

Cách sử dụng ESP32-CAM để xây dựng hệ thống nhận dạng khuôn mặt

Có nhiều hệ thống nhận dạng người sử dụng chữ ký, dấu vân tay, giọng nói, hình dạng bàn tay, nhận dạng khuôn mặt, v.v. để nhận dạng mọi người, nhưng không có hệ thống nhận dạng khuôn mặt.

Hệ thống nhận dạng khuôn mặt không chỉ có thể được sử dụng cho mục đích an ninh để nhận dạng mọi người ở nơi công cộng mà còn cho mục đích chấm công tại văn phòng và trường học.

Trong dự án này, chúng tôi sẽ xây dựng một hệ thống nhận dạng khuôn mặt sử dụng ESP32-CAM, cũng có thể được sử dụng như một hệ thống an ninh ESP32-CAM bằng cách nhận dạng khuôn mặt của một người không được phép. ESP32-CAM là một mô-đun camera rất nhỏ sử dụng chip ESP32-S. Sử dụng mô-đun ESP32-CAM, chúng tôi có thể xây dựng một hệ thống nhận dạng khuôn mặt mà không cần sử dụng bất kỳ chương trình phức tạp nào và bất kỳ thành phần bổ sung nào.

How to use ESP32-CAM to build a face recognition system插图pYYBAGMDP4SACJowAANX-QufGyo030.png

Mô-đun AI-Thinker ESP32-CAM có chip ESP32-S, camera OV2640 siêu nhỏ và khe cắm thẻ nhớ micro SD. Khe cắm thẻ nhớ Micro SD có thể được sử dụng để lưu trữ hình ảnh chụp từ camera hoặc lưu trữ tệp. Mô-đun ESP32-CAM có thể được sử dụng trong nhiều ứng dụng iot. Nó có thể được sử dụng như một hệ thống phát hiện khuôn mặt trong văn phòng, trường học và các khu vực riêng tư khác, cũng như để giám sát không dây, nhận dạng không dây mã QR và nhiều ứng dụng iot khác.

Các mô-đun ESP32-CAM có thể được lập trình bằng ESP-IDF hoặc Arduino IDE. Mô-đun ESP32-CAM cũng có một số chân GPIO để kết nối với phần cứng bên ngoài. ESP32-CAM không có đầu nối USB, vì vậy để lập trình mô-đun, bạn cần một bo mạch FTDI.

How to use ESP32-CAM to build a face recognition system插图pYYBAGMDP4CAGwZRAAHq1FlljFk414.png

Đặc trưng:

Mô-đun SoC BT Wi-Fi 802.11b/g/n nhỏ nhất

CPU 32-bit công suất thấp cũng có thể phục vụ bộ xử lý ứng dụng

Tốc độ xung nhịp lên đến 160MHz, công suất tính toán tích hợp lên đến 600 DMIPS

Tích hợp 520 KB SRAM, bên ngoài 4MPSRAM

Hỗ trợ UART/SPI/I2C/PWM/ADC/DAC

Hỗ trợ camera OV2640 và OV7670 có đèn flash tích hợp

Hỗ trợ tải hình ảnh qua Wi-Fi

Hỗ trợ thẻ TF

Hỗ trợ nhiều chế độ ngủ

Lwip nhúng và FreeRTOS

Hỗ trợ chế độ hoạt động STA/AP/STA+AP

Công nghệ Smart Config/AirKiss được hỗ trợ

Hỗ trợ nâng cấp chương trình cơ sở cục bộ và từ xa qua cổng nối tiếp (FOTA)

Thông số kỹ thuật:

SPI flash: Mặc định là 32Mbit

Bộ nhớ: 520KB SRAM+4M PSRAM

Hỗ trợ thẻ TF: Tối đa 4G

Giao diện được hỗ trợ: UART, SPI, I2C, PWM

Định dạng đầu ra hình ảnh: JPEG, BMP, thang độ xám

Cổng IO: 9

Phạm vi cung cấp điện: 5V

Thành phần bắt buộc

ESP32-CAM

Lập trình viên FTDI

Sơ đồ mạch điện

Để chế tạo camera an ninh ESP32 CAM, chúng ta chỉ cần mô-đun camera ESP32 và bộ lập trình FTDI để lập trình.

How to use ESP32-CAM to build a face recognition system插图pYYBAGMDP3qAVkq9AAITZhIELB0303.png

ESP32-CAM không có đầu nối USB, vì vậy bạn cần một trình lập trình FTDI để tải mã lên ESP32-CAM, như thể hiện trong hình trên. Các chân Vcc và GND của ESP32 được kết nối với các chân Vcc và GND của bo mạch FTDI. Tx và Rx của ESP32 được kết nối với Rx và Tx của bo mạch FTDI.

Lưu ý: Ground IO0 trước khi tải mã. IO0 xác định ESP32 có ở chế độ nhấp nháy hay không. Khi GPIO 0 được kết nối với GND, ESP32 ở chế độ nhấp nháy.

How to use ESP32-CAM to build a face recognition system插图

Sau khi lập trình ESP32, tôi đã tháo bo mạch FTDI và kết nối mô-đun với nguồn điện 3,3V bằng bộ điều chỉnh 7805. Cài đặt cho luồng video cam ESP32 như sau:hình ảnh.png

How to use ESP32-CAM to build a face recognition system插图

Cài đặt bo mạch ESP32 trên Arduino IDE

Ở đây ESP32-CAM được lập trình bằng Arduino IDE. Để làm được điều này, chúng ta phải cài đặt plug-in ESP32 trên Arduino IDE.

Để cài đặt bo mạch ESP32 vào Arduino IDE của bạn, hãy vào Tùy chọn tệp

hình ảnh.png

How to use ESP32-CAM to build a face recognition system插图

Bây giờ hãy sao chép liên kết sau và dán vào trường "Additional Board Manager URLs" như hiển thị bên dưới. Sau đó, nhấp vào nút OK:

How to use ESP32-CAM to build a face recognition system插图

Bây giờ đến Hội đồng quản trị công cụ, Giám đốc Hội đồng quản trị

How to use ESP32-CAM to build a face recognition system插图

Tìm kiếm ESP32 trong Board Manager và cài đặt "ESP32 của Espressif Systems".

How to use ESP32-CAM to build a face recognition system插图

Mã máy chủ web camera ESP32

Chúng tôi đã có một mã mẫu từ ESP32 cam video streaming và nhận dạng khuôn mặt. Mở ví dụ ESP32 bằng cách sử dụng "File" Examples "ESP32" Camera, sau đó mở ví dụ CameraWebServer.

How to use ESP32-CAM to build a face recognition system插图

Trước khi tải mã lên, bạn sẽ cần nhập tên Wi-Fi và mật khẩu.

const char* ssid = "Tên WiFi";

const char* Password = "Mật khẩu";

Sau đó định nghĩa mô-đun camera ESP. Trong mã, họ định nghĩa 5 mô-đun camera, vì vậy hãy bỏ chú thích "CAMERA_MODEL_AI_THINKER" và chú thích các mô-đun còn lại.

Bây giờ mã đã sẵn sàng để tải lên.

Để tải mã lên, hãy kết nối bo mạch FDTI với máy tính xách tay của bạn và chọn "ESP32 Wrover Module" làm bo mạch của bạn. Ngoài ra, hãy thay đổi các Cài đặt khác dựa trên hình ảnh này:

How to use ESP32-CAM to build a face recognition system插图

Trước khi tải mã lên, hãy nhấn nút đặt lại ESP32 rồi nhấp vào nút Tải lên.

Lưu ý: Nếu bạn gặp lỗi khi tải mã lên, hãy kiểm tra xem IO0 đã được kết nối với GND chưa và bạn đã chọn đúng cài đặt trong menu Công cụ chưa.

Ngắt kết nối chân IO0 và GND sau khi tải mã. Sau đó mở màn hình nối tiếp và thay đổi tốc độ baud thành 115200. Sau đó nhấn nút reset ESP32 và nó sẽ in địa chỉ IP ESP và số cổng trên màn hình nối tiếp như hình dưới đây.

How to use ESP32-CAM to build a face recognition system插图

Bây giờ để truy cập luồng camera, hãy điều hướng đến trình duyệt của bạn và nhập địa chỉ IP ESP của bạn. Nó sẽ đưa bạn đến trang phương tiện truyền phát. Để bắt đầu luồng video camera ESP32, hãy nhấp vào nút "Bắt đầu truyền phát" ở cuối trang

How to use ESP32-CAM to build a face recognition system插图

Bạn có thể thay đổi chất lượng phát trực tuyến bằng cách thay đổi "độ phân giải" trên trang phát trực tuyến. Bạn cũng có thể nhấp vào hình ảnh bằng cách nhấp vào nút "Get Still", nhưng mã này không có tùy chọn lưu hình ảnh.

Sau khi kiểm tra luồng video, bây giờ chúng ta sẽ kiểm tra chức năng phát hiện và nhận dạng khuôn mặt của camera ESP32. Bật chức năng nhận dạng và phát hiện khuôn mặt từ Cài đặt:

How to use ESP32-CAM to build a face recognition system插图

How to use ESP32-CAM to build a face recognition system插图

Để thực hiện nhận dạng khuôn mặt, trước tiên bạn cần đăng ký khuôn mặt của mình. Bạn có thể đăng ký khuôn mặt mới bằng cách nhấp vào tùy chọn "Đăng ký khuôn mặt". Phải mất nhiều lần thử để lưu khuôn mặt. Sau khi lưu khuôn mặt, nó sẽ phát hiện khuôn mặt là chủ thể 0, giờ đây có thể được sử dụng làm hệ thống an ninh bằng cách nhận dạng khuôn mặt.

Đây là cách mô-đun camera ESP có thể được cấu hình dễ dàng để phát trực tuyến video và nhận dạng khuôn mặt.

#bao gồm “esp_camera.h”

#bao gồm

// Cảnh báo!! Hãy đảm bảo bạn chọn mô-đun ESP32 Wrover,

// hoặc một bo mạch khác có PSRAM được kích hoạt

// Chọn một mẫu máy ảnh

//# xác định CAMERA_MODEL_WROVER_KIT

//# xác định CAMERA_MODEL_ESP_EYE

//# xác định CAMERA_MODEL_M5STACK_PSRAM

//# xác định CAMERA_MODEL_M5STACK_WIDE

# xác định CAMERA_MODEL_AI_THINKER

#bao gồm “camera_pins.h”

const char* ssid = "Galaxy-M20 ";

const char* Mật khẩu = "ac312124";

startCameraServer() không hợp lệ;

Cài đặt không hợp lệ () {

Số sê-ri. Bắt đầu (115200);

Serial.setDebugOutput(đúng);

Số sê-ri.println ();

cấu hình camera_config_t;

config. ledc_channel = LEDC_CHANNEL_0;

config.ledc_timer = LEDC_TIMER_0;

cấu hình.pin_d0 = Y2_GPIO_NUM;

cấu hình.pin_d1 = Y3_GPIO_NUM;

cấu hình.pin_d2 = Y4_GPIO_NUM;

cấu hình.pin_d3 = Y5_GPIO_NUM;

cấu hình.pin_d4 = Y6_GPIO_NUM;

cấu hình.pin_d5 = Y7_GPIO_NUM;

cấu hình.pin_d6 = Y8_GPIO_NUM;

cấu hình.pin_d7 = Y9_GPIO_NUM;

config.pin_xclk = XCLK_GPIO_NUM;

cấu hình.pin_pclk = PCLK_GPIO_NUM;

config.pin_vsync = VSYNC_GPIO_NUM;

pin_href = HREF_GPIO_NUM; cấu hình.pin_href = href_gPIo_num;

pin_sscb_sda = SIOD_GPIO_NUM;

pin_sscb_scl = SIOC_GPIO_NUM;

cấu hình.pin_pwdn = PWDN_GPIO_NUM;

pin_reset = ĐẶT LẠI_GPIO_NUM;

cấu hình.xclk_freq_hz = 20000000;

cấu hình.pixel_format = PIXFORMAT_JPEG;

// Khởi tạo với thông số kỹ thuật cao để phân bổ trước các bộ đệm lớn hơn

Nếu (psramFound ()) {

config.frame_size = KÍCH THƯỚC KHUNG_UXGA;

config.jpeg_quality = 10;

cấu hình.fb_count = 2;

} khác {

config.frame_size = KÍCH THƯỚC KHUNG_SVGA;

config.jpeg_quality = 12;

config.fb_count = 1;

}

# Nếu được xác định (CAMERA_MODEL_ESP_EYE)

pinMode (13, INPUT_PULLUP);

pinMode(14, ĐẦU VÀO_KÉO);

# trong trường hợp

// Khởi tạo camera

esp_err_t lỗi = esp_camera_init(&config);

Nếu (sai! = ESP_OK) {

Serial.printf("Khởi tạo camera không thành công, lỗi 0x%x", err);

Mặt sau;

}

cảm biến_t * s = esp_camera_sensor_get();

// Cảm biến ban đầu được lật theo chiều dọc và màu sắc hơi bão hòa

nếu (s->id.PID == OV3660_PID) {

s->set_vflip(s, 1); // Lật ngược lại

s->set_brightness(s, 1); // Tăng nhẹ độ sáng

s->set_saturation(s, -2); // Giảm độ bão hòa

}

// Giảm kích thước khung hình để có tốc độ khung hình ban đầu cao hơn

s->set_framesize(s, KÍCH THƯỚC KHUNG HÌNH_QVGA);

# Nếu được xác định (CAMERA_MODEL_M5STACK_WIDE)

s->set_vflip(s, 1);

s->set_hmirror(s, 1);

# trong trường hợp

WiFi.begin(ssid, mật khẩu);

Và (WiFi.status ()! = WL_CONNECTED) {

Trì hoãn (500);

Serial.print(".");

}

Số sê-ri.println ("");

Serial.println("Kết nối WiFi ");

startCameraServer();

Serial.print("Máy ảnh đã sẵn sàng! Sử dụng 'http://");

Serial.print(WiFi.localIP());

Serial.println("' để kết nối ");

}

Vòng lặp không hợp lệ () {

// Đặt mã chính của bạn ở đây và lặp lại:

Trì hoãn (10000);

Để lại một bình luận

Cảm biến mô-đun máy ảnh

Cảm biến máy ảnh 20MP

Cảm biến camera 48MP

Cảm biến máy ảnh 50MP

Cảm biến camera 60MP

Cảm biến máy ảnh 4MP 2K

Cảm biến camera 3MP 1080P

Cảm biến camera 2MP 1080P

Cảm biến máy ảnh 1MP 720P

Cảm biến camera 0.3MP 480P

Cảm biến máy ảnh 16MP 4K

Cảm biến máy ảnh 13MP 4K

Cảm biến máy ảnh 12MP 4K

Cảm biến máy ảnh 8MP 4K

Cảm biến máy ảnh 5MP 2K

YÊU CẦU THÔNG TIN, MẪU HOẶC BÁO GIÁ LIÊN HỆ VỚI CHÚNG TÔI

John Doe

Thông thường trả lời trong vòng một ngày

Được cung cấp bởi Tiện ích bổ sung WpChat