一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于音频特征的生猪状态识别方法与流程

2021-12-13 00:07:00 来源:中国专利 TAG:


1.本发明涉及音频识别技术领域,更具体的说是涉及一种基于音频特征的生猪状态识别方法。


背景技术:

2.生猪音频是行为状态体现的关键特征之一,包含大量语义,识别出生猪音频信号中的信息对生猪的养殖至关重要。早期的生猪音频主要靠技术人员人工识别,这不仅成本较高,而且效率低下。随着现代信息技术、人工智能、信号处理等技术的快速发展,将音频的特征分析与计算机技术相结合能提高效率,有助于养猪业的发展。
3.然而目前的生猪音频识别主要采用隐马尔可夫模型来进行声学模型的构建,其中主要使用的是高斯混合模型gmm来估计观测概率,然而gmm是拟合观测序列的概率分布,相邻gmm之间相关性并不强,对非线性数据统计率很低,使得音频观测序列的建模能力有限,音频识别的效率较低。
4.因此,如何提出一种识别效率高的基于音频特征的生猪状态识别方法是本领域技术人员亟需解决的问题。


技术实现要素:

5.有鉴于此,本发明提供了一种基于音频特征的生猪状态识别方法,目的在于提高生猪状态音频识别的效率。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种基于音频特征的生猪状态识别方法,包括以下步骤:
8.采集待识别猪声音频,将所述待识别猪声音频经过数据处理后进行音频数据的预增强及特征提取;
9.将提取到的音频特征作为观测序列输入到训练后的dnn

hmm生猪状态音频识别模型中,获取某个音素的某个状态对某一帧声学特征的观察值概率;具体包括以下内容:
10.s1.通过训练后的gmm

hmm获得dnn训练标注;
11.s2.对观测序列进行帧与状态的对齐处理,将已经对齐的标注和数据特征输入到dnn中;dnn通过前向传播计算网络输出值,运用误差反向传播算法更新网络参数,完成dnn的有监督训练;
12.s3.通过训练后的dnn重新估计初始状态概率和隐状态转移概率,利用重新估计后的估计初始状态概率和隐状态转移概率通过hmm完成解码,获得最优hmm状态序列,并进一步计算观察值概率。
13.优选的,将所述待识别猪声音频经过数据处理后进行音频数据的预增强及特征提取的具体内容包括:
14.1)将原始猪声音频信号进行预加重、分帧和加汉明窗处理;
15.2)对每帧生猪音频信号进行傅里叶变换,得到生猪音频信号的频谱s
i
(k):
[0016][0017]
式中,s(n)为输入的音频信号,n为傅里叶变换的点数;根据s
i
(k),通过平方运算估计每帧生猪声音信号的功率谱:
[0018]
p
i
(k)=|s
i
(k)|2[0019]
3)将每帧生猪声音信号的功率谱p
i
(k)通过mel滤波器组,计算其功率谱在此滤波器组中的能量:
[0020][0021]
式中,b
i
(m)表示mel滤波器能量;m表示第m个mel滤波器;h
m
(k)表示mel滤波器,计算方法为:
[0022][0023]
式中:f(.)为中心频率,各f(.)之间的间隔随着m值的减小而缩小,随着m值的增大而增宽;
[0024]
4)对每个mel滤波器输出取对数计算,得到相应频带的对数功率谱:
[0025]
c(i,m)=ln[b
i
(m)]0≤m<m
[0026]
5)将对数能量代入下式求取离散余弦变换dct,获得n个mfcc参数:
[0027][0028]
式中:mfcc(i,n)为计算所得的mfcc特征值,表征生猪声音信号的静态特征;i表示第i帧;n表示dct后的谱线;m表示第m个mel滤波器;
[0029]
6)提取差分参数,得到相应的动态特征;差分参数的计算公式如下:
[0030][0031]
上式得到的d
t
为一阶差分系数,计算第t帧的一阶差分需要t

n到t n的倒谱系数;对一阶差分系数d
t
再进行查分参数的计算则获取到二阶差分系数,将一阶二阶与静态的梅尔频率倒谱系数相结合得到39维的mfcc。
[0032]
优选的,所述gmm

hmm的训练过程为:
[0033]
设置隐马尔可夫的声音隐状态数量以及初始概率,其中,初始概率长度的给定与状态数相同,首元素为1,其他元素为0;
[0034]
设置隐状态转移概率矩阵大小;通过均匀分割训练样本,估计全局均值和方差来初始化观测状态转移概率矩阵;
[0035]
采用baum

welch算法进行gmm参数优化重估,通过维特比算法获得对齐信息来更新hmm参数;
[0036]
在以上过程中,设置迭代次数和阈值,在模型收敛或达到最大迭代次数时,得到训练好的gmm

hmm模型。
[0037]
优选的,dnn的有监督训练过程为:
[0038]
将已经对齐的标注和数据特征输入到dnn中,设置全连接神经网络内包括的隐藏层个数,设置softmax层作为输出层,使用整流线性单元作为激活函数:
[0039]
f=max(0,z)
[0040]
式中,z为全连接网络的输出;
[0041]
使用交叉熵损失函数j
ce
作为损失函数,它定义为:
[0042][0043]
其中i是输出层节点索引,是真实的标签,由gmm

hmm模型生成,y
i
是其激活函数;
[0044]
分别设置相关参数,使用自适应矩估计优化算法实现学习率的衰减,并完成对dnn参数的更新;
[0045]
使用早停法,设置验证集的数据比例,当dnn模型在验证集上的表现开始下降的时候,停止训练。
[0046]
优选的,s3的具体内容包括:
[0047]
通过dnn计算后验概率,并将后验概率转换为似然概率,转换方法为:
[0048]
p(x
t
|q
t
)=p(q
t
|x
t
)p(x
t
)/p(q
t
)
[0049]
式中,x
t
为观察值,q
t
为时刻t下的状态;
[0050]
使用维特比算法,通过转换后的似然概率获取最优hmm状态序列,最终得到的声学概率表示如下:
[0051][0052]
其中,w为维特比算法可能得到的识别序列,p(q
t
|x
t
)由dnn计算得出的后验概率,p(q
t
)是状态先验概率,π(q0)和a
qtqt
‑1分别为由hmm决定的初始状态概率和状态转移概率。
[0053]
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于音频特征的生猪状态识别方法,本发明使用深度神经网络代替传统音频识别模型中的高斯混合矩阵成分,结合隐马尔可夫模型,提出了一种新的基于音频特征的生猪状态识别方法,将采集到猪声提取特征后利用hmm用来描述音频信号的动态变化,dnn用来估计观察特征的概率,将生猪音频对应的特征参数作为观测序列,决定生猪音频的音素作为隐状态,构建dnn

hmm的猪声识别模型及识别方法。实验表明,本发明在几种猪只声音的识别中效果良好,各方面相对于传统的gmm

hmm模型都有所提升,总的识别率提高了17%,对于生猪音频识别和行为状态的判定具有较高的实用价值。
附图说明
[0054]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0055]
图1附图为本发明实施例中提供的dnn

hmm模型结构图;
[0056]
图2附图为本发明实施例中提供的mfcc声学特征提取流程图;
[0057]
图3附图为本发明实施例中提供的s3流程图;
[0058]
图4附图为本发明实施例中提供的猪场噪声波形图;
[0059]
图5附图为本发明实施例中提供的滤波前后波形对比图;其中,图(a)为原始吃饭声,图(b)为滤波后的吃饭声,图(c)为原始发情声,图(d)为滤波后的发情声,图(e)为原始病猪喘气声,图(f)为滤波后的病猪喘气声,图(g)为原始嚎叫声,图(h)为滤波后的嚎叫声,图(i)为原始哼叫声,图(j)为滤波后的哼叫声;
[0060]
图6附图为本发明实施例中提供的验证损失与准确度曲线变化图;
[0061]
图7附图为本发明实施例中提供的测试结果图,其中,图(a)为gmm

hmm测试结果图,图(b)为dnn

hmm测试结果图。
具体实施方式
[0062]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063]
本发明实施例中公开了一种基于音频特征的生猪状态识别方法,该方法基于dnn

hmm模型进行,dnn

hmm模型结构如图1所示。
[0064]
音频识别系统一般由特征提取、声学模型、语言模型、解码四个部分构成,然而语言模型部分在音频识别系统中非必须部分。在构建生猪音频识别系统时,虽然生猪的不同行为状态有着不同的叫声,但它并非一种实际的语言,无法和人类语言相提并论,所以本实施例中所构建的生猪音频识别系统不考虑语言模型,仅以生猪的声学特征作为研究对象。
[0065]
在传统的隐马尔可夫模型(hiddenmarkov models,hmm)中,一般使用高斯混合模型(gaussian mixture model,gmm)来估计观测概率,然而gmm是拟合观测序列的概率分布,相邻gmm之间相关性并不强,对非线性数据统计率很低,使得音频观测序列的建模能力有限。深度神经网络(deep neural network,dnn)对音频数据建模时,引入了非线性的效果,通过对输入进行拼帧来使得模型可以学习到音频帧之间的联系,构建的模型具有很强的上下文信息。本实施例中选用dnn代替gmm,并构建深度神经网络及隐马尔可夫模型来识别生猪音频,以此预测生猪的状态。
[0066]
对于隐马尔可夫模型hmm:
[0067]
隐马尔可夫模型是一种概率统计模型,它描述了两个相互依赖的随机过程,一个是可观察的过程,一个是隐藏的马尔科夫过程,隐马尔可夫模型通过对概率的计算,选择最大可能性估计出来预测音频的输出序列。一个隐马尔可夫模型可以被表示为λ=(a,b,π),其中a是隐藏状态转移概率矩阵,它描述了hmm各个隐藏状态s的转移概率,它的一个组成成分定义a
jk
为:
[0068]
a
jk
=p(q
t 1
=s
k
|q
t
=s
j
),1≤j,k,≤|q|
[0069]
式中t为时刻。b是观测状态转移概率矩阵,表示在某时刻t、第j个状态下,观测到某一状态o
t
的概率,它的一个组成成分b
j
(o
t
)定义为:
[0070][0071]
式中k为第k个概率密度函数,c
jk
为第k个概率密度函数的权值,g是高斯函数,μjk和∑
jk
分别表示第k个概率密度函数的均值矩阵和协方差矩阵。由于使用了高斯函数,因此这样的hmm又叫做高斯混合模型

隐马尔可夫模型。π是初始状态概率矩阵,代表在起始时刻下各个隐藏状态的概率,定义为:
[0072]
π
j
=p(q1=s
j
),1≤j≤|q|
[0073]
其中s
j
是隐藏状态,|q|是隐藏状态的数量。
[0074]
对于dnn

hmm:
[0075]
深度神经网络是一种具有多层隐含单元的前馈传统人工神经网络。在dnn

hmm框架中,hmm用来描述音频信号的动态变化,dnn用来估计观察特征的概率
[14

16]
。图1展示了含有3个隐藏层的的dnn

hmm结构图,图中v0为声学特征mfcc的输入层,v1至v3为3个dnn的隐藏层,每层包括128个隐藏节点,v4为输出层,与hmm相连接,hmm包括若干隐藏状态,每个隐状态可以自循环或指向下一隐藏节点。将原始音频提取的mfcc作为特征数据,作帧与状态的对齐处理,再把已经对齐的数据和标签输入到dnn中,整个dnn通过前向传播计算网络输出值,运用误差反向传播算法更新网络参数,当要计算某个音素的某个状态对某一帧声学特征的观察值概率时,可用该状态对应的dnn输出节点的后验概率表示,使用维特比算法,在给定观察序列的情况下,寻求最优的hmm状态序列,由于hmm的解码需要似然概率,而dnn输出的是后验概率,因此需要将后验概率转化为似然概率。
[0076]
该基于dnn

hmm的生猪状态音频识别方法,包括以下步骤:
[0077]
采集待识别猪声音频,将待识别猪声音频经过数据处理后进行音频数据的预增强及特征提取;
[0078]
将提取到的音频特征作为观测序列输入到训练后的dnn

hmm生猪状态音频识别模型中,获取某个音素的某个状态对某一帧声学特征的观察值概率;具体包括以下内容:
[0079]
s1.通过训练后的gmm

hmm获得dnn训练标注;
[0080]
s2.对观测序列进行帧与状态的对齐处理,将已经对齐的标注和数据特征输入到dnn中;dnn通过前向传播计算网络输出值,运用误差反向传播算法更新网络参数,完成dnn的有监督训练;
[0081]
s3.通过训练后的dnn重新估计初始状态概率和隐状态转移概率,利用重新估计后的估计初始状态概率和隐状态转移概率通过hmm完成解码,获得最优hmm状态序列,并进一步计算观察值概率。
[0082]
需要说明的是:
[0083]
为了尽可能减小采集环境中其他噪声对生猪音频信号的影响,提取出较好的音频特征,需要对采集到的音频信号进行预处理,以便获得较为平稳、光滑的音频信号,使后续生成的声音模型具有较高的鲁棒性。
[0084]
猪场环境较为复杂,有着各种噪音,合理的滤波算法对猪声音频的识别至关重要,本实施例中采用卡尔曼滤波算法对采集到的生猪音频进行滤波降噪,它以最小均方误差为最优估计准则,建立信号与噪声的状态方程,利用前一时刻的估计值与当前时刻的观测值不断更新对状态变量的修正,并进行相应的预估,通过迭代求得动态系统的滤波结果。具体
实现过程如下:
[0085]
1)定义一个可由线性随机微分方程描述的离散控制过程的系统x
k
以及系统的测量值z
k

[0086]
x
k
=ax
k
‑1 bu
k
w
k
[0087]
z
k
=hx
k
v
k
[0088]
式中,x
k
是k时刻的系统状态,u
k
是k时刻对系统的控制量,a和b是系统参数,对于多模型系统时,这两个参数为矩阵,z
k
是k时刻的测量值,h是测量系统的参数,w
k
和v
k
分别表示过程和测量的噪音,都被假设成高斯白噪声,它们的协方差为q和r。
[0089]
2)利用系统的过程模型,基于上一状态预测当前状态x(k|k

1):
[0090]
x(k|k

1)=ax(k

1|k

1) bu
k
[0091]
式中,x(k

1|k

1)是上一状态的最优结果,u
k
是现状态的控制量,在没有控制量的时候可为0。
[0092]
3)更新协方差p:
[0093]
p(k|k

1)=ap(k

1|k

1)a

q
[0094]
其中,p(k|k

1)是x(k|k

1)对应的协方差,p(k

1|k

1)是x(k

1|k

1)对应的协方差,a

为a的转置矩阵,q为系统过程的协方差。
[0095]
4)结合预测值和测量值,得到现状态k的最优化估计值x(k|k):
[0096]
x(k|k)=x(k|k

1)kg
k
(z
k

hx(k|k

1))
[0097]
式中,kg
k
为卡尔曼增益,它的表达式是kg
k
=p(k|k

1)h

/(hp(k|k

1)h

r)。
[0098]
5)为使得卡尔曼滤波器不断运行下去直至系统结束,还需更新k状态下x(k|k)的协方差:
[0099]
p(k|k)=(i

kg
k
h)p(k|k

1)
[0100]
其中,i为1的矩阵,当系统进入到k 1状态时,p(k|k)就变为了p(k

1|k

1)。至此,算法就可以自回归的运行下去。
[0101]
对于预加重:
[0102]
音频经发声者的口唇辐射发出,受唇端辐射抑制,高频能量明显下降。在进行音频信号的分析与处理时,可采用预加重的方法补偿音频信号高频部分的振幅。假设输入信号的第n个采样点为s(n),则预加重网络的输出和输入音频信号s(n)之间的关系如下:
[0103]
s'(n)=s(n)

as(n

1)
[0104]
其中,a为预加重系数,可取1或比1较小的数值。
[0105]
对于分帧加窗:
[0106]
从整体上看,音频信号是一个非平稳信号,但考虑到基因频率在短时范围内是相对固定的,因此可认为声音信号具有短时平稳性,一般取10ms

30ms为一个准稳态过程。由于分帧过程中两帧之间的基因可能发生变化,为确保声学特征的平滑性,采取重叠取帧的方式,即相邻帧之间存在重叠部分。
[0107]
分帧方式相当于对音频信号进行了加矩阵窗的处理,但矩阵窗在时域上对信号的有限截断可能会使其对应的频域通带较窄,边界处存在多个旁瓣,出现严重的频谱泄露。为减少频谱泄露,应选取合适的窗函数对每帧信号进行加窗处理,本实施例中选取汉明窗,它的窗函数如下:
[0108][0109]
式中:n是窗的长度。
[0110]
为了进一步实施上述技术方案,将待识别猪声音频经过数据处理后进行音频数据的预增强及特征提取的具体内容包括:
[0111]
1)将原始猪声音频信号进行预加重、分帧和加汉明窗处理;
[0112]
2)对每帧生猪音频信号进行傅里叶变换,得到生猪音频信号的频谱s
i
(k):
[0113][0114]
式中,s(n)为输入的音频信号,n为傅里叶变换的点数;根据s
i
(k),通过平方运算估计每帧生猪声音信号的功率谱:
[0115]
p
i
(k)=|s
i
(k)|2[0116]
3)将每帧生猪声音信号的功率谱p
i
(k)通过mel滤波器组,计算其功率谱在此滤波器组中的能量:
[0117][0118]
式中,b
i
(m)表示mel滤波器能量;m表示第m个mel滤波器;h
m
(k)表示mel滤波器,计算方法为:
[0119][0120]
式中:f(.)为中心频率,各f(.)之间的间隔随着m值的减小而缩小,随着m值的增大而增宽;
[0121]
4)对每个mel滤波器输出取对数计算,得到相应频带的对数功率谱:
[0122]
c(i,m)=ln[b
i
(m)]0≤m<m
[0123]
5)将对数能量代入下式求取离散余弦变换dct,获得n个mfcc参数:
[0124][0125]
式中:mfcc(i,n)为计算所得的mfcc特征值,表征生猪声音信号的静态特征;i表示第i帧;n表示dct后的谱线;m表示第m个mel滤波器;
[0126]
6)提取差分参数,得到相应的动态特征;差分参数的计算公式如下:
[0127][0128]
上式得到的d
t
为一阶差分系数,计算第t帧的一阶差分需要t

n到t n的倒谱系数;对一阶差分系数d
t
再进行查分参数的计算则获取到二阶差分系数,将一阶二阶与静态的梅尔频率倒谱系数相结合得到39维的mfcc。
[0129]
需要说明的是:
[0130]
从整体上看,音频信号是一个非平稳信号,但考虑到基因频率在短时范围内是相对固定的,因此可认为声音信号具有短时平稳性,一般取10ms

30ms为一个准稳态过程。由于分帧过程中两帧之间的基因可能发生变化,为确保声学特征的平滑性,采取重叠取帧的方式,即相邻帧之间存在重叠部分。
[0131]
分帧方式相当于对音频信号进行了加矩阵窗的处理,但矩阵窗在时域上对信号的有限截断可能会使其对应的频域通带较窄,边界处存在多个旁瓣,出现严重的频谱泄露。为减少频谱泄露,应选取合适的窗函数对每帧信号进行加窗处理,本实施例中选取汉明窗,它的窗函数如下:
[0132][0133]
式中:n是窗的长度。
[0134]
对于信号特征提取:
[0135]
原始信号是不定长的时序信号,在时域上具有较大的冗余度,不利于直接作为学习算法的输入,音频的特征提取将音频信号转换成间接而有逻辑的特征向量,比实际信号更有鉴别性和可靠性。
[0136]
听觉系统类似于一个滤波器组,对不同频率的声波具有一定的选择性,它们广泛分布于低频信号区,而在高频信号区分布较为稀疏,梅尔频率倒谱系数是通过模仿听觉机理获得的。在对原始猪声信号进行预加重、分帧加窗、快速傅里叶变换(fast fourier transform,fft)后,从mel滤波得到mel滤波能量并计算其离散余弦变换(discrete cosine transform,dct),形成了反映猪声静态特征的13维mfcc,通过添加一阶和二阶差分系数,最终得到39维的mfcc。mfcc提取流程如下图2。
[0137]
为了进一步实施上述技术方案,gmm

hmm的训练过程为:
[0138]
由于dnn

hmm与gmm

hmm系统共享音素绑定结构,因此在训练dnn

hmm模型前需要训练一个gmm

hmm系统。因为dnn训练标注是由gmm

hmm系统由维特比算法产生,而标注的质量会影响dnn系统的性能,所以gmm

hmm的初始训练模型非常重要。
[0139]
gmm

hmm的观察值概率用gmm来表示,gmm包含多个高斯函数,即概率密度函数(probability density function,pdf),因此需要对起始概率、转移概率、各状态不同的pdf的权重、各状态中不同pdf的均值和方差进行重估。由于音频识别采用自左向右结构的hmm,因此起始概率设置为:
[0140]
[1,0,0,....0],即只能从第一个状态开始训练。结合hmm的前向后向算法,定义如下统计量:
[0141][0142]
结合hmm和gmm的重估计公式,基于最大似然(maximum likelihood,ml)准则,使用baum

welch算法,gmm

hmm参数的最大期望(expectation

maximization,em)重估计公式
为:
[0143][0144][0145][0146][0147]
其中,c为训练样本数,α
t
(j)为前向概率,即在时刻t隐状态q
t
为下,观察序列为{o1,o2,o3,...o
t
}的概率;β
t
(j)为后向概率,即在时刻t隐状态为q
t
下,从t 1时刻到最后t时刻的观察序列为{o
t 1
,o
t 2
,...o
t
}的概率;c
jk
表示和状态s
j
关联的观察值被分配到高斯分量k的比重,g为高斯函数,γ
tc
(j,k)为权重。a
ij
为转移概率,不受gmm影响,ξ
tc
(i,j)表示在t时刻隐藏状态为s
i
而t 1时刻隐藏状态为s
j
的概率,o
tc
为观测的特征,每个o
tc
均参与了每个高斯均值和方差的计算,其比重由γ
tc
(j,k)决定。μ
jk
和∑
jk
是对应均值和方差的估计。
[0148]
在此过程,设置合适的迭代次数和阈值,在模型收敛或达到最大迭代次数时,得到一个已经训练好的gmm

hmm模型。
[0149]
为了进一步实施上述技术方案,dnn的有监督训练过程为:
[0150]
在dnn

hmm模型中,dnn用于模拟在给定的输入观察状态条件o
t
下hmm隐藏状态q
t
的后验概率p(q
t
/o
t
)。把gmm

hmm中的hmm提取出来作为dnn

hmm中的hmm部分,gmm用dnn替换,将上一节由训练gmm

hmm模型生成的参数标签作为dnn的输入。通过后验概率似然概率转化公式计算,并选择合适的激活函数来产生输出向量:
[0151]
v
l
=f(z
l
)=f(w
l
v
l
‑1 b
l
),0<l<l
[0152]
式中,z
l
=w
l
v
l
‑1 b
l
为激励向量,v
l
,w
l
,b
l
分别为激活向量、权重矩阵、偏差系数矩阵,l为神经层的数目,f(
·
)是对激励向量进行元素级计算的激活函数。
[0153]
通过误差反向传播算法,选取合适的损失函数,更新权重w
l
和偏移量b
l
。将输入层的误差依次往隐藏层到输入层传播,实现损失代价的逐层传递,并在每层分别调整权重和偏移量参数,直到期望损失函数值几乎不更新,达到最小化的收敛状态为止,权重w
l
和偏移量b
l
的更新由如下公式确定:
[0154][0155][0156]
其中,η为学习率,w
l(t)
和b
l(t)
分别是第t次迭代更新后的l层的权重矩阵和偏置向
量,w
l(t 1)
和b
l(t 1)
是在t 1次训练中获得的dnn模型参数,为第t次迭代时对第l层的平均权重矩阵梯度和平均偏置向量梯度。
[0157]
为了进一步实施上述技术方案,s3的具体内容包括:
[0158]
通过dnn计算后验概率,并将后验概率转换为似然概率,转换方法为:
[0159]
p(x
t
|q
t
)=p(q
t
|x
t
)p(x
t
)/p(q
t
)
[0160]
式中,x
t
为观察值,q
t
为时刻t下的状态;
[0161]
使用维特比算法,通过转换后的似然概率获取最优hmm状态序列,最终得到的声学概率表示如下:
[0162][0163]
其中,w为维特比算法可能得到的识别序列,p(q
t
|x
t
)由dnn计算得出的后验概率,p(q
t
)是状态先验概率,π(q0)和a
qtqt
‑1分别为由hmm决定的初始状态概率和状态转移概率。
[0164]
下面通过具体实验来对本发明进行进一步说明:
[0165]
1.猪声样本的获取与标注
[0166]
本实施例中运用nanopc

t4作为主控制器,外接italk

02麦克风、usb接口等资源,自主实现了声音采集传输的硬件系统。麦克风采用audio或者pcm编码,输出wav音频格式,精度选用16位,采样率设置为44100hz。实验使用的猪声音频主要源于安徽蒙城京徽蒙养猪场,单独选取较为安静的采样空间,通过声音采集系统,获得10小时的单通道生猪音频。这些生猪音频来自10头长白猪,其中3头患有疾病。本实施例中将采集到的声音划分为5类,包括进食声、哼叫声、发情声、嚎叫声、病猪喘气声,分别命名为eat,oink,estrous,howl,fap,所有叫声均是通过询问兽医和养殖专家后划分的,然后对采集到的声音样本进行相关预处理操作,截取合适的非静音段音频,最终使用每类300个音频样本作为训练集进行实验,按照5:1的关系,选取每类60个样本作为模型测试样本。
[0167]
2.猪声样本的预增强及特征提取
[0168]
将已经分好的实验数据进行卡尔曼滤波,为了直观的看出滤波前后的效果,图4展示了猪场环境下的噪声波形图,从图中可知猪场的噪声信号幅值在

0.02

0.02之间,图5展示了5种生猪音频滤波前后的对比图,其中(a)、(c)、(e)、(g)、(i)为采集到的原始吃饭声、发情声、病猪喘气声、嚎叫声、哼叫声,(b)、(d)、(f)、(h)、(j)为经过卡尔曼滤波后对应的音频波形图。从图中可看出,卡尔曼滤波降噪效果明显,且经人工主观试听,去噪效果良好。
[0169]
对已经经过降噪处理的音频样本进行预加重、分帧加窗,取预加重系数a为0.98,每帧长设置为20ms,帧重叠时间设置为10ms,通过梅尔滤波器组得到13维静态梅尔频率倒谱系数,为了反映猪声在频率动态变化特性,本实施例中结合一阶二阶差分系数,最终得到了39维mfcc。
[0170]
3.猪声声学模型的构建与测试
[0171]
将提取生猪音频样本的39维梅尔频率倒谱系数作为音频特征,并利用其构建dnn

hmm模型。图3展示了上述内容中s3的流程图,也即dnn

hmm训练流程,在训练过程中,首先训练一个gmm

hmm模型,然后将已经经维特比算法对齐的数据与标注代入到dnn里进行有监督
的训练,重新估计初始概率,隐状态转移概率,最后构建dnn

hmm模型,得到后验概率,具体过程如下:
[0172]
1)gmm

hmm的训练:根据先验知识,将隐马尔可夫的声音隐状态数量设置为5个,初始概率长度的给定与状态数相同,首元素为1,其他元素为0;将隐状态转移概率矩阵设置为5*5,总值为1;通过均匀分割训练样本,估计其全局均值和方差来初始化观测状态转移概率矩阵。采用baum

welch算法进行gmm参数优化重估,通过维特比算法获得对齐信息来更新hmm参数,在此过程中,设置迭代次数为40,收敛阈值为10

6,完成此过程后,得到一个训练好的gmm

hmm模型。
[0173]
2)有监督的dnn训练:将已经对齐的标注和数据特征输入到dnn中,设置含有3个隐藏层的全连接神经网络,每层128个节点,设置softmax层作为输出层,激活函数使用整流线性单元(relu),其表达式为:
[0174]
f=max(0,z)
[0175]
式中z为全连接网络的输出。损失函数使用交叉熵损失函数jce(cross entropy,ce),它定义为:
[0176][0177]
其中i是输出层节点索引,是真实的标签,由gmm

hmm模型生成,y
i
是其激活函数。设置初始学习率为0.003,为了加快训练计算,将epoch设置为10,batch_size设置为100,最大迭代次数设置为200,收敛阈值设置为10

6,使用自适应矩估计(adaptive moment estimation,adam)优化算法实现学习率的衰减,并完成对dnn参数的更新;为了防止过拟合,使用早停法(early stopping),将验证集的数据的比例为0.1,当模型在验证集上的表现开始下降的时候,停止训练。图6展示了已经对齐的数据在dnn训练过程中的验证准确度以及损失值曲线,dnn的训练损失在多次迭代后不断下降,模型准确度也随着迭代次数的增加而不断增大,最终loss值在0.04左右,准确率稳定在93.5%左右。
[0178]
模型测试:在已经训练好dnn

hmm模型后,对几种猪只行为的测试音频样本进行mfcc特征的提取,将提取的特征输入到训练得到的5个声音模型λ
n
=(a,b,π),(n=1,2,3,4,5)中,通过维特比算法搜索测试样本在识别模型中的最佳隐藏状态转移路径并计算累积输出概率,比对在测试样本在5个模型中的输出概率大小,获得声音的识别结果。
[0179]
4.性能测试指标
[0180]
音频识别系统的好坏可以用识别率来评价,本实施例中使用正确率、误识率来作为性能测量的指标,正确率相对音频总数而言,误识率相对错误总数而言,即:
[0181][0182][0183]
5.结果分析
[0184]
为了验证dnn

hmm模型在猪声识别方面的可靠度,本实施例中对5种猪声在gmm

hmm和dnn

hmm两种模型下的识别率做了比较,将结果按百分比显示,使用混淆矩阵(confusion matrix)展示,如下图7。
[0185]
由图7可知,gmm

hmm对吃饭声识别率达到65%,误识率为20.6%,对发情识别率达到50%,误识率为29.4%,对病猪喘气声识别率达到65%,误识率为20.6%,对哼叫、嚎叫声的识别率达到60%、90%,误识率分别为23.5%、5.9%;dnn

hmm对吃饭声识别率达到70%,误识率为35.2%,对发情识别率达到80%,误识率为23.5%,对病猪喘气声识别率达到95%,误识率为5.9%,对哼叫、嚎叫声的识别率达到75%、95%,误识率分别为29.4%、5.9%。总体而言,gmm

hmm对几种行为的猪声识别率达到66%,dnn

hmm对几种行为的猪声识别率达到了83%。相比之下,dnn

hmm在吃饭声上识别率提高了5%,在发情声上识别率提高了30%,在嚎叫与哼叫上,识别率分别提高了15%和5%,在病猪喘气声上识别率提高了30%,总体识别率提高了17%。
[0186]
本发明使用深度神经网络代替传统音频识别模型中的高斯混合矩阵成分,结合隐马尔可夫模型,提出了一种新的猪声识别方法。将采集到猪声用卡尔曼滤波器降噪,提取梅尔频率倒谱系数,利用hmm用来描述音频信号的动态变化,dnn用来估计观察特征的概率,将生猪音频对应的特征参数作为观测序列,决定生猪音频的音素作为隐状态,构建dnn

hmm的猪声识别系统。实验表明,该模型在几种猪只声音的识别中效果良好,各方面相对于传统的gmm

hmm模型都有所提升,总的识别率提高了17%,对于生猪音频识别和行为状态的判定具有较高的实用价值。
[0187]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0188]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本实施例中中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本实施例中所示的这些实施例,而是要符合与本实施例中所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献