概述
音频分类器(Audio Classifier)将带符号的 16 位 PCM wav 文件识别为输入信息,生成嵌入值,并将其应用 PCA 转换/量化, 将嵌入值用作为多注意力分类器的输入,然后输出最主要的五类预测和概率 作为输出结果。 该模型目前支持 527 个类别,这些类别都包含在 Audioset Ontology 中。这些类别和 label_ids 可以 在 class_labels_indices.csv 中找到。如 ‘Multi-level Attention Model for Weakly Supervised Audio Classification’(作者:Yu et al)这篇文章中所述,该模型已在 AudioSet 上进行训练。
该模型已在多种音频类别中进行了测试,对于音乐、演讲类别效果最好。 这主要是因为训练数据集中的数据偏向于这些类别(90% 的音频属于 这两类中的一种)。尽管该模型是基于从 YouTube 视频中提取的 Audioset 数据进行训练的,但该模型可以 应用于除音乐、演讲领域之外的各种音频文件。随此模型一起提供的测试资产 可广泛应用于各种领域。
模型元数据
领域 | 应用 | 行业 | 框架 | 训练数据 | 输入数据格式 |
---|---|---|---|---|---|
音频 | 分类 | 多种 | Keras/TensorFlow | Google AudioSet | 带符号的 16 位 PCM WAV 或 MP3 音频文件 |
参考资料
Jort F. Gemmeke、Daniel P. W. Ellis、Dylan Freedman、Aren Jansen、Wade Lawrence、R. Channing Moore、Manoj Plakal 和 Marvin Ritter,“Audio set: An ontology and human-labeled dataset for audio events”,IEEE ICASSP,2017 年。
Qiuqiang Kong、Yong Xu、Wenwu Wang 和 Mark D. Plumbley,“Audio Set classification with attention model: A probabilistic perspective”,arXiv 预印本 arXiv:1711.00927(2017 年)。
Changsong Yu、Karim Said Barsim、Qiuqiang Kong 和 Bin Yang,“Multi-level Attention Model for Weakly Supervised Audio Classification”,arXiv 预印本 arXiv:1803.02353(2018 年)。
S.Hershey、S. Chaudhuri、D. P. W. Ellis、J. F. Gemmeke、A. Jansen、R. C. Moore、M. Plakal、D. Platt、R. A. Saurous 及 B. Seybold 等人,“CNN architectures for large-scale audio classification”,arXiv 预印本 arXiv:1609.09430,2016 年。
许可
组件 | 许可 | 链接 |
---|---|---|
模型 GitHub 代码库 | Apache 2.0 | 许可 |
模型文件 | Apache 2.0 | AudioSet |
模型代码 | MIT | AudioSet Classification |
测试资产 | 各种各样 | 样本 README |
可用于部署此模型的选项
从 Dockerhub 部署:
docker run -it -p 5000:5000 codait/max-audio-classifier
在 Red Hat OpenShift 上部署:
遵照本教程中有关 OpenShift Web 控制台或 OpenShift Container Platform CLI 的操作说明,并指定
codait/max-audio-classifier
作为镜像名称。在 Kuberneters 上部署:
kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Audio-Classifier/master/max-audio-classifier.yaml
本地部署:遵照 GitHub 上的模型 README 中的说明进行操作
用法示例
您可以通过以下方式测试或使用此模型
使用 cURL 测试该模型
部署之后,您可以通过命令行测试该模型。例如,如果在本地运行:
curl -F "audio=@samples/thunder.wav" -XPOST http://localhost:5000/model/predict
{
"status": "ok",
"predictions": [
{
"label_id": "/m/06mb1",
"label": "Rain",
"probability": 0.7376469373703003
},
{
"label_id": "/m/0ngt1",
"label": "Thunder",
"probability": 0.60517817735672
},
{
"label_id": "/t/dd00038",
"label": "Rain on surface",
"probability": 0.5905200839042664
}
]
}
在 Node-RED 流中测试该模型
完成 node-red-contrib-model-asset-exchange 模块设置操作说明,并导入 audio-classifier
开始流程。
在 CodePen 中测试该模型
了解在 CodePen 中如何将音频剪辑发送到该模型。
在无服务器应用中测试该模型
您可以通过遵照在 IBM Cloud Functions 中利用深度学习教程中的操作说明,在无服务器应用程序中使用该模型。
资源和贡献
如果您有兴趣为 Model Asset Exchange 项目做出贡献或有任何疑问,请按照此处的说明进行操作。
本文翻译自:Audio Classifier(2018-09-21)