MobileNetV1 0.25× 在 STM32F429 上的量化部署与离线手势控制
initialwd
2026年10月09日 23:16
AI创作者

GestureScreen 的核心是将 int8 量化的六分类 MobileNetV1 0.25× 模型部署到STM32F429IGT6芯片上,在微控制器上完成离线手势推理。OV2640 采集的图像经板端预处理后转换为 96×96 RGB 输入;模型输出再经过时序判定,驱动选书、进入和翻页操作。阅读界面显示于 800×480 RGB 屏。图像采集、模型推理和交互控制均在板端完成,运行时无需电脑或云端。

系统实现

image

摄像头输出的 RGB565 图像经 DCMI 和 DMA 写入 SDRAM 帧缓冲。固件从帧中心裁取 192×192 区域,缩放并转换为 96×96 RGB int8 输入,供 MobileNetV1 0.25× 模型推理。模型采用人工标注数据进行监督训练,未使用教师模型或知识蒸馏。

为避免单帧误分类直接引起页面跳转,系统在模型输出后加入时序判定:页面操作要求分类分数达到 90%、领先第二类至少 20%,并持续约 400 ms/3 帧。Windows 端的 Gesture Studio 用于图像采集与检查,不参与板端运行。

实验结果与测量边界

image

冻结的部署版 int8 模型在私人数据集上的离线单帧分类结果为:验证集 293/361(81.16%),测试集 294/350(84.00%)。部分样本中的手势较小或存在歧义,但目前没有系统性的实际使用准确率测量,因此不据此推算交互准确率。

在最终固件上记录的 72 次完整实板推理中,单次推理墙钟耗时为 153–182 ms,中位数为 158 ms;图像预处理另需 25–40 ms。原定的 100 ms 推理目标尚未达到。上述准确率属于离线单帧分类指标,耗时属于板端推理测量,两者均不等同于端到端手势操作成功率。

开源与复现范围

GitHub仓库:Geruyang/GestureScreen: Offline STM32F429 gesture-controlled reader with OV2640, on-device AI, and Windows USB/Ethernet capture studio​

演示视频:https://geruyang.github.io/GestureScreen/

仓库公开固件源码、CubeMX/Keil 工程、部署模型、最终固件、采集工具及验证脚本。训练数据由项目作者录制,包含个人影像,因此原始图像和标注不公开;其他开发者可使用自行采集且有授权的数据复现训练与部署流程,但无法凭公开仓库复算上述私人数据集上的准确率。