周映荷,刘 琪,李天乐,刘龙申
(南京农业大学工学院,江苏南京 210031)
长久以来,我国现代农业中畜牧业是一项很有潜力的产业之一,也占据着中国农业生产的重要地位。而准确高效地采集动物个体信息是分析动物生理、健康和福利状况的基础。
本文论及蛋鸡养殖,首先传统蛋鸡饲养中主要依靠人工观测的方式监测蛋鸡个体健康状态,不仅会耗费饲养员大量的时间和精力,还很容易引起蛋鸡的应激反应,破坏蛋鸡生长自然环境。而科学研究表明,蛋鸡在不同健康状态下的叫声会存在声学特征的差异,因此声音识别可以作为一种判断动物福利的辅助方法。
声音识别本质上是一种模式识别过程,主要包括蛋鸡叫声采集、去噪及加重、特征参数提取、识别器训练、健康识别等几个功能模块。
具体实施过程可以描述为:首先采集健康蛋鸡的叫声信号进行去噪处理,并根据设定的音频特征提取方法提取音频特征集,建造健康蛋鸡声音特征库;然后,采集健康状况待检测的蛋鸡叫声,并进行同样的特征提取,最后选择分类算法进行识别分类,与健康声音特征库中的数据进行匹配,得到健康识别的结果。
本项目研究目标为散养蛋鸡,在此环境下,噪声主要为自然环境噪音,而由于信号谱和噪声谱是任意重叠的,传统的滤波器方法效果并不显著。在本文中将创新采用小波分解与重构的方法对采集声音进行去噪。
简而言之,小波分析是一种信号的时间频率分析方法,是将原函数y(t)表示为一系列逐次逼近表达式,其中每一个都是y(t)函数经过平滑后的形式,它们分别对应不同的分辨率因此能够聚焦到信号的任意细节进行多分辨率的时频分析。
本项目在实施过程中选用小波阈值去噪法对样本声音进行去噪,在此过程中,主要测定了适用的小波基和分解层数,合适的阈值和阈值函数等影响去噪效果的主要特征。
通过MATLAB多次仿真实验可得,运用“db3”小波基做两层分解后通过硬阈值函数进行阈值去噪并重构为该实验环境下最有效的去噪方法,图1为效果图。
图1 去噪波形图
在研究过程中,我们通过对同一段样本提取不同特征向量并用同样参数训练SVM识别模型,识别模型的准确率分别如表1所示:
由表可知,MFCC与短时能量结合的方式训练识别模型效果最理想。因为短时能量是时域特征,MFCC参数是人耳听觉感知特征,而两者之间的相关性不大,它们反映的是音频信号的不同特征,结合有较好的识别效果。
由于支持向量机在解决小样本问题、非线性问题及高维空间内的模式识别问题的时候有很多优点,所以其被广泛使用。基本原理是升维,即将低维空间中的非线性问题映射到高维空间中,然后利用核函数将非线性问题转换为线性问题,使其变得更简单容易解决。
表1 不同特征参数训练模型效果
而本文作为异常识别只能提供大量的健康蛋鸡叫声,因此采用单极支持向量机(one class SVM)。根据对已有支持向量机的理解,单极支持向量机并非对已有标签的数据进行分类判别,而是通过回答yes or no的方式去根据支持向量域描述(support vector domaindescription SVDD),将样本数据训练出一个最小的超球面(大于3维特征),其中在二维中是一个曲线,将数据全部包起来,即将异常点排除。
以下是通过训练样本表2数据所训练得到的SVM分类器模型参数,如表3所示。
表2 训练样本详情
表3 分类器参数详情
在实施过程中,模型成型后对模型进行调试测验,最终该系统的识别正确率可高达86%(如表4所示:样本数120 识别成功数103),是较为理想的结果。
表4 测试样本详情
本论文在结合实际的项目研究工作的基础上,分析了在Matlab 平台上实现异常声音识别的方法,并且将基于支持向量机的异常识别方法应用于蛋鸡的健康诊断中。
在研究的过程中,对蛋鸡叫声的声学特性作了系统的分析,对支持向量机的理论与应用进行了较为深入的探索,并且在总结许多前人研究成果的基础上,提出了自己的方法。
本文系统的实现对于丰富和发展自动化养殖技术具有一定的意义。