HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

基于集成学习和卷积神经网络的环境声音识别方法与流程

2021-01-28 12:01:29|260|起点商标网
基于集成学习和卷积神经网络的环境声音识别方法与流程

本发明涉及人工智能技术领域,尤其涉及基于集成学习和卷积神经网络的环境声音识别方法。



背景技术:

在音频信息的研究中,环境声音识别是一个重要的研究领域,其在安全监控、医疗监护、智能家居和场景分析等领域有着很大的应用潜力。相比于语音识别,环境声音具有类噪、宽频谱等特性,使得环境声音的识别更具有挑战性。

现有的基于卷积神经网络的环境声音识别方法通常先将已有数据分为训练集和测试集,接着利用训练集训练一个模型直到模型收敛,训练过程中用测试集对模型进行测试,选择在测试集上表现最好的模型进行保存,最终以保存的卷积神经网络进行环境声音的识别

现有的基于卷积神经网络的识别方法、基于卷积神经网络和循环神经网络的识别方法和基于高斯混合模型的识别方法都是通过已有环境音频数据训练单个模型来对未知的环境音频进行识别,这种方法训练出来的模型都具有泛化能力较弱,容易出现过拟合的缺点。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供基于集成学习和卷积神经网络的环境声音识别方法,能够利用k折交叉验证训练k个模型并结合k个模型进行声音识别,大大增强了模型的泛化能力,有效缓解了过拟合的现象,此外针对数据量不大的情况,使用mixup数据增强对原始样本进行混合以进一步增强模型的泛化能力。

为实现上述目的,本发明提供了基于集成学习和卷积神经网络的环境声音识别方法,包括以下步骤:

s1、特征提取,对原始音频进行分帧和加窗,对每一个短时分析窗,通过fft得到对应的幅度频谱,取平方得到声音的能量频谱,然后利用梅尔滤波器组得到声音的梅尔能量频谱,接着对梅尔能量频谱取log非线性变换,得到最后的梅尔能量频谱特征,作为数据集;

s2、模型训练,采用k折交叉验证,将所述数据集等比例划分成k份,以其中一份作为测试数据,其他的k-1份作为训练数据,接着对训练数据使用mixup数据增强进行混合后用于模型训练,保存在测试数据上表现最好的模型,重复k次以上操作得到k个卷积神经网络模型;

s3、声音测试,对待测声音样本采用和步骤s1同样的特征提取步骤,得到待测声音的梅尔能量频谱特征作为测试样本,将测试样本输入到训练好的k个卷积神经网络模型中,将k个卷积神经网络模型的输出送入结合模块,结合模块将输出的众数作为集成模型的最终输出,将最终输出与测试集样本所对应的类别进行比对,计算出环境声音的识别率。

进一步地,所述步骤s1对原始音频进行分帧和加窗具体为:将音频数据n个采样点集合成一个观测单位称为帧,让两相邻帧之间有一段重叠区域,将每一帧代入窗函数以消除各个帧两端造成的信号不连续性。

进一步地,所述步骤s2每次操作都是从k个部分选取一份不同的数据部分作为测试数据,保证k个部分的数据都分别做过测试数据,剩下的k-1个当作训练数据。

进一步地,所述步骤s2中mixup数据增强具体为:随机选取两个特征样本按比例混合以线性插值的方式来构建新的训练样本和标签,最终对标签的处理如下公式所示:

(xi,yi)、(xj,yj)两个数据对是原始数据集中的训练样本对,即训练样本和其对应的标签,其中λ是一个服从b分布的参数,λ~beta(α,α)。

进一步地,所述步骤s2中进行模型训练时,卷积核和权重采用glorot均匀初始化,偏置采用全0初始化。

进一步地,所述步骤s2中进行模型训练时,采用adam算法进行网络参数的更新,当网络迭代次数达到预设的迭代次数或验证集上的识别精度没有提高时,训练停止并保存训练好的卷积神经网络模型。

本发明的有益效果是:

本发明能够利用k折交叉验证训练k个模型并结合k个模型进行声音识别,大大增强了模型的泛化能力,有效缓解了过拟合的现象,此外针对数据量不大的情况,使用mixup数据增强对原始样本进行混合以进一步增强模型的泛化能力。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的方法流程图。

图2是本发明的集成模型预测示意图。

具体实施方式

如图1所示,为一种基于集成学习和卷积神经网络的环境声音识别方法的流程图,包括如下步骤:

s1、特征提取,为了方便对语音分析,先将n个采样点集合成一个观测单位,称为帧,为了避免相邻两帧的变化过大,因此会让两相邻帧之间有一段重叠区域。将每一帧代入窗函数以消除各个帧两端可能会造成的信号不连续性。对每一个短时分析窗,通过fft得到对应的幅度频谱,取平方得到声音的能量频谱,然后利用梅尔滤波器组得到声音的梅尔能量频谱,接着对梅尔能量频谱取log非线性变换,得到最后的梅尔能量频谱特征;

s2、模型训练,采用k折交叉验证,将所述数据集等比例划分成k份,以其中一份作为测试数据,其他的k-1份作为训练数据。同时,由于数据集数据量较少,本实施例对特征数据使用mixup数据增强进行混合后用于模型训练,以提升模型的泛化能力。将训练集输入卷积神经网络模型中进行监督训练,保存在测试数据上表现最好的模型,重复k次以上操作得到k个卷积神经网络模型。训练时,卷积核和权重采用glorot均匀初始化,偏置采用全0初始化。采用adam算法进行网络参数的更新,当网络迭代次数达到预设的迭代次数或验证集上的识别精度长时间没有提高时,训练停止并保存训练好的卷积神经网络模型。

其中,mixup数据增强是指随机选取两个特征样本按比例混合以线性插值的方式来构建新的训练样本和标签,最终对标签的处理如下公式所示:

(xi,yi),(xj,yj)两个数据对是原始数据集中的训练样本对(训练样本和其对应的标签)。其中λ是一个服从b分布的参数,λ~beta(α,α)。

s3、测试阶段:通过对待测声音样本采用和训练阶段同样的特征提取步骤,得到待测声音梅尔能量频谱特征,将测试样本输入到训练好的k个卷积神经网络模型中,将k个模型的输出送入结合模块,结合模块将输出的众数作为集成模型的最终输出,将最终输出与测试集样本所对应的类别进行比对,计算出环境声音的识别率。图2为模型的预测示意图。

具体地,本实施例使用卷积神经网络和mixup方法对在esc-50数据集上进行性能测试。esc-50数据集包含2000个自然环境声音片段,每段声音长度为5秒,采样率为44.1khz。该数据集包括:5个大类,分别为动物叫声、自然环境声、人类非语音声、室内声和城市室外声5大类,每个大类包含10类声音,每类声音有40个样本。数据集详细信息见表1。

表1环境声音数据集

使用hann窗对声音信号进行分帧,每帧选取1764个采样点,为了保持相邻帧之间的连续性,帧移选取为882个采样点;利用fft变换得到声音的幅度频谱,对幅度频谱做平方处理得到声音的能量频谱,然后利用梅尔滤波器组将声音的能量频谱转换到梅尔能量频谱。最后,为了提升声音的低频表示,增强隐藏在低频部分的特征信息,本实施例对梅尔能量频谱取log非线性变换,得到2000个40×251维梅尔能量频谱特征,其中1600个为训练集,另外400个为测试集。1600个训练集再按4:1的比例划分为训练集和验证集,训练集用来训练模型,验证集用来保存最好的模型。

上述卷积神经网络的包括:六个卷积层、四个最大池化层、一个全局平均池化层和三个全连接层,其中:前两个卷积层中每个卷积层后都会接一个最大池化层,后四个卷积层中每两个卷积层后都会接一个最大池化层;全局平均池化层在卷积池化层和全连接层之间;六个卷积层的卷积核数量分别为64、128、256、256、512和512,卷积核尺寸为3x3,步长为3,填充方式为补0,激活函数为relu;四个最大池化层的卷积核尺寸为2x2,填充方式为补0;前两个全连接层都有256个节点,激活函数为relu;最后一个全连接层的节点数为声音类别数量,esc-50有50个声音类别,所以该层节点数为50,激活函数为softmax。表2为模型具体参数的设置。

表2模型参数设置

本方法训练使用的k折交叉验证的k设置为5,训练完成后将集成5个模型进行声音识别,表3为本方法提出的基于集成学习的cnn和其他方法在esc-50上的性能对比。本发明在esc-50公开环境声音数据集上取得了目前最好的成绩,与同样使用梅尔频谱特征提取和mixu数据增强的cnn模型相比,本发明提出的集成cnn模型识别准确度相比singlecnn提升了6.25%,与使用了数据增强的envnet-v2相比提升了13.1%。

表3不同环境声音识别方法的性能对比

综上,本发明能够利用k折交叉验证训练k个模型并结合k个模型进行声音识别,大大增强了模型的泛化能力,有效缓解了过拟合的现象,此外针对数据量不大的情况,使用mixup数据增强对原始样本进行混合以进一步增强模型的泛化能力。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips