# ESP32 人脸识别应用 智能控制 **Repository Path**: superddg123/ESP32_FACE ## Basic Information - **Project Name**: ESP32 人脸识别应用 智能控制 - **Description**: 网络摄像头的视频流经上位机处理后,将人脸识别后的画面传输至ESP32 TFT屏幕显示,人脸匹配成功后ESP32实现点灯、控制舵机、语音播报等功能 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 34 - **Forks**: 14 - **Created**: 2022-01-14 - **Last Updated**: 2025-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32 人脸识别应用 智能控制 #### 介绍 网络摄像头的视频流经上位机处理后,将人脸识别后的画面传输至ESP32 TFT屏幕显示,人脸匹配成功后,上位机将识别结果传输至ESP32实现点灯、控制舵机、语音播报等功能 ![输入图片说明](img/peng.jpg) 人脸识别多功能助手V1.0 链接:https://pan.baidu.com/s/1Dz9brC7hwwnu4kfiolmazw 提取码:cy5n QQ群 彩屏之家:519926351 正在完善工程中········ #### 软件架构 人脸检测:使用 OpenCV 的级联分类器 CascadeClassifier 加载预训练模型 haarcascade_frontalface_default.xml,该模型使用 AdaBoost 算法,运行速度十分快。 人脸识别:Face_Recognition 是一个基于 Python 的人脸识别库,该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率高达 99.38%。 UI界面:Python自带的tkinter 模块。 数据传输:socket TCP协议。 图像处理:CV2. #### 使用教程 ![软件首页](img/soft.png) 人脸识别多功能助手-V1.0 ·连接摄像机:本软件支持连接IP摄像头,只需要在摄像头管理中打开rtsp权限校验->[用OpenCV调用IP摄像头](https://blog.csdn.net/qq_38957170/article/details/79821415), 也可以连接笔记本自带的摄像头(地址为0即可),或者将手机作为摄像头(DroidCam app将用户手机摄像头转化为网路摄像头的软件) ·副屏连接:结合了彩屏投屏助手的功能,将电脑画面通过TCP协议传输至ESP32,使用时注意IP和PORT是否填写正确(彩屏和串口连接wifi后会自动显示) ·启动识别:会自动连接摄像机地址,并启动人脸识别检测进程。 ·开始连接:PC作为客户端连接填写的ESP32地址(服务端),若连接成功,会自动将画面数据传输至ESP32。 注意:启动识别和连接副屏是独立的进程,两者操作互不影响,启动顺序不分先后,不连接副屏也能正常运行。 软件启动由于加载人脸识别模型,需要等待3-5s才会进入软件主页。 #### 使用说明 ![门禁设置](img/doorSettings.png) ·视频信号输入,笔记本自带的摄像头地址为0,也可以选择内部显示器局部画面作为信号输入。 ·人脸匹配自动开门,需要在菜单栏门禁管理中勾选 人脸识别门禁。自动开门后,自动关门的时间也可以自行更改 ·彩屏显示的人脸姓名字号太小,看不清,可以在设置中修改。 ·录入的人脸信息,可以在菜单栏人脸管理中手动删除。 #### 智能控制 工程文件夹为VS code PlatformIO 工程。 代码演示的控制有3个,LED,舵机,语音播报模块。 其中语音播报模块型号为DY-SV17F,支持IO,串口触发,语音需要自己去网站合成保存至FLASH中,然后按照串口触发使用手册,发送相应的目录命令,即可指定语音播报。 ![输入图片说明](img/voice.png) 在连接副屏后,门禁的开关量随之发送给ESP32,完成一些简单的控制。上位机门禁状态同步ESP32的门禁状态,人脸匹配成功后,则可以进行人脸控制外设。 #### 人脸识别 ![冠希](img/guanxi.png) 启动识别,摄像机连接成功后,点击检测人脸,可以将当前视频帧含有人脸的像素裁剪下来,在左上角小画布显示。 填写好人脸姓名,点击录入,软件会识别当前人脸特征128维向量并保存至人脸库中。 视频流中出现的人脸,会自动与人脸库进行对比,匹配成功则会在检测的红色框上方显示出姓名。 #### 硬件连接 ![输入图片说明](img/hardware.jpg) 为了方便小伙伴接线,不在繁琐的使用面包板,我画了一个ESP-WROOM-32的扩展板,使用排母固定esp32开发板和屏幕,所有引脚都已标注,屏幕的SPI接线引脚也已经标注,SPI采用等长布线,速度不受影响,喜欢的话可以去嘉立创免费打板哟![立创EDA开源链接](https://oshwhub.com/super.cc/esp32)