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算法支持
相关推荐
装不满的克莱因瓶9 分钟前
学习 LLM 的函数回调及格式化输出,让 LLM 拥有更强的能力
人工智能·ai·大模型·llm·agent·智能体
涤生大数据11 分钟前
从 ETL 到 Agent:AI数据工程如何搭建企业级“数据工厂“
数据仓库·人工智能·etl
手写码匠16 分钟前
手写 DeepSeek 推理引擎优化:从 FP16 到 INT4 的量化加速实战
人工智能·深度学习·算法·aigc
SUNNYSPY00117 分钟前
BSS138-ASEMI中低压通用MOS管BSS138
单片机
国科安芯22 分钟前
国科安芯推出商业航天级抗辐照半双工 RS485 收发器 ASC485S2Y
前端·单片机·嵌入式硬件·架构·安全性测试
落叶无情23 分钟前
评审icef框架是否能认定为“认知操作系统”
人工智能
zhangfeng113328 分钟前
天数智芯天垓 100 加密大模型分布式部署安全方案
人工智能·分布式·安全·transformer·gpu算力·芯片
明志数科32 分钟前
机器人长尾场景数据采集:实操方法论与成本控制
大数据·人工智能
lifallen39 分钟前
第六章 MCP:把能力接入协议化
人工智能·ai·语言模型·ai编程
code 小楊42 分钟前
AI Agent记忆系统全解析:从基础到前沿
人工智能