基于2
‑
densegrunet模型的声音事件检测方法
技术领域
1.本发明涉及声音检测技术领域,具体为基于2
‑
densegrunet模型的声音事件检测方法。
背景技术:2.声音携带了城市中大量关于生活场景和物理事件的信息,通过深度学习方法智能感知各个声源自动提取上述信息,在构建智慧城市中具有巨大的潜力和运用前景。在智慧城市中,声音事件检测是对环境声音场景进行识别和语义理解的重要基础。其中,城市声音事件检测研究主要应用于环境感知、工厂设备检测、城市安防、自动驾驶等方面。现有技术中城市声音事件检测技术主要基于mlp、cnn、lstm网络模型实现。然而,通过综合考虑precision和recall的调和值的指标f
‑
score对这3个网络模型进行评价的时候,因为平均片段错误率偏高,导致f
‑
score的分数偏低,在实际应用中应用范围有限。
技术实现要素:3.为了解决现有技术中心城市声音事件检测的平均片段错误率问题,本发明提供的基于2
‑
densegrunet模型的声音事件检测方法,其在处理音频数据时能提取更有效的声学信息,更良好的时序建模能力,使得模型在检测城市声音事件中具有更低的平均片段错误率,更具可用性。
4.本发明的技术方案是这样的:基于2
‑
densegrunet模型的声音事件检测方法,其包括以下步骤:
5.s1:采集待处理音频数据,对待处理音频数据的原始音频信号进行预处理,输出音频帧序列;
6.所述预处理操作包括:采样与量化、预加重处理、加窗;
7.s2:对所述音频帧序列进行时域和频域分析,提取梅尔频率倒谱系数,输出原始特征向量序列;
8.s3:重构所述原始特征向量序列的特征信息与标签,输出重构特征处理后的重构特征向量序列;
9.将所述原始特征向量序列中声音事件的起始时间、结束时间、事件所属类别,转换成所述重构特征向量序列对应的起始帧、结束帧、事件标签;
10.s4:构建声音事件检测模型,并对模型进行迭代训练,得到训练好的所述声音事件检测模型;
11.s5:将所述重构特征向量序列经过处理后,输入到训练好的所述声音事件检测模型中进行识别检测,得到所述待处理音频数据的声音事件检测结果;
12.其特征在于:
13.所述声音事件检测模型包括:输入层、2阶densenet模型、gru单元;所有的所述gru单元串联于所述2阶densenet模型之后;
14.所述输入层、所2阶densenet模型之间依次设置卷积层、池化层;
15.所述2阶densenet模型包括:连续的2
‑
denseblock结构,每个所述2
‑
denseblock结构后面设置一个transition layer结构;
16.在每个所述2
‑
denseblock结构中,特征图层与特征图层的连接基于2阶马尔可夫模型的相关性连接,当前特征图层输入与前2个特征图层输出相关;每个所述transition layer结构中包含一个卷积层和一个池化层。
17.其进一步特征在于:
18.所述2阶densenet模型后依次串联连续的所述gru单元,所述2阶densenet模型与第一个所述gru单元之间通过reshape层连接;所述gru单元后面依次设置time distributed层、全连接层、输出层;
19.每个所述2
‑
denseblock包括依次连接的特征图层;每个所述特征图层中包括连续的一个1*1卷积层和一个3*3的卷积层,在所述特征图层中,输入的数据在进入卷积层进行卷积处理之前,都先进行批量标准化处理和激活函数处理;每个所述特征图层中最后一个卷积层分别与下一个卷积层通过concatenation进行合并级联;每个所述2
‑
denseblock中的第一个特征图层与第二个特征图层之间加入一个dropout层;
20.步骤s2中的所述梅尔频率倒谱系数的特征提取,其具体维数提取的梅尔频率倒谱系数为40mfcc;步骤s2中获取的所述原始特征向量序列的结构为2维向量,第一维向量是对于对所述待处理音频数据的采样后的帧数,第二维向量是所述梅尔频率倒谱系数的维数;
21.步骤s3中,在重构所述原始特征向量序列的特征信息与标签时,所述原始特征向量序列中具体时长为1s的数据,对应的所述重构特征向量序列的mfcc的帧数为128帧,将原始声音事件标签中的:起始时间到结束时间,重构成:起始帧数到结束帧数;
22.步骤s5中,将所述重构特征向量序列输入到所述训练好的所述声音事件检测模型之前,需要把特征向量从2维向量转换为3维向量输入网络模型,第3维向量是所述声音事件检测模型中的通道数;
23.所述gru单元的特征输入为二维特征向量;
24.所述transition layer层包括:一个卷积核为1*1卷积层、一个池化尺寸为[2,2]的最大池化层;
[0025]
所述全连接层,全连接层数的神经元个数设置为256或者128;
[0026]
所述输出层基于sigmoid函数实现。
[0027]
本发明提供的基于2
‑
densegrunet模型的声音事件检测方法,以2阶densenet网络模型为基础,加入了门控循环单元gru网络,构建了声音事件检测模型;相对于传统卷积神经网络以及循环神经网络模型,本专利技术方案中的声音事件检测模型结合了2
‑
densenet和gru的优点,既能更高效利用特征信息将其融合,获取更多有效的特征信息,同时可有效进行时间序列建模。基于本专利技术方案中的声音事件检测模型在检测城市声音事件中,具有更低的平均片段错误率,和更高的f
‑
score分数,确保基于本发明方法进行的声音分类结果更加准确。
附图说明
[0028]
图1为本发明中声音事件检测中特征重构流程图;
[0029]
图2为本发明中2
‑
densegrunet模型的网络框图;
[0030]
图3为本发明中2
‑
densenet网络中2
‑
denseblock示意图;
[0031]
图4为本发明中门控循环单元gru原理图。
具体实施方式
[0032]
如图1~图4所示,本发明基于2
‑
densegrunet模型的声音事件检测方法,其具体包括以下步骤。
[0033]
s1:采集待处理音频数据,对待处理音频数据的原始音频信号进行预处理,输出音频帧序列;
[0034]
预处理操作包括:采样与量化、预加重处理、加窗。
[0035]
s2:对音频帧序列进行时域和频域分析,提取梅尔频率倒谱系数,输出原始特征向量序列;
[0036]
梅尔频率倒谱系数的特征提取,其具体维数提取的梅尔频率倒谱系数为40mfcc;步骤s2中获取的原始特征向量序列的结构为2维向量,第一维向量是对于对待处理音频数据的采样后的帧数,第二维向量是梅尔频率倒谱系数的维数,本实施例中,梅尔频率倒谱系数为40mfcc,第二维向量即为40。
[0037]
s3:重构原始特征向量序列的特征信息与标签,输出重构特征处理后的重构特征向量序列;
[0038]
将原始特征向量序列中声音事件的起始时间、结束时间、事件所属类别,转换成重构特征向量序列对应的起始帧、结束帧、事件标签;
[0039]
在重构原始特征向量序列的特征信息与标签时,原始特征向量序列中具体时长为1s的数据,对应的重构特征向量序列的mfcc的帧数为128帧,将原始声音事件标签中的:起始时间到结束时间,重构成:起始帧数到结束帧数。
[0040]
如图1所示,步骤s3中,重构原始特征向量序列的特征信息与标签的具体实施过程,详细如下所示:
[0041]
设现有原始音频样本包括:文件名为a013、a010、a129、b099、b008、b100的文件,每个文件的时长分别为:3min44s、3min30s、4min0s、4min0s、3min30s、3min01s。将这些时长不同的音频样本文件,按照时间维度进行拼接,构建为一个总音频数据,总音频数据的总时长为t:
[0042]
t=3min44s+3min30s+4min0s+4min0s+3min30s+3min01s
[0043]
对总音频数据,提取音频的标签信息;对总音频数据中的每一段文件分别标注为:
[0044]
[time
‑
start,time
‑
end,category],分别表示与原始音频样本对应的音频事件的[开始时间,结束时间,类别]。
[0045]
对标注后的总音频数据进行特征提取,f=44.1khz,nfft=2048,win
‑
len=2048,hop_len=1024,t=0.0232s,segment len=128;
[0046]
其中,f表示采样频率,nfft表示快速傅里叶变换的长度,wen_len表示每一帧的采样点数,hop_len表示两帧之间的采样点数,t表示每一帧的时长,segment len=128表示将整个时长为t的音频进行特征提取后再分割成若干个帧数为128的特征;
[0047]
特征重构后,长度为t的总音频数据,其包含的不同的样本,分别对应的音频片段
的标注为:[frame_start,frame_end,one
‑
hot];
[0048]
表示分割后每个音频片段的:[开始帧数,结束帧数,类别的one
‑
hot编码];
[0049]
最后输出重构特征处理后的重构特征向量序列,即用[frame_start,frame_end,one
‑
hot]来表示。
[0050]
s4:构建声音事件检测模型,并对模型进行迭代训练,得到训练好的声音事件检测模型。
[0051]
以2阶的densenet模型为基础,结合门控循环单元gru模型的特点构建的网络模型,即为本发明中的声音事件检测模型,简称为:2
‑
densegrunet模型。声音事件检测模型以2阶densenet模型为网络前端的特征提取网络,然后端串联了具有良好时序建模能力的gru单元,能够及其高效的将声音事件的特征信息融合,获取更多更有效的特征信息,同时有效的进行时间序列建模,降低声音片段的平均片段错误率。
[0052]
声音事件检测模型包括:输入层、2阶densenet模型、gru单元;所有的gru单元串联于2阶densenet模型之后;
[0053]
输入层、2阶densenet模型之间依次设置卷积层、池化层;
[0054]
2阶densenet模型包括:m个连续的2
‑
denseblock结构,其中m为大于等于1的自然数;
[0055]
每个2
‑
denseblock结构后面设置一个transition layer结构;
[0056]
2阶densenet模型后依次串联连续的gru单元,2阶densenet模型与第一个gru单元之间通过reshape层连接;gru单元后面依次设置time distributed层、全连接层、输出层;其中,gru单元的特征输入为二维特征向量;输出层基于sigmoid函数实现;transition layer层包括:一个卷积核为1*1卷积层、一个池化尺寸为[2,2]的最大池化层。全连接层数的神经元个数设置为256或者128,对网络进行参数调整和抑制过拟合,最后检测结果经过sigmoid函数处理后输出。
[0057]2‑
denseblock中特征图层的结构如下表1所示:
[0058]
表1:2
‑
denseblock中特征图层的结构
[0059]
conv(1
×
1)bn(
·
)relu激活函数conv(3
×
3)bn(
·
)relu激活函数concatenate函数dropout层
[0060]
每个2
‑
denseblock结构包括依次连接的l个特征图层;
[0061]
如表1所示,每个特征图层中包括2个卷积层,在特征图层中,输入的数据在经过卷积层进行卷积处理之后,还要进行批量标准化处理(bn)和relu激活函数处理;
[0062]
每个特征图层中最后一个卷积层分别与下一个卷积层通过concatenate进行合并级联;每个2
‑
denseblock中的第一个特征图层与第二个特征图层之间通过一个dropout层,进行小幅过拟合抑制,方便后期网络模型调参。
[0063]
denseblock作为densenet模型的基础结构,2阶densenet中的denseblock也是两阶的;即,在每个2
‑
denseblock结构中,特征图层与特征图层的连接基于2阶马尔可夫模型的相关性连接,当前特征图层输入与前2个特征图层输出相关;每个transition layer结构中包含一个卷积层和一个池化层;特征图层在transition layer结构中进行权重共享,最大限度进行时间序列区分,对声音事件的起始时间、结束时间进行检测;
[0064]
每个2
‑
denseblock包括依次连接的l个特征图层,其中,l为大于等于1的自然数;每个特征图层中包括连续的一个1*1卷积层和一个3*3的卷积层,在特征图层中,输入的数据在进入卷积层进行卷积处理之前,都先进行批量标准化处理和激活函数处理;每个特征图层中最后一个卷积层分别与下一个卷积层通过concatenation进行合并级联;每个2
‑
denseblock中的第一个特征图层与第二个特征图层之间加入一个dropout层。
[0065]
在2
‑
denseblock网络结构中,每个特征图层中的1
×
1和3
×
3的卷积层是一组非线性变化的特征层。如说明书附图的图3所示,2
‑
denseblock包括4个特征图层,每个非线性变化的特征层的输入层被定义为:x1,x2,
…
,x
l
,u1~u8为特征图层中的卷积层,w2~w9为各卷积层对应的权重系数矩阵;
[0066]
在2
‑
denseblock中,第3层起始网络卷积变换的特征输出u
c
可定义为:
[0067][0068]
其中,[x
l
,x
l
‑1,x
l
‑2]表示当前层通过2阶有关连接方式进行通道数合并级联操作,使用前两个层的特征映射作为当前层的输入,w3×3和w1×1表示卷积核大小分别为1
×
1和3
×
3核函数,bn(
·
)表示批量标准化,f(
·
)为relu激活函数,bn(
·
)为批量标准化(batch_normalization),b表示偏置系数;
[0069]
每个transition layer结构中包含一个卷积层和一个池化层;其中卷积层的卷积核为1*1,通过卷积层进行特征降维处理,后接池化层,通过池化层处理减小矩阵的大小,减少最后全连接层的参数,表达公式为:
[0070][0071]
其中:表示池化层的输出,在池化区域内取极大值,l为每个所述2
‑
denseblock结构中包括的所述特征图层的个数,k为特征图的通道数,m、n为卷积核尺寸大小;x(i,j)对应特征图上的像素;p是预指定参数,当p趋于无穷大时,在池化区域内取极大值,为最大池化(max pooling)。
[0072]
如图3所示实施例,当层数l=4时,第1层的输出为x1,不使用concatenation层前向传播到第2层的输入为x2;第3层的输入的特征图只与第2层、第1层的输出的特征图有关,即x3=f([x3,x2,x1]);第4层的输入的特征图只与第3层、第2层的输出的特征图有关,即x4=f([x4,x3,x2])。
[0073]
如图4所示,gru单元为门控循环单元,是循环神经网络中的一种门控机制。在门控循环单元的机制中,设了更新门z
t
和重置门r
t
。更新门z
t
用于控制前一时刻的状态x
t
‑1信息被带入到当前状态x
t
中的程度,重置门r
t
控制前一状态有多少信息被写入到当前的候选集上,gru在时序建模上有着较好的性能。其表达公式为:
[0074]
z
t
=σ(w
z
·
[h
t
‑1,x
t
])
[0075]
r
t
=σ(w
r
·
[h
t
‑1,x
t
])
[0076][0077][0078]
式中:σ表示全连接层和激活函数,表示隐藏状态,h
t
表示输出,*表示元素的*乘运算;
[0079]
w
z
表示更新门的权重系数,w
r
表示重置门的权重系数,σ(g)表示表示全连接层和激活函数,tanh(g)表示tanh激活函数。
[0080]
如图2所示,输入声音事件检测模型的特征向量序列先依次进行一层卷积操作和一次池化处理,然后分别依次输入连续的m个2
‑
denseblock中,每个所述2
‑
denseblock后面分别跟着一个transition layer层;经过包括连续的m个所述2
‑
denseblock结构和transition layer的2
‑
desenet(m)处理后,通过reshape层转换特征维数,将三维特征向量转换成二维特征向量,后接n个门控循环单元gru进行时序建模处理,然后输入time distributed层中进行时间序列的张量操作,再输入全连接层进行检测处理,最后检测结果经过sigmoid函数处理后输出。其中2
‑
denseblock的个数m和层数l根据实际的硬件情况和数据复杂度进行取值。如说明书附图的图2、3所示的实施例,n取值为2,m取值为2,l取值为4。
[0081]
sigmoid函数f(z)公式为:
[0082][0083]
s5:将重构特征向量序列经过处理后,输入到训练好的声音事件检测模型中进行识别检测,得到待处理音频数据的声音事件检测结果;同时,将重构特征向量序列输入到训练好的声音事件检测模型之前,需要把特征向量从2维向量转换为3维向量,第3维向量是声音事件检测模型中的通道数。
[0084]
本专利技术方案中,基于2阶densenet能够更有效的提取特征图中的信息,门控循环单元gru模型简单,因此更适用于构建较大的网络;本专利中通过将2阶densenet网络和2个门控循环单元gru模型结合,从计算角度看,计算效率更高;基于本专利技术方案,既能够有效提取特征图的频域信息,也能有效捕捉到长时音频序列的时序特征,同时更高效地实现检测中的分类任务和回归任务。
[0085]
如下面表2所示,为2
‑
densegrunet模型的网络结构的实施例。
[0086]
表2:2
‑
densegrunet模型的实施例
[0087]
input:mfcc[128,80,1]conv(3
×
3):[128,80,32]pooling(2
×
2):[64,80,32]2
‑
denseblock(1):[32,80,16]transition layer(16,80,8)
2
‑
denseblock(2):[16,80,8]transition layer(16,80,8)reshape:[64,160]gru(1):[64,64]gru(2):[64,32]timedistributed:[64,6]全连接层(64,6)output(sigmoid):[64,6]
[0088]
使用dcase2017数据集,数据集的检测类别分别为6大类,时间标签是时间起始于结束点。使用表2中所示的2
‑
densegrunet模型,m设置为2,即输入检测模型的特征向量序列先依次进行一层卷积操作和一次池化处理,然后分别依次输入连续的2个2
‑
denseblock中;每个2
‑
denseblock结构中根据数据情况和设备的性能,l取值为4,即每个2
‑
denseblock中包括4个特征图层。n=2,即门控循环单元gru的层数为2。
[0089]
对音频帧序列进行时域和频域分析,提取梅尔频率倒谱系数输出特征向量序列;dcase2017数据集中对输入的音频数据的采样帧数为128,选择的梅尔频率倒谱系数特征维数为:40mfcc即在40个梅尔滤波组下,提取40维的mfcc特征,输出梅尔倒谱系数特征向量序列为(128,40)。
[0090]
把这个2维向量通过reshape转为3维数据,因为此处2
‑
densenet模型的网络结构中input的通道数是1,则转为三维数据后,dcase2017的特征向量分别为(128,40,1)再将三维特征向量转换成二维特征向量(256,40),输入门控循环单元gru中进行时间序列建模。
[0091]
把特征向量输入到2
‑
densenet模型中,输入的特征图序列首先通过卷积层,然后采用的池化层进行池化处理,得到的三维数据依次输入到2个连续的2
‑
denseblock中。
[0092]
在每个2
‑
denseblock中,存在4个特征图层,即4个2
‑
denseblock函数,该函数输入为特征图序列。在2
‑
denseblock函数的处理中,先进行批量标准化(bn)处理,激活函数为relu函数;再传递到卷积层;函数内该过程执行两次,第一个卷积核尺寸为1*1,第二个卷积核尺寸为3*3。因此该2
‑
denseblock函数(公式中记作:2
‑
denseblock)中的具体操作为:
[0093][0094]
经过两个连续的2
‑
denseblock、transition layer处理之后的三维数据,先将三维特征向量转换成二维特征向量,输入门控循环单元gru中进行时间序列建模,然后进入time distributed层中进行时间序列的张量操作,其可进行权重共享,最大限度进行时间序列建模,对声音事件的起始时间、结束时间进行检测,最后检测结果经过sigmoid函数处理后输出。
[0095]
在window10系统、显卡gtx1060、cpu为i7
‑
8750h、内存16g的实验环境下;keras+tensorflow作为深度学习框架,采用数据集dcase2017,首先在dcase2017数据集分别进行不同特征,不同特征维数以及是否采用gru单元的网络结构的对比实验,验证2
‑
densegrunet模型片段错误率以及f
‑
score分数;再与已有研究模型的对比实验,验证2
‑
densegrunet模型的良好的性能。
[0096]
通过在2
‑
densenet和2
‑
densegrunet网络模型中,提取的40维和120维梅尔倒谱系数特征以及40维的伽马通倒谱系数特征,在dcase2017数据集进行音频数据的检测实验,具体结果如下面表3所示。
[0097]
表3:2
‑
densegrunet模型的效融实验结果
[0098]
模型特征平均片段错误率f
‑
score分数2
‑
densenet40mfcc0.5660.6102
‑
densenet128mfcc0.5620.6132
‑
densenet40gfcc0.5860.6072
‑
densegrunet40mfcc0.5430.6512
‑
densegrunet128mfcc0.5410.6482
‑
densegrunet40gfcc0.5630.631
[0099]
根据实验结果可知,本发明采用的2
‑
densegrunet模型,相较于未使用门控循环单元gru的2
‑
densenet模型,在40mfcc、128mfcc以及40gfcc特征下,平均片段错误率分别降低了2.3%、2.1%和2.3%,f
‑
score分数分别提升了4.1%、3.5%和2.4%;在2
‑
densegrunet模型,使用40mfcc相对40gfcc特征下,平均片段错误率分别降低了2.0%,f
‑
score分数分别提升了2.0%;使用40mfcc相对128mfcc特征下,平均片段错误率和f
‑
score分数变化幅度在0.1%左右,但使用40mfcc可有效减少模型训练时间、减低计算机的运算要求。综上可得,在40mfcc下2
‑
densegrunet模型能既能更高效利用特征信息融合,获取更多有效的特征信息,同时可有效进行时间序列建模。最优平均片段错误率为0.543%和f
‑
score分数为65.12%。
[0100]
在dcase2017数据集中2
‑
densegrunet模型进一步进行试验,试验结果与已有的国内外研究者模型准确率进行对比,对比试验结果如表4。
[0101]
表4 不同模型的检测结果
[0102][0103]
本发明的技术方案下,采用的d
‑2‑
densenet模型,与国内外研究者试验结果对比可知,本发明技术方案的分类准确率比baseline的mlp模型平均片段错误率分别降低了14.7%,f
‑
score分数分别提升了8.4%;比lstm模型平均片段错误率分别降低了1.9%,f
‑
score分数分别提升了3.9%;本发明技术方案的平均片段错误率有了明显的下降,f
‑
score分数有了明显的提升。
[0104]
综上所述,本发明提供的技术方案在处理音频数据时能更高效利用特征信息融合,获取更多有效的特征信息,模型具有更低的平均片段错误率和更高f
‑
score分数,即基于本发明方法实现的声音分类的准确性更高。