Skip to content

kendtank/esp32_human_face_detect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32-S3 人脸检测与识别系统 (MSR01+MNP01+FaceRecognition)

本项目是一个基于 ESP-DL 深度学习库实现的嵌入式人脸 AI 闭环方案。它不仅实现了人脸的录入与比对,更重要的是通过双级检测架构彻底解决了 ESP32-S3 在人脸识别中常见的对齐崩溃和精度不足的问题。

🎯 本项目解决了什么?

在 ESP32-S3 开发人脸识别时,开发者通常会遇到以下三个“大坑”,本项目已全部修复:

  1. 断言崩溃 (Assert Fix):修复了由于单级检测器(如 MSR01)缺失关键点导致的 area == mat.size() 矩阵运算崩溃。
  2. 人脸对齐 (Double-Stage Detection):通过 MSR01 定位 + MNP01 精确提取 5 个关键点(10个坐标),确保人脸在识别前被完美“扶正”。
  3. 分区溢出 (Partition Expansion):针对 AI 模型体积巨大的特点(约 2MB+),提供了自定义分区表,将应用空间扩容至 3MB。

🛠️ 技术流程

  1. 人脸检测 (MSR01):快速在图像中锁定人脸位置。
  2. 人脸对齐 (MNP01):精确定位双眼、口、鼻 5 个关键点,进行仿射变换。
  3. 人脸识别 (FR112V1S8):提取 512 维特征向量,完成内存 ID 的录入与实时相似度匹配。

🚀 Get Start

1. 环境准备

确保你已安装 ESP-IDF v5.5.1。

# 激活环境 ($HOME 适配不同用户)
. $HOME/esp/v5.5.1/esp-idf/export.sh

# 添加必要依赖组件
idf.py add-dependency "espressif/esp32-camera"
idf.py add-dependency "espressif/esp-dl"

2. 分区配置

  • 必须使用项目中的 partitions.csv,并在 menuconfig 中进行如下设置:

  • Partition Table -> Partition Table -> 选择 Custom partition table CSV

  • Custom partition table CSV file -> 填写 partitions.csv

3. 编译与烧录

idf.py build
idf.py flash monitor

📚 参考文档

性能参考

  • 硬件: ESP32-S3 + 8MB PSRAM + GC2145

  • 分辨率: 320x240 (QVGA)

  • 响应: 识别成功后将实时打印匹配 ID 与相似度分数。

About

面向 ESP32-S3 的完整人脸 AI 流程实现。涵盖从原始图像采集、多级人脸对齐到特征匹配的全过程,针对 ESP-DL 深度学习库进行了底层 API 适配与稳定性优化。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors