运用Edge Impulse实现MCU机器学习,试试吧~

本文介绍了如何使用Edge Impulse在微控制器上实现机器学习,阐述了tinyML的重要性和Edge Impulse平台的功能。通过一个声音识别的样例项目,详细讲解了从数据收集、模型训练到部署的全过程,展示了Edge Impulse在简化嵌入式设备机器学习开发上的便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

e6f1b36f6a1128838c5725ed78c5be44.png

作者 | Andrea Garrapa(意大利)

译者 | 禾沐

将AI应用带到边缘终端设备(智能手机、可穿戴、汽车和物联网设备等)可以降低功耗,并减少数据中心资源的负载,其中在MCU上实现机器学习是这种愿景中最为活跃的领域之一,tinyML是一个致力于该领域的新的研究方向。本文讲述了使用Edge Impulse训练验证模型、模型转换、生成代码并部署的过程。Edge Impulse是一个在边缘设备上进行机器学习的在线开发平台,正在获得嵌入式系统产业界的广泛支持。

业界对机器学习 的兴趣近来大增,已经有许多云应用帮助我们进行机器学习的开发。但是,如果应用缺乏互联网连接,需要处理敏感数据,或者要求低延迟,在小型微控制器上运行机器学习会更为合理。本文通过一个样例项目演示使用Edge Impulse在小型、低功耗、低成本微控制器上进行机器学习的开发。

在应用端运行机器学习(ML)算法被称为边缘计算, 比如在工业园区的一个厂房内。在工业4.0和物联网中通过边缘计算使用ML意味着数据不会离开现场,基于ML的决策也可以被快速采用。模型的训练需要大量的计算,但是我们可以在小型、高性价比的微控制器上运行这些计算。基于非对称的ML的大量研究是tinyML基金会的成立的前奏。在嵌入式设备上运行机器学习模型的主要原因有三个:

•本地处理:避免传输传感器收集的数据。不需要互联网连接的话,设备部署的限制就会更少。

•低能耗:微控制器的能耗非常低。一个电池驱动的微控制器可以持续运行图像辨识算法一年。

•成本和部署:微控制器普适而且低成本,方便ML模型的部署。通过简单的软件升级,它们可以很快部署新的或者升级后的模型,而不需要替换硬件。

tinyML依然是一个比较新的研究方向,但是其应用非常广泛,包括农业、医疗和预测性维护等。

Edge Impluse

Edge Impluse(tinyML即服务)通过一个开源的设备软件开发套件(SDK)为开发者提供机器学习的支持,包括简单的传感器数据收集、实时信号处理、测试和在任意目标设备上部署的能力,用户还可以扩展和贡献你的算法以及对设备的支持。所有设备软件:SDK、客户端和生成的代码,都以Apache 2.0协议授权。Edge Impluse与TensorFlow Lite Micro项目的协作意味着Edge Impulse可以使用的ML架构、操作和目标更广泛。Edge Impulse SDK面向个人开发者免费,针对在产品中使用SDK的团队则有企业版订阅付费模式。

创建账户并登录之后,你就可以创建你的第一个tinyML项目了,如图1所示,SDK的界面简洁、直观。

b74f9fee8f854714f108eb22dd9e485f.png

图1  Edge Impulse SDK仪表盘

登录之后,仪表盘(Dashboard)显示项目的概况,以及如何启动你的第一个项目,或者继续一个现有项目的指南。界面左侧,在仪表盘下方是其他的主菜单选项,它们的顺序反映了开发的不同阶段,比如设备(Devices)页显示已连接的设备列表,数据获取(Data acquisition)则显示已经收集好的测试和训练数据。Impulse设计(Impulse design)创建一个Impulse,Impulse是一个接收原始数据、运用信号处理提取特性和通过学习块对新数据进行分类的过程。

连接设备时,需要参照仪表盘画面中间的指示,也可以前往设备栏点击连接新设备(Connect a new device)。开发环境支持下列设备:

•ST IoT Discovery Kit:即B-L745E-IOT01A,开发板上搭载使用Cortex-M4处理器的微控制器、MEMS动作传感器、麦克风和WiFi。

•Arduino Nano 33 BLE Sense:一个小尺寸的开发板,上面搭载基于Cortex-M4的微控制器、动作传感器、麦克风和BLE。

•AI ECM3532 Eta Compute Sensor:一个小尺寸的开发板,上面的TENSAI ECM3532 SoC搭载基于Cortex-M3的微控制器和一个单独的CoolFlux DSP用于机器学习的加速。开发板上有两个麦克风&#

<think>好的,用户想了解AI嵌入式开发的学习路径和方向,需要路线图和资源推荐。首先,我需要整合之前提供的嵌入式学习路线,再结合AI部分。 用户之前的引用中提到了嵌入式的基础阶段,包括C语言、MCU、数据结构和Linux基础。这些是核心,必须包括进去。然后AI嵌入式可能涉及机器学习、边缘计算、框架部署等。 要考虑如何将AI与嵌入式结合,比如模型压缩、嵌入式AI框架如TensorFlow Lite Micro,还有硬件加速如NPU的使用。需要分阶段,从基础到进阶,再到实战项目。 资源方面,用户之前提到的在线书籍、Gitee仓库、知乎专栏都可以推荐,还要补充AI相关的资源,比如经典教材、开源框架文档、开发板教程。 可能用户是毕业生或转行者,需要详细且系统的路线,避免他们走弯路。同时,要强调实践和项目经验,这对就业竞争力很重要。还要注意引用之前的参考,但用户给的引用其实更多是嵌入式基础,AI部分需要另外补充,但根据指令,应该基于提供的引用,可能需要在回答中合理引用提到的资源,即使它们不完全相关。 需要检查结构是否清晰,分阶段,每个阶段的关键知识点和资源,最后相关问题要围绕AI嵌入式开发的可能疑问,比如模型优化、框架选择、硬件选型等。</think>### AI嵌入式开发学习路线图及资源推荐 #### 一、基础阶段(3-6个月) 1. **嵌入式开发基础** - **C语言**:掌握指针、结构体、内存管理等核心概念(建议完成10+实战项目) - **MCU开发**:学习STM32/Hi3861开发,通过GPIO、UART、ADC等外设驱动编写理解硬件交互 - **Linux系统**:掌握Shell脚本、文件系统、进程管理,可参考韦东山《嵌入式Linux应用开发详解》[^3] 2. **AI基础** - **Python编程**:重点学习NumPy/Pandas数据处理库 - **机器学习基础**:理解线性回归、SVM、决策树等算法原理 - **深度学习入门**:学习CNN/RNN基础架构,推荐《深度学习入门:基于Python的理论与实现》 #### 二、进阶阶段(6-12个月) 1. **嵌入式AI技术栈** - **模型压缩**:掌握剪枝(Pruning)、量化(Quantization)、知识蒸馏等方法 - **嵌入式框架**: - TensorFlow Lite Micro(支持Arm Cortex-M系列) - NVIDIA TensorRT(面向Jetson系列) - 华为MindSpore Lite(适配昇腾芯片) - **硬件加速**:学习NPU/GPU编程(如Jetson的CUDA加速) 2. **边缘计算开发** - 掌握MQTT/CoAP物联网协议 - 学习边缘端模型更新技术(如Federated Learning) - 实践AIoT项目:智能摄像头、工业预测性维护等 #### 三、实战阶段(持续进行) 1. **典型开发板推荐** - 低成本方案:STM32+Edge Impulse(支持TinyML) - 中端方案:树莓派4B+Intel神经计算棒 - 高端方案:NVIDIA Jetson Nano/Xavier NX 2. **开源项目实践** ```python # 示例:TensorFlow Lite Micro语音唤醒实现 import tflite_micro as tflm model = tflm.Interpreter(model_path="wake_word.tflite") input_details = model.get_input_details() output_details = model.get_output_details() model.set_tensor(input_details[0]['index'], audio_data) model.invoke() prediction = model.get_tensor(output_details[0]['index']) ``` #### 四、学习资源推荐 1. **文档类** - [嵌入式AI开发白皮书](https://gitee.com/zhengnianli/EmbedSummary) [^2] - 《AI嵌入式系统:算法、优化与实现》 2. **视频教程** - 韦东山《嵌入式Linux+AI实战课程》[^3] - Coursera《TinyML and Embedded Machine Learning》 3. **开发工具** - STM32Cube.AI(自动模型转换工具) - EdgeX Foundry(边缘计算框架) - LattePanda Delta(x86架构嵌入式开发板) [^1]: 初级阶段建议重点打好C语言和Linux基础 [^3]: 学习过程中应注重硬件驱动开发能力的培养
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值