【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)

💥1 概述

使用机器学习和深度学习对城市声音进行分类是一个有趣的研究课题。下面是一种基本的方法,结合了机器学习(ML)和深度学习(DL)技术:


1. 数据收集和预处理:收集大量城市声音的音频数据集。可以使用麦克风或其他录音设备在不同城市环境下进行采集。确保采集到的音频数据有足够的多样性和代表性。对音频数据进行预处理,如音频剪辑、采样率调整、去噪等。


2. 特征提取:从音频数据中提取有代表性的特征向量。可以使用机器学习常见的音频特征提取方法,如Mel频谱系数(MFCC)、音频能量、过零率等。这些特征可以帮助机器学习和深度学习模型发现城市声音的区别和模式。


3. 机器学习分类:使用机器学习算法对提取的音频特征进行分类。选择适合音频分类的机器学习算法,如支持向量机(SVM)、随机森林(Random Forest)或K最近邻(K-Nearest Neighbors)等。使用预处理的音频数据和特征向量训练机器学习模型,并对其进行评估和优化。


4. 深度学习分类:构建深度学习模型进行城市声音分类。使用深度学习算法,如卷积神经网络(CNN)或循环神经网络(RNN)构建分类模型。使用音频数据的原始波形或经过预处理的特征作为输入,训练深度学习模型并进行模型优化。


5. 模型评估和比较:使用预留的测试集评估机器学习和深度学习模型的性能。比较两种技术在城市声音分类任务上的准确率、召回率、精确率等指标。根据评估结果选择更有效的模型。


6. 可解释性分析:对分类结果进行可解释性分析。了解哪些特征对城市声音的分类起到重要作用,或者使用可解释性方法(如Grad-CAM)来查看深度学习模型对城市声音的决策过程。


7. 模型优化和改进:根据分析结果和实际需求,对机器学习和深度学习模型进行优化和改进。可以尝试使用更复杂的模型架构、调整超参数或增加数据样本等来提高模型的性能。


通过上述方法,可以使用机器学习和深度学习技术对城市声音进行分类。机器学习方法适用于特征提取和分类,而深度学习方法可以直接处理原始音频数据,从而更好地捕捉城市声音的特征和模式。结合两种技术可以提高分类的准确性和效果,对于城市环境监测、噪音控制等方面具有实际应用价值。


该数据集包含来自 8732 个类的 4 个城市声音摘录(<=10 秒),它们是:


空调

汽车喇叭

儿童玩耍

狗吠

钻井

引擎 怠速

枪射击

手提钻

警笛

街头音乐


随附的元数据包含每个声音摘录的唯一 ID 及其给定的类名。随附的 git 存储库中包含此数据集的示例,可以从此处下载完整数据集。


此示例中有 7 个算例:


算例 1:示例简介,探索和可视化数据


算例 2:使用诊断应用程序设计器对数据

进行预处理和提取功能(信号时域特征和频谱特征)

算例 3:模型训练和评估

算例 4:模型部署

算例 5:使用 MFCC 提取特征来训练机器学习模型

算例 6:使用小波分析和深度学习对城市声音进行分类


亮点 :

为音频数据存储

准备现实数据 标准化和规范化数字信号数据(采样率、位深度、通道数) 使用不同的方法提取特征(时域信号特征和频谱特征,MFCC,离散小波变换,Haar 1D小波变换)


📚2 运行结果

2.1 算例1

figure()
datafolder = "UrbanSound8K/structure1";
currentfolder = pwd;
cd(datafolder);
listdir=dir;  
for i=3:1:length(listdir)
    cd(listdir(i).name)
    inside=dir;
    subplot(3,4,i-2);
    [y,fs]=audioread(inside(4).name);
    plot(y(:,:)); 
    soundsc(y(:,:),fs);
    grid on;
    title(listdir(i).name)
    drawnow;
    pause(2)
    cd(strcat(currentfolder,'\',datafolder));
end

2.2 算例2

figure()
datafolder = "UrbanSound8K/structure";
currentfolder = pwd;
cd(datafolder);
listdir=dir;  
for i=3:1:length(listdir)
    cd(listdir(i).name)
    inside=dir;
    subplot(3,4,i-2);
    [y,fs]=audioread(inside(randi([4,100])).name);
    plot(y(:,:)); 
    soundsc(y(:,:),fs);
    grid on;
    title(listdir(i).name)
    drawnow;
    pause(2)
    cd(strcat(currentfolder,'\',datafolder));
end

2.3 算例3

2.4 算例4

2.5 算例5

figure()
datafolder = "UrbanSound8K/structure";
currentfolder = pwd;
cd(datafolder);
listdir=dir;  
for i=3:1:length(listdir)
    cd(listdir(i).name)
    inside=dir;
    subplot(3,4,i-2);
    [y,fs]=audioread(inside(4).name);
    plot(y(:,:)); 
    soundsc(y(:,:),fs);
    grid on;
    title(listdir(i).name)
    drawnow;
    pause(5)
    cd(strcat(currentfolder,'\',datafolder));
end

2.6 算例6



🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]HP ProLiant ML和DL服务器选用QLogic的第三代CNA产品[J].计算机与网络,2011,37(Z1):127.


[2]Kevin Chng (2023). Classify Urban Sound using Machine Learning & Deep Learning


[3]崔琳. 音频标记深度神经网络模型研究[D].燕山大学,2020.DOI:10.27440/d.cnki.gysdu.2020.001881.


🌈4 Matlab代码实现

相关文章
|
机器学习/深度学习 编解码 人工智能
人脸表情[七种表情]数据集(15500张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
本数据集包含15,500张已划分、已标注的人脸表情图像,覆盖惊讶、恐惧、厌恶、高兴、悲伤、愤怒和中性七类表情,适用于YOLO系列等深度学习模型的分类与检测任务。数据集结构清晰,分为训练集与测试集,支持多种标注格式转换,适用于人机交互、心理健康、驾驶监测等多个领域。
|
机器学习/深度学习 人工智能 供应链
从概念到商业价值:AI、机器学习与深度学习全景指南
在这个科技飞速发展的时代🚀,人工智能正以惊人的速度渗透到我们的生活和工作中👀。但面对铺天盖地的AI术语和概念,很多人感到困惑不已😣。"AI"、"机器学习"、"深度学习"和"神经网络"到底有什么区别?它们如何相互关联?如何利用这些技术提升工作效率和创造价值?
705 0
|
11月前
|
机器学习/深度学习 传感器 人工智能
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
在人工智能和计算机视觉的快速发展中,火灾检测与火焰识别逐渐成为智慧城市、公共安全和智能监控的重要研究方向。一个高质量的数据集往往是推动相关研究的核心基础。本文将详细介绍一个火灾火焰识别数据集,该数据集共包含 2200 张图片,并已按照 训练集(train)、验证集(val)、测试集(test) 划分,同时配有对应的标注文件,方便研究者快速上手模型训练与评估。
4190 10
火灾火焰识别数据集(2200张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
11月前
|
机器学习/深度学习 人工智能 监控
河道塑料瓶识别标准数据集 | 科研与项目必备(图片已划分、已标注)| 适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化进程加快和塑料制品使用量增加,河道中的塑料垃圾问题日益严重。塑料瓶作为河道漂浮垃圾的主要类型,不仅破坏水体景观,还威胁水生生态系统的健康。传统的人工巡查方式效率低、成本高,难以满足实时监控与治理的需求。
|
11月前
|
机器学习/深度学习 人工智能 监控
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
坐姿标准好坏姿态数据集的发布,填补了计算机视觉领域在“细分健康行为识别”上的空白。它不仅具有研究价值,更在实际应用层面具备广阔前景。从青少年的健康教育,到办公室的智能提醒,再到驾驶员的安全监控和康复训练,本数据集都能发挥巨大的作用。
坐姿标准好坏姿态数据集(图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
11月前
|
机器学习/深度学习 自动驾驶 算法
道路表面缺陷数据集(裂缝/井盖/坑洼)(6000张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
随着城市化与交通运输业的快速发展,道路基础设施的健康状况直接关系到出行安全与城市运行效率。长期高强度的使用、气候变化以及施工质量差异,都会导致道路表面出现裂缝、坑洼、井盖下沉及修补不良等缺陷。这些问题不仅影响驾驶舒适度,还可能引发交通事故,增加道路养护成本。
道路表面缺陷数据集(裂缝/井盖/坑洼)(6000张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
|
10月前
|
机器学习/深度学习 数据采集 编解码
基于深度学习分类的时相关MIMO信道的递归CSI量化(Matlab代码实现)
基于深度学习分类的时相关MIMO信道的递归CSI量化(Matlab代码实现)
419 1
|
机器学习/深度学习 人工智能 编解码
AI虫子种类识别数据集(近3000张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
本数据集包含近3000张已划分、标注的虫子图像,适用于YOLO系列模型的目标检测与分类任务。涵盖7类常见虫子,标注采用YOLO格式,结构清晰,适合农业智能化、小样本学习及边缘部署研究。数据来源多样,标注精准,助力AI虫害识别落地应用。