李濟(jì)澤,位威,張凱凱
(福建工程學(xué)院 機(jī)械與汽車工程學(xué)院,福建 福州 350118)
目前,人工投喂仍是最常見的養(yǎng)殖魚投喂方式,但該方式嚴(yán)重依賴人工經(jīng)驗(yàn)且人工成本增長較快。近年來,養(yǎng)殖魚自動投喂技術(shù)獲得越來越多的關(guān)注,但現(xiàn)有的自動投喂方式大多不能根據(jù)養(yǎng)殖魚的實(shí)時攝食情況及時調(diào)整投喂量,容易導(dǎo)致餌料投放不足或過量[1],而投喂過量或投喂不足都會對水產(chǎn)養(yǎng)殖帶來不利影響,造成經(jīng)濟(jì)損失。機(jī)器視覺技術(shù)因其非入侵性、經(jīng)濟(jì)和高效的特點(diǎn),逐漸成為漁業(yè)生產(chǎn)過程中的重要研究手段。錢陽[2]、PARRA L等[3]和BALLESTER-MOLTM等[4]提出通過對目標(biāo)水域剩余浮餌的計數(shù)來量化養(yǎng)殖魚的攝食活性。Sadoul等[5]提出使用養(yǎng)殖魚的聚集面積來評估養(yǎng)殖魚攝食活動,但該方法不適用于高密度的養(yǎng)殖環(huán)境。陳彩文[6]基于圖像紋理特征提出了一種養(yǎng)殖魚的攝食行為識別方法,但其識別準(zhǔn)確率有待提高。陳志鵬等[7]將光流法和紋理特征相結(jié)合來識別養(yǎng)殖魚的攝食行為,但光流法的計算量大且易受噪聲、光照和環(huán)境擾動的干擾。此外,針對實(shí)際養(yǎng)殖環(huán)境中光照不足的情況,周超等[8]提出了一種使用紅外相機(jī)采集圖像,直接提取養(yǎng)殖魚圖像的5維紋理特征,并使用支持向量機(jī)對攝食強(qiáng)度進(jìn)行分類,但分類準(zhǔn)確率偏低。本文將養(yǎng)殖魚攝食圖像紋理特征增加至20維,并且使用支持向量機(jī)識別養(yǎng)殖魚攝食行為。
養(yǎng)殖魚視覺監(jiān)測系統(tǒng)主要由近紅外相機(jī)、紅外補(bǔ)光燈、支撐架、計算機(jī)等組成,該系統(tǒng)可以連續(xù)獲取魚攝食圖像,結(jié)構(gòu)如圖1所示。
圖1 養(yǎng)殖魚視覺監(jiān)測系統(tǒng)
養(yǎng)殖魚整個攝食過程中,養(yǎng)殖池水面紋理會有明顯的變化,攝食開始時因魚爭搶餌料會激起水花,水面劇烈波動,隨著攝食的進(jìn)行,水花會逐漸減少,水面也逐漸歸于平靜。并且魚攝食激起的水花和水面的波動,導(dǎo)致像素點(diǎn)的灰度和梯度變化都較為劇烈,因此可以從圖像的灰度和梯度信息中提取紋理特征。
1.2.1 基于灰度共生矩陣的紋理特征
灰度共生矩陣描述了圖像中相距一定距離的兩個像素之間的灰度關(guān)系,設(shè)f(x,y)為一幅二維數(shù)字圖像,其寬、高為M像素和N像素,灰度級為Ng,則其灰度共生矩陣可寫為:
P(i,j)=#{(x1,y1),(x2,y2)∈
M×N|f(x1,y1)=i,f(x2,y2)=j}
(1)
式中,#(x)表示集合x中的元素個數(shù);P為矩陣,其大小為Ng×Ng,如果點(diǎn)(x1,y1)和點(diǎn)(x2,y2)的距離為d,兩點(diǎn)連線與坐標(biāo)橫軸的夾角為θ,那么就可以得到任意間距和任意角度的灰度共生矩陣P(i,j,d,θ)。
在實(shí)際應(yīng)用中,需要在灰度共生矩陣的基礎(chǔ)上,提取出一些既能較為準(zhǔn)確地描述圖片的紋理信息又能縮短計算時間的特征量。本文提取了以下4個養(yǎng)殖魚攝食時的紋理特征量。
(1)逆差矩
(2)
(2)相關(guān)性
(3)
(3)能量
(4)
(4)對比度
(5)
從式(1)~式(5)可看出,影響紋理特征的參數(shù)有灰度級Ng、像素間的距離d和像素間的方向θ。將灰度級Ng設(shè)為8級[6],像素間的距離設(shè)為1,根據(jù)文獻(xiàn)[6,9],0°、45°、90°和135°方向上的變化趨勢基本相同,所以文中提取了0°方向的4個紋理特征量。
1.2.2 圖像熵特征
熵可以表征體系混亂的程度,魚之間搶食導(dǎo)致水面劇烈波動,波動的程度可使用圖像的熵來表征,因此圖像的熵也作為描述養(yǎng)殖魚攝食行為的一個特征。其數(shù)學(xué)描述為:
(6)
式中,pi表示灰度值為i的像素數(shù)占全部像素數(shù)的比例。
1.2.3 基于灰度梯度共生矩陣的紋理特征
灰度梯度共生矩陣反映了圖像灰度和圖像梯度之間的關(guān)系,灰度梯度共生矩陣的元素Η(i,j)定義為在歸一化的灰度圖像F(m,n)和梯度圖像G(m,n)中具有灰度i和梯度j的總象點(diǎn)數(shù)。以圖像的總像點(diǎn)數(shù)歸一化后得到概率為P(i,j)[10]。根據(jù)灰度梯度共生矩陣,共提取出15維紋理特征參數(shù)。
(1)小梯度優(yōu)勢
(2)大梯度優(yōu)勢
(8)
(3)灰度分布不均勻性
(9)
(4)梯度分布不均勻性
(10)
(5)能量
(11)
(6)灰度均值
(12)
(7)梯度均值
(13)
(8)灰度標(biāo)準(zhǔn)差
(9)梯度標(biāo)準(zhǔn)差
(10)相關(guān)性
(11)灰度熵
(17)
(12)梯度熵
(18)
(13)混合熵
(19)
(14)差分矩
(20)
(15)逆差分矩
(21)
支持向量機(jī)(SVM,support vector machine)訓(xùn)練攝食行為識別模型的步驟包括建立數(shù)據(jù)集、特征數(shù)據(jù)歸一化及降維、支持向量機(jī)核函數(shù)選取及參數(shù)優(yōu)化等。
采集養(yǎng)殖魚攝食圖像建立數(shù)據(jù)集,23條10 cm的養(yǎng)殖魚生活在70 cm×30 cm×30 cm,水深15 cm魚池中,每天早上10∶00和晚上22∶00點(diǎn)進(jìn)行餌料投喂,實(shí)驗(yàn)時魚已在魚池生活了數(shù)月,適應(yīng)了周圍的環(huán)境。借鑒文獻(xiàn)[11],對采集的攝食圖像進(jìn)行標(biāo)注,如表1所示。根據(jù)表1將符合無和弱兩種攝食行為級別的樣本作為非攝食行為樣本,將符合中和強(qiáng)兩種攝食行為級別的樣本作為攝食行為樣本。每個樣本分別由3位養(yǎng)殖專業(yè)人員標(biāo)注,把標(biāo)注次數(shù)最多的作為該樣本最終標(biāo)注結(jié)果。本研究共采集650個樣本,其中70%的樣本作為訓(xùn)練集。
表1 數(shù)據(jù)集樣本分類標(biāo)準(zhǔn)
2.2.1 特征數(shù)據(jù)歸一化
根據(jù)式(1)~式(21),提取訓(xùn)練數(shù)據(jù)集的20維特征,對其進(jìn)行歸一化。選用Z-Score標(biāo)準(zhǔn)化方法,根據(jù)每個特征數(shù)據(jù)的均值μ和方差σ來進(jìn)行歸一化,可將訓(xùn)練集中的每個特征數(shù)據(jù)的均值統(tǒng)一變換為0,標(biāo)準(zhǔn)差統(tǒng)一變換為1,使用式(22)對20維特征歸一化。
(22)
式中,x為標(biāo)準(zhǔn)化前的特征數(shù)據(jù);x′為標(biāo)準(zhǔn)化后的特征數(shù)據(jù)。
2.2.2 特征數(shù)據(jù)降維
提取的20維特征中不可避免的存在特征冗余問題,特征冗余會導(dǎo)致計算量增大,運(yùn)行時間增加。為消除冗余特征,使用主成分分析法(PCA)對特征進(jìn)行降維。將原始數(shù)據(jù)特征通過映射函數(shù)映射到一個新坐標(biāo)系下,在該坐標(biāo)系下原始數(shù)據(jù)特征被新數(shù)據(jù)特征重新表示,新數(shù)據(jù)特征被稱為主成分。
在特征數(shù)據(jù)完成歸一化后,使用MATLAB中的“princomp”函數(shù)對20維特征進(jìn)行降維。圖2為主成分的載荷圖,橫坐標(biāo)為主成分1,縱坐標(biāo)為主成分2,黑點(diǎn)表示兩次觀測的主要值,圓圈和虛線表示載荷值。各個特征往橫坐標(biāo)上的投影為主成分1的載荷,往縱坐標(biāo)上的投影為主成分2的載荷。從圖2可以看出,對養(yǎng)殖魚攝食行為識別有貢獻(xiàn)的特征。圖2為主成分累積貢獻(xiàn)率圖,橫坐標(biāo)表示主成分,縱坐標(biāo)為累積貢獻(xiàn)率。直方圖表示各個主成分,其高度表示貢獻(xiàn)率,即該主成分對應(yīng)的方差占全部方差的比重,其反映了該主成分所包含特征數(shù)據(jù)信息量的大小,第n個累積貢獻(xiàn)率為前n個貢獻(xiàn)率之和,如圖3中黑線所示。從圖3可看出,主成分5的累積貢獻(xiàn)率已達(dá)到98.652 2%,因此,在后面的計算中只使用5維,即特征從20維降到了5維,并且降維后的單幀運(yùn)行時間與降維之前相比降低了32.3%。
圖2 主成分載荷圖
圖3 主成分累積貢獻(xiàn)率圖
2.3.1 核函數(shù)的選取
支持向量機(jī)的核函數(shù)選擇徑向基函數(shù)[15],其數(shù)學(xué)表達(dá)式為:
k(x,y)=exp(-g‖x-y‖)2
(23)
式中,g為函數(shù)參數(shù);‖x-y‖2為兩個特征向量之間歐氏距離的平方。
2.3.2 參數(shù)優(yōu)化
徑向基函數(shù)中兩個參數(shù)影響著分類的精度,因此需要選取該訓(xùn)練集的最優(yōu)參數(shù)。網(wǎng)格搜索算法(GS)是最常用的SVM選最優(yōu)參數(shù)的算法,它是一種基于K折交叉驗(yàn)證的參數(shù)尋優(yōu)方法,參數(shù)設(shè)置為:搜索步長0.5,K取5,其它使用默認(rèn)參數(shù),GS對SVM參數(shù)的尋優(yōu)流程圖如圖4所示,按照圖4,獲得最優(yōu)的C為8,g為0.007 812 5。
圖4 GS對SVM參數(shù)的尋優(yōu)過程
采用平均精確度PA、假負(fù)率FNR和假正率FPR作為SVM模型的評價指標(biāo)。精確度為真正的攝食行為與分類所得攝食行為的百分比,也為真正的非攝食行為與分類所得非攝食行為的百分比,假負(fù)率為攝食行為被錯誤分為非攝食行為的百分比,假正率為非攝食行為被分成攝食行為的百分比。
(24)
(25)
(26)
式中,TP表示標(biāo)注為攝食樣本,預(yù)測為攝食樣本的個數(shù);FP為標(biāo)注為非攝食樣本,預(yù)測為攝食樣本的個數(shù);TN為標(biāo)注為非攝食樣本,預(yù)測為非攝食樣本的個數(shù);FN為標(biāo)注為攝食樣本,預(yù)測為非攝食樣本的個數(shù)。
為了驗(yàn)證文中所提方法的有效性,將數(shù)據(jù)集剩下的30%樣本作為測試集,使用第2節(jié)中已訓(xùn)練好的養(yǎng)殖魚攝食行為識別模型對測試集進(jìn)行識別。分別使用周超[8]中的5維特征與文中的20維特征,對測試集進(jìn)行識別,并將結(jié)果進(jìn)行對比,如表2所示。由表2可看出,將紋理特征增加至20維獲得的PA、FNR和FPR都要優(yōu)于文獻(xiàn)[8]。
表2 兩種方法的攝食行為識別結(jié)果
1)提出的方法可有效地識別養(yǎng)殖魚的攝食行為,實(shí)驗(yàn)結(jié)果表明,該方法的平均精確度達(dá)到了92.3%、假負(fù)率為7.34%和假正率為4.15%。
2)直接對攝食圖像提取紋理特征,不但避免了養(yǎng)殖魚目標(biāo)復(fù)雜的前景提取,而且避免了水面波動和水花對識別帶來的干擾。
3)對介于攝食和非攝食之間過渡階段的攝食行為分類的精確度還有待提高,這也為下一步的研究指明了方向。