基于深度学习的声音事件检测与定位方法

文档序号:1353108 发布日期:2020-07-24 浏览:6次 >En<

阅读说明:本技术 基于深度学习的声音事件检测与定位方法 (Sound event detection and positioning method based on deep learning ) 是由 齐子禛 黄青华 鲁乃达 房伟伦 于 2020-03-16 设计创作,主要内容包括:本发明涉及一种基于深度学习的声音事件检测与定位方法,包括以下步骤:步骤一,分割数据集;步骤二,预处理,即将包含声音信号的数据集进行特征提取得到Log-Mel谱图和GCC-PHAT;步骤三,构建深度学习模型,即借鉴ResNet框架,构建出结合ResNet框架和RNN相结合的一种网络架构,并且层与层之间复合了池化、正则化、归一化模块用于优化特征提取提高非线性度;步骤四:两步训练,即先进行SED任务的训练,得到最佳模型并将训练结果作为特征输入到DOA任务的训练中;之后再进行DOA任务的训练,最终得到最佳训练模型。本发明首先提取出适合于该任务训练的特征,从而提高了抗混响性能,并提出一种新的框架结构来解决网络加深却导致精度下降的问题,最终提高了预测的精度。(The invention relates to a sound event detection and positioning method based on deep learning, which comprises the following steps of firstly, segmenting a data set, secondly, preprocessing, namely, carrying out feature extraction on the data set containing sound signals to obtain an L og-Mel spectrogram and GCC-PHAT, thirdly, constructing a deep learning model, namely, constructing a network architecture combining a ResNet framework and an RNN by using a ResNet framework for reference, and compositing a pooling, regularization and normalization module between layers for optimizing the feature extraction and improving the nonlinearity, fourthly, firstly, carrying out training of an SED task to obtain an optimal model and inputting a training result as a feature into the training of a DOA task, then carrying out the training of the DOA task to finally obtain the optimal training model.)

基于深度学习的声音事件检测与定位方法

技术领域

本发明涉及一种基于深度学习的声音事件检测与定位方法,应用于机器人、自然科学、环境监测、导航等技术领域。

背景技术

近些年,随着数字信号处理技术和神经网络技术的发展,声音定位技术取得了巨大的发展。例如,Soumitro等人提出了一种基于CNN(卷积神经网络)的单源DOA(DirectionOf Arrival,波达方向估计)估计方法,该方法是对麦克风接收信号做短期傅立叶变换,然后将相位分量作为整个CNN网络的输入,通过三层卷积层和两层完全连接层,使用softmax激活函数来获得输出的分层后验概率。实验表明,该方法在噪声和混响声学环境中可以胜过变换加权可控响应功率(SRP-PHAT:Steered Response Power-Phase Transform)。然而它不适用于多个声源环境,并且声源的估计角度不能在空间上定位。为了适应多声源环境,作者还提出了一种改进的方法来解决混合时间结构数据集中多时间帧角度的多源DOA估计问题。并且还验证了M个麦克风DOA估计性能最优需要M-1层卷积层。该网络结构可以适应广泛的噪声环境,但是在动态声学环境中估计性能差,并且当麦克风的数量增加时计算复杂度高。

声音检测与定位(sound event location and detection)是确定每个活动声音事件并估计它们各自的空间位置的组合任务。2017年Sharath adavanne等人提出了利用RNN(循环神经网络)与CNN的结合成CRNN(卷积循环神经网络)实现DOA估计,这种基于CRNN的神经网络将多声道音频作为输入,首先提取所有声道的频谱图,之后使用CRNN将谱图的相位和幅度顺序地映射到两个输出。后来,Sharath adavanne等人在CRNN网络下提出了将SED(声音事件的检测)与声音定位的DOA估计联合起来,第一输出为多标签多分类任务的声音事件检测,另一输出为DOA估计,定位于以麦克风为原点的3D笛卡尔坐标。这是一种基于回归方法的定位方法,提高了召回率,但是错误率却明显高于基于分类方法的DOA估计。

Yin C等人在CRNN基础上又做出了框架以及输入的改变,将与原来SED和DOA同时训练任务改为先训练SED再训练DOA的两步任务,避免了训练过程中两种loss值相互的影响,并将SED训练结果作为掩码输入到DOA的训练种去,同时加深网络结构,除此以外,作者又将特征提取由原来的幅度相位谱图改为了Log-Mel(对数梅尔)谱图和更适合网络训练的GCC-PHAT(相位加权的广义互相关变换),利用该方法对比之前Sharath adavanne网络有了巨大提升。但是研究同时发现,将网络进一步加深时结果不稳定下降了精度。在Yin C等人提出两阶段训练后,其它研究人员也借鉴了这个思想,开始将联合训练改为分步训练。Kyoungjin Noh提出了三阶段训练,首先提取MRCG(多分辨率耳蜗图)经过CRNN训练得到两个模型,一个是最多只有一个声音源,另一个是包括最多两个的多声音源,该步骤称为SAD;其次提取Log-Mel谱图作为输入训练得到SED;最后提取GCC-PHAT作为输入训练得到DOA。文章为了增加数据集量,随机选取不重叠音频文件进行混合。框架上,SAD使用尺寸为3*1的三层CNN再加两层GRU(门控循环单元)最后经过两层全连接层;SED与SAD类似,但是CNN层处是在原来基础上再同时加入6层卷积层并行训练最后结合输入到GRU层,其中6层卷积层每两层加入一个池化层,且每两层的卷积尺寸都为1*3和3*1,这实际上是为了将卷积尺寸扩大为3*3;DOA使用8层尺寸为3*3的卷积层,并在每层加入池化层和BN(Batch Norm标准化)层,之后加上FC(全连接层),且该文章DOA也使用分类(角度分为36*9)。该方法DOA精度很高但是SED精度较差,且由于分步进行,复杂度较高。

发明内容

针对现有技术的不足,本发明提出一种基于深度学习的声音事件检测与定位方法,该方法为了解决采用现有深度学习模型进行声音事件检测与定位存在抗混响性能差、网络加深导致精度下降问题,使用两步骤训练即首先进行SED部分,检测声音事件的发生和偏移,并将文本标签与检测到的声音事件进一步关联;之后进行DOA部分训练,计算出定位声源位置的误差。该方法最终进一步降低了SED的错误率,提高了DOA估计精度。

为了实现上述目的,本发明的构思是:

首先将包含声音信号的数据集分为训练集,验证集和测试集;然后进行预处理,也就是提取出适合于该任务训练的特征;之后构建出适合于该任务训练的神经网络结构并进行训练;最后通过训练得到SED和DOA误差率最低的最佳模型。

根据上述发明构思,本发明采用的技术方案是:

一种基于深度学习的声音事件检测与定位方法,具体包括以下步骤:

步骤一,分割数据集,即将数据集分为训练集、验证集、测试集,并按照一定比例划分;

步骤二,预处理,即将包含声音信号的数据集进行特征提取得到适合于SED训练的Log-Mel谱图和计算速度快且有一定抗混响能力的GCC-PHAT;

步骤三,构建深度学习模型,即借鉴在计算机视觉领域常用的用于解决层数加深精度下降问题的ResNet(残差网络)框架,构建出结合ResNet框架和RNN相结合的一种网络架构,并且层与层之间复合了池化、正则化、归一化模块用于优化特征提取提高非线性度;

步骤四:两步训练,即先进行SED任务的训练,得到最佳模型并将训练结果作为特征输入到DOA任务的训练中;之后再进行DOA任务的训练,最终得到最佳训练模型。

与现有技术相比,本发明具有如下突出的优点和实质性特征:

本方法通过采用预处理技术提取出适合于该任务训练的特征,从而改善了抗混响性能,并提出一种结合ResNet和RNN网络的神经网络框架,解决网络加深却导致精度下降的问题,最终提高了预测的精度。

附图说明

图1为本发明一种基于深度学习的声音事件检测与定位方法的流程图。

图2为本发明的神经网络框架结构示意图。

图3为本发明神经网络中ResNet层详细示意图。

具体实施方式

为了更好地理解本发明的技术方案,以下结合附图作进一步的详细描述:

本方法的流程参见图1,本发明提出一种基于深度学习的声音事件检测与定位方法,该方法为了保持低复杂,使用两步骤训练即首先进行SED(声音事件检测)部分,检测声音事件的发生和偏移,并将文本标签与检测到的声音事件进一步关联;之后进行DOA部分训练,计算出定位声源位置的误差。该方法最终进一步降低了SED的错误率,提高了DOA估计精度。具体实施步骤如下:

步骤S1:分割数据集;将数据集分为训练集、验证集、测试集,并按照一定比例划分,具体如下:

数据集由四个交叉验证拆分组成,分别是1、2、3、4部分。第一组是训练集使用3和4部分,验证集使用2部分,测试集使用1部分;第二组是训练集使用4和1部分,验证集使用3部分,测试集使用2部分;第三组是训练集使用1和2部分,验证集使用4部分,测试集使用3部分;第四组是训练集使用2和3部分,验证集使用1部分,测试集使用4部分。通过交叉验证可以减少训练过程中的过拟合,而且还可以在有限的数据中获取尽可能多的有效信息。

步骤S2:预处理;将包含声音信号的数据集进行特征提取得到适合于SED训练的Log-Mel(对数梅尔)谱图和计算速度快且有一定抗混响能力的GCC-PHAT(相位加权的广义互相关变换);具体如下:

首先进行STFT(短时傅里叶变换)得到每组信号的频谱信息,然后通过Mel滤波器以及取对数就可以得到当前通道信号的Log-Mel谱图。提取Mel谱图是为了将实际频谱转换为人耳可以感知的频率范围内,转换公式是:

Mel(f)=2595log(1+f/700) (1)

其中f为频率。

通过计算两组信号的互相相关功率谱,再乘以加权函数然后进行傅里叶逆变换,就可以得到GCC-PHAT。其计算公式是:

其中IFFT表示将信号从频域变为时域的傅里叶反变换;Xi(f,t)是第i个麦克风信号的短时傅里叶变换;[Xj(f,t)]*是Xj(f,t)的共轭函数。

步骤S3:构建深度学习模型;借鉴在计算机视觉领域常用的用于解决层数加深精度下降问题的ResNet框架,构建出结合ResNet框架和RNN相结合的一种网络架构,并且层与层之间复合了池化、正则化、归一化模块用于优化特征提取提高非线性度;具体如下:

该步骤网络初始学习率设置为0.001,用于前30次迭代,之后每次迭代学习率都降低10%,且采用Adam优化器,训练模型按图2所示次序具体参数分别为:

1)卷积层1,共计64个卷积核,卷积核大小为3*3,步长设置2,填充模式设置为SAME;激活函数设置为ReLU,并执行局部响应归一化,且不设置偏执单元;

2)ResNet网络,共计32个卷积层,且每两层卷积层的输入和输出之间建立一条直接关联的通道;

3)降维,将2)输出维度进行降维处理再输入到4)中;

4)Bi-GRU(双向门控循环单元),对于SED分支,使用一层Bi-GRU其映射为256维,且输入输出的第一维是batch_size(一次输入数据的大小),因此将batch_first设置为True,将bidirectional也设置为True,num_layers设置为1,hidden_size设置为256;对于DOA分支使Bi-GRU的叠加层数设置为2,其他设置和SED分支相同;

5)全连接层,映射为512维,设置偏执单元bias,对于SED分支输出为N维,对于DOA分支输出为2N维使其分别作用于方位角和俯仰角;

6)对于SED分支,使用sigmoid激活函数;对于DOA分支使用Linear激活函数

7)上采样,对最后输出的多通道数据进行上采样,使用默认方式nearest。

进一步地,步骤1)中所提到ResNet网络内部具体网络模型按图3所示的参数分别为:

(1)卷积层1,其中包含3组卷积层,每一组卷积层通道数为64,卷积核大小为3*3,步长设置1,填充模式设置为SAME;激活函数设置为ReLU,并执行局部响应归一化,且不设置偏执单元;

(2)卷积层2,其中包含4组卷积层,每一组卷积层卷积核为128个,卷积核大小为3*3,步长设置1,填充模式设置为SAME;激活函数设置为ReLU,并执行局部响应归一化,且不设置偏执单元;

(3)卷积层3,其中包含6层卷积层每一组卷积层通道数为256,卷积核大小为3*3,步长设置1,填充模式设置为SAME;激活函数设置为ReLU,并执行局部响应归一化,且不设置偏执单元;

(4)卷积层4,其中包含3层卷积层每一组卷积层通道数为512,卷积核大小为3*3,步长设置1,填充模式设置为SAME;激活函数设置为ReLU,并执行局部响应归一化,且不设置偏执单元。

步骤S4:两步训练;先进行SED任务的训练,得到最佳模型并将训练结果作为特征输入到DOA任务的训练中;之后再进行DOA任务的训练,从而得到最佳训练模型,最终通过测试集进行测试。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:声源定位方法及装置、计算机存储介质和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!