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算法支持
相关推荐
爱笑的眼睛118 分钟前
超越`cross_val_score`:深入剖析Scikit-learn交叉验证API的设计哲学与高阶实践
java·人工智能·python·ai
火山引擎开发者社区13 分钟前
两大模型发布!豆包大模型日均使用量突破 50 万亿 Tokens
大数据·人工智能
小尘要自信15 分钟前
Bright Data AI Scraper Studio:企业级AI爬虫解决方案,让数据采集更智能
人工智能·爬虫·通过ai自动化爬虫·prompt生产爬虫·云端爬虫平台
丝瓜蛋汤15 分钟前
chunking-free RAG简介
人工智能·深度学习·机器学习
虹科汽车电子22 分钟前
重新定义精密协作:低成本CAN FD如何赋予机器人「指尖智慧」?
人工智能·can总线·机器人灵巧手
Big_潘大师28 分钟前
十轴IMU模块-AHRS角度姿态、加速度计、磁力计、气压陀螺仪传感器
stm32·单片机·嵌入式硬件·arduino·陀螺仪
王中阳Go36 分钟前
09 Go Eino AI应用开发实战 | Hertz Web 框架搭建
人工智能·后端·go
智驱力人工智能1 小时前
从人海战术到智能巡逻 城市街道违规占道AI识别系统的实践与思考 占道经营检测系统价格 占道经营AI预警系统
人工智能·安全·yolo·目标检测·无人机·边缘计算
STLearner1 小时前
VLDB 2025 | 时间序列(Time Series)论文总结(预测,异常检测,压缩,自动化等)
数据库·人工智能·深度学习·神经网络·机器学习·数据挖掘·时序数据库
GEO-optimize1 小时前
2025年末GEO服务商推荐甄选:综合实力测评及优选指南
人工智能·搜索引擎·geo