余禮根 杜天天 于沁楊 劉同海 孟 蕊 李奇峰
(1.北京市農(nóng)林科學院信息技術(shù)研究中心, 北京 100097; 2.國家農(nóng)業(yè)信息化工程技術(shù)研究中心, 北京 100097;3.天津農(nóng)學院計算機與信息工程學院, 天津 300384)
發(fā)聲是動物傳遞信號的主要方式,能在一定程度上反饋其健康狀態(tài)和生理生長信息,一直是畜禽行為研究的熱點[1-5]。自20世紀50年代首次報道雞的發(fā)聲特征以來,研究發(fā)現(xiàn)雞可以發(fā)出30多種聲叫類型,19種發(fā)聲語義信息(包括警告、威脅、求偶等)可被理解[6-7]。家禽發(fā)出痛苦叫聲的總數(shù)和頻率與其社交能力和生長環(huán)境改變呈現(xiàn)一定的相關(guān)性[8]。家禽在期待不同類型飼料時,發(fā)出叫聲的類型和數(shù)量有所不同[9]。限制飼喂時,來航雞發(fā)聲頻率有明顯增加,表現(xiàn)出忍受更高的緊張狀態(tài)[10-12]。然而,不區(qū)分動物發(fā)聲類別,只統(tǒng)計發(fā)聲頻次不能較好地對畜禽發(fā)聲語義信息進行全面描述[13]。
在畜禽發(fā)聲識別方面,學者對多種音頻特征參數(shù)與識別模型進行了相關(guān)研究與報道?;跁r域特征,張鐵民等[14]提出使用短時能量和短時過零率以及短時能量、短時過零率混合特征組成融合特征的音頻識別方法,使用T-S模糊神經(jīng)網(wǎng)絡對提取的3種叫聲特征參數(shù)構(gòu)成3組測試集,識別正確率分別為78%、80%和75%。HUANG等[15]計算短時過零率和短時能量,使用PV-net模型識別進食行為,準確率達96%?;陬l域特征,曹晏飛等[16]根據(jù)規(guī)?;B(yǎng)殖舍中噪聲和蛋雞發(fā)聲的子帶功率比差異,提出使用J48決策樹的分類算法,平均準確率為93.4%。閆麗等[17]提出一種基于偏度的子帶聚類法,減少了特征向量數(shù)。FONTANA等[18-19]提取了蛋雞叫聲峰值頻率,發(fā)現(xiàn)隨著年齡增長,雞的體質(zhì)量增加,叫聲頻率逐漸降低,叫聲峰值頻率與雞齡相關(guān)性極高(P<0.001),據(jù)此建立了肉雞體質(zhì)量與發(fā)聲峰值頻率的計算公式,利用聲譜能量值(即峰值)預估肉雞體質(zhì)量。CUAN等[20]計算聲音的梅爾頻譜系數(shù)以及一階差分和二階差分作為特征參數(shù),使用卷積神經(jīng)網(wǎng)絡用于識別患禽流感病雞,模型識別準確率達97.43%。秦伏亮等[21]提出一種基于小波變換的梅爾頻譜系數(shù)作為特征參數(shù),利用高斯混合模型-隱馬爾可夫模型可識別肉雞咳嗽聲,平均識別率為95%。杜曉冬等[22]根據(jù)聲譜圖紋理特征差異,采用人工神經(jīng)網(wǎng)絡進行訓練和分類,分類識別準確率高于92%?;跁r頻域特征,韓磊磊等[23]使用改進梅爾頻譜系數(shù)(Mel frequency cestrum coefficient,MFCC)、短時能量、短時過零率組成復合特征,試驗表明基于復合特征的識別結(jié)果優(yōu)于單一的MFCC。余禮根等[24]對棲架養(yǎng)殖模式下蛋雞發(fā)聲進行研究,提出基于頻譜特征的識別方法,模型分類準確率為88.3%,試驗表明模型可應用于蛋雞發(fā)聲監(jiān)測和情感分類。BANAKAR等[25]利用數(shù)據(jù)挖掘方法和Dempster-Shafer證據(jù)理論,分析3種常見疾病發(fā)聲時域和頻域特征,基于支持向量機模型進行分類??傮w來看,單一時域、頻域特征難以全面描述畜禽發(fā)聲語義信息,為進一步提高識別準確率,本文提出一種融合短時過零率、梅爾頻譜系數(shù)、共振峰等典型時頻域特征參數(shù)的發(fā)聲識別方法。
研究開展于2020年6月10日—8月10日,在北京市海淀區(qū)上莊實驗站內(nèi)完成。試驗以北京市平谷區(qū)某蛋雞養(yǎng)殖場提供的同一批次、健康狀況良好的2700羽“京粉6號”蛋雞為研究對象,在中國農(nóng)業(yè)大學水利與土木工程學院研發(fā)的新型棲架養(yǎng)殖中試平臺進行飼養(yǎng),自2020年1月9日開始養(yǎng)殖,養(yǎng)殖區(qū)域尺寸(長×寬×高)為28.0 m×9.0 m×4.3 m,養(yǎng)殖參照疊層式籠養(yǎng)模式相近的飼養(yǎng)管理措施、免疫消毒程序和光照制度,自由采食和飲水。
蛋雞音頻采集裝置選用丹麥Brüel & Kj?r聲學與振動測量公司的BK 2270-S-C型聲學測試分析儀、配置4189型自由場傳聲器(采樣頻率為44.1 kHz,16位分辨率、單通道),利用BZ-7226數(shù)據(jù)記錄軟件(Hottinger Brüel & Kj?r,N?rum,丹麥)采集;蛋雞音頻采集裝置安裝于新型棲架養(yǎng)殖中試平臺幾何中心點,距地面高度為2.2 m;試驗期間蛋雞音頻連續(xù)進行采集,每隔10 min存儲一次,存儲為.wav格式,獲取蛋雞55~64周齡內(nèi)養(yǎng)殖舍內(nèi)的音頻數(shù)據(jù)集Ai。
規(guī)?;半u養(yǎng)殖舍內(nèi)采集到的音頻數(shù)據(jù)包含蛋雞舍內(nèi)機械設備運行噪聲、蛋雞抓撓啄以及飼養(yǎng)員作業(yè)產(chǎn)生的背景噪聲與蛋雞發(fā)聲,音頻特征提取前需對蛋雞舍內(nèi)音頻數(shù)據(jù)進行預處理,包括音頻去噪、音頻切分。
選取音頻數(shù)據(jù)集Ai中2020年7月6—11日期間的試驗數(shù)據(jù),利用音頻處理軟件Adobe Audition CC 2018自適應降噪方法進行去噪,降噪幅度設置為20 dB,噪聲量設置為80%,信號閾值設置為3 dB,去除噪聲后構(gòu)成蛋雞音頻數(shù)據(jù)集Bi。蛋雞舍內(nèi)音頻去噪前后效果對比如圖1所示,噪聲有效去除,信號無明顯失真。
圖1 蛋雞音頻去噪前后效果對比Fig.1 Comparison of original laying hens’vocalizations and sounds after denoising
針對蛋雞音頻數(shù)據(jù)集Bi,以音節(jié)和音序為單位,運用Adobe Audition CC 2018軟件進行音頻切分,采用人工判讀方法統(tǒng)計棲架式養(yǎng)殖模式下蛋雞典型發(fā)聲,共獲得5 690個清晰、無重疊的蛋雞發(fā)聲音頻片段數(shù)據(jù)集Ci,其中包括:2 323個產(chǎn)蛋后類似“咯咯”的產(chǎn)蛋聲,1 567個類似唱歌的鳴唱聲,1 291個采食過程中發(fā)出的飼喂聲,509個伴隨蛋雞啄羽、啄頭等應激行為的尖叫聲。以2 h為一個時間單位,分類統(tǒng)計連續(xù)5 d內(nèi)蛋雞產(chǎn)蛋聲、鳴唱聲、飼喂聲、尖叫聲4類典型發(fā)聲的頻次,并分析其時域范圍內(nèi)的分布規(guī)律。4類蛋雞發(fā)聲波形圖如圖2所示。
圖2 蛋雞發(fā)聲類別及波形圖Fig.2 Waveforms of laying hens’ vocalizations with different types
對于音頻預處理獲取的蛋雞音頻片段數(shù)據(jù)集Ci,使用Matlab 2018a計算蛋雞發(fā)聲時域、頻域的典型特征參數(shù),分別是短時過零率(Zero-crossing rate,ZCR)、共振峰(Formant frequency,F(xiàn)F)和梅爾頻譜系數(shù),作為特征向量用于識別模型構(gòu)建。
作為時域的經(jīng)典特征參數(shù),短時過零率指蛋雞發(fā)聲信號單位時間內(nèi)(每幀N個采樣點)穿過橫坐標軸的次數(shù)。計算公式為
(1)
其中
(2)
式中Zn——每幀短時過零率
xv(n)——蛋雞發(fā)聲信號
sgn[]——符號函數(shù)v——幀數(shù)
作為頻域的經(jīng)典特征參數(shù),共振峰(FF)是音頻頻譜能量最為集中的區(qū)域[26]。研究發(fā)現(xiàn)不同類型的蛋雞發(fā)聲,第一共振峰(FF-1)、第二共振峰(FF-2)、第三共振峰(FF-3)出現(xiàn)在頻譜圖中的位置不同[27]。已有大量研究共振峰靜態(tài)特征,本文提出一種基于倒譜法的共振峰動態(tài)差分特征提取及描述方法。計算步驟如下:
(1)分幀:語音信號本質(zhì)上是非平穩(wěn)信號,但在10~30 ms內(nèi)近似認為是線性時不變信號,對預加重后的蛋雞發(fā)聲信號分幀,幀長選擇為20 ms,相鄰幀之間的幀移為40%。
(2)加窗:為消除傅里葉變換中吉布斯效應的影響,對語音信號加窗處理,窗函數(shù)選用漢明窗。
(3)離散傅里葉變換:對信號進行快速傅里葉變換得到頻譜,在此基礎上對模平方得到信號功率譜,離散傅里葉變換公式為
(3)
式中x(n)——時域輸入信號
X(k)——頻域輸出信號
k——傅里葉變換對應點
(4)對X(k)幅值取對數(shù)
(k)=lg|X(k)|
(4)
(5)
圖3 蛋雞發(fā)聲共振峰提取示意圖Fig.3 Formant frequency of laying hens’ vocalizations
(6)
式中H(k)——包絡線
h(n)——倒譜序列加窗后函數(shù)
梅爾頻譜系數(shù)是根據(jù)聽覺系統(tǒng)對語音信號非線性感知處理過程模擬人耳感知聲音信號過程的參數(shù),較為廣泛地應用于畜禽音頻識別[28]。梅爾頻譜系數(shù)計算步驟如下:
(1)預處理:對蛋雞發(fā)聲分幀、加窗、離散傅里葉變換。
(2)梅爾刻度變換:聽覺系統(tǒng)感知分辨率隨著頻率增加而下降。梅爾頻率通過梅爾刻度與真實頻率建立映射關(guān)系。
(3)離散余弦變換:語音信號的頻域信息主要由音素、音調(diào)組成。計算每個Mel濾波器的輸出信號并取對數(shù),得到每個頻率帶內(nèi)的功率譜對數(shù),對頻譜包絡進行離散余弦變換計算得到12維梅爾頻譜系數(shù)。蛋雞發(fā)聲類別及梅爾頻譜系數(shù)如圖4所示。
本文選用3層BP神經(jīng)網(wǎng)絡(輸入層、隱含層、輸出層)構(gòu)建蛋雞發(fā)聲分類識別模型,輸入層到隱含層、隱含層到輸出層采用Sigmoid函數(shù)作為傳遞函數(shù),隱含層節(jié)點數(shù)設置為10,輸出層為4種發(fā)聲分類識別的結(jié)果。通過對比不同超參數(shù)對訓練集和驗證集識別準確率的影響選擇出最優(yōu)值,訓練次數(shù)設置1 000次,目標誤差設置為0.000 01,學習率設置為0.01,遺傳算法種群規(guī)模設置為50,進化次數(shù)100,交叉概率0.5,變異概率0.01。應用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡權(quán)值和閾值,提高網(wǎng)絡訓練效果,遺傳算法優(yōu)化過程如圖5所示。
圖5 遺傳算法優(yōu)化神經(jīng)網(wǎng)絡的權(quán)值和閾值流程圖Fig.5 Flow chart of weight and threshold for genetic algorithm optimization of neural networks
通過不同特征參數(shù)組合構(gòu)建蛋雞發(fā)聲識別模型,對比分類識別結(jié)果。第1組試驗選用頻域12維MFCC作為輸入層特征向量;第2組選用“時域+頻域”的ZCR、FF-1、FF-2、FF-3、ΔFF-21、ΔFF-32、MFCC+ZCR+FF共18維特征參數(shù)作為輸入層特征向量;第3組利用主成分分析法(Principal component analysis,PCA)對多維特征參數(shù)進行降維,累計貢獻率大于85%[29]時新產(chǎn)生的8維特征參數(shù)MFCC+ZCR+FF-D作為輸入層特征向量。3組試驗中的輸入層節(jié)點數(shù)與輸入特征向量維度保持一致。根據(jù)以上思路共設計12-10-4、18-10-4和8-10-4共3種拓撲結(jié)構(gòu)的遺傳算法優(yōu)化神經(jīng)網(wǎng)絡模型。試驗數(shù)據(jù)的70%用于模型訓練,30%用于模型驗證。
利用混淆矩陣準確率(Accuracy,A)、精確度(Precision,P)、靈敏度(Sensitivity,S)3個評價指標對蛋雞發(fā)聲音頻分類識別模型的性能進行評價[30]。
以2 h為時間單位,統(tǒng)計蛋雞在05:00—07:00、07:00—09:00、09:00—11:00、11:00—13:00、13:00—15:00、15:00—17:00、17:00—19:00、19:00—21:00、21:00—05:00內(nèi)的產(chǎn)蛋聲、鳴唱聲、飼喂聲、尖叫聲的發(fā)聲頻次。結(jié)果表明,蛋雞尖叫聲、飼喂聲的頻次在時間變化上無明顯規(guī)律;蛋雞產(chǎn)蛋聲、鳴唱聲與產(chǎn)蛋行為密切相關(guān),而產(chǎn)蛋行為是蛋雞生產(chǎn)性能的直接體現(xiàn),其統(tǒng)計分析結(jié)果如圖6所示。蛋雞產(chǎn)蛋聲主要集中在每天07:00—17:00,占全天產(chǎn)蛋聲總數(shù)的89.2%。其中,以09:00—11:00時間段內(nèi)的產(chǎn)蛋聲最多,占全天產(chǎn)蛋聲總數(shù)的28.1%;21:00—05:00時間段產(chǎn)蛋聲頻次較少。總體來看,棲架養(yǎng)殖產(chǎn)蛋行為主要發(fā)生在上午,下午至晚上逐漸減少,符合蛋雞自然的生理活動與生長習性,棲架養(yǎng)殖模式下蛋雞的生長天性能夠得到一定程度的表達。
圖6 蛋雞產(chǎn)蛋聲箱線圖Fig.6 Boxplot of laying hens’ vocalizations with egg laying
利用蛋雞舍內(nèi)4類典型發(fā)聲音頻的梅爾頻譜系數(shù)、短時過零率、共振峰及一階差分參量作為融合特征參數(shù),構(gòu)建基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡的蛋雞發(fā)聲分類識別模型,分類混淆矩陣如表1~3所示。蛋雞發(fā)聲分類識別模型性能對比如表4所示。
表1 基于MFCC的蛋雞發(fā)聲分類識別混淆矩陣Tab.1 Confusion matrix of feature fusion based on acoustic parameters of MFCC for laying hens
表2 基于MFCC+ZCR+FF的蛋雞發(fā)聲分類識別混淆矩陣Tab.2 Confusion matrix of feature fusion based on acoustic parameters of MFCC+ZCR+FF for laying hens
表3 基于MFCC+ZCR+FF-D的蛋雞發(fā)聲分類識別混淆矩陣Tab.3 Confusion matrix of feature fusion based on acoustic parameters of MFCC+ZCR+FF-D for laying hens
表4 蛋雞發(fā)聲分類識別性能比較Tab.4 Comparison of classification test of laying hens’ vocalizations
由表1~3可知,產(chǎn)蛋聲和尖叫聲發(fā)聲識別的靈敏度高于鳴唱聲和飼喂聲,其主要原因是產(chǎn)蛋聲和尖叫聲頻譜特征規(guī)律較為顯著,與其他類別的蛋雞發(fā)聲不易混淆,而飼喂聲的音頻強度較低,特征變化與其他3類發(fā)聲區(qū)分不明顯,音頻切分容易受到背景噪聲影響和人為干擾。由表4可知,基于不同時頻域特征組合與參數(shù)維度考慮,從平均識別準確率上看,融合特征參數(shù)降維后的特征參量(91.9%)略高于融合特征參量(90.8%)和梅爾頻譜系數(shù)(87.8%)。融合后的MFCC+ZCR+FF特征參數(shù)可從多角度對原始音頻數(shù)據(jù)進行描述,但也存在大量冗余成分,冗余部分影響了模型分類識別效果。利用主成分分析(PCA)對多維特征參數(shù)降維形成新的多維特征參數(shù)組合MFCC+ZCR+FF-D構(gòu)建的發(fā)聲分類識別模型,在分類識別和模型運算效率上性能較優(yōu),其對蛋雞產(chǎn)蛋聲、鳴唱聲、飼喂聲和尖叫聲識別精確度分別為90.2%、93.0%、93.3%、92.2%,平均精確度達到92.2%,識別靈敏度為94.9%、90.0%、89.4%、91.8%,平均靈敏度達到91.5%。試驗結(jié)果表明,選擇多特征融合算法用于蛋雞發(fā)聲識別是可行的,選擇最優(yōu)特征屬性對提高蛋雞發(fā)聲識別性能具有較好的應用潛力。
提出的融合時域、頻域特征的蛋雞發(fā)聲分類識別方法將梅爾頻譜系數(shù)、短時過零率、共振峰及其差分特征相結(jié)合,多維度對棲架式養(yǎng)殖舍內(nèi)蛋雞音頻進行特征提取與分類識別,利用遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡分類識別模型平均識別準確率為91.9%,平均精確度達到92.2%,平均靈敏度達到91.5%。綜上所述,本文構(gòu)建的融合音頻多維特征信息的蛋雞發(fā)聲分類識別模型具有較好的識別性能,可用于蛋雞發(fā)聲分類與自動判別。