0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ESP32-CAM相机模块的人脸识别系统设计案例

454398 来源:一板网 作者:风筝 2020-10-24 10:13 次阅读

人证识别系统有许多种方式,比如使用签名、指纹、语音、面部识别等来识别人员,但是只有人脸识别系统可以检测和识别机场、零售店和火车站等公共场所中的人员。人脸识别系统不仅可以用于安全目的以识别公共场所中的人员,还可以用于办公室和学校中的考勤记录。

在本篇文章中,我们将使用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相机模块的人脸识别系统设计案例

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人脸识别
    +关注

    关注

    76

    文章

    4005

    浏览量

    81753
  • 相机模块
    +关注

    关注

    1

    文章

    14

    浏览量

    3077
  • ESP32
    +关注

    关注

    17

    文章

    956

    浏览量

    17070
收藏 人收藏

    评论

    相关推荐

    ESP32-CAM Wi-Fi+BT SoC模组 V1.0

    电子发烧友网站提供《ESP32-CAM Wi-Fi+BT SoC模组 V1.0.pdf》资料免费下载
    发表于 11-21 16:24 0次下载

    隧道门禁人脸识别系统是专为隧道安全管理设计的先进技术系统

    ,有效防止了误识别和漏识别的情况发生。 多角度识别:支持多角度的人脸采集和识别,施工人员在不同的行走姿态和角度下靠近门禁时,
    的头像 发表于 10-29 14:51 159次阅读
    隧道门禁<b class='flag-5'>人脸</b><b class='flag-5'>识别系统</b>是专为隧道安全管理设计的先进技术<b class='flag-5'>系统</b>

    基于FPGA的人脸识别技术

    基于FPGA(现场可编程逻辑门阵列)的人脸识别技术,是一种结合了高效并行处理能力和灵活可编程性的先进图像处理解决方案。这种技术在安全监控、身份认证、人机交互等领域具有广泛应用前景。以下将详细介绍基于FPGA的人脸
    的头像 发表于 07-17 11:42 1296次阅读

    基于OpenCV的人脸识别系统设计

    基于OpenCV的人脸识别系统是一个复杂但功能强大的系统,广泛应用于安全监控、人机交互、智能家居等多个领域。下面将详细介绍基于OpenCV的人脸识别
    的头像 发表于 07-11 15:37 1.2w次阅读

    人脸识别门禁系统赋能社区安防

    一、提升安全性人脸识别门禁系统通过使用生物识别技术,即基于人脸特征的身份识别系统,能够显著提升社
    的头像 发表于 07-02 11:09 407次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b>门禁<b class='flag-5'>系统</b>赋能社区安防

    ESP32-CAM摄像头应用UART乱码怎么解决?

    我最近使用ESP32-CAM做一个图像采集项目,基于这个代码 https://github.com/InfiniteYuan1/esp32- ... web_server,源代码是没问题的。然后我
    发表于 06-26 08:23

    从github下载的esp32-cam程序在esp-idf和eclipse下编译出错的原因?

    从github下载的esp32-cam程序在esp-idf和eclipse下编译出错,错误信息为 CMake Error at CMakeLists.txt:34
    发表于 06-24 08:31

    esp32-cam如何测量mjpeg图片压缩和解码速率?

    esp32-cam如何测量mjpeg图片压缩和解码速率
    发表于 06-21 06:18

    ESP32-CAMESP-WROVER-KIT做局域网视频传输时,如何修改UDP数据包最大长度?

    本人在用ESP32-CAMESP-WROVER-KIT做局域网视频传输时,由于一帧图片数据太大,导致一帧数据被分割成多个1460个字节,请问在哪能修改1460字节这个限制? 根据UDP协议,从
    发表于 06-21 06:09

    请问怎么使用ardunio工程打开esp32-cam的menuconfig使能OTA?

    我的esp32-cam想实现OTA升级,结果发现系统的OTA支持好像没打开。 但是由于IDE使用的ardunio,工程配置和分区表和idf的工程都不一样。 请问怎么样才能打开menu config配置或者通过其他方法使能OTA?
    发表于 06-20 07:44

    ESP32 CAM板子在light_sleep模式唤醒时有一定概率重启的原因?

    我使用ESP32-CAM板子,程序逻辑是每工作一段时间(比如60s)然后进入light sleep模式100s,设置light sleep的唤醒方式为timer。 但是程序有一定概率会在100s
    发表于 06-18 08:29

    求助,ESP32S2/ESP32关于HTTP SERVER的问题求解

    两套硬件: 原厂的ESP32-CAM和 自研带原厂ESP32-S2-WROVER 都是驱动摄像头使用。 程序代码:Arduino 里的示例代码 CameraWebServer WIFI模式:AP模式
    发表于 06-17 07:02

    请问esp32-s3 LCD_CAM模块如何配置成camera从机接收模式?

    请问esp32-s3 LCD_CAM模块如何配置成camera从机接收模式,就是不输出xclk的那种。我看到文档里说这是个单独的模块,区别于esp3
    发表于 06-12 07:04

    esp32-cam无法烧写固件怎么解决?

    我有一个esp32-cam开发板,一直工作正常。今天意外在esp32-cam上丢弃了一堆铁丝,导致上电状态的esp32-cam的几个引脚被短接了。随即视频流就中断了,从此无法烧写固件。 打开
    发表于 06-11 07:18

    如何挑选理想的人脸识别考勤系统产品?人脸识别设备的选型

    如何挑选理想的人脸识别考勤系统产品?在挑选理想的人脸识别考勤系统产品时,需要综合考虑多个方面,包
    的头像 发表于 06-05 14:59 435次阅读
    如何挑选理想<b class='flag-5'>的人脸</b><b class='flag-5'>识别</b>考勤<b class='flag-5'>系统</b>产品?<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>设备的选型