边缘 tinyML 的 3 种用例

机器学习 (ML) 已经进入云计算的许多领域,并且已经在运行 Linux 的相对强大的处理器上找到通往边缘的道路。在这些系统上运行传统 ML 的问题是,因其功率配置文件太大,既无法“断开”,也无法用作电池供电型边缘设备执行工作任务。边缘 ML 的发展趋势及未来就是使用 tinyML。TinyML 的目的是在资源受限的设备上实现 ML 算法,如基于 Arm Cortex-M 处理器的微控制器。

在本篇博客中,我们将探讨最常见的 tinyML用例。在这些用例中,充分发挥了在基于微控制器的设备上、用在边缘处的 tinyML 的作用。

用例 #1:关键词识别

逐渐被人们熟知的第一种 tinyML 用例是关键词识别。关键词识别是指设备识别诸如“嗨,Siri”、“Alexa”、“你好”之类关键词的能力。关键字识别对边缘设备来说有许多用途。例如,人们可能想用低功率处理器来观察一个关键词,以唤醒一个更强大的处理器。另一种用例可能是控制嵌入式系统或机器人。我曾见过这样的例子,微控制器用来解码“前进”、“后退”、“停止”、“向右”和“向左”等关键词, 从而控制机器人的运动。

用 tinyML 识别关键词通常是通过麦克风来捕捉语音输入信号。语音信号被记录为随时间变化的电压,然后通过数字信号处理将其转换为光谱图。这种光谱图是一个与输入信号频率相对应的时间序列。可将频谱图送入神经网络 (NN),用来训练微小的 ML 算法来识别特定的单词。这个过程如图 1 所示。

图 1:对输入语音信号进行数字处理,以生成一种用于训练 NN 来检测关键词的光谱图。(图片来源:Arm)

典型的实现方式是将固定的语音窗口输入 NN 中。然后,该网络将评估某个所需关键词被说出来的概率。例如,如果有人说“是”,NN 可能会报告说它有 91% 的把握是“是”,有 2% 的可能性是“不是”,有 1% 的可能性是“在”。

通过语音控制机器的能力是许多设备制造商正在仔细审查的用例,他们希望在未来几年内增强其设备。

用例 #2:图像识别

tinyML 的第二种用例是图像识别。对于能够进行图像识别的边缘设备,有相当多的用例。能够检测门旁边是否有人、包裹或什么都没有,这种用例大家可能已经熟悉。当然还有很多其他应用,包括监测旧的模拟仪表,检测草坪长势,甚至用于统计鸟的数量。

图像识别似乎是一个可以参与其中的复杂领域。然而,有几个低成本的平台可以帮助开发者启动和运行。我最喜欢的,也是我用来快速完成工作的一个平台就是 OpenMV。

OpenMV 是一个开放式机器视觉平台,包括一个集成开发环境 (IDE)、一个用 Python 编写的库框架以及一个来自 Seeed Technology相机模块,可帮助开发者创建机器视觉应用(图 2)。

图 2:OpenMV 相机模块可用于图像识别,在简单的 IDE 环境下使用 Python 就可以完成开发。(图片来源:Beningo Embedded Group)

该相机模块基于 STMicroelectronicsSTM32H7 Cortex-M7 处理器。该硬件可以通过其板上的扩展针座进行扩展。该硬件可采用电池供电,甚至可以更换相机模块。你可能会发现了一个有趣的入门用例,即如何使用 CIFAR-10 数据集和 Arm CMSIS-NN 库进行图像识别。你可在 YouTube 上找到这个用例:https://www.youtube.com/watch?v=PdWi_fvY9Og

用例 #3:预见性维护

我们将讨论 tinyML 的最后一种用例是预见性维护。预见性维护使用诸如统计分析和 ML等工具来预测设备状态,其依据如下:

  • 异常情况检测
  • 分类算法
  • 预测模型

例如,一个工厂可能有一系列电机、风扇和用于产品生产的机器人设备。公司希望尽量减少停机时间,以最大限度地提高产量。如果设备有传感器,可以使用 ML 和上面提到的其他技术进行解释,他们可以检测到设备何时会接近故障状态。这样的设置可能看起来如图 3 所示。

图 3:tinyML 的第三种常见用例是用于预见性维护的智能传感器。(图片来源:STMicroelectronics)

将智能传感器连接到使用 tinyML 的低功耗微控制器,可以构建许多种有用的应用。例如,可以用来监测暖通空调设备、检查空气过滤器以及检测不规则的电机振动等等。预防性维护可以变得更有条理,从而有希望将公司从各种昂贵的应对措施中拯救出来,确保采用更优化的维护计划。

结语

TinyML 在边缘有很多潜在的应用和用例。我们已经探讨了目前常见的东西,但其用例几乎是无限的。TinyML 可用于手势检测、引导和控制等应用。随着边缘设备开始使用 tinyML,问题实际上就变成了“ 在边缘使用 tinyML 做什么?”。

关于此作者

Image of Jacob Beningo

Jacob Beningo 是一位嵌入式软件顾问,目前与十几个国家的客户保持合作,通过帮助客户改善产品质量、降低成本和加快上市时间来大幅改变他们的业务。Jacob 先后发表了 200 多篇关于嵌入式软件开发技术的文章,是一位广受欢迎的演讲者和技术培训师。他拥有三个学位,其中包括密歇根大学的工程硕士学位。如有需要,欢迎随时通过 jacob@beningo.com 与其联系,也可访问其网站 www.beningo.com,并订阅其月度 Embedded Bytes Newsletter

More posts by Jacob Beningo
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum