基于恩智浦Mi.MX RT700 MCU实现手势识别开发

描述

小编最近接了活,要在我们最新的MCU产品RT700上做手势识别的开发,可能小伙伴们才听过RT700,小编先来简单介绍一下:

i.MX RT700有5个计算内核,为支持智能AI的边缘端设备赋能,包括可穿戴设备、消费电子医疗设备、智能家居和HMI设备。其计算子系统包括一个运行频率为325MHz的主Arm Cortex-M33核,以及一个Cadence Tensilica HiFi 4 DSP,可执行要求更高的DSP和音频处理任务。一个超低功耗感知子系统包括第二个Arm Cortex-M33核和Cadence Tensilica HiFi 1 DSP。这样就不需要外部传感器集线器,从而降低了系统设计的复杂性、占用空间和BOM成本。i.MX RT700包括恩智浦的eIQ Neutron NPU,可将AI工作处理速度提高172倍,并集成了7.5MB的板载SRAM。系统框图和官网链接https://www.nxp.com.cn/products/i.MX-RT700:

ARM

回到正题,这好像是一个很简单的事情啊,先来个AI开发四联:

1.有数据集吗?有→下载看看,没有→自己拍一些?

2.模型结构是啥样的?是不是有开源的模型呢~

3.模型怎么办?自己搭一个吧~

4.模型部署?那当然是要用上NPU加速啊,不用的话,那哪能发挥RT700的全部实力,那可是内嵌了一颗NXP自研的NPU啊,可将AI工作处理速度提高172倍,简直如虎添翼。

这还真让小编找到了,那就是由Google推出的MediaPipe解决方案,可能有伙伴听说过这个框架https://ai.google.dev/edge/mediapipe/solutions/guide?hl=zh-cn:

Google MediaPipe是一个开源的跨平台框架,用于构建多模态(如视频、音频、传感器数据)的实时机器学习应用管道。它由Google Research开发并开源,专注于高效处理实时数据流,尤其适用于移动设备、边缘计算和嵌入式系统。

核心特点

1. 跨平台支持

支持 Android、iOS、Linux、macOS、Windows 和 Web,甚至嵌入式设备(如树莓派)

提供统一的API,简化多平台部署

2. 模块化设计

通过预构建的“计算单元”(称为 Calculators)组合成数据处理管道(Graph),开发者可以灵活定制或扩展功能

3. 高性能实时处理

优化了延迟和资源占用,适合实时应用(如摄像头流处理

支持 GPU 加速(通过 OpenGL/Vulkan)和硬件加速(如 Android Neural Networks API)

4. 丰富的预置解决方案

提供多种开箱即用的模型和管道:

人脸检测与网格(Face Detection/Mesh)

手势识别(Hand Tracking)

姿态估计(Pose Estimation)

物体检测与跟踪(Object Detection/Tracking)

语音识别(Audio Classification)

5. 支持自定义模型

可集成 TensorFlow、TFLite 或其他框架训练的模型

那么开心的事情就来了,这里恰好就有手势识别的项目https://ai.google.dev/edge/mediapipe/solutions/vision/gesture_recognizer?hl=zh-cn

我们可以调用MediaPipe的手势识别器来进行手部识别并能够标记出关键点:

ARM

太好了!那接下来就可以站在巨人的肩膀上开始搞事情了?虽然有了巨人的肩膀加持,但是我们其实才只走了 AI四步走的前两步:数据集+模型,真正的难点在于怎么部署我们的模型到MCU上。尤其是针对于这一类大佬开发的开源模型 + 闭源推理引擎来说,我们要自行摸索模型的部署,尤其是涉及到模型预处理部分。

下期小编和大家探讨要解决的一系列问题:

1.模型文件的转换:浮点 or 量化? 训练框架?

2.推理过程:使用了几个模型?输出结果的含义?

3.模型结构优化?

后面几期小编会为继续大家更新,敬请期待!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分