一种基于卷积神经网络的生猪咳嗽声音识别方法与流程

文档序号:17152637发布日期:2019-03-19 23:35阅读:1319来源:国知局
一种基于卷积神经网络的生猪咳嗽声音识别方法与流程

本发明属于语音信号处理领域,具体涉及一种基于卷积神经网络的生猪咳嗽声音识别方法。



背景技术:

呼吸道疾病是影响生猪养殖业的最常见的疾病之一,呼吸道疾病会引起生猪呼吸困难、体温反复、咳嗽、耳尖发红,部分出现口吐白沫、眼鼻分泌物增加等症状,同时呼吸道疾病容易传染,轻者会引起生猪体重下降,严重者会导致生猪死亡,给养殖户带来巨大的损失,因此对呼吸道疾病进行预警具有重要的意义。呼吸道疾病表现的比较明显的症状之一是咳嗽,可以通过对咳嗽声音的监测与识别实现对呼吸道疾病的预警,从而有效减少疾病扩散和抗生素药物的使用。

目前,生猪咳嗽声音识别方法主要包括动态时间规整(dtw)、矢量量化(vq)、模糊c均值聚类(fcm)、隐马尔科夫过程(hmm)、人工神经网络(ann)以及各种算法的组合和改进等,这些算法需要人工提取声音信号特征向量作为输入进行信号分类和识别,常用的声音信号特征向量包括功率谱密度(psd)、梅尔倒谱系数(mfcc)、线性预测倒谱系数(lpcc)等,这些特征向量对于某些人类语音信号之间有较好的区分度,但是对于猪舍内某些声音比如咳嗽声、尖叫声和啃咬金属声等区分度不高,作为特征向量时分类精度不高。这些常用的咳嗽声音识别方法在实验室环境下获取生猪咳嗽声音分类识别效果较好,但是在集约化的大型养殖场内,复杂的养殖环境下,由于噪声干扰比较大,识别效果较差。



技术实现要素:

本发明针对以上不足之处,提供了一种基于卷积神经网络的生猪咳嗽声音识别方法,其技术方案如下:

通过拾音设备和数据采集设备采集的猪舍内声音信号并保存成音频文件,通过人工听觉识别的方法识别出猪舍内有效的音频信号,并单独保存成音频文件,将识别出的音频信号分为两类,一类是生猪咳嗽声音,另一类是非生猪咳嗽声音,生成两类声音信号的语谱图并保存成图片格式,将两类数据分别分成两个数据集,一个作为训练集,一个作为测试集,将训练集数据和相应的数据标签输入到卷积神经网络对网络进行训练,完成网络训练过程后,将测试集内待识别的声音信号语谱图输入训练好的卷积神经网络,输出结果为两类信号的标签,根据标签即可对咳嗽声音进行识别。

所述的拾音设备频率范围不小于100hz-16,000hz,音频信号采集频率低于32,000hz。

所述的生成两类声音信号的语谱图并保存成图片格式的方式为:首先将声音信号进行预加重处理,预加重传递函数为h(z)=1-az-1,预加重系数a的取值范围为0.9<a<1.0,然后将预加重后的信号进行分帧处理,每一帧信号长度范围为10ms-30ms,帧移长度设为帧信号长度的一半,对每一帧信号进行带通滤波,滤波器频率范围为100hz-16,000hz,对滤波后的每一帧信号进行时域加窗,窗函数可以为汉宁窗、海明窗、凯塞窗或者布莱克曼窗,然后对每一帧信号进行傅里叶变换,对傅里叶变换后的结果取对数运算并取出正频率部分数据,按照时间序列排序形成时频二维语谱图,将语谱图保存成227×227×3大小的rgb彩色图片。

所述的训练集数据和相应的数据标签的特征为:训练集数据要包括所有类型的声音信号,数据标签定义为0和1,可以自定义所代表的数据类型:0代表咳嗽声,1代表非咳嗽声,或者1代表咳嗽声,0代表非咳嗽声。

所述的卷积神经网络选用的模型为微调的alexnet模型,该模型前五层为卷积层,后三层为全连接层,前二个卷积层后均连接一个lrn层和最大池化层,前两个全连接层包含4096个神经元,最后一个全连接层包含2个神经元,比较两个神经元输出数据的大小,值大的定义为1,值小的定义为0,与输入的数据标签进行比较,与输入标签相同即表示属于输入定义的分类信号。

本发明的有益效果为:将三维的包含时域和频域信息的语谱图作为分类器的输入,可以提供更多的信息用于提高识别精度,采用卷积神经网络进行咳嗽声音分类,通过多个卷积层可以自动提取输入信号的深层特征,抗干扰能力强,与常规语音信号分类算法相比,本发明可以有效提高生猪咳嗽声音识别精度。

附图说明

图1是猪舍内采集声音数据实验设备布放图

图2是猪舍内采集的声音信号片段时域图

图3是不同声音信号的语谱图

图4是微调的alexnet卷积神经网络模型结构

图5是不同测试集时咳嗽声、非咳嗽声和整体分类准确率

具体实施方式

下面结合附图和实例对本发明的具体实施方式作进一步详细描述。以下实例用于说明本发明,但不用来限制本发明的范围。

生猪咳嗽声音和其他叫声数据采集于黑龙江省哈尔滨市阿城区某商业养殖场的一个育肥猪舍内,生猪处于平均月龄为5个半月的育肥阶段,平均体重为60kg。猪舍尺寸为27.5米长×13.7米宽×3.2米高,舍内共有6个工业负压风机进行工作,舍内包括21个围栏,其中只有13个围栏内有猪,平均每个栏内有10头猪,一共126头猪,每个围栏由1.1米高铁栅栏围城,地板一半为水泥地板,一半为漏缝地板。

猪舍内的声音信号由一个频率范围为100hz-16khz的麦克风采集,麦克风连接笔记本电脑声卡,通过录音软件进行录音,麦克风固定在距离地面1.4米的位置,距离猪背大概0.8米高,麦克风采集猪舍内声音数据实验照片如图1所示,声卡采样率为44.1khz,分辨率为16bits。连续采集8天的数据,其中任意一段采集的声音信号如图2所示,通过人工提取的方法共提取了4480段不同的声音信号,其中包括2703段咳嗽声音和1777段非咳嗽声音,非咳嗽声音包括1463段叫声、184段金属声、99段水流声和31段人说话声。金属声是有工作人员在清粪过程中铁锹和水泥地面以及铁栏杆之间摩擦发出的声音。

对人工提取的声音信号进行预处理,首先进行预加重,预加重滤波器传递函数为h(z)=1-az-1,预加重系数a取值为常用的参数0.9375。然后将数据进行分帧处理,取一帧信号长度为20ms,帧移长度为10ms,也即每两帧信号重叠10ms,对分帧后的信号进行滤波和加窗,滤波器频率范围为100hz-16khz的10阶巴特沃兹滤波器,窗函数选择为汉宁窗。对每一帧信号进行傅里叶变换并取对数,取正频率部分,按时间序列排序得到语谱图。不同声音信号的语谱图如图3所示,其中,c1,c2和c3代表不同咳嗽声音的语谱图,cl1和cl2代表金属声的语谱图,w代表水流声的语谱图,h代表人说话声的语谱图,s1-s5代表不同尖叫声的语谱图,横坐标表示时间,单位为秒,纵坐标表示频率,单位为千赫兹。

微调的alexnet卷积神经网络模型结构如图4所示,网络包含8层,covn1-conv5为卷积层,fc6-fc8为全连接层,输入信号为227×227×3的rgb语谱图和相应的数据标签,假设咳嗽声标签为1,非咳嗽声标签为0。在第1层中,使用96个尺寸为11×11,步长为4的卷积过滤器,使输入信号尺寸降至55×55,然后用一个3×3的过滤器构建最大池化层,使卷积层尺寸缩小到27×27×96。接着在第2层再执行一个5×5的卷积,填充之后,输出的结果的尺寸为27×27×256;然后再次进行最大池化。在第3层中再执行一次与上一步相同的卷积,相同的填充,得到的结果的尺寸为13×13×384;再在第4,5层中做2次3×3的相同卷积,最后再进行一次最大池化,结果尺寸缩小到6×6×256。然后将这个结果输入到全连接层,最终对该输入的时频图产生一个预测的类别结果。然后根据输入的标签类别计算出该预测结果与实际类别标签的误差,完成一次迭代中的正向推理运算。接下来,使用随机梯度下降的方法来不断减小损失,并使用反向传播来进行参数的更新,完成一次迭代的反向学习。在模型收敛后,获得网络的一组最佳参数集,完成模型的训练过程。训练好模型后,将验证集中的时频图输入到网络中,并利用保存的模型对音频图像的类别进行预测。在此阶段,仅执行前向传播,并且具有最高概率的预测类别是最终的识别结果。

仿真采用python语言和tensorflow深度学习框架来实现微调之后的模型。整个训练和测试的过程是在两块型号为geforcegtx1080ti的gpu上分批次进行的,批大小为64,迭代次数设为200。每次迭代包含训练和测试两个过程,在每一次训练过程中,采用随机梯度下降算法来训练模型。对于所有的网络层次,采用相同的学习率来进行训练,初始学习率为0.001,当验证误差在当前学习率下趋于稳定时将学习率设定为当前值得1/10,并在终止前减少三次。

在仿真过程中,使用所有声音信号的30%(1344)作为测试集,剩下的信号作为训练集,训练集数量依次从10%(448)增加到70%(3136),仿真结果如表1所示,不同训练集时咳嗽、非咳嗽和整体识别精度如图5所示,从表1和图5可以看出,随着训练集数量的增加,整体识别精度逐渐提高,咳嗽识别精度在训练集数量为70%时达到最高,为97.5%。

表1本发明提出的算法的分类性能

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上的实例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1