杜曉冬 滕光輝 TOMAS Norton 王朝元 劉慕霖
(1.中國農(nóng)業(yè)大學(xué)水利與土木工程學(xué)院, 北京 100083; 2.魯汶大學(xué)生物科學(xué)工程學(xué)院, 魯汶 3001)
畜禽動(dòng)物的發(fā)聲可以反映其個(gè)體的健康狀況以及個(gè)體需求,可作為評(píng)價(jià)動(dòng)物福利、動(dòng)物舒適度的一種輔助方法[1-2]。國內(nèi)外學(xué)者對畜禽動(dòng)物發(fā)聲進(jìn)行了一系列研究,例如:羊咳嗽聲監(jiān)測[3]、羊采食聲音識(shí)別[4-5]、蛋雞發(fā)聲檢測和分類識(shí)別[6-8]、肉雞啄食聲監(jiān)測[9-11]、牛呼吸道疾病監(jiān)測[12-13]、豬咳嗽聲監(jiān)測[14-16]等研究。
動(dòng)物聲音特征的選取大多是沿用傳統(tǒng)語音信號(hào)處理的方法,例如:對聲音信號(hào)分幀、加窗,提取每幀信號(hào)的特征值(持續(xù)時(shí)間、共振峰、功率譜估計(jì)、能量譜包絡(luò)、線性預(yù)測倒譜系數(shù)等特征參數(shù))。除上述傳統(tǒng)方法之外,基于聲譜圖的聲音分類識(shí)別方法是近年來研究熱點(diǎn)之一。聲譜圖可以將聲音的一維特征序列轉(zhuǎn)變?yōu)槎S特征序列來可視化地呈現(xiàn),相比于傳統(tǒng)方法而言,它可以同時(shí)體現(xiàn)聲音信號(hào)的時(shí)域和頻域內(nèi)容,直觀性強(qiáng),且能保留聲音信號(hào)的更多細(xì)節(jié)信息。動(dòng)物發(fā)聲分類識(shí)別本質(zhì)是辨識(shí)不同類型聲音的音色特點(diǎn),而音色本身是一種主觀感受,目前尚未有對應(yīng)的客觀指標(biāo)[17]。美國國家標(biāo)準(zhǔn)學(xué)會(huì)針對音色的定義給出了解釋,認(rèn)為音色與頻譜形狀和時(shí)域特征均有重要關(guān)系[18]。據(jù)觀察,蛋雞發(fā)聲聲譜圖的時(shí)頻結(jié)構(gòu)在方向和局部細(xì)微程度上有顯著的不同。此外,養(yǎng)殖環(huán)境中存在的背景噪聲大多為機(jī)械噪聲,其聲譜圖的時(shí)頻結(jié)構(gòu)變化單一,聲譜圖中聲紋分布較均勻。
本文擬將圖像處理和聲音處理技術(shù)相結(jié)合,對蛋雞聲音中的時(shí)域和頻域信息進(jìn)行可視化,進(jìn)而分析其聲譜圖中所呈現(xiàn)的聲紋特征,來實(shí)現(xiàn)海蘭褐蛋雞發(fā)聲的分類識(shí)別,并為后期研究蛋雞福利的評(píng)價(jià)系統(tǒng)提供理論基礎(chǔ)和可行方案。
聲音信號(hào)有著類似指紋的屬性,1962年,美國Bell實(shí)驗(yàn)室首次提出了“聲紋”(Voiceprint)的概念,利用語譜圖,驗(yàn)證了以語音識(shí)別說話人的可行性,且聲紋具備穩(wěn)定性和特異性[19]。聲紋是表現(xiàn)在聲譜圖中各種紋路構(gòu)成的時(shí)頻結(jié)構(gòu)。聲譜圖是描述聲音信號(hào)的一種三維感知圖,由時(shí)間、幅值和頻率3個(gè)維度信息構(gòu)成,信號(hào)中不同頻率分量大小(振幅或功率)在圖像中一般用不同灰度和顏色來表示,聲音信號(hào)的不同頻率分量在任一給定時(shí)刻用聲譜圖中的不同灰度和顏色來表示。
對于經(jīng)過預(yù)處理的蛋雞聲音信號(hào)從時(shí)域波形轉(zhuǎn)換到時(shí)頻域的聲譜圖時(shí),需要對聲音信號(hào)進(jìn)行短時(shí)傅里葉變換(Short-time Fourier transform, STFT),算法借鑒Matlab軟件中的Spectrogram函數(shù)[20]。此外,為了減少邊緣效應(yīng)和頻譜泄漏,需要為測量的聲音信號(hào)增加滑動(dòng)窗,本文選取漢明窗(Hamming)進(jìn)行分幀,幀長為512個(gè)采樣點(diǎn),滑動(dòng)窗步長為256個(gè)采樣點(diǎn),相鄰幀之間的重疊率為50%[6]。
Gabor函數(shù)可以在時(shí)域和頻域獲取信號(hào)的最佳局部信息,多用于圖像紋理識(shí)別研究。圖像中紋理是其灰度或色彩在空間上的變化或重復(fù),聲譜圖中聲紋的紋理特征可以借鑒Gabor濾波器來提取[21]。多尺度、多方向的2D-Gabor特征描述得到越來越多的關(guān)注,同時(shí),Gabor特征在指紋識(shí)別、人臉識(shí)別等研究中已經(jīng)得到了廣泛應(yīng)用[22-23]。本研究選用2D-Gabor濾波器對蛋雞發(fā)聲的聲譜圖中聲紋特征進(jìn)行提取,Gabor函數(shù)調(diào)用Matlab軟件擴(kuò)展函數(shù)庫中的gaborKernel2d函數(shù),并在原函數(shù)基礎(chǔ)上進(jìn)行二次開發(fā),將其嵌入LabVIEW聲譜圖功能模塊中進(jìn)行特征分析[24]。gaborKernel2d函數(shù)參數(shù)計(jì)算公式為
(1)
x′=xcosθ+ysinθ
(2)
y′=-xsinθ+ycosθ
(3)
(4)
(5)
式中λ——余弦函數(shù)的波長,λ>2
δ——核函數(shù)中高斯函數(shù)的標(biāo)準(zhǔn)差
b——半響應(yīng)空間頻率帶寬
θ——核函數(shù)中平行條帶方向,0°<θ<360°
φ——余弦函數(shù)的相位角,-180°<φ<180°
γ——核函數(shù)的橢圓度
x、y——圖像像素點(diǎn)的坐標(biāo)值
本文研究選取的各參數(shù)值為theta(θ)=[0 π/4 π/2 3π/4],lambda(λ)=4,phi(φ)=0,gamma(γ)=1,bandwidth(b)=[0.5 0.75 1 1.25],生成的相應(yīng)2D-Gabor濾波器如圖1所示。
圖1 2D-Gabor濾波器模板Fig.1 2D-Gabor filter template
采用反向傳播神經(jīng)網(wǎng)絡(luò)(Back propagation neural network,BPNN)建立特征輸入的分類識(shí)別模型,選取各類別的聲音樣本片段合計(jì)1 500個(gè),每個(gè)片段時(shí)長截取為1 s,統(tǒng)一聲譜圖的尺寸(628像素×371像素),其中隨機(jī)選取50%的樣本片段作為訓(xùn)練集建立分類模型,其余50%的樣本片段作為測試集,用于驗(yàn)證該模型的識(shí)別率。
圖2 反向傳播神經(jīng)網(wǎng)絡(luò)示意圖Fig.2 Schematic of BPNN
圖2所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要由3部分組成:①輸入層,提取特征創(chuàng)建輸入向量,輸入至輸入層。②隱藏層,根據(jù)經(jīng)驗(yàn)預(yù)先設(shè)定隱藏層的數(shù)目,通常由試驗(yàn)和誤差決定,并進(jìn)一步對具體問題進(jìn)行優(yōu)化。③輸出層,輸出訓(xùn)練集中設(shè)定的不同類別。
BPNN算法的基本原理是:學(xué)習(xí)過程由兩個(gè)步驟組成,即信號(hào)正向傳播和誤差反向傳播。當(dāng)信號(hào)正向傳播時(shí),輸入樣本通過輸入層傳遞至網(wǎng)絡(luò)中,經(jīng)過每個(gè)隱藏層后傳輸?shù)捷敵鰧?。如果?shí)際輸出與預(yù)期的輸出不匹配,則進(jìn)入誤差反向傳播階段。反向傳播時(shí),將輸出以某種形式通過隱藏層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號(hào),此誤差信號(hào)即作為修正各單元權(quán)值的依據(jù)。誤差函數(shù)的定義是期望輸出和實(shí)際輸出之差的平方和,計(jì)算公式為[25]
(6)
式中e——誤差函數(shù)
yp——實(shí)際輸出參數(shù)值
qp——期望輸出參數(shù)值
p——輸出向量的索引值
m——輸出向量的數(shù)量
訓(xùn)練數(shù)據(jù)集用來優(yōu)化分類,使預(yù)測分類和真實(shí)類別之間的誤差最小化。采用梯度下降函數(shù)和自適應(yīng)學(xué)習(xí)速率對權(quán)重進(jìn)行調(diào)整[26]。本文設(shè)置最大迭代次數(shù)為1 000和最小步長為0.001。
蛋雞發(fā)聲分類識(shí)別性能采用靈敏度S(Sensitivity)和精確度P(Precision)兩個(gè)指標(biāo)來評(píng)價(jià),計(jì)算公式為[12]
(7)
(8)
式中TP——被模型預(yù)測為正的正樣本數(shù)
FP——被模型預(yù)測為正的負(fù)樣本數(shù)
FN——被模型預(yù)測為負(fù)的負(fù)樣本數(shù)
試驗(yàn)于2016年10—11月,在中國農(nóng)業(yè)大學(xué)上莊實(shí)驗(yàn)站模擬雞舍進(jìn)行。研究對象為六羽海蘭褐蛋雞,35~36周齡,飼養(yǎng)模式為網(wǎng)上平養(yǎng),飼養(yǎng)空間為1.50 m(長)×1.35 m(寬)×1.80 m(高)。試驗(yàn)平臺(tái)如圖3所示,包括飲水線、產(chǎn)蛋箱以及料槽等,雞只隨意采食和飲水,光周期由光照控制器控制。試驗(yàn)階段光期為06:00—22:00,模擬雞舍的環(huán)境溫度處于15.0~18.0℃之間。
圖3 試驗(yàn)平臺(tái)示意圖Fig.3 Schematic of test platform1.飲水線 2.尼龍網(wǎng) 3.Kinect設(shè)備 4.USB數(shù)據(jù)線 5.工控機(jī) 6.料槽
聲音數(shù)據(jù)采集平臺(tái)選用美國微軟公司的Kinect for Windows V1型嵌入式麥克風(fēng)陣列(4通道同步采集、32位分辨率、16 kS/s采樣頻率),Kinect設(shè)備安裝在飼養(yǎng)區(qū)域正上方高1.8 m處,錄音軟件采用美國國家儀器公司(National Instruments, NI)的LabVIEW 虛擬儀器平臺(tái)進(jìn)行編寫,利用LabVIEW 2015軟件中的擴(kuò)展聲音工具包模塊(Sound and vibration toolkit 2015, SVM)和Kinect for Windows SDK 1.8編寫音頻采集程序,單聲道音頻連續(xù)采樣,采樣頻率為16 kHz,32位,單個(gè)音頻文件時(shí)長為55 s,數(shù)據(jù)以.wav格式存儲(chǔ),連續(xù)采集音頻片段合計(jì)308 h(約67.68 GB)。Kinect設(shè)備是通過USB數(shù)據(jù)線與小型工控機(jī)進(jìn)行數(shù)據(jù)傳輸,大量數(shù)據(jù)存儲(chǔ)需外接2 TB USB 3.0移動(dòng)硬盤。各類型聲音采用人工方式進(jìn)行標(biāo)記,標(biāo)記方法參照文獻(xiàn)[12],音頻數(shù)據(jù)利用LabVIEW軟件提供的聲音與振動(dòng)工具包(SVM toolkit)、高級(jí)信號(hào)處理工具包(Advanced signal processing toolkit 2015, ASP)進(jìn)行聲音信號(hào)預(yù)處理、特征提取和分類識(shí)別。
基于聲譜圖紋理特征檢測海蘭褐蛋雞發(fā)聲,表1和圖4分別描述了不同聲音類型的定義及其對應(yīng)聲譜圖,從聲譜圖中可直觀地看出各聲音類型的特點(diǎn)和不同聲音之間的差異。
表1 不同類型聲音的定義Tab.1 Definition of different types of sound
圖4 各類型聲音的聲譜圖Fig.4 Spectrogram of different types of sound
蛋雞飲水聲在聲譜圖上清晰可見,呈現(xiàn)能量較強(qiáng)的沖直紋,具有瞬時(shí)峰值高、持續(xù)時(shí)間短的特點(diǎn),且能量集中在前半部分,后半部分能量快速衰減(圖4a);應(yīng)激叫聲在聲譜圖上也清晰可見,呈現(xiàn)出較不規(guī)則的橫紋結(jié)構(gòu),具有較強(qiáng)的能量值,持續(xù)時(shí)間長,且能量在頻率帶中分布較均勻(圖4b);鳴叫聲在聲譜圖上較不清晰,呈現(xiàn)出能量較弱的條紋結(jié)構(gòu),持續(xù)時(shí)間長,不易在背景噪聲中辨別出來(圖4c);產(chǎn)蛋叫聲在聲譜圖上清晰可見,呈現(xiàn)出有規(guī)律的周期性水平橫紋,能量集中在低頻部分,持續(xù)時(shí)間短(圖4d);風(fēng)機(jī)噪聲在聲譜圖上清晰可見,呈現(xiàn)出規(guī)則的橫紋結(jié)構(gòu),較強(qiáng)的能量集中在風(fēng)機(jī)振動(dòng)的基頻部分,即低頻部分,持續(xù)時(shí)間最長(圖4e)。圖5呈現(xiàn)了聲譜圖經(jīng)2D-Gabor濾波器濾波后的各類型聲音的聲紋特點(diǎn),選取theta(θ)=π/2時(shí)清晰的紋理特征圖,對特征圖像中各行像素求平均值和歸一化處理,最終獲得371維特征向量,作為單個(gè)聲音樣本的特征輸入?yún)?shù)。
圖5 各類型聲音的紋理特征圖Fig.5 Textual maps of different types of sound
不同聲音類型的分類識(shí)別結(jié)果見表2,風(fēng)機(jī)噪聲的靈敏度最高,為99.3%,鳴叫聲的靈敏度最低,為76.0%,分析原因可能是機(jī)械噪聲的振動(dòng)發(fā)聲機(jī)理與動(dòng)物發(fā)聲機(jī)理相比有較大差異,且前者聲譜圖中聲紋變化單一,比較容易區(qū)分[27]。在機(jī)器學(xué)習(xí)中尤其是統(tǒng)計(jì)分類中,混淆矩陣(Confusion matrix,也稱為錯(cuò)誤矩陣(Error matrix))對角線位置數(shù)值為TP聲音樣本數(shù)量,矩陣的每一列表示BPNN分類器對于聲音樣本的類別預(yù)測(對角線之外的數(shù)值為FP聲音樣本數(shù)量),每一行則表示聲音樣本的真實(shí)類別(對角線之外的數(shù)值為FN聲音樣本數(shù)量),從表3的混淆矩陣來看,33個(gè)鳴叫聲被錯(cuò)誤地分類成應(yīng)激叫聲,導(dǎo)致應(yīng)激叫聲和鳴叫聲的靈敏度較低,分析原因可能是同這兩類聲音的界定和標(biāo)記音頻時(shí)人為的主觀判斷有一定關(guān)聯(lián)。此外,產(chǎn)蛋叫聲、風(fēng)機(jī)噪聲和飲水聲的精確度較高,分別為98.6%、98.7%和97.4%,而應(yīng)激叫聲和鳴叫聲的精確度較低,分別為78.9%和87.7%,導(dǎo)致該分類結(jié)果的原因可能是產(chǎn)蛋叫聲、風(fēng)機(jī)噪聲和飲水聲同其他類型聲音的界定清晰,較容易實(shí)現(xiàn)快速、準(zhǔn)確的音頻標(biāo)記;而應(yīng)激叫聲和鳴叫聲則不容易實(shí)現(xiàn)準(zhǔn)確的人工標(biāo)記操作,部分鳴叫聲和應(yīng)激叫聲之間存在混淆。
表2 不同聲音類型的分類結(jié)果Tab.2 Classification result of different types of sound %
表3 不同聲音類型的分類混淆矩陣Tab.3 Confusion matrix of different types of sound
結(jié)果表明,本文的方法可用于蛋雞發(fā)聲分類識(shí)別研究,且具有較高的分類識(shí)別率,平均靈敏度可達(dá)92.0%,平均精確度可達(dá)92.3%。與國內(nèi)外學(xué)者研究動(dòng)物發(fā)聲識(shí)別結(jié)果相比具有較高的識(shí)別率,其他研究方法識(shí)別率為73%~98%[28]、66%~98%[29]、89.1%~92.5%[30]、84%[31]、41.4%~94.2%[12]。此外,神經(jīng)網(wǎng)絡(luò)模型隱藏層的個(gè)數(shù)是影響識(shí)別準(zhǔn)確率的關(guān)鍵因素,然而,理論上估計(jì)隱藏層數(shù)相當(dāng)困難,往往根據(jù)算法多次的參數(shù)優(yōu)化再確定,本文采用的隱藏層為5個(gè)[26]。
提出一種基于聲譜圖紋理特征檢測蛋雞發(fā)聲的方法,將圖像處理和聲音處理技術(shù)相結(jié)合,將蛋雞聲音中的時(shí)域和頻域信息進(jìn)行可視化,進(jìn)而分析其聲譜圖中所呈現(xiàn)的聲紋特征,利用2D-Gabor濾波器提取聲譜圖中紋理特征進(jìn)行分類識(shí)別,平均靈敏度和平均精確度不低于92.0%;風(fēng)機(jī)噪聲識(shí)別靈敏度最高,為99.3%;鳴叫聲識(shí)別靈敏度最低,為76.0%。該方法具有可視化、非侵入式等優(yōu)點(diǎn),在動(dòng)物行為、動(dòng)物福利評(píng)價(jià)研究方面具有很大的潛力。