文章来源 Macnica Engineer

如何创建机器学习模型?使用英飞凌 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:英飞凌独有的硬件加速器,支持低功耗神经网络运算

图1 英飞凌 PSoC™ Edge 评估板
图1 英飞凌 PSoC™ Edge 评估板

开发工具

在本次开发中,我们使用“DEEPCRAFT™ Studio”创建学习模型,使用“Modus Toolbox™”开发 PSOC。 各版本如下:
- ModusToolbox™:5.2.2135.0 BETA
- DEEPCRAFT™ Studio:3.3.0

图2 DEEPCRAFT™ Studio与ModusToolbox™ 工具界面概览
图2 DEEPCRAFT™ Studio与ModusToolbox™ 工具界面概览

机器学习模型实现流程

(一) 本次将实现的应用

实现语音识别应用,通过麦克风收集的声音确定关键词。

[待评判关键词]

- 红色部分 (“aka”)

- 绿色部分 (“midori”)

图3 语音关键词识别应用示意图
图3 语音关键词识别应用示意图

(二) 实现流程概述

整体实现流程如下图 (图4) 所示。接下来将按照以下步骤逐一展开说明:
数据收集与标记 → 数据管理 → 数据预处理 → 模型构建 → 模型评估 (统计指标) → 模型评估 (实时) → C 代码生成

图4 机器学习模型开发全流程概览图
图4 机器学习模型开发全流程概览图

1. 数据收集与标注

使用 DEEPCRAFT™ Studio 的 Graph UX 功能来收集和标记数据。这次我们使用了评估板附带的英飞凌 MEMS 麦克风,但也可以通过 PC 的麦克风收集数据。该工具支持在选择标签时录音,省去给数据贴标签的麻烦。数据收集和标签完成后,保存下来。

图5 Graph UX数据收集与标注界面
图5 Graph UX 数据收集与标注界面

2. 数据管理

导入带标签的数据集。这些数据分为训练、验证和测试,下面展示了每个数据的图像。其对应关系如下所示:

  • Train (学习用数据)
    →用于“训练”模型的数据,相当于教材。
  • Validation (验证用数据)
    →用于“模拟考试”的数据,相当于练习题。
  • Test (评估用数据)
    →用于“最终考核”的数据,相当于期末考试。
图6 数据集划分管理界面
图6 数据集划分管理界面

3. 数据预处理

构建用于信号处理的功能模块。这需要根据待检测数据的特点进行设计,是模型开发中的技术关键。平台也提供了一些预封装的功能模块,可根据需求选用。

图7 数据预处理功能模块配置界面
图7 数据预处理功能模块配置界面

数据预处理结果可以通过图形化方式查看,如下图 (图8) 所示。通过点击上图 (图7) 左下角的“Create Track from Preprocessor”按钮,即可输出预处理后的数据波形。

图8 数据预处理结果可视化展示
图8 数据预处理结果可视化展示

4. 模型构建

使用该工具提供的神经网络进行训练。本次演示中选择了 Conv1D (Convolution-1D:一种适用于时间序列数据的轻量级模型)。用户也可以自定义模型网络 (层排列)。

图9 模型构建与训练配置界面
图9 模型构建与训练配置界面

5. 模型评估 (统计指标)

可以查看在第 4 步中下载的训练完毕模型 (.h5格式) 的各项统计指标,如下图 (图10) 所示:

图10 模型性能统计指标展示界面
图10 模型性能统计指标展示界面

6. 模型评估 (实时)

使用 Graph UX 对模型进行实时评估。实际输入数据的推断结果会实时显示,如下图 (图11) 所示:

图11 模型实时推断测试结果界面
图11 模型实时推断测试结果界面

7. C 代码生成

图12 模型转换为C代码的生成界面
图12 模型转换为 C 代码的生成界面

(三) 检查机器的实际运行情况

如下图 (图13) 所示,首先部署模型:

图13 将模型部署到 PSoC™ Edge 评估板
图13 将模型部署到 PSoC™ Edge 评估板

接下来使用 Teraterm 等终端工具,可以在 PC 上查看评估板的推理输出结果。

图14 通过串口终端查看实机推理输出
图14 通过串口终端查看实机推理输出

Imagimob Ready Model

如果不想从零开发模型,也可以直接购买即用型模型 (Ready Model)。

了解更多关于Imagimob Ready Model的信息

图15 Imagimob Ready Model 应用场景
图15 Imagimob Ready Model 应用场景

总结

本文以英飞凌边缘 AI MCU 为例,介绍从数据收集到模型部署的完整机器学习开发流程,实现了一个基于语音识别的关键词检测应用。欲了解关于更多英飞凌相关方案或技术信息,请与骏龙科技当地的办事处联系或点击下方「联系我们」,提交您的需求,骏龙科技公司愿意为您提供更详细的技术解答。

 

相关阅读

PSOC™ Edge Arm® Cortex® M55/M33 | Infineon英飞凌官网

更多信息: