电子说
人证识别系统有许多种方式,比如使用签名、指纹、语音、面部识别等来识别人员,但是只有人脸识别系统可以检测和识别机场、零售店和火车站等公共场所中的人员。人脸识别系统不仅可以用于安全目的以识别公共场所中的人员,还可以用于办公室和学校中的考勤记录。
在本篇文章中,我们将使用ESP32-CAM模块搭建一个人脸识别系统,该ESP32-CAM安全系统可以识别未经授权的人脸。ESP32-CAM是一款基于ESP32-S芯片的非常小的相机模块。使用ESP32-CAM模块,我们可以搭建人脸识别系统,而无需使用任何复杂的程序和任何额外的组件。
ESP32-CAM模块简介
AI-Thinker ESP32-CAM模块配有一颗ESP32-S芯片、超小尺寸的OV2640相机和Micro SD卡插槽。 Micro SD卡插槽可用于存储从相机拍摄的图像或存储文件。该ESP32-CAM模块可广泛用于各种IoT应用中。它可以用作办公室、学校和其他私人区域中的面部检测系统,还可以用作无线监控、QR无线识别和许多其他物联网应用程序。
ESP32-CAM模块可以使用ESP-IDF或Arduino IDE进行编程。 ESP32-CAM模块还具有多个GPIO引脚,用于连接外部硬件。 ESP32-CAM没有USB连接器,因此要对模块进行编程,需要使用FTDI电路板。
主要特征:
● 最小的802.11b/g/n Wi-Fi BT SoC模块
● 低功耗32位CPU,也可以为应用处理器服务
● 时钟速度高达160MHz,汇总计算能力高达600 DMIPS
● 内置520 KB SRAM,外部4MPSRAM
● 支持UART / SPI / I2C / PWM / ADC / DAC
● 支持OV2640和OV7670相机,内置闪光灯
● 支持图片Wi-Fi上传
● 支持TF卡
● 支持多种睡眠模式
● 嵌入式Lwip和FreeRTOS
● 支持STA / AP / STA + AP操作模式
● 支持Smart Config / AirKiss技术
● 支持串行端口本地和远程固件升级(FOTA)
规格:
● SPI闪存:默认32Mbit
● 内存:520KB SRAM + 4M PSRAM
● 支持TF卡:最大4G
● 支持接口:UART,SPI,I2C,PWM
● 图像输出格式:JPEG,BMP,GRASSCALE
● IO端口:9
● 电源范围:5V
所需的组件
● ESP32-CAM模块
● FTDI电路板
电路原理图
要搭建ESP32 CAM安全系统,我们只需要连接ESP32相机模块和FTDI编程器对其进行编程。
ESP32-CAM没有USB连接器,因此您需要一个FTDI编程器将代码上传到ESP32-CAM中,如上图所示。 ESP32的Vcc和GND引脚与FTDI电路板的Vcc和GND引脚连接。 ESP32的Tx和Rx与FTDI板的Rx和Tx连接。
注意:在上传代码之前,将IO0接地。 IO0确定ESP32是否处于编程模式。当GPIO 0连接到GND时,ESP32处于编程模式。
对ESP32进行编程后,取下FTDI电路板,然后使用7805稳压器将模块连接到3.3V电源。 设置如下所示:
在Arduino IDE上安装ESP32开发板
在本文中,ESP32-CAM是使用Arduino IDE编程的。为此,我们必须在Arduino IDE上安装ESP32插件。
要将ESP32开发板安装在Arduino IDE中,请转到File 》 Preferences
然后,复制以下链接并将其粘贴到“Additional Board Manager URLs”字段中,如下图所示。然后,单击“OK”按钮:https://dl.espressif.com/dl/package_esp32_index.json
现在转到Tools 》 Board 》 Boards Manager
在Board Manager中搜索ESP32并安装“ESP32 by Espressif Systems”。
ESP32相机Web服务器代码
安装完成ESP插件后,我们就有了ESP32 cam视频流和面部识别的示例代码。使用File 》 Examples 》 ESP32 》 Camera打开ESP32示例,然后打开CameraWebServer示例。
在上传代码之前,您需要输入您的Wi-Fi名称和密码。
const char* ssid = “WiFi Name”;
const char* password = “Password”;
复制代码
之后,定义ESP相机模块。他们在代码中定义了5个摄像头模块,因此取消注释“ CAMERA_MODEL_AI_THINKER”并注释掉其余模块。现在,代码可以上传了。
要上传代码,请将FDTI电路板连接至笔记本电脑,然后选择“ ESP32 Wrover Module”作为开发板。另外,根据此图片更改其他设置:
在上传代码之前,请按下ESP32复位按钮,然后单击上传按钮。
上载代码后,断开IO0和GND引脚。然后打开串口监视器,并将波特率更改为115200。然后按ESP32复位按钮,它将在串口监视器上打印ESP IP地址和端口号,如下所示。
现在要访问视频流,请导航至浏览器并输入ESP的IP地址。要启动ESP32 cam视频流,请单击页面底部的“Start Stream”按钮
您可以通过更改流式传输页面上的“Resolution”来更改流式传输质量。您也可以通过点击“Get Still”按钮来截取图片,但是该代码没有保存图片的选项。
测试完视频流之后,现在我们将测试ESP32 cam面部检测和识别功能。为此,请通过设置打开面部识别和检测功能:
首先要进行人脸识别,您需要先注册一个人脸。您可以通过点击“Enroll Face”选项来注册一个新人脸。需要进行多次尝试来保存人脸。保存人脸后,它将该人脸设别为主题0,现在可以通过识别面部将其用作安全系统。
以上这就是可以轻松配置ESP相机模块以进行视频流和面部识别的方式。
编辑:hfy
全部0条评论
快来发表一下你的评论吧 !