孙盔盔 · 2021年11月08日

使用树莓派Pico进行端到端的TinyML语音分类

机器学习使开发者和工程师能够在其应用种解锁新的能力。你可以为应用所需的分类任务收集大量数据,并训练一个ML模型从数据中学习,而不用显式地定义指令和规则供计算机执行。

模型的训练通常在装有一个或多个GPU的计算机上进行。一个模型一旦训练完成,就可以根据它的大小,部署在各种各样的设备上进行推理。这些设备可以是拥有数GB内存的云端计算机,或者是通常只有几KB内存的MCU。

MCU是低功耗、独立的、高性价比的计算机系统,它嵌入在你日常使用的设备中,如微波炉、电动牙刷或智能门锁。基于MCU的系统通常通过一个或多个传感器(麦克风、运动传感器)与其周围环境交互,并使用一个或多个执行部件(电机、扬声器)来执行动作。

微控制器还提供隐私优势,并且可以在设备上本地进行推理,而不需要向云端发送任何数据。这对于使用电池的设备来说也有功耗的优势。

在本文中,我们将演示如何将基于Arm Cortex-M的MCU,进行本地设备上的ML,以检测来自其周围环境的音频事件。这是一篇教程风格的文章,我们将指导你训练一个基于TensorFlow的音频分类模型来检测火警的声音。

我们将向你展示如何使用带有Arm CMSIS-NN加速内核的TensorFlow Lite for Microcontrollers,将ML模型部署到基于Arm Cortex-M0+的微控制器板上,用于本地设备上的ML推理。Arm的CMSIS-DSP库为Arm Cortex-M处理器提供了优化的数字信号处理(DSP)功能实现,并推理之前,使用它从实时音频数据中提取特征。

虽然本教程侧重于检测火灾报警声音,但它也适用于其他的声音分类任务。但是你可能还需要针对你的情况来调整特征提段和/或调整ML模型的架构。

本教程的交互式版本可在Google Colab上获得,本指南的所有技术资源可在GitHub上找到。


以上内容来自End-to-end tinyML audio classification with the Raspberry Pi RP2040 — The TensorFlow Blog的介绍部分。

本文旨在推广TinyML。

如有兴趣,可以在原文中查看详细教程。

推荐阅读
关注数
23360
内容数
883
Arm相关的技术博客,提供最新Arm技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息