上一篇文章,小编写了一篇“为什么AI会改变单片机的未来?的文章,引起来广泛的留言、关注和加群的讨论。大多数读者的诉求是提供真实案例。

这不案例来了。(欢迎收藏+关注)

1、TinyML是什么?

在提供和讲解真实案例之前,我们需要先了解一下什么是TinyML。

TinyML(Tiny Machine Learning)是一种小型的推理模型,是在资源、算力与能耗都极度受限的微控制器(MCU)上运行的机器学习推理。

TinyML 的目标不是“把会聊天的大模型塞进 MCU”。它要解决的是:在毫瓦级功耗下,设备能否在本地做稳定的模式识别简单预测

现阶段,在单片机中的小型推理模型中的典型任务包含:关键词唤醒(KWS)、设备异常检测、姿态/手势识别、小型视觉分类或“是否有人”等。

TinyML 与“边缘 AI”还不太一样。边缘 AI 可以依赖瓦级算力(树莓派、Jetson 等),而 TinyML 的约束来自微控制器:SRAM 以百 KB 计、Flash 以 MB 计、算力以百 MHz 计、总线/缓存紧张。它擅长在噪声里找模式,而不是做长文本理解或大规模检索。

为什么TinyML正在成为主流?主要有三点原因:

  • 能耗与隐私
    传感器“永远在线”时,把全部原始数据上传到云是不可承受的;端侧只上传“事件”,既省电也合规。
     
  • 延迟
    很多动作(断电、急停、报警)不能等云端;由于云端的延时以及端侧推理的时间,会让系统更像“反射弧”。
     
  • 成本
    一个高性价比 MCU + 小模型,比“云传输 + 云算 + 云存储”更可控,稳定性也更好。

图片

2、什么MCU 适合做 TinyML?

先看“上板门槛”。如果我们的芯片满足下面这些条件,大概率可以把首个 Demo 跑起来。

维度

建议下限

要点

Flash(程序+模型)

≥ 512 KB(建议 1 MB)

运行库、模型、驱动和你的业务代码都会占空间;KWS/手势类模型常在几十至百 KB。

SRAM(推理 arena + 堆栈)

≥ 128 KB(建议 256 KB)

真正决定成败的是“中间张量峰值”,而不是总内存;必须测峰值。

核与指令

Cortex-M4F/M33/M55@80–200 MHz

有 DSP/向量/Helium 指令,卷积/点积会快很多;持续省电靠更短占空比。

外设链路

DMA + 定时器 + I2S/DFSDM/DVP

音频/摄像头不上 DMA,CPU 会被搬运任务拖垮;先把数据搬运跑稳再谈模型。

能耗预算

毫瓦级“始终在线”

唤醒链路设计成两到三级:小模型判定事件,再启动大模型或云端流程。

工具链

TFLite Micro / LiteRT、CMSIS-NN

成熟工具 = 少走 80% 弯路;可直接拿样例跑通,再替换你自己的模型。

做可行性评估的时候,务必还需要落实两件事:

  1. 把 tensor arena 的峰值量出来

    模型上板后打印实际占用,并与中断栈、任务栈、DMA 缓冲放在同一张图里。

  2. 把端到端延迟量出来

    采样→特征→推理→动作——每一段都打点,不要只看 Invoke() 时间。

3.可复制的开源案例(附 GitHub 路径)

不能登录GitHub的可以加小编的微信,我可以单独分享链接

案例 A|端侧关键词唤醒(KWS)

  • 思路

    PDM/I2S 麦克风 → MFCC → 轻量 CNN(或 DS-CNN)→ 执行动作。

  • 开源工程
    1.ARM 官方 micro_speech示例(支持虚拟硬件与实板):https://github.com/ARM-software/AVH-TFLmicrospeech 

图片

图片

图片

2.约 20 KB 权重的 “Yes/No” KWS 示例(Arduino):

https://github.com/martishin/arduino-tinyml-speech-recognition

图片

图片

3.Edge Impulse 的 KWS 脚手架(含数据采集与部署流程)

https://github.com/ShawnHymel/ei-keyword-spotting

    图片

    图片

    案例 B|微型“人形检测”(摄像头)

    • 思路
      低分辨率灰度输入 → 轻量 CNN → 是否有人/是否运动。
    • 开源工程
      ESP32-CAM 上运行 TFLM 的 person_detection 示例(Arduino 草图展示):
      https://www.instructables.com/ESP32-CAM-Person-Detection-Expreiment-With-TensorF/

      图片

    案例 C|“带加速单元”的微控板

    • 思路
      MCU + 小型 NPU/TPU 的异构组合,端侧加速器承载更大的模型。
    • 资料
      Google Dev Board Micro 的 TFLM 工作流与板上摄像头/麦克风实践介绍:https://blog.tensorflow.org/2023/02/tensorflow-lite-micro-with-ml-acceleration.html

    图片

    推荐几个小编关注的学习AI和大模型的公众号:

    Logo

    更多推荐