MCU上跑AI—实时目标检测算法探索

MCU上跑实时目标检测算法

前几年一直忙着别的事情没有在技术分享上下功夫, 这段时间稳定下来就想和几个志同道合的朋友做点有意义的事情, 于是乎就使用MCU做了个与AI有识别相关的 "小玩意儿".

本人负责嵌入式端相关的编码, AI相关的工作由好友 AgeWang 负责.

这儿把一些成果给大家展示一下, 希望能给广大开发者提供一个简单的思路, 仅作参考

在大家印象中, AI 这种高大上的玩意儿一般是在 A系列 的芯片上面跑的, 当然本人也接触过一些 A系列 芯片, 一般的性能差一点的芯片跑起来也非常吃力, 但要说在 MCU 芯片上冕能跑AI是都不都不敢想. 但是现如今确确实实是行, 而且效果还不错.

话不多说进入真题, 先给大家展示一下效果:


展示环节

  • 模型优化: 在 MCU 资源限制下重新设计算法结构, 网络结构依然超过了150层, 确保检测精度不崩。
  • 部署优化 : 针对 Cortex M 指令集做了底层优化。
  • 后处理: 用了简化版的 NMS, 保证速度够快, 占用也小。
  • 内存管理: 最大化复用中间 Buffer, 推理时只占用 248KB RAM, 这对于一般 512KB RAM 的中高端 MCU 来说完全可以接受。
  • 推理性能 : 在 Cortex-M33 上, 通过指令集加速优化, 算法一秒大约推理 8帧 图像(单帧 124ms)。



MCU实时目标检测


  • 检测效果: 在行人检测数据集上, mAP 超过 60, 同时也能迁移到火焰、任意自定义目标检测任务。

所需资源

模块 介绍 最低成本(元)
摄像头 主要用于视频图像的采集 5
显示器 主要用于视频图像的显示 10
MCU 主要是协调摄像头得采集, AI的计算以及LCD显示屏的显示 6
外围电路 PCB板(最小系统所需的基本电路)

备注: 以上成本仅供参考(如果想要显示效果更好, AI识别更快价格也就更贵)

以上是所需的基本硬件模块, 当然也可以直接打板不使用模块.

本演示主要是通过摄像头采集图像至 MCU, MCU 执行 AI yolo 算法, 获取结果, 通过 LCD 显示. 如下图所示:

扩展思考

  • 输入端除了火焰, 还可以是其他物品猫, 狗, 鸟, 也可以是人, 也可以是人的不同形态, 如跌倒的老人或者小孩儿.
  • 输入的除了图像也可以是音频, 温湿度, 光照强度, 当然也可以是他们的组合
  • 输出端除了 LCD显示屏, 也可以 I/O 输出, 如开关门, 浇水, 喂鱼等

其他尝试

  • 本人在多款MCU都测试过, 如 STM32 ESP32 等, 只要基本的RAM合适, 看理论上都能进行运行AI算法.
  • STM32STM32Cube.AI 专门为 AI 进行了优化
  • ESP32 也有专门的库以及demo, 可供大家参考


备注

  • 感谢 AgeWang 提供AI算法支持
相关推荐
zhangfeng113343 分钟前
国家超算中心 scnet.cn 跨用户文件分享流程总结 多个用户之间 文件共享 不需要反复下载上传
人工智能·语言模型·大模型
ting94520004 小时前
Tornado 全栈技术深度指南:从原理到实战
人工智能·python·架构·tornado
果汁华4 小时前
Browserbase Skills:让 Claude Agent 真正“看见“网页世界
人工智能·python
ZhengEnCi4 小时前
04-缩放点积注意力代码实现 💻
人工智能·python
HackTwoHub5 小时前
AI大模型网关存在SQL注入、附 POC 复现、影响版本LiteLLM 1.81.16~1.83.7(CVE-2026-42208)
数据库·人工智能·sql·网络安全·系统安全·网络攻击模型·安全架构
段一凡-华北理工大学5 小时前
【高炉炼铁领域炉温监测、预警、调控智能体设计与应用】~系列文章08:多模态数据融合:让数据更聪明
人工智能·python·高炉炼铁·ai赋能·工业智能体·高炉炉温
wenha5 小时前
大模型基础(五):RAG入门-让大模型学会"开卷考试"
ai
Deitymoon5 小时前
STM32——蓝牙模块双串口控制led
stm32·单片机·嵌入式硬件
RedAnts6 小时前
1931年的大模型能写代码?GPT之父的"穿越"实验,撕开了AI界最大的谎言
ai
网络工程小王6 小时前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习