从 STM32 Model Zoo 看边缘 AI 的 14 个落地场景

声明: STM32 AI Model Zoo 是 STMicroelectronics 维护的开源项目。本文是阅读该项目源码、文档和模型清单后整理的学习笔记,用于理解边缘 AI 在微控制器上的工程落地方式。本文作者不是该项目的开发者,未参与该项目的任何代码贡献。 文中所有模型数据均来自项目文档与 manifest,不代表本文作者的设计决策。

边缘 AI 跑到了 MCU 上。Cortex-M4、Cortex-M7、Cortex-M85 —— 几十 MHz 主频、几百 KB SRAM —— 这些单片机现在能直接运行量化后的神经网络。

STMicroelectronics 开源的 stm32ai-modelzoo 是观察这个趋势的绝佳窗口。仓库收录了 14 个应用领域、43 个预训练模型,全部经过 INT8 量化,提供 TensorFlow Lite 和 ONNX QDQ 两种格式,可以直接部署到 STM32H7、STM32MP2、STM32N6 等目标平台。配套仓库 stm32ai-modelzoo-services 包含完整的训练脚本和模型架构源码。


一、视觉类(8 类)

视觉是边缘 AI 最密集的方向,从简单分类到像素级理解,Model Zoo 提供了完整的任务链。

图像分类

最基础的 CV 任务:输入一张图,输出类别标签。Model Zoo 提供了 29 个模型变体 —— 是数量最多的分类。TensorFlow 侧有 MobileNetV1/V2、EfficientNetV2、ResNet8/20/32 等经典架构;PyTorch 侧覆盖 20 种轻量网络,包括 ShuffleNetV2、RegNet、HarDNet、PeleeNet,以及 ST 自研的 ST-ResNet 系列(pico / nano / micro / milli / tiny 五个尺寸)。

图像分类

预训练数据集覆盖 ImageNet、Food101、CIFAR-10/100、TF Flowers、Plant Leaf Diseases 等。输入分辨率从 128×128 到 384×384 不等。

目标检测

框出物体位置并分类。16 个模型变体,YOLO 家族是主力:Tiny-YOLOv2、YOLOv8-n、YOLOv11-n、最新的 YOLO26-n,以及 ST 自研的 ST-YOLO-LC、ST-YOLO-X 系列。SSD/SSDLite + MobileNet 组合也在列。

目标检测

人脸检测

YuNet 和 BlazeFace Front 两个模型,输入分辨率 128×128 和 320×320。输出人脸框和关键点(眼睛、鼻子、嘴角),通常作为人脸识别 pipeline 的第一级。

姿态估计

检测人体 17 个关键点。包含 MoveNet(ST 改进版)、YOLOv8-n Pose、YOLOv11-n Pose,以及手部关键点和头部关键点专用模型。

姿态估计

语义分割

给每个像素打类别标签。基于 DeepLabV3 + MobileNetV2 backbone,256×256 和 320×320 两种分辨率。在 NPU 加速的 STM32N6 上可以实时运行。

语义分割

实例分割

比语义分割更进一步 —— 区分同一类别的不同实例。YOLOv8-n Seg 和 YOLOv11-n Seg 两个模型,需要 NPU 加速。

深度估计

从单张 2D 图像推断每个像素的距离。FastDepth 模型,基于 NYU Depth v2 数据集训练。

神经风格迁移

把照片转换成指定艺术风格。Xinet-Picasso-Muse 模型,输入 160×160,在 COCO 上训练。Model Zoo 里最"好玩"的模型,也可用于相机实时滤镜和 AR 特效。


二、音频类(2 类)

音频事件检测

识别声音中的特定事件:玻璃破碎、婴儿哭声、警报声等。MiniResNetV1/V2 和 YAMNet(多种嵌入尺寸),输入是梅尔频谱图。

音频事件检测

语音增强

从嘈杂环境中提取干净人声。STFT-TCNN 模型,在 Valentini 数据集上训练。输入带噪语音的 STFT 频谱,输出降噪后的语音。


三、传感类(4 类)

视觉和音频之外,Model Zoo 还覆盖了基于传感器信号的四个场景。

人体活动识别

通过加速度计数据判断行走、跑步、静坐等状态。ST-GMP 和 ST-IGN 两个模型,输入 48×3 的时序数据(48 个时间步、3 轴加速度)。模型极小,Cortex-M4 可跑。

人体活动识别

手势识别

用 ToF 测距传感器(VL53L5CX / VL53L8CX)识别 8 种手势。ST-CNN2D HandPosture 模型。ToF 只拿到低分辨率深度图,天然隐私友好,适合公共场所。

电弧故障检测

检测电路中的电弧 —— 电气火灾的主要成因之一。ST-Conv(时域 CNN)和 ST-Dense(频域全连接)两个模型,输入电流采样序列。

电弧故障检测

人员重识别

判断两张照片中是否为同一个人。MobileNetV2 和 OSNet 两个模型,256×128 输入分辨率。多摄像头跟踪系统的关键组件。


四、模型架构完全开源

模型架构定义代码在 stm32ai-modelzoo-services 中完整开源。以图像分类为例:

image_classification/
├── tf/src/models/
│   ├── mobilenetv1.py        # MobileNetV1
│   ├── mobilenetv2.py        # 倒置残差 + 线性瓶颈
│   ├── efficientnetv2.py     # EfficientNetV2 B0~S
│   ├── resnet.py             # ResNet8/20/32
│   ├── squeezenetv11.py      # Fire 模块
│   └── ...
├── pt/src/models/
│   ├── mobilenetv1/          # PyTorch 版
│   ├── mobilenetv3/
│   ├── edgevit/              # EdgeViT
│   ├── stresnet/             # ST 自研 ResNet 系列
│   └── ...

每个 .py 文件是完整的模型类定义,可以逐行阅读、修改宽度因子、换激活函数、加注意力模块。通过 stm32ai_main.py 加 YAML 配置文件驱动全流程:训练 → 评估 → 量化 → 部署。

主仓库提供的是量化后的推理文件:TFLite INT8(全整数量化)和 ONNX QDQ(支持混合精度 w4/w8/a8)。


五、为什么在 MCU 上跑 AI

云端 GPU 算力远超 MCU,但在以下四个维度上本地推理有不可替代的优势:

维度 云端推理 MCU 本地推理
延迟 50-500ms(含网络往返) 1-50ms
隐私 数据上传服务器 数据不出设备
功耗 WiFi/4G 持续工作 毫瓦级
离线 断网不可用 始终在线

一个典型场景:智能门铃的人形检测。如果每帧图像上传云端,延迟高、云服务持续计费、有隐私顾虑。在 STM32 上本地跑一个 300KB 的 SSD-MobileNet 模型,50ms 出结果,功耗不到 100mW。


六、总结

STM32 AI Model Zoo 覆盖了边缘 AI 的主流应用方向。从 43 个预训练模型出发,配合 modelzoo-services 的训练工具链,可以做到:选模型 → 改模型(微调或从头训练)→ 量化导出 → 上板运行。

如果你在做需要本地智能的嵌入式产品 —— 无论是产线视觉质检、智能门铃、可穿戴运动追踪,还是工业电弧检测 —— 这个仓库是一个务实的技术起点。


相关链接:

本文基于 STM32 AI Model Zoo v4.1(2026 年 4 月发布)撰写。