陳 明 張重陽 馮國富 陳 希 陳冠奇 王 丹
(1.上海海洋大學信息學院, 上海 201306; 2.農業農村部漁業信息重點實驗室, 上海 201306)
中國水產養殖面積達718.952萬hm2,超過77.29%的水產品是人工養殖[1]。計算機視覺技術的發展助推了工廠化循環水養殖,使之成為現代漁業的重點研究方向,其中投喂控制是精細化養殖的關鍵。傳統的人工和機械投喂模式,忽略了魚類的養殖密度、攝食需求和水質環境等因素的影響,因投喂不足或過度投喂而造成水質污染和資源浪費[2-3]。大量研究表明,在不同生長階段和不同水質環境下,魚類的攝食行為和攝食活動強度存在明顯的差異[4-5]。近年來,魚類的福利問題愈發引起重視,分析量化魚類的攝食行為和攝食活動強度不僅可以提高餌料利用率、改善水質環境,而且可以提升養殖效益,從而實現精準投喂[6-7]。
計算機視覺技術具有經濟、快速、客觀和高精度檢測的優點,已逐漸應用于水產動物屬性研究領域[7-8]。結合圖像處理技術,通過提取魚群運動的參數信息可以實現對攝食行為的檢測。趙建等[6]利用光流法和統計學方法,結合羅非魚的腸胃飽滿指數和水面反光區域變化特征,提出了一種改進動能模型的攝食活動強度評估方法,避免了對個體魚的追蹤,但該方法易受外界環境的干擾。陳彩文等[7]利用圖像處理技術、對比傳統面積法,提出了一種基于圖像紋理的攝食活動強度評估方法,其相關性達0.89。但該方法的模式較為固定,且特征過于單一,干擾抵抗性較差。胡利永等[8]基于機器視覺方法分析了鱸魚的聚集和饑飽程度,并結合魚群攝食規律提出了一種基于面積比率的智能投餌方法,提高了餌料利用率,但該方法對養殖規模和魚的大小有一定的限制。LIU等[9]利用計算機視覺技術,通過計算連續幀圖像間的差分值對魚群的攝食活動強度進行了量化,但該方法需濾除水面反射誤差的影響,計算量較大。ZHAO等[10]基于動能模型,通過提取攝食圖像的分散度、相互作用力和水流場變化幅度等特征,實現了對魚群食欲的強度評估,但該方法易受圖像質量和光照等因素的干擾。SADOUL等[11]通過分析攝食前后魚群面積和擴散程度等信息,利用分散性和游動活性2個指標表征魚群的活躍程度,但該方法受限于魚的數量和光照等外界條件。
本文針對目前攝食活動強度研究中易受光照、水質環境和復雜背景影響等特點,提出一種特征加權融合的攝食活動強度評估方法。首先利用背景減、最大類間方差法(Otsu)、灰度化和形態學方法處理攝食圖像,通過圖像質心確定魚群的游動軌跡;其次,分別提取顏色、形狀和紋理等13維特征;結合Relief和XGBoost算法進行特征的選擇,篩選出貢獻率較大的3個特征作為攝食評價因子,并使用加權融合方法確定其權重;最后,通過融合后的特征,對比魚群聚集面積法,實現攝食活動強度的評估。
試驗系統如圖1所示,主要由水槽、生物濾池、攝像機和便攜式計算機組成,試驗對象選用體長為15~20 cm的鏡鯉(Cyprinuscarpiovar.specularis)。試驗前,先將鏡鯉飼養在高1.2 m、直徑1.5 m的水槽中數日。攝像機位于水槽斜上方垂直高度1 m處,選用尼康D90型攝像機進行拍攝,圖像格式為JPEG,分辨率為1 280像素×720像素,試驗分攝食前、攝食中和攝食后3個階段進行圖像拍攝,后期選用Matlab R2016a進行處理和分析。

圖1 試驗系統結構圖
1.2.1算法流程
魚類攝食圖像研究的難點主要在于光照強度和復雜背景下單體魚位置的確定,所以分割和提取魚群中單條魚的特征是困難的。為提高攝食活動強度評估準確性,降低試驗難度,本文以魚群為研究對象進行圖像特征的分析。為降低噪聲和水質環境對圖像分割和特征分析的影響,采用均值背景建模、中值濾波和形態學方法對圖像進行預處理操作,實現圖像的降噪和灰度化,算法流程如圖2所示。

圖2 算法流程圖
1.2.2圖像預處理
魚類運動行為具有顯著的時空異質性,不同種類、不同水深環境下呈現出不同的狀態,同一種類在不同時刻也會呈現出明顯的視覺差異(水平、垂直和旋轉)。
對鏡鯉而言,通過觀察其攝食前后的行為發現,非攝食階段魚群游動速度較為緩慢,且群浮于水底,而在攝食階段,游動呈雜亂無章狀態,且較為劇烈,攝食前后狀態如圖3所示。

圖3 魚群攝食前和攝食時圖像
1.2.3攝食圖像質心標定
在采用背景差分法對魚群目標進行處理時,通過對檢測到的魚群面積進行形態學處理,采用質心算法獲得連續幀圖像的魚群質心點坐標(xi,yi),并計算出魚群的運動軌跡,從而實現攝食行為的分析。質心坐標值計算公式為
(1)
式中N——目標區域中像素點總數
(xj,yj)——像素點j的坐標
試驗中以圖像左上角為xoy坐標系的坐標原點,豎直向下為x軸正方向,水平向右為y軸正方向。
文獻[12]發現,隨著魚群攝食狀態和強度的變化,其運動速度、方向和聚集面積也會發生改變,圖像特征的復雜性也會不同,為實現不同特征間信息互補,本文提取攝食圖像的顏色、形狀和紋理3類特征對魚群的攝食活動強度進行研究。
1.3.1顏色特征
在圖像底層特征中,顏色是圖像最重要的視覺特征[13]。根據魚群攝食圖像特點,本文將RGB空間轉換為HSV空間模型,提取H和S分量的顏色矩作為顏色特征,并使用一階矩(Mean)、二階矩(Variance)和三階矩(Skewness)來表示攝食圖像的顏色分布信息,其中一階矩描述圖像色彩的平均強度,二階矩表示圖像的顏色方差,三階矩表示圖像的色彩偏移性[14]。因此,利用圖像HSV的低階矩對魚類攝食前后圖像進行顏色矩統計,共得出H、S分量的6個特征向量,其參數區間范圍如表1所示。M11、M12、M13為攝食前、中、后階段H分量的一、二、三階矩,M21、M22、M23為攝食前、中、后階段S分量的一、二、三階矩。

表1 H、S分量參數的區間范圍
由表1可以看出,攝食前、中、后3個階段的某些參數區間存在重疊部分,為提高試驗效果,剔除M13和M23,使用M11、M12、M21和M22作為顏色特征,并分別記為T0、T1、T2、T3。
1.3.2形狀特征
圖像的形狀特征是一種全局特征,可以通過圖像的邊緣、區域和面積反映一幅圖像內容的緊湊程度[15]。對攝食圖像而言,魚群在不同時刻呈現出不同的群聚形狀,為清晰描述圖像的形狀變化,在提取特征前使用Canny算子對魚群攝食前后的圖像進行邊緣檢測,邊緣檢測圖像如圖4所示。

圖4 魚群攝食前后邊緣檢測效果圖
根據魚群攝食前后呈現出的不同狀態,提取圖像面積S、周長L、緊湊度F和圓形度E共4個幾何特征作為圖像的形狀特征,并分別記為T4、T5、T6、T7。
F=4πS/L2
(2)
E=L2/S
(3)
1.3.3紋理特征
通過分析不同攝食階段的圖像發現,魚類攝食行為存在周期性變化的特點,攝食階段圖像紋理較為粗糙,非攝食階段相對平滑,所以通過構建灰度共生矩陣(GLCM)[16]提取圖像的紋理特征來表征攝食行為的變化。試驗中,將圖像灰度級壓縮至16級,并提取方向角θ在0°、45°、90°和135°共4個方向上的能量En、熵Ent、對比度Con、相關性Cor和逆差矩Hom共計20個特征值,各特征值如表2所示。

表2 魚群攝食圖像的灰度共生矩陣特征值
由表2可知,魚群攝食圖像的紋理信息在0°、45°、90°和135°方向上的變化趨勢一致,所以選取0°方向的能量、熵、對比度、相關性和逆差矩5個特征表示其紋理特征,并分別記為T8、T9、T10、T11、T12。
1.3.4歸一化處理
為保證各特征數據的尺度一致性,避免異樣值的干擾,對提取的4維顏色特征、4維形狀特征和5維紋理特征進行歸一化處理。
特征融合的目的在于使用較少的特征表達較多的圖像信息,以達到較高的準確率[17]。針對傳統人工和自適應融合方法的耗時耗力和準確率低的問題,本文結合XGBoost算法,提出一種基于Relief特征加權融合算法。如圖5所示,首先使用圖像預處理技術提取圖像的顏色、形狀和紋理特征,其次按照Relief算法計算出的權重對特征進行貢獻率排序,然后結合XGBoost的分類準確率剔除冗余和不重要的特征,篩選出攝食評價因子。最后使用特征加權算法進行加權融合,從而對比面積法實現攝食活動強度的評估。

圖5 特征加權融合算法流程圖
1.4.1Relief算法特征選擇
特征提取為攝食行為的研究提供了豐富的數據信息,但大量的特征間容易存在較高的相似性,導致冗余數據消耗過多的時間,不利于魚群攝食行為的在線研究,所以需要篩選出與攝食研究最相關的特征,從而減少數據冗余,增強算法的泛化能力,進一步提高算法的評估精度。
Relief算法[18]是一種通過計算樣本權重進行特征選擇的算法,根據基于特征對近距離樣本的區分能力來確定權重。設樣本集合f=(f1,f2,…,fn),每個樣本包含k個特征fi=(fi1,fi2,…,fik)(1≤i≤n),L=(l1,l2)為類別集合。Relief算法首先對各特征進行初始化,并從F中隨機選擇一個樣本fi,然后根據L分別從同類樣本和異類樣本中選擇一個距離fi最近的樣本,并記為H和M,最后更新特征i的權重。
ωi=ωi-1-diff(i,fi,H)/n+diff(i,fi,M)/n
(4)
式中ωi——特征i的權重
diff(i,fi,H)——同類樣本近鄰相關統計量
diff(i,fi,M)——異類樣本近鄰相關統計量
由式(4)可知,在權重迭代計算中,具有較強區分能力的特征在異類樣本間差異較大,而在同類樣本間差異較小。根據Relief算法計算的權重ωt對特征進行排序,權重ωt越大,表示其貢獻率越大,對應的分類能力越強;反之,能力越弱。最后設定閾值t,權重ωt大于t的特征視為有效特征,小于t的特征剔除,從而實現特征選擇。
1.4.2XGBoost算法分類準確率
XGBoost(極端梯度提升)[19]是GB集成學習的改進算法,是通過弱分類器的迭代計算實現較高精度的分類,在將損失函數進行二階泰勒展開的同時,引入了L2正則化項,克服了決策樹易過擬合的缺點,可快速實現特征維度上的并行運行,且其內置的交叉驗證特點提高了結果準確性。其具體的實現過程如下:
設數據集D=(xi,yi)(|D|=n,xi∈Rm,yi∈R),集成樹模型為
(5)
則目標函數為
(6)

(7)
式中xi——樣本ω——權重
T——葉子節點數
γ——懲罰力度i——預測值
λ——懲罰系數
fk(xi)——回歸樹
ξ(xi,i)——損失函數
為防止模型過擬合,在學習過程中不斷加入新的函數ft。
(8)
在加入新的函數ft后,目標函數變為
(9)
此時,對其進行二階泰勒展開
(10)
其中

式中Ij——第j片葉子節點上的所有樣本集合
gi——一階導數hi——二階導數
假設最佳權重ω=ω*,則
(11)
此時,目標函數的最優值為
(12)
在XGBoost構建決策樹的過程中,一個特征出現的次數越多,表示該特征越重要,基于這一特點,結合Relief特征選擇算法和魚群攝食特征XGBoost模型中的分類準確率,確定魚群的攝食評價因子。
1.4.3特征加權融合
由于魚群攝食期間的快速連續變化,使用單一特征無法全面對其攝食行為和攝食活動強度進行準確檢測和評估。為實現特征間的信息互補,對提取的攝食評價因子使用加權融合方法[20]進行特征融合,通過多次更改權重比較攝食行為的檢測效果,以選擇適當的權重進行加權融合。
隨著魚群攝食狀態和強度的變化,其游動軌跡、方向和聚集面積隨之發生改變,圖像特征的復雜度也會不同。攝食前后,魚群的游動速度和方向的改變是攝食行為檢測和攝食活動強度評估的重要指標,軌跡行為的變化直接反映了魚群攝食活動強度的變化,且不同階段,攝食圖像的顏色、形狀和紋理特征表達的信息也會不同。
2.1.1魚群運動軌跡
運動軌跡分析對魚群攝食行為的跟蹤研究具有關鍵作用。按照視頻的時間順序,以圖像質心表示魚群中心,使用式(1)計算得出魚群攝食前后的運動軌跡如圖6所示。對比圖6a、6b發現,魚群在攝食前的運動軌跡較為簡單,運動速度緩慢,且質心坐標集中在一定數值區域內;而攝食中的運動軌跡則變得復雜,游動速度和方向變化較快,軌跡出現多次劇烈波動。
通過運動軌跡發現,攝食前魚群運動范圍的x軸和y軸坐標值區間為[130,262]和[511,808];而攝食過程中的魚群游動范圍x軸和y軸坐標值區間為[230,388]和[429,793],區間范圍較攝食前變大,即通過運動區間可看出攝食前后的變化,表3為質心點的坐標。
2.1.2攝食強度隨圖像特征的變化
根據魚群攝食圖像的顏色、形狀和紋理特征的參數信息,選取其中300幀連續圖像信息進行攝食行為描述,如圖7所示。

圖6 魚群攝食前后運動軌跡

表3 魚群游動的質心坐標

圖7 基于圖像特征的魚群攝食行為變化曲線
從圖7可以看出,攝食圖像的T3、T5、T6、T7、T10和T11的值隨魚群攝食強度的增強而變大,而圖像的T1、T2、T4、T8、T9、T12和T13的值隨攝食強度的增強而減小。從其特征變化曲線可知,0~100幀曲線變化緩慢,魚群處于未攝食狀態;101~200幀期間,曲線呈現明顯的變化,此時魚群處于爭搶攝食階段;而曲線在201幀以后逐漸平緩,攝食基本結束;但265~280幀期間短暫的變化是由個別魚爭搶殘餌引起水面波動所致。魚群攝食強度隨圖像特征的變化為攝食行為的研究提供了重要的數據依據,可用來表征魚群的攝食活動強度變化。
為通過Relief算法得到攝食圖像特征的權重分析結果,將魚群攝食前、中、后3個階段歸一化后的T0~T12共13維圖像特征及其對應的類別標記輸入構建的Relief模型中,為避免抽樣隨機性和保證權重的代表性,試驗中選擇對每類特征計算20次,并以其平均值作為最終的特征權重,結果如圖8所示。

圖8 基于Relief算法的特征權重
由圖8可知,設置不同的閾值t對應不同的特征維度,t越小,得到的特征維度就越大。根據Relief算法計算的權重ωt(0≤t≤12)對特征進行排序,由大到小依次為T6、T1、T11、T2、T5、T7、T8、T9、T10、T0、T12、T4、T3。由此可知,當閾值t設定為0.075時,T6、T1、T11和T2等4個特征能夠較好地描述圖像,對攝食行為檢測和強度的評估具有較大作用。
攝食評價因子是進行攝食活動強度研究的基礎,Relief算法已經得出攝食特征的重要性排序,為驗證其結果的有效性,使用建立的XGBoost算法對提取的T0~T12共13維特征進行攝食分類準確率檢測。試驗中,選擇數據集的2/3用于訓練,1/3用于測試,模型中樹的最大深度max_depth設置為3,學習率eta設置為0.1,迭代次數n_estimators設置為50,L2正則化項的權重lambda設置為1,其他參數為默認值,試驗結果如圖9所示。

圖9 基于XGBoost算法的攝食行為檢測結果
由圖9可以看出,特征T1、T6和T11的分類準確率較高,這與Relief算法的權重測試結果相似,進一步說明了攝食圖像特征權重ωt的判斷對魚群攝食行為的檢測是有影響的。
為獲取具有高代表性的攝食評價因子,在上述試驗結果的基礎上,使用建立好的XGBoost模型對提取的T0~T12共13維特征按照Relief算法權重進行組合試驗,結果如表4所示。

表4 基于XGBoost模型的特征組合試驗結果
由表4可知,T1、T6和T11等3個特征作為攝食活動強度評價因子的檢測效果即可達到13維特征的識別準確程度,且速度提升了3/5,實現了在特征降維的同時降低了數據的冗余。試驗進一步驗證了權重ωt較小的幾個圖像特征在魚群攝食行為研究和攝食活動強度評估過程中的作用較小或起到抑制作用,同時證明了本文提出的基于Relief算法特征權重及XGBoost算法特征選擇的有效性,可以將通過該算法得到的T1、T6和T11共3個特征作為攝食活動強度評價因子用于魚群攝食活動強度的評估研究。
根據以上試驗結果,選擇T1、T6和T11等3個特征作為魚群攝食評價因子,進行加權融合,分別將其設為t1、t2、t3,權重分別為α1、α2、α3,且α1+α2+α3=1,加權融合后特征記為F,則有
F=α1t1+α2t2+α3t3
(14)
根據式(14),通過多次更改t1、t2和t3的權重比較融合后的檢測效果,試驗結果如表5所示。

表5 基于攝食評價因子的加權融合試驗結果
由表5可以看出,在魚群攝食特征的加權融合過程中,同一特征取不同權重時會得到不同的檢測結果。當攝食評價因子T1、T6和T11的權重分別取0.23、0.40、0.37時,融合后的特征識別準確率最高,為98.89%,優于傳統特征融合方法的97.98%,可以較好地描述魚群攝食圖像的信息。因此,提取的T1、T6和T11共3種特征可以作為攝食評價因子應用于魚群攝食行為研究和攝食活動強度的評估。
文獻[8]根據魚群攝食前后的聚集度和攝食規律提出了一套投喂策略,提高了養殖的自動化程度。為了驗證本文方法的可靠性,試驗中以攝食圖像的前景目標魚群的聚集面積為參數來表征魚群的攝食活動強度,同時對比了使用魚群攝食前后圖像的單一形狀特征、單一顏色特征和文獻[7]中的紋理方法與使用魚群聚集面積參數進行攝食活動強度的量化情況,結果如表6所示。
在圖像采集過程中,光照、水面波動和外界噪聲的干擾等因素會給攝食圖像帶來不良的影響,使得單一的圖像特征不能全面地表達圖像信息,從而給研究造成較大的誤差。由表6可知,基于形狀特征和顏色特征的活動強度評估的相關性基本相同,R2約為0.65。文獻[7]基于紋理特征的活動強度評估的相關性較基于形狀和顏色特征的相關性高,使用紋理熵的決定系數為0.834 2,而使用本文方法得到魚群攝食活動強度的相關性最好,R2最高可達0.904 3,均方誤差最小,為0.017 8,且基于本文方法進行攝食行為檢測的識別準確率為98.89%。因此,基于特征加權融合的方法實現了不同特征間的信息互補,提高了檢測準確度和活動強度的相關性,可以較好地進行魚群攝食行為的在線檢測和攝食活動強度的評估研究。

表6 不同方法的攝食活動強度量化對比
(1)試驗環境中,魚群攝食圖像經均值背景建模、中值濾波和形態學處理獲得前景目標,在避免復雜環境中單體魚分割的基礎上,利用圖像處理技術對不同攝食階段的圖像特征進行分析量化。
(2)提取攝食圖像的質心,利用其游動軌跡分析了魚群在不同攝食階段的游動行為,并根據提取圖像的顏色、形狀和紋理等13維特征,對不同攝食階段的活動強度進行了分析。
(3)結合魚群攝食特點,提出了一種基于Relief特征選擇和XGBoost的魚群攝食特征選擇算法,根據Relief算法計算的權重對特征進行排序,并結合XGBoost的檢測結果篩選出二階矩、周長和紋理熵3個攝食評價因子,最后利用加權融合算法得出,當3個評價因子分別取0.23、0.40和0.37時效果最好,識別準確率為98.89%。
(4)相比利用魚群聚集面積和基于單一特征的評估方法,本文方法均方誤差最小、識別準確率最高,且決定系數可達0.904 3。說明了基于特征加權融合方法在攝食活動強度評估方面的優越性,該方法有助于實現水產養殖中魚類的精準投喂。