0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Edge Impulse为STM32开发人员提供机器学习

星星科技指导员 ? 来源:意法半导体 ? 作者:意法半导体 ? 2022-05-12 15:34 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

使用 Edge Impulse,可以创建嵌入微型机器学习和 DNN 模型的智能设备解决方案。基于云的解决方案抽象了现实世界传感器数据收集和存储、数据特征提取、ML 和 DNN 模型训练和转换为嵌入式代码以及在 STM32 MCU 设备上部署模型的复杂性。无需安装本地 AI 框架,工程师只需一次函数调用即可生成模型并将其导出到他们的 STM32 项目中。所有生成的神经网络现在都充分利用 STM32Cube.AI以确保它们尽可能快速和节能地运行,并且可以使用STM32CubeMX完全定制固件。

微控制器上部署机器学习 (ML) 模型是过去几年最激动人心的发展之一,它允许小型电池供电设备检测复杂运动、识别声音、分类图像或发现传感器数据中的异常。为了让每个嵌入式开发人员都可以构建和部署这些模型,STMicroelectronics 和 Edge Impulse 一直在合作,将对 STM32CubeMX 和 STM32Cube.AI 的支持集成到 Edge Impulse。Edge Impulse Cloud 现在能够通过本地 STM32Cube.AI 引擎导出神经网络,以确保将最佳效率导入与 STM32CubeMX 项目兼容的 CMSIS PACK。这为开发人员提供了一种简单的方法来收集数据、构建模型并部署到任何 STM32 MCU。

小型设备的机器学习

嵌入式系统上的机器学习(通常称为 TinyML)有可能允许创建无需将数据发送到云端就可以做出明智决策的小型设备——从效率和隐私的角度来看非常棒。为了在微控制器上运行深度学习模型(基于人工神经网络),ST 推出了STM32Cube.AI。STM32Cube.AI 是一个软件包,可以采用预先训练的深度学习模型,并将它们转换为可以在 STM32 MCU 上运行的高度优化的数学 C 代码。提取正确的特征、构建质量数据集以及训练模型以便将其部署到 STM32 上,这些都是构建基于 ML 的解决方案的关键步骤。

机器学习让一切变得简单

嵌入式开发人员可能天生对机器学习持怀疑态度。在嵌入式设备上分析传感器数据并不是什么新鲜事。几十年来,开发人员一直在使用信号处理从原始数据中提取有趣的特征。然后通过简单的基于规则的系统解释信号处理的结果,例如,当信号中的总能量超过阈值时发送消息。尽管这些系统运行良好,但很难检测到复杂的事件,因为您需要针对系统的每个潜在状态进行规划。

Edge Impulse 有助于可视化特征以理解复杂的数据集

我们可以用机器学习做的是在更细粒度的问题中找到这些边界和阈值。例如,在异常检测中,您可以训练一个机器学习模型(经典或神经网络)来查看数据集中的所有数据,根据信号处理管道的输出对它们进行聚类(仍然与您使用的 DSP 指令相同)总是),然后将新数据与集群进行比较。监督模型学习数据中的所有潜在变化,并创建比手动构建更精确和细粒度的阈值。

poYBAGJ8uKqAIN_IAAVJLhrk5BE251.png

学习集群的小型机器学习模型。蓝点代表训练数据,蓝色圆圈是机器学习模型学习的集群。橙色点是传入的新数据。由于数据在任何已知集群之外,这是一个异常现象。

而且由于这些阈值可以在如此细粒度的问题中自动计算,因此可以检测到更复杂的事件。编写检测麦克风何时拾取高于 100dB 的声音的代码相对容易,但检测一个人是否说“是”或“否”则非常复杂。机器学习确实在那里大放异彩。

不是黑匣子

但是将控制权交给机器学习模型可能会很可怕。如果您在数百万台设备中部署模型,您希望确保该模型确实有效,并且您没有错过任何边缘情况。为了解决这个问题,Edge Impulse 倾向于传统的信号处理管道与小型 ML 模型搭配,而不是深度 ML“黑盒类型”模型;它有许多可视化工具来帮助确定数据集的质量,根据当前模型分析新数据,并在真实设备上快速测试模型。特征浏览器根据 3D 图形中所有生成的窗口绘制提取的特征,允许开发人员探索数据集并了解这些特征是否可以轻松地被模型分离。

poYBAGJ8uLaAbF-VAAOEp1rYIe8425.png

在 Edge Impulse 中可视化口语关键字。每个点代表 1 秒的音频。可以快速查看异常值,您可以单击一个点来收听关键字。

使用 STM32Cube.AI 在顶部添加神经网络模型

例如,在为分类或回归任务构建神经网络时,优化目标微控制器的模型占用空间和执行时间至关重要。Developers automatically benefit from all STM32Cube.AI optimizations as the tool is automatically called in the Cloud when the STM32Cube.AI CMSIS-PACK export option is selected.

STM32Cube.AI 执行模型量化和其他优化,允许以最小的性能下降进行压缩,并为所有 STM32 微控制器生成优化的 C 代码。

STM32Cube.AI CMSIS-PACK 部署将整个模型打包,包括所有信号处理代码和机器学习模型,并创建一个与 STM32CubeIDE 集成的 CMSIS-PACK。此包可在任何 Cortex-M4F、Cortex-M7 或 Cortex-M33 STM32 MCU 上运行。

要将 CMSIS-PACK 添加到您的 STM32 项目中,请按照分步指南进行操作。然后,您可以为在 STM32Cube 环境中嵌入机器学习模型的任何基于 STM32 的产品开发自定义固件。

审核编辑:郭婷

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

    关注

    48

    文章

    7984

    浏览量

    156764
  • 神经网络
    +关注

    关注

    42

    文章

    4814

    浏览量

    104476
  • 机器学习
    +关注

    关注

    66

    文章

    8513

    浏览量

    135107
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    这对开发人员意味着什么,以及使用Neuton 模型如何改进您的开发和最终应用。 ML 模型对于您所选微控制器的内存来说太大。 创建自定义ML 模型本质上是一个手动过程,需要高水平的数据科学知识
    发表于 07-31 11:38

    【RA8D1-Vision Board】openmv实现鸟巢识别 | 技术集结

    ,并在边缘设备上运行这些模型,而无需互联网连接。EdgeImpulse提供了一系列的工具和库,使开发人员能够快速有效地构建和部署自定义的嵌入式机器学习应用程序。之
    的头像 发表于 06-22 09:33 ?247次阅读
    【RA8D1-Vision Board】openmv实现鸟巢识别 | 技术集结

    Thingy:91 X 开发人员提供了一个经过全球认证的、多传感器、电池供电的蜂窝物联网原型平台

    Thingy:91 X 开发人员提供了一个经过全球认证的、多传感器、电池供电的蜂窝物联网原型平台 挪威奥斯陆 – 2024年12月10日 – 全球领先的低功耗无线连接解决方案提供商N
    的头像 发表于 05-08 17:41 ?1618次阅读

    NanoEdge AI Studio 面向STM32开发人员机器学习(ML)技术

    NanoEdge? AI Studio*(NanoEdgeAIStudio)是一种新型机器学习(ML)技术,可以让终端用户轻松享有真正的创新成果。只需几步,开发人员便可基于最少量的数据
    的头像 发表于 04-22 11:09 ?669次阅读
    NanoEdge AI Studio 面向<b class='flag-5'>STM32</b><b class='flag-5'>开发人员</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>(ML)技术

    基于RV1126开发板的人员检测算法开发

    在RV1126上开发人员检测AI算法组件
    的头像 发表于 04-14 13:56 ?371次阅读
    基于RV1126<b class='flag-5'>开发</b>板的<b class='flag-5'>人员</b>检测算法<b class='flag-5'>开发</b>

    面向AI与机器学习应用的开发平台 AMD/Xilinx Versal? AI Edge VEK280

    AMD/Xilinx Versal? AI Edge VEK280评估套件是一款面向AI与机器学习应用的开发平台,专为边缘计算场景优化设计。以下从核心配置、技术特性、应用场景及
    的头像 发表于 04-11 18:33 ?1482次阅读
    面向AI与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>应用的<b class='flag-5'>开发</b>平台 AMD/Xilinx Versal? AI <b class='flag-5'>Edge</b> VEK280

    机器开发套件 Kria KR260

    。KR260机器人入门套件提供基于ROS的开发体验,机器人和嵌入式开发人员
    的头像 发表于 04-11 13:15 ?940次阅读
    <b class='flag-5'>机器</b>人<b class='flag-5'>开发</b>套件 Kria KR260

    Raspberry Pi Pico 2 上实现:实时机器学习(ML)音频噪音抑制功能

    程序的开发方式。应用程序开发人员现在可以为所需系统整理包含大量输入和输出示例的数据集,然后使用这些数据集来训练ML模型。在训练过程中,ML模型从输入和输出中学习
    的头像 发表于 03-25 09:46 ?626次阅读
    Raspberry Pi Pico 2 上实现:实时<b class='flag-5'>机器</b><b class='flag-5'>学习</b>(ML)音频噪音抑制功能

    高通收购 Edge Impulse,助力 AI 与物联网新局面

    高通宣布与 Edge Impulse 达成收购协议,旨在进一步增强其在人工智能(AI)和物联网(IoT)领域的竞争力。高通表示,此次收购不仅丰富了其物联网战略,还为开发提供了更为强大
    的头像 发表于 03-11 18:15 ?451次阅读
    高通收购 <b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>,助力 AI 与物联网新局面

    芯科科技通过全新并发多协议SoC重新定义智能家居连接

    MG26系列SoC现已全面供货,开发人员提供最高性能和人工智能/机器学习功能
    的头像 发表于 03-05 09:31 ?617次阅读

    NVIDIA技术推动机器人仿真

    借助机器人仿真,开发人员能够在基于物理学的现实世界数字呈现中对机器人进行虚拟训练、测试和验证。
    的头像 发表于 01-03 14:10 ?551次阅读

    MSPDebugStack开发人员指南

    电子发烧友网站提供《MSPDebugStack开发人员指南.pdf》资料免费下载
    发表于 12-05 14:49 ?1次下载
    MSPDebugStack<b class='flag-5'>开发人员</b>指南

    贸泽开售适用于AI和机器学习应用的 AMD Versal AI Edge VEK280评估套件

    VEK280评估套件。Versal AI Edge VEK280评估套件采用AMD Versal AI Edge VE2802自适应SoC,该系列套件可帮助开发人员快速迭代其传感器融合和AI算法,用于
    发表于 11-21 14:23 ?401次阅读

    基于PYNQ和机器学习探索MPSOC笔记

    新版本中,不仅仅介绍了MPSOC的体系结构和应用场景,更是结合当前应用最广的PYNQ框架和机器学习应用进行分析。作为一本不可多得的免费电子英文书籍,本书既是使用Zynq MPSoC的开发人员的实用指南
    的头像 发表于 11-16 11:32 ?760次阅读
    基于PYNQ和<b class='flag-5'>机器</b><b class='flag-5'>学习</b>探索MPSOC笔记

    C2000 ePWM开发人员指南

    电子发烧友网站提供《C2000 ePWM开发人员指南.pdf》资料免费下载
    发表于 09-07 09:45 ?0次下载
    C2000 ePWM<b class='flag-5'>开发人员</b>指南