一种基于三级滑动时间窗模型的幼童哭声在线识别方法

阅读: 评论:0



1.本发明属于人工智能技术领域,具体涉及一种基于三级滑动时间窗模型的幼童哭声在线识别方法。


背景技术:



2.随着社会进步,幼童哭声识别在人身安全、幼儿看护、医疗等方面具有广阔的应用空间。如儿童检测、儿童陪护、病情分析等都有幼童哭声识别功能的需求。受制于模型和计算能力的限制,早期哭声识别技术的准确率较低。近年来鉴于基于机器学习的计算机听觉技术的快速发展,幼童哭声识别技术的性能已经有了明显提高。其基本思路是先从原始哭声信号中提取音频特征,再输入分类器得到识别结果。常用的音频特征有梅尔频率倒谱系数(mfcc)、线性预测倒谱系数(lpcc)等。常见的分类模型有隐马尔科夫链(hmm)、高斯混合模型(gmm)、支持向量机(svm)等浅层模型。这些模型可以在低资源平台上部署,但难以直接对高维特征进行建模,影响了其准确率和鲁棒性。近些年人工神经网络技术(ann)有了长足的进步,其中深度神经网络(dnn)凭借良好的特征自学习能力,使得dnn的应用也延伸到了声音信号分析领域。目前比较常见的方法是通过卷积神经网络(cnn)对声谱图进行建模,在其基础上又衍生出了基于循环神经网络(rnn)和长短时神经网络(lstm)对声谱图进行建模的方法。然而基于ann的哭声识别技术依然存在一些暂时难以解决的难点。dnn的训练需要大量高质量的训练样本,但在音频领域一般难以获得足够多的声音训练样本,特别是已标记样本。声音种类及其丰富,训练样本无法包含所有的声音种类,使得识别模型必须处理新样本。声音样本一般都包含一定比例的噪声,且噪声频谱能够和声音频谱互相叠加,很可能会直接干扰神经网络对声音频谱特征的提取质量。声谱图是声音的时频特征在时域和频域两个维度上的分布,这与图像像素的空间位置结构有很大区别,导致dnn特别是cnn的卷积核难以直接解析声谱图的结构信息。ann模型参数多,体积大,对计算资源消耗量大,难以在低资源平台上部署。


技术实现要素:



3.发明目的:针对上述不足,本专利提出一种基于三级滑动时间窗模型的幼童哭声在线识别方法,通过多级滑动时间窗框架在时间维度上对单声道声音信号进行分割,运用时域和频域上的特征提取方法以及轻量化的浅层混合模型,实现时频域特征的融合分析,完成对幼童哭声的在线识别。
4.技术方案:本发明提出一种基于三级滑动时间窗模型的幼童哭声在线识别方法,具体包括以下步骤:
5.(1)预先获取哭声信号,转化为时序数据流x={x1,x2,x3,

xi},其中xi为信号采样值;
6.(2)在第一级滑动窗xi内提取声音信号的频谱特征:设第i个一级时间窗的宽度为li,li=min(t
sfs
,ls),其中ts为哭声信号的短时平稳时间,fs为声音信号采样率,ls为声音信号采样缓冲区的大小;在时间窗内的短时平均能量若大于阈值θe,表示附近存在声响,进行频谱分析;
7.(3)第二级滑动窗x
ii
在更大时域范围内由哭声分析模型cm1对频谱特征进行模式分析:在二级时间窗范围内对若干个一级时间窗的频谱特征按时序进行组合,以获得幼童哭声单个发声周期内的频谱特征;通过哭声分析模型得出该周期内哭声的概率;
8.(4)在第三级滑动窗x
iii
范围内由哭声分析模型cm2给出哭声识别结果。
9.进一步地,所述步骤(2)包括以下步骤:
10.(21)将时间窗分解为k个可重叠的帧,记第j个帧为:
[0011][0012]
其中,lv是帧长,ls=l
v-lo,lo(0≤lo≤l
v-1)为帧之间的重叠长度,则有
[0013]
(22)对第j个帧vj加窗后进行快速傅里叶变换,得到相应的频谱向量:
[0014][0015]
(23)鉴于哭声谱能量主要分布在低频域,高频能量基本来自于噪声;设vj的高频向量为:
[0016][0017]
对进行线性拟合,获得模型参数得到噪声的频谱估计为得到噪声的频谱估计为其中令若则令则可得降噪后的哭声频谱向量则可得降噪后的哭声频谱向量
[0018]
(24)将在mel滤波器组上进行投影得到mel频谱向量既既为了有效降维,满足滤波器个数lm<<lf;
[0019]
(25)对取对数后再进行离散余弦变换,可得倒谱向量取对数后再进行离散余弦变换,可得倒谱向量由于频谱能量主要分布在低频部分,一般取l
p
<lm;
[0020]
(26)对内所有帧按(22)-(25)依次处理,可得一级时间窗的频谱特征
[0021]
进一步地,步骤(3)所述哭声分析模型cm1由rbf网络和单分类支持向量机模型组成;所述rbf网络接收ii向量,输出2维特征di,实现将音频特征向量映射到低纬的度量空间中,其输入层包含12个神经元;隐层包含24个神经元,激活函数为rbf;输出层包含2个神经
元;其损失函数为:
[0022]
l=max(||f(a)-f(p)||-||f(a)-f(n)||+||π
p-πn||,0)
[0023]
其中,a是锚点,p是哭声特征样本,n是环境声特征样本,π
p
是哭声样本特征的均值向量,πn是环境声样本特征的均值向量;所述单分类支持向量机模型,用于为度量空间中由dnn生成的2维哭声特征向量分布生成决策球面,通过特征向量与决策球面的位置关系实现其标签输出pi′
,如下述公式:
[0024][0025]
其中,h
ocsvm
(
·
)为ocsvm的决策函数;通过调整参数nu和gamma来改变模型决策面。
[0026]
进一步地,所述步骤(3)包括以下步骤:
[0027]
(31)第i个二级时间窗的宽度为l
ii
,l
ii
=ali,ta为幼童哭声发声周期;二级时间窗内的数量为a,则按时序进行合并,获得的数量为a,则按时序进行合并,获得并进入(32);否则令pi′
=0后退出;
[0028]
(32)设为的第j行,j=1,2,

,l
p
;假设有成立,则生成特征向量
[0029]
(33)将ii输入哭声分析模型cm1,其输出布尔值pi′
,该值如为1表明在内检测到哭声,为0则没有发现哭声。
[0030]
进一步地,所述步骤(4)实现过程如下:
[0031]
设第i个三级时间窗的宽度为l
iii
,l
iii
=bl
ii
,tb为幼童哭声识别周期;生成三级时间窗范围内的特征集cpi=[p1′
,p2′


,pb′
],并将其输入哭声分析模型cm2,其输出布尔值pi″
,由下述公式输出最终的结果:
[0032][0033]
其中,当output
cm2
(cpi)为1时,表明识别出幼童哭声,为0则没有发现哭声。
[0034]
有益效果:与现有技术相比,本发明的有益效果:本发明充分利用幼童哭声的时频特点,采用了滑动窗和混合浅层模型融合机制对哭声特征进行建模,只需要极小的计算资源就可以运行,使其能够部署于各类资源紧缺的嵌入式平台上;根据幼童哭声频域特征,用基于线性拟合的谱减法过滤白噪声,提高哭声音频特征质量;mel-hm依托度量学习和单分类svm机制,不但容易训练,也有效降低了传统深度网络对样本分布质量和数量的依赖,使其具有对各类未知声音体现出良好的鲁棒性;本发明具有识别准确率高、鲁棒性好、计算成本低等优点,其能够在成本敏感的低计算资源平台上进行部署,在家庭、交通工具、儿童场所等场景都具有广阔的应用前景。
附图说明
[0035]
图1是本发明的流程图;
[0036]
图2是哭声分析模型cm1结构示意图;
[0037]
图3为在软件环境下对本发明进行可视化验证结果图。
具体实施方式
[0038]
下面结合附图对本发明作进一步详细描述。
[0039]
本发明提出一种基于三级滑动时间窗模型的幼童哭声在线识别方法,在第一级滑动窗xi内提取声音信号的频谱特征;第二级滑动窗x
ii
在更大时域范围内由模型1对频谱特征进行模式分析;在第三级滑动窗x
iii
范围内由模型2给出哭声识别结果。如图1所示,包括以下步骤:
[0040]
步骤1:预先获取哭声信号,转化为时序数据流x={x1,x2,x3,

xi},其中xi为信号采样值。
[0041]
步骤2:在第一级滑动窗xi内提取声音信号的频谱特征。
[0042]
设第i个一级时间窗的宽度为li,li=min(t
sfs
,ls),其中ts为哭声信号的短时平稳时间,fs为声音信号采样率,ls为声音信号采样缓冲区的大小。设第i个二级时间窗的宽度为l
ii
,l
ii
=ali,ta为幼童哭声发声周期。设第i个三级时间窗的宽度为l
iii
,l
iii
=bl
ii
,tb为幼童哭声识别周期。设时间窗的移动步长分别为li、l
ii
和l
iii
,既同级的相邻时间窗之间没有时域上的重叠。
[0043]
(1)短时平均能量
[0044]
在时间窗内的短时平均能量若大于阈值θe,表示附近存在声响,进行第2步处理。
[0045]
(2)频谱分析
[0046]
1)将时间窗分解为k个可重叠的帧,记第j个帧为:
[0047][0048]
其中,lv是帧长,ls=l
v-lo,lo(0≤lo≤l
v-1)为帧之间的重叠长度,则有
[0049]
2)对第j个帧vj加窗后进行快速傅里叶变换,得到相应的频谱向量:
[0050][0051]
3)鉴于哭声谱能量主要分布在低频域,高频能量基本来自于噪声。设vj的高频向量为:
[0052]
对进行线性拟合,获得模型参数得到噪声的频谱估计为
其中令若则令则可得降噪后的哭声频谱向量则可得降噪后的哭声频谱向量
[0053]
4)将在mel滤波器组上进行投影得到mel频谱向量既既为了有效降维,满足滤波器个数lm<<lf。
[0054]
5)对取对数后再进行离散余弦变换,可得倒谱向量由于频谱能量主要分布在低频部分,一般取l
p
<lm。
[0055]
6)对内所有帧按2)-5)步依次处理,可得一级时间窗的频谱特征的频谱特征
[0056]
步骤3:第二级滑动窗x
ii
在更大时域范围内由哭声分析模型cm1(模型1)对频谱特征进行模式分析。
[0057]
cm1是由rbf网络和ocsvm两个浅层模型组成的混合模型(mel-hm),能够输出指定时间范围内出现哭声的概率,其结构如图2所示:
[0058]
rbf网络接收ii向量,输出2维特征di,实现将音频特征向量映射到低纬的度量空间中。网络结构为:输入层(12个神经元),隐层(24个神经元,激活函数为rbf),输出层(2个神经元,没有激活函数)。定义损失函数:
[0059]
l=max(||f(a)-f(p)||-||f(a)-f(n)||+||π
p-πn||,0),
[0060]
其中,a是锚点,p是哭声特征样本,n是环境声特征样本,π
p
是哭声样本特征的均值向量,πn是环境声样本特征的均值向量。该损失函数可以使得模型在完成训练后,度量空间中哭声特征样本间的距离小于哭声与环境声样本的距离。
[0061]
ocsvm是单分类支持向量机模型,用于为度量空间中由dnn生成的2维哭声特征向量分布生成决策球面,通过特征向量与决策球面的位置关系实现其标签输出。如下述公式:
[0062][0063]
其中,h
ocsvm
(
·
)为ocsvm的决策函数;通过调整参数nu和gamma来改变模型决策面。
[0064]
幼童哭声频谱特征在单个发声周期内具有明显的不变性。在二级时间窗范围内对若个一级时间窗的频谱特征按时序进行组合,以获得幼童哭声单个发声周期内的频谱特征。然后通过哭声分析模型得出该周期内哭声的概率。具体过程如下:
[0065]
(1)若二级时间窗内的数量为a,则按时序进行合并,获得的数量为a,则按时序进行合并,获得并进入步骤(2);否则令pi′
=0后退出。
[0066]
(2)设为的第j行,j=1,2,

,l
p
。假设有成立,则生成特征向量
[0067]
(3)将ii输入哭声分析模型cm1,其输出布尔值pi′
,该值如为1表明在内检测到哭声,为0则没有发现哭声。
[0068]
步骤4:在第三级滑动窗x
iii
范围内由哭声分析模型cm2(模型2)给出哭声识别结果。
[0069]
设第i个三级时间窗的宽度为l
iii
,l
iii
=bl
ii
,tb为幼童哭声识别周期;生成三级时间窗范围内的特征集cpi=[p1′
,p2′


,pb′
],并将其输入哭声分析模型cm2,其输出布尔值pi″
,由下述公式输出最终的结果:
[0070][0071]
其中,当output
cm2
(cpi)为1时,表明识别出幼童哭声,为0则没有发现哭声。
[0072]
算法参数依赖于先验知识、部署系统的硬件性能以及训练样本进行设定。参数设定结果如表1所示:
[0073]
表1为参数设置
[0074]
[0075][0076]
将硬件系统置于哭声声源3米处,将其在接收40db哭声时的短时能量值作为θe值。读取哭声样本得到数据流集{xi},i=1,2,

nc,nc为哭声样本总数;依次对xi进行下述处理:用滑动窗遍历xi,生成集合ns为xi数量;获取集合{j}中连续子列的最小长度t
imin
和最大长度t
imax
;{xi}处理结束后,可得{t
imin
}和{t
imax
},i=1,2,

nc;令读取哭声样本得到数据流集{xi},i=1,2,

nc,nc为哭声样本总数;依次对xi进行下述处理:按一二级时间窗算法遍历xi,生成zi;令θz1=min{zi},θz2=max{zi},i=1,2,

nc。通过可视化验证,调整参数nu和gamma,使得osvcm模型的分类准确率达到98%以上。
[0077]
从urban-sound8k数据集中抽取了900个环境声文件,包含了车辆鸣笛、狗叫、路面施工、交谈、唱歌、铃声等场景。按系统缓冲区空间大小分割成6400个声音样本集,将其作为模型的训练和测试样本。在软件环境下对mel-hm模型进行可视化验证。结果如图3所示,从图3可知,mel-hm模型较好的把哭声和环境声样本映射到了2维度量空间中不同的位置,避免了空间分布相交的情况,并生成了哭声样本的决策面。决策面内包裹了绝大部分哭声样本,避开了环境声。
[0078]
为了衡量本专利所提方法的性能,取三种典型哭声识别模型作为baseline。
[0079]
spec-2dcnn:输入层,(129,782);卷积层32,3,3,1;卷积层32,3,3,1;池化层maxpool(3,3),2;卷积层64,3,3,1;卷积层64,3,3,1;池化层maxpool(3,3),2;全连接层1024;全连接层2。mel-2dcnn:输入层,(56,12);卷积层32,3,3,1;卷积层32,3,3,1;池化层maxpool(3,3),2;卷积层64,3,3,1;卷积层64,3,3,1;池化层maxpool(3,3),2;全连接层
1024;全连接层2;mel-1dcnn:输入层,(12,1);卷积层64,3,1;卷积层64,3,1;dropout 0.1;卷积层128,3,1;卷积层128,3,1;dropout 0.1;全连接层1024;全连接层2。其中,spec-2dcnn模型的输入是声音样本(6.25秒)的声谱,mel-2dcnn和mel-1dcnn模型模型的输入是声音样本(时长0.512秒)的mel倒谱。
[0080]
系统在stm32f407zgt6处理器平台上进行测试,其主频为168hhz,ram空间为192kb,flash空间为1mb。
[0081]
用keras生成模型文件,将其体积作为所需空间大小的指标,如表2所示。
[0082]
表2模型体积表
[0083]
模型体积(kb)spec-2dcnn4619609mel-2dcnn20825mel-1dcnn2647mel-hm2
[0084]
从表2可知,spec-2dcnn体积远大于其他两种,表明采用神经网络直接对声谱图进行分析的方式不适用于低资源平台上部署(因此后面两项指标分析不再考虑该模型)。mel-1dcnn模型需要约3mb的空间,而mel-hm只需要2kb的空间,完全可以满足各种低资源单片机的要求。
[0085]
以模型的单次运行时间来评估其实时性能。如表3所示:
[0086]
表3模型运行时间表
[0087][0088][0089]
由于所用硬件平台的一级时间窗缓存时间为64ms。因此,mel-hm模型运行不会导致缓存区溢出而丢失声音数据,其实时性能完全能满足系统要求。mel-2dcnn模型运行时间超过了缓存时间,因此其在运行时会导致声音采样数据的丢失。mel-1dcnn虽然小于系统缓存时间,但只留给其他任务22ms的运行时间,不利于复杂应用的部署。
[0090]
鉴于哭声识别为二分类问题,因此分别通过tpr和fpr指标对mel-1dcnn模型准确率进行评估,测试结果如表4所示。
[0091]
表4模型准确率表
[0092]
模型tprfprmel-2dcnn0.85230.18mel-1dcnn0.84110.17mel-hm0.86940.14
[0093]
从表4中可知,mel-hm对于哭声的识别准确率高于其他模型,在面对陌生环境声样
本时表现出良好的准确率,具有较好的鲁棒性。
[0094]
综合上述三个方面的性能参数,本专利所提方法可以用相对很小的计算代价实现幼童哭声的高准确率识别。

技术特征:


1.一种基于三级滑动时间窗模型的幼童哭声在线识别方法,其特征在于,包括以下步骤:(1)预先获取哭声信号,转化为时序数据流x={x1,x2,x3,

x
i
},其中x
i
为信号采样值;(2)在第一级滑动窗x
i
内提取声音信号的频谱特征:设第i个一级时间窗的宽度为l
i
,l
i
=min(t
s
f
s
,l
s
),其中t
s
为哭声信号的短时平稳时间,f
s
为声音信号采样率,l
s
为声音信号采样缓冲区的大小;在时间窗内的短时平均能量若大于阈值θ
e
,表示附近存在声响,进行频谱分析;(3)第二级滑动窗x
ii
在更大时域范围内由哭声分析模型cm1对频谱特征进行模式分析:在二级时间窗范围内对若干个一级时间窗的频谱特征按时序进行组合,以获得幼童哭声单个发声周期内的频谱特征;通过哭声分析模型得出该周期内哭声的概率;(4)在第三级滑动窗x
iii
范围内由哭声分析模型cm2给出哭声识别结果。2.根据权利要求1所述的基于三级滑动时间窗模型的幼童哭声在线识别方法,其特征在于,所述步骤(2)包括以下步骤:(21)将时间窗分解为k个可重叠的帧,记第j个帧为:其中,l
v
是帧长,l
s
=l
v-l
o
,l
o
(0≤l
o
≤l
v-1)为帧之间的重叠长度,则有(22)对第j个帧v
j
加窗后进行快速傅里叶变换,得到相应的频谱向量:(23)鉴于哭声谱能量主要分布在低频域,高频能量基本来自于噪声;设v
j
的高频向量为:对进行线性拟合,获得模型参数得到噪声的频谱估计为得到噪声的频谱估计为其中令若则令则可得降噪后的哭声频谱向量则可得降噪后的哭声频谱向量(24)将在mel滤波器组上进行投影得到mel频谱向量既既为了有效降维,满足滤波器个数l
m
<<l
f
;(25)对取对数后再进行离散余弦变换,可得倒谱向量取对数后再进行离散余弦变换,可得倒谱向量由于频谱能量主要分布在低频部分,一般取l
p
<l
m
;(26)对内所有帧按(22)-(25)依次处理,可得一级时间窗的频谱特征3.根据权利要求1所述的基于三级滑动时间窗模型的幼童哭声在线识别方法,其特征在于,步骤(3)所述哭声分析模型cm1由rbf网络和单分类支持向量机模型组成;所述rbf网络接收i
i
向量,输出2维特征d
i
,实现将音频特征向量映射到低纬的度量空间中,其输入层包
含12个神经元;隐层包含24个神经元,激活函数为rbf;输出层包含2个神经元;其损失函数为:l=max(||f(a)-f(p)||-||f(a)-f(n)||+||π
p-π
n
||,0)其中,a是锚点,p是哭声特征样本,n是环境声特征样本,π
p
是哭声样本特征的均值向量,π
n
是环境声样本特征的均值向量;所述单分类支持向量机模型,用于为度量空间中由dnn生成的2维哭声特征向量分布生成决策球面,通过特征向量与决策球面的位置关系实现其标签输出p
i

,如下述公式:其中,h
ocsvm
(
·
)为ocsvm的决策函数;通过调整参数nu和gamma来改变模型决策面。4.根据权利要求1所述的基于三级滑动时间窗模型的幼童哭声在线识别方法,其特征在于,所述步骤(3)包括以下步骤:(31)第i个二级时间窗的宽度为l
ii
,l
ii
=al
i
,t
a
为幼童哭声发声周期;二级时间窗内的数量为a,则按时序进行合并,获得的数量为a,则按时序进行合并,获得并进入(32);否则令p
i

=0后退出;(32)设为的第j行,j=1,2,

,l
p
;假设有成立,则生成特征向量(33)将i
i
输入哭声分析模型cm1,其输出布尔值p
i

,该值如为1表明在内检测到哭声,为0则没有发现哭声。5.根据权利要求1所述的基于三级滑动时间窗模型的幼童哭声在线识别方法,其特征在于,所述步骤(4)实现过程如下:设第i个三级时间窗的宽度为l
iii
,l
iii
=bl
ii
,t
b
为幼童哭声识别周期;生成三级时间窗范围内的特征集cp
i
=[p1′
,p2′


,p
b

],并将其输入哭声分析模型cm2,其输出布尔值p
i

,由下述公式输出最终的结果:其中,当output
cm2
(cp
i
)为1时,表明识别出幼童哭声,为0则没有发现哭声。

技术总结


本发明公开了一种基于三级滑动时间窗模型的幼童哭声在线识别方法,预先获取哭声信号,转化为时序数据流;在第一级滑动窗X


技术研发人员:

吴士力 林若玺

受保护的技术使用者:

南京交通职业技术学院

技术研发日:

2022.02.22

技术公布日:

2022/6/17

本文发布于:2022-11-25 12:55:46,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/2422.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:哭声   模型   向量   频谱
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图