嵌入式边缘 AI 人脸识别门禁系统

基于 STM32 的端侧人脸识别、门禁控制和 IoT 远程管理系统。

项目概述

本项目实现了一个轻量级 边缘 AI 门禁系统。系统在 STM32 微控制器 上完成人脸识别和门禁决策,并通过 IoT 通信模块连接移动端管理应用。

项目被设计为一个完整的 边缘感知-决策-通信系统,包括:

  • 端侧人脸识别;
  • 嵌入式门禁控制逻辑;
  • 轻量模型压缩;
  • 基于 Wi-Fi 的 IoT 通信;
  • Android 远程管理应用。

与依赖云端识别的方案不同,本系统在设备端完成身份验证。这可以减少网络依赖、降低响应延迟,并提升隐私性,因为每一次门禁请求不需要上传原始人脸图像。

这个项目让我理解到:机器学习模型真正部署到资源受限设备上时,模型结构、内存、功耗、通信和系统稳定性必须一起考虑。

嵌入式边缘 AI 门禁系统

该图展示了完整流程:端侧设备采集人脸图像,STM32 上的轻量识别模型输出门禁决策,ESP8266 负责 IoT 连接,Android 应用支持远程用户管理和日志监控。


项目动机

很多 AI 应用在桌面 GPU 上容易验证,但部署到微控制器上会遇到完全不同的问题。微控制器的 SRAM、Flash、计算吞吐和功耗都非常有限。因此,边缘 AI 不只是模型设计问题,而是系统工程问题。

本项目关注三个问题:

  1. 如何将人脸识别模型压缩到可以在 STM32 级别设备上运行?
  2. 如何在本地做可靠门禁决策,同时支持远程管理?
  3. 如何让嵌入式推理、固件控制、IoT 通信和移动端软件协同工作?

最终设计采用本地推理完成实时门禁决策,用云端和移动端负责管理、同步和日志。


系统架构

系统由三个核心部分组成:

  1. 边缘 AI 推理模块(STM32)
  2. 无线通信模块(ESP8266)
  3. Android 远程管理应用

运行流程如下:

  1. 门禁终端采集人脸图像;
  2. 检测并预处理人脸区域;
  3. 在端侧提取紧凑人脸 embedding;
  4. 与已注册用户 embedding 进行相似度匹配;
  5. 触发门禁控制,执行开锁或拒绝;
  6. 上传事件日志和设备状态;
  7. 通过移动端完成用户管理。

这形成了完整的 边缘感知-决策-通信闭环


端侧人脸识别

轻量模型设计

识别模块基于 MobileFaceNet 风格的轻量人脸 embedding 网络。模型为每张人脸输出一个紧凑特征向量,然后与注册用户特征进行相似度匹配。

流程包括:

  • 人脸采集与预处理;
  • 人脸区域检测或对齐;
  • embedding 提取;
  • cosine similarity 匹配;
  • 基于阈值的门禁决策。

相似度计算为:

[ \mathrm{sim}(u,v)=\frac{u^T v}{|u||v|} ]

当相似度超过阈值时,身份验证通过;否则拒绝访问。

TinyML 优化

为了部署到 STM32 这类资源受限硬件上,系统进行了:

  • 模型剪枝,减少冗余通道和参数;
  • INT8 量化,压缩权重和激活;
  • TensorFlow Lite Micro 适配微控制器推理;
  • 定点计算优化,降低浮点计算开销;
  • 内存规划,确保中间张量能够放入有限 SRAM。

这些优化支持:

  • 实时推理;
  • 较低内存占用;
  • 稳定嵌入式部署;
  • 相比云端识别更低的延迟和网络依赖。

主要工程难点在于平衡模型大小和识别鲁棒性。压缩过度会降低识别能力,压缩不足又会导致目标硬件无法稳定运行。


边缘-云端通信

系统使用 ESP8266 Wi-Fi 模块 实现 IoT 连接。端侧设备负责实时门禁决策,网络模块负责管理和日志。

主要功能包括:

  • 实时上传识别事件;
  • 远程同步用户数据;
  • 监控设备状态;
  • 查询门禁日志;
  • 在授权情况下执行远程控制。

通信使用:

  • MQTT 轻量发布/订阅协议;
  • 百度云 IoT 平台 进行设备管理和数据转发。

该设计将实时性强的本地决策和非实时的远程管理分离,使系统在临时网络不稳定时仍能完成核心门禁功能。


Android 移动端

项目开发了 Android 应用用于远程管理。

功能包括:

  • 用户注册和人脸录入;
  • 身份数据库管理;
  • 远程开门控制;
  • 实时设备状态监控;
  • 事件日志和历史记录。

移动端与嵌入式设备、云端平台一起构成完整的 边缘-云端-移动端交互闭环


关键工程挑战

资源约束

  • STM32 的 RAM 和 Flash 都有限;
  • 计算吞吐受限;
  • 需要模型压缩和内存规划。

实时推理

  • 优化预处理和推理路径以降低延迟;
  • 减少不必要的内存拷贝;
  • 调整模型复杂度,使其满足嵌入式运行限制。

系统集成

  • 集成嵌入式固件、AI 推理、网络通信和移动端应用;
  • 处理 STM32、ESP8266、云平台和 Android 客户端之间的通信;
  • 设计日志和状态信息,便于调试和远程监控。

这个项目最有价值的部分,是让我体会到系统中任何一个小模块的问题都会影响整体体验:延迟消息、不稳定阈值、内存溢出都可能导致系统不可用。


技术栈

硬件

  • STM32 微控制器;
  • ESP8266 Wi-Fi 模块;
  • 摄像头模块;
  • 门禁控制执行器。

AI / 嵌入式

  • MobileFaceNet 风格轻量 embedding 网络;
  • TensorFlow Lite Micro;
  • 模型剪枝;
  • INT8 量化;
  • 定点推理。

通信

  • MQTT 协议;
  • 百度云 IoT;
  • 事件与状态同步。

移动端

  • Android 应用;
  • 远程用户管理;
  • 事件日志界面。

项目结果

系统展示了一个完整的 边缘 AI 部署流程,实现了:

  • 微控制器级硬件上的实时人脸识别;
  • 低延迟、隐私友好的本地门禁决策;
  • 通过 IoT 进行远程监控和用户管理;
  • 覆盖 AI、固件、网络和移动端的端到端原型系统。

关键收获

  • 系统实践了 TinyML 和嵌入式 AI 部署
  • 搭建了完整的 边缘 AI 系统,包含 AI、固件、IoT 和移动端。
  • 理解了压缩、量化和运行时约束如何影响模型行为。
  • 建立了在严格资源限制下设计智能系统的工程思维。

这个项目为我后来研究 高效感知系统、通信受限学习和可部署智能体 打下了基础。