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

    文章

    7490

    浏览量

    151056
  • 神经网络
    +关注

    关注

    42

    文章

    4764

    浏览量

    100542
  • 机器学习
    +关注

    关注

    66

    文章

    8378

    浏览量

    132415
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    如何在Python中开发人工智能

    在Python中开发人工智能(AI)是一个广泛而深入的主题,它涵盖了从基础的数据处理到复杂的机器学习、深度学习以及自然语言处理等多个领域。
    的头像 发表于 07-15 15:01 1905次阅读

    【xG24 Matter开发套件试用体验】初识xG24 Matter开发套件

    和 Qwiic® 连接器对硬件附加板提供支持。硬件附加支持允许开发人员使用来自 mikroE、Sparkfun、AdaFruit 和 Seeed Studios 的现成板进行各种组合,来创建和原型化应用程序
    发表于 07-11 23:31

    求助,关于PSoC™ Edge E84的几个疑问求解

    。 如何获取 BSP,还是自己编写 PSoC edge 的 BSP? 问题 3:最新的 ModusTool Box 早期访问包是什么? 这是否意味着机器学习包?
    发表于 07-03 07:29

    《软件开发珠玑》+60条戒律

    包含需求、设计、项目管理、文化和团队合作、质量、过程改进6个方面的内容,提供了丰富、实用的工具和方法。当开发人员更好的理解了需求时,便能够从用户的角度触发思考更优秀的解决方案。从这点来看,每个软件开发人员或团队应人手一份这本书,
    发表于 06-24 19:27

    嵌入式开发就业前景怎么样?

    ,嵌入式开发的主要工作是开发各种医疗设备和系统,如医疗影像、医疗机器人、远程诊疗等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感器、通信技术、医疗数据处理等,同时也需要具
    发表于 06-07 14:51

    芯海 32 位 MCU 开发调试 ,基于 VS Code 插件实现芯海 32 位 MCU 开发调试

    由于某些客户受到 Keil/IAR 的使用限制,可能需要提供 GNU ARM GCC 开发调试支持,开发人员需要自己搭建 GCC 编译开发环境,需要
    发表于 05-16 10:46

    村田与Infineon公司合作开发物联网设备新解决方案

    支持更加简单高效的开发活动 株式会社村田制作所与Infineon Technologies AG (总公司位于德国,以下简称“Infineon公司”)展开业务合作,提供面向物联网设备开发人员
    的头像 发表于 05-15 13:21 316次阅读
    村田与Infineon公司合作<b class='flag-5'>开发</b>物联网设备新解决方案

    三星停止自动驾驶研究,开发人员转到机器人领域

    近日,三星电子宣布了一项重要的研发战略调整。据业内人士透露,三星先进技术研究院(SAIT)已决定停止自动驾驶汽车的研究,并将这一领域的开发人员转移到机器人领域。
    的头像 发表于 05-13 09:21 418次阅读

    英飞凌发布新一代PSOC™ Edge产品组合, 物联网、消费和工业应用提供强大的AI功能

    开发人员能够快速将概念转化为产品,并将支持机器学习的全新物联网 (IoT)、消费和工业应用推向市场。   PSOC™ E
    发表于 04-24 13:45 634次阅读
    英飞凌发布新一代PSOC™ <b class='flag-5'>Edge</b>产品组合, <b class='flag-5'>为</b>物联网、消费和工业应用<b class='flag-5'>提供</b>强大的AI功能

    Edge Impulse发布新工具,助 NVIDIA 模型大规模部署

    借助 Edge Impulse 和 NVIDIA TAO 工具包的协同效应,工程师得以快速构建并部署至边缘优化硬件(如上述型号)的计算机视觉模型。该平台还支持用户运用经由 GPU 优化的 NVIDIA TAO 模型(如 YOLO 以及 RetinaNet)进行自定义数据定
    的头像 发表于 03-25 16:00 684次阅读

    MWC2024亮点 爱立信旗下Vonage携手AWS加速向数百万开发人员提供新的解决方案

    开发人员提供新的解决方案。 推动跨行业新应用 近日,AWS工业副总裁Kathrin Renz表示:“AWS和Vonage在帮助客户实现创新和价值方面有着共同的热情。 我们与Vonage合作的目标是推动
    的头像 发表于 02-29 09:42 1.2w次阅读

    现在学鸿蒙有前途吗?能找到工作?

    。发布会中表示,已有200家头部企业加入原生开发当中,并且一直有高薪抢人的局面。 做为Android开发人员,对于现在的互联网行业来说。鸿蒙就是近几年最大的风口了,而不仅Android开发者,鸿蒙的适合
    发表于 02-18 21:32