城市声音识别与分类
蔡烁杰 魏惠梅 李瑶 冯钰
大连科技学院信息科学与技术学院,辽宁大连,116052
摘要: 随着城市建设的不断发展,城市环境发生了巨大的变化,城市中存在着各种各样的声音,如:汽车鸣笛声、发动机声、碰撞声和警笛声等。在这些声音中,不同的声音蕴含着不同的信息,对城市环境声音进行识别以满足不同应用需求,具有重要的现实意义。本文以城市环境声音作为研究对象,通过对声音信号进行预处理、声音数据分析、特征提取,实现对城市环境声音的识别我们的团队将用数据集train.csv与使用librosa作为音频处理库相结合,开发了它使用更科学的方法来理解和呈现数据,构建MLP,即一个4层的神经网络,它包括两个隐藏层,每一隐藏层将使用Relu作为激活函数,最后一层使用Softmax作为激活函数,并观察特征,使用LSTM和GRU网络。通过以上分析及对性能评估,提供了一个智能化、科学化的声音识别系统,并最终展示了视觉知识图谱的效果以及协助用户对声音的识别与分类。
关键词:声音识别;可视化
1.介绍
本项目主要是基于对声音的识别技术和分类技术对城市声音进行处理,随着深度学习的发展,人们对复杂的非结构化数据拥有了非常好的表示能力,音频处理领域也出现了新的突破。在未来,对于城市声音的识别和分类技术的应用,将会让未来的城市更加智能化,提高社会生活质量。
2. Librosa 的特点和优势
2.1 特性
Librosa是一个Python库,专门用于音频和音乐信号分析。广泛用于音乐信息检索、音频信号处理、机器学习等领域。
2.2 优势
Librosa库的一些主要功能:
音频特征提取:用于提取音频特征,如梅尔频率倒谱系数(MFCC)、音谱特征、色度特征等。
音频可视化:可以绘制音频波形图、频谱图、色度图等。
音频分析:支持节奏分析、音高估计、音频聚类等音频分析任务。
音频处理:可以进行音频处理,如降噪、变速、音高变换等。
3. 数据预处理
将音频表示为波形(即波形幅度包络图),以直观地查看数据。
可视化的波形是将声音的振幅图形化,只能体现声音的振幅,也就是整体音量的大小变化,而声音实际上是各种简单正弦波的叠加,因此下面使用频谱图将声音的频率图形化。
将声音的频率图形化后得到的频谱图,可以清晰地看出声音频率的变化和分布,后续将会进一步地提取特征进行建模分析。
部分声音的频率整体较低,因此可以使用对数频谱图将整体拉高一些,以观察低频声音的信息。
发现线性频谱图低频部分原来被掩盖的信息在对数频谱图中得到了显示。
根据问题的需要提取相应的特征。实验包括了下列音频特征。
过零率 光谱质心 色度 调性网络 梅尔频率倒谱系数
4.数据特征提取
音频是非结构化的信息,包含了很多特征,需要根据问题的需要提取相应的特征。下面先介绍常用的音频特征。
过零率(zero crossing rate)广泛地应用于语音识别和音乐信息检索领域。
光谱质心(spectral centroid)描述音频的音色特征的重要参数之一。
色度(chroma) 色度特征是对这十二种半音的一种描述。色度特征可以捕获音乐的谐波和旋律特征,同时对音色和乐器的变化有稳健性。
调性网络(tonnetz)调性网络表示音高特性的另一种特征,其在十二平均律的基础上加入了和弦结构信息(五度循环圈),得到了六维的特征信息。
梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC) MFCC是在音频识别领域非常重要的概念,在相当长的一段时间内代表了语音识别中最有效的音频特征。
4.1 MFCC特征提取
首先实验提取MFCC特征,读取原始数据的csv文件,该文件中包括了每个wav文件的ID和对应的分类标签,由于标签值为字符串形式,在深度学习模型中不便于表示,因此这里使用sklearn的LabelEncoder()将字符串转换为数值形式。对于每一个wav文件,需要根据其ID读取相应的音频文件,然后使用librosa库提取MFCC特征。由于源文件中各音频长度不等,因此提取出的MFCC特征会有不等的时间步维度。本论文将采取两种方式来处理该问题:第一种是直接对各个时间步的特征值求平均;第二种是将长度较短的特征向量补全到统一的长度。对于补全后的特征矩阵,使用sklearn.preprocessing.scale()将数据标准化,保存获得的特征矩阵和标签向量供后续的模型调用。
4.2色度特征提取
对色度特征进行提取,与上述MFCC提取方法类似,色度特征矩阵因为音频长度不等也会出现维度不一致,因此使用同样的两种方法进行处理。这里同样对补全后的矩阵进行数据标准化操作。
4.3混合特征提取
将MFCC的特征维度减少到20维,以降低对其他特征的影响。因此5种特征的比例为:过零率∶光谱质心∶色度∶调性网络∶梅尔频率倒谱系数=1∶1∶20∶12∶6,类似地,使用sklearn.preprocessing.scale标准化数据,最后获得了“(batch_size×40)”的混合特征。
5. 构建深度学习模型
5.1 多层感知机(MLP)
构建MLP,即一个4层的神经网络,它包括两个隐藏层,每一隐藏层将使用Relu作为激活函数,最后一层使用Softmax作为激活函数。
实验数据被划分为训练集和验证集两部分,并选择合适的特征作为输入。
5.2 LSTM与GRU网络
在数据探索和预处理部分,可以看到实验数据有非常明显的时间特征,各种特征提取后的特征向量都是按照时间步展开的,因此考虑使用添加了时间的RNN构建分类模型。这里使用LSTM和GRU网络。
数据获取方式与MLP类似,RNN的输入为三维,其中第二维是时间步,因此需要额外地对输入进行一次变换。
5.3 CNN网络
CNN常用于处理图像问题,在本论文中把CNN应用于特征提取后的特征矩阵上。在CNN中,第一个卷积层有32个卷积核,每个卷积核为3×3大小;在Relu激活之前,使用了BatchNormalization批标准化层以增大梯度,使得模型的收敛速度更快;然后连接到max-pooling池化层;紧接着是拥有64个卷积核的卷积层与max-pooling池化层;最终通过Flatten后,通过两个全连接层得到网络的输出。
数据处理部分代码与前面类似,需要注意的是CNN的输入是四维的,其中第一维是批量数,第二维与第三维是特征维度,最后一维是通道数。
6. 模型评估
本论文对4种类型的特征和4种模型分别进行了评测,在实验中训练集和测试集的比例为7∶3,进行多次实验取平均值。
6.1 MLP网络性能评估
对于chroma_m_mlp,当学习率为0.01时,迭代训练1000次,在训练约200次后,模型在测试集上的分类准确率在0.55~0.6振荡,模型的收敛速度和效果不是最佳。修改学习率为0.001,相比0.01的学习率,收敛速度更慢,分类准确率也有所下降。增加学习率至0.1,模型效果仍然不佳。
选择特征为mfcc_m_mlp,当学习率为0.01时,测试集最佳分类准确率能达到0.81,但模型振荡较为明显。降低学习率至0.001,测试集最佳准确率有所下降,但模型不再振荡,收敛效果较好。增加学习率至0.005,测试集最佳准确率明显升高,达到0.8939,训练集准确率也接近1.0,模型最快在少于200次迭代时达到最佳,因此模型有较好的表现。
选择特征为feature_mlp,当学习率为0.01时,模型在少于200次迭代时便迅速收敛,测试集分类准确率可达到0.7762。降低学习率至0.001,模型收敛速度变慢,但收敛后的效果相差不大。增加学习率至0.005,模型变化不大。
6.2 LSTM与GRU网络性能评估
对于LSTM网络,选择特征为MFCC标准化后的值,在学习率为0.1时,模型在测试集上分类准确率能达到0.8952,收敛效果较好,不再做额外调参。将模型转为GRU,收敛速度和训练速度有所加快,模型效果相差不大。
而将特征换为Chroma,在LSTM网络下,设定学习率为0.01,模型在测试集上仅能达到0.5212的分类准确率,且模型振荡较为明显。降低学习率至0.001,模型在测试集的分类准确率上有所提升,达到了0.5610。修改网络为GRU,测试集表现与LSTM相差不大。整体而言,Chroma特征下的模型与选用MFCC为特征的模型有较大的差距。
6.3 CNN性能评估
对于CNN,选定特征为MFCC,在学习率为0.01时,模型在测试集的分类准确率能达到0.8817,但振荡较为明显。降低学习率至0.001,振荡有明显优化,测试集上分类准确率略有下降。修改特征为Chroma,在学习率为0.001时,测试集的分类准确率能达到0.6101,相比其他模型有更好地表现。
将上述实验结果记录总结后,得到几种网络不同参数的准确率对比,如表所示。表中lr表示学习率,batchsize为网络训练时修正权重时使用的样本数。
7. 总结
实验结果表明,在MLP模型下,MFCC能达到最佳的分类准确率,而Chroma有明显更差的表现,混合特征在训练集上能达到1.0的分类准确率,但是模型有过拟合的潜在问题。对于RNN类的网络,MFCC和Chroma特征在测试集上的表现与MLP类似。GRU网络与LSTM网络模型效果类似,但是GRU网络的训练速度和收敛速度明显好于LSTM网络。CNN总体分类准确率更高,Chroma特征模型效果优于MLP和RNN类网络,因此在本论文数据集上CNN有更优秀的建模能力。
本论文对城市声音数据进行了分析,选择了过零率、光谱质心、色度、调性网络和MFCC等多种特征,在TensorFlow框架下构建了包括MLP、LSTM、GRU和CNN等多种模型,通过大量的实验得到了测试集上分类准确率接近0.9的模型,有较好的实用价值。
文献参考:
[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]陈蕴博,李海军.卷积神经网络在城市声音分类中的应用研究[J].德州学院学报,2022,38(04):25-28.
[5]陈波,俞轶颖.基于深度神经网络的城市声音分类模型研究[J].浙江工业大学学报,2019,47(02):199-203.
[6]孙陈影,沈希忠.LSTM和GRU在城市声音分类中的应用[J].应用技术学报,2020,20(02):158-164.
[7] 赵卫东著. 机器学习案例实战. 北京:人民邮电出版社,2019
作者信息:
姓名:蔡烁杰,出生年月2003.10,男,汉族,籍贯:浙江省湖州市,
所在院校:信息科学与技术学院,职称:学生,学历:本科,研究方向:电子商务
姓名:魏惠梅,出生年月1984.1,女,汉族,籍贯:福建省南平市,
所在院校:信息科学与技术学院,职称:讲师,学历:硕士,
研究方向:数据可视化,机器学习
课题项目:项目来源:2024年大学生创新训练项目,项目名称:城市声音识别与分类