音频分类

材料

范例

在本范例中,我们将使用开发板检测 521 种不同的音频,例如语音、动物声音、警报等。

File -> Examples -> AmebaNN -> AudioClassification 中打开音频分类范例。

../../_images/image01.png

使用 modelSelect() 函数选择神经网络(NN)任务和模型。该函数接受 5 个参数:神经网络任务、目标检测模型、人脸检测模型、人脸识别模型和音频分类模型。如果所选神经网络任务不需要某些模型,请用 "NA_MODEL" 替换。请注意,在调用 begin() 函数之前,必须调用 modelSelect() 函数。

  • 有效的神经网络任务: OBJECT_DETECTIONFACE_DETECTIONFACE_RECOGNITIONAUDIO_CLASSIFICATION

  • 有效的目标检测模型:

    • YOLOv3-tiny 模型: DEFAULT_YOLOV3TINYCUSTOMIZED_YOLOV3TINY

    • YOLOv4-tiny 模型: DEFAULT_YOLOV4TINYCUSTOMIZED_YOLOV4TINY

    • YOLOv7-tiny 模型: DEFAULT_YOLOV7TINYCUSTOMIZED_YOLOV7TINY

  • 有效的人脸检测模型: DEFAULT_SCRFDCUSTOMIZED_SCRFD

  • 有效的人脸识别模型: DEFAULT_MOBILEFACENETCUSTOMIZED_MOBILEFACENET

  • 有效的音频分类模型: DEFAULT_YAMNETCUSTOMIZED_YAMNET

如果您想使用自己的神经网络模型,请选择自定义选项(例如 CUSTOMIZED_YOLOV4TINY/ CUSTOMIZED_SCRFD/ CUSTOMIZED_MOBILEFACENET/ CUSTOMIZED_YAMNET)。要了解 AI 模型转换的流程,请参考 AI 模型转换工具 。此外,请参考 AI 模型部署指南 了解如何安装和使用转换后的模型。

../../_images/image02.png

编译代码并上传至 Ameba。按下重置按钮后,板载麦克风将开始拾取音频。

当未检测到音频时,串口监视器将显示为"Silence"类别。

../../_images/image03.png

当板载麦克风拾取到警报等音频时,系统将进行识别,结果将显示在串口监视器中。

../../_images/image04.png

默认预训练模型总共可以识别 521 种不同类型的音频。音频类别可在 AudioClassList.h 中找到。每个音频类别的索引号(也称为类别 ID)是固定的,不应更改。若要停用对某些音频的识别,请将筛选值设置为 0。例如,将筛选值设置为 0 以排除检测语音。

../../_images/image05.png