如何创建机器学习模型?使用英飞凌 PSOC™ Edge 创建语音识别应用程序
概述
近年来,“AI”已经成为我们日常生活中几乎每天都能听到的关键词,人工智能技术已深入我们的日常生活。本文将重点探讨其中“边缘 AI”领域的技术。边缘 AI 通过边缘设备实现本地化AI分析与决策,无需网络连接即可实现低延迟和隐私保护等优势,正广泛应用于故障检测等实时性要求高的场景。
接下来将为大家介绍构建机器学习模型的完整流程。本次实践使用了英飞凌提供的边缘 AI 专用 MCU “PSOC™ Edge” 评估板,以及面向边缘 AI 模型的开发平台 “DEEPCRAFT™ Studio”。
开发环境
评估板
本次使用的评估板搭载了英飞凌的边缘 AI 专用 MCU PSOC™ Edge,如下图 (图1) 所示。PSOC™ Edge 具备以下功能:
- ARM Ethos-U55:高效神经网络处理器 NPU
- Helium DSP:高效信号处理器
- NNLite:英飞凌独有的硬件加速器,支持低功耗神经网络运算
开发工具
在本次开发中,我们使用“DEEPCRAFT™ Studio”创建学习模型,使用“Modus Toolbox™”开发 PSOC。 各版本如下:
- ModusToolbox™:5.2.2135.0 BETA
- DEEPCRAFT™ Studio:3.3.0
机器学习模型实现流程
(一) 本次将实现的应用
实现语音识别应用,通过麦克风收集的声音确定关键词。
[待评判关键词]
- 红色部分 (“aka”)
- 绿色部分 (“midori”)
(二) 实现流程概述
整体实现流程如下图 (图4) 所示。接下来将按照以下步骤逐一展开说明:
数据收集与标记 → 数据管理 → 数据预处理 → 模型构建 → 模型评估 (统计指标) → 模型评估 (实时) → C 代码生成
1. 数据收集与标注
使用 DEEPCRAFT™ Studio 的 Graph UX 功能来收集和标记数据。这次我们使用了评估板附带的英飞凌 MEMS 麦克风,但也可以通过 PC 的麦克风收集数据。该工具支持在选择标签时录音,省去给数据贴标签的麻烦。数据收集和标签完成后,保存下来。
2. 数据管理
导入带标签的数据集。这些数据分为训练、验证和测试,下面展示了每个数据的图像。其对应关系如下所示:
- Train (学习用数据)
→用于“训练”模型的数据,相当于教材。 - Validation (验证用数据)
→用于“模拟考试”的数据,相当于练习题。 - Test (评估用数据)
→用于“最终考核”的数据,相当于期末考试。
3. 数据预处理
构建用于信号处理的功能模块。这需要根据待检测数据的特点进行设计,是模型开发中的技术关键。平台也提供了一些预封装的功能模块,可根据需求选用。
数据预处理结果可以通过图形化方式查看,如下图 (图8) 所示。通过点击上图 (图7) 左下角的“Create Track from Preprocessor”按钮,即可输出预处理后的数据波形。
4. 模型构建
使用该工具提供的神经网络进行训练。本次演示中选择了 Conv1D (Convolution-1D:一种适用于时间序列数据的轻量级模型)。用户也可以自定义模型网络 (层排列)。
⇒ 点此查看可用图层
5. 模型评估 (统计指标)
可以查看在第 4 步中下载的训练完毕模型 (.h5格式) 的各项统计指标,如下图 (图10) 所示:
6. 模型评估 (实时)
使用 Graph UX 对模型进行实时评估。实际输入数据的推断结果会实时显示,如下图 (图11) 所示:
7. C 代码生成
(三) 检查机器的实际运行情况
如下图 (图13) 所示,首先部署模型:
接下来使用 Teraterm 等终端工具,可以在 PC 上查看评估板的推理输出结果。
Imagimob Ready Model
如果不想从零开发模型,也可以直接购买即用型模型 (Ready Model)。
总结
本文以英飞凌边缘 AI MCU 为例,介绍从数据收集到模型部署的完整机器学习开发流程,实现了一个基于语音识别的关键词检测应用。欲了解关于更多英飞凌相关方案或技术信息,请与骏龙科技当地的办事处联系或点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。
相关阅读
更多信息: