閆家興,劉 敏
(河北農業大學海洋學院,河北 秦皇島 066000)
在傳統的凡納濱對蝦養殖過程中,需要根據養殖經驗確定投喂量,容易導致飼料過剩或不足的問題。為解決這一問題,研究者建立預測模型預測投喂量,主要使用BP 神經網絡預測模型對水產養殖投餌量進行預測(楊加慶,2018;陸天辰,2020)。近年來,隨著計算機深度學習的發展,相關模型具有更強的數據挖掘和泛化能力。何津民(2022)提出IPSO-CNN-LSTM-ATTN 對蝦投餌量預測模型,改善了BP 神經網絡過擬合和穩定性差的問題,然而該類模型訓練數據來自養殖記錄,這需要人工長期進行記錄。
目前計算機視覺技術快速發展,本文設計一個對蝦投餌量預測系統,從圖片中挖掘蝦群表型數據,可根據蝦群照片直接得出預測投餌量。投餌量預測值是根據系統預測蝦群的體重計算得出,因此能夠精準預測蝦群體重是系統的核心。
基于計算機視覺的餌料精準投喂系統流程如圖1所示。首先將輸入的圖片進行預處理,特征提取后進行目標檢測和實例分割,獲得對蝦的數量和圖像中對蝦背部總面積數據信息,并作為梯度回歸模型的訓練數據集,通過回歸模型的訓練和優化,實現預測蝦群體重和精準估算投喂量。

圖1 精準投喂系統流程
本研究所用凡納濱對蝦為從市場購買,數量200 尾,規格10.9~35.8 克/尾。環境模擬采用裝有海水的魚缸,共采集群蝦照片2 000張。
精準投喂系統需要訓練學習兩個模型的權重,首先訓練的是YOLOv5s-Mask 模型,以該模型的輸出結果作為輸入數據訓練回歸模型以獲得其權值,利用回歸模型完成蝦群體重的預測值。最終,根據具體投餌率得到預測投喂量。
YOLOv5s-Mask 數據集構建:使用VIVO IQOO Neot5手機攝像頭拍攝,拍攝時鏡頭位于蝦的正上方,拍攝時鏡頭焦距和高度不固定,選擇多種環境下拍攝群蝦群的背部照片,使得數據更加豐富,以提高訓練后模型的魯棒性(穩健性)。
回歸數據集構建:工廠化養殖的對蝦在投喂均勻的條件下,對蝦具有體重接近的特點,因此在拍攝照片時,選擇個體重接近的凡納濱對蝦。在拍攝前先選取不同數量的蝦進行稱重,每次稱重后記錄數據并拍攝蝦照片,手機攝像頭固定于養殖缸的正上方80 厘米處,同時拍攝過程需注意如下事項:①拍攝時保持手機高度和焦距不變;②采集時保證拍攝整個蝦群的照片;③拍攝的圖片中不能出現與蝦形狀和大小相似的物體,避免對實驗結果造成干擾。
將體重均勻的凡納濱對蝦圖片放在1個文件夾中,并以稱重結果重命名,改變蝦的數量后重復操作。將圖片像素值降低處理后可以極大提高模型訓練速度,數據集制作使用labelme標注,標注結果見圖2。數據集中訓練集和驗證集的比例按9∶1分配。

圖2 labelme標注
(1)YOLOv5s-Mask模型網絡結構。YOLO作為單階段目標檢測的經典代表之一,具有檢測速度快、易于部署的特點。Mask-RCNN作為雙階段目標檢測經典算法,可完成更為精準的實例分割,生成Mask掩碼,但檢測速度非常慢。因此以YOLOv5s為基礎模型,可在YOLOv5s的Neck上單獨分出1個檢測頭,以同時完成目標檢測和實例分割(Wu 等,2022)。YOLOv5s-Mask模型可以快速地進行目標檢測和實例分割,但也有部分精度損失。主干網絡選擇CSPDarknet 進行特征提取,采用CPS、Focus結構減少計算量以加速訓練,利用SPP特征金字塔池化將Feature map劃分成多個尺度。Neck網絡進行一系列混合和組合圖像特征,并將圖像特征傳遞至預測層,利用FPN 和PAN 結構融和多級特征,解決目標檢測中的多尺度問題。Head 網絡對最終的特征圖進行預測輸出,包括了蝦實例分割頭和目標檢測頭兩個部分,分別對目標進行分類并輸出置信度。模型損失函數包括目標檢測損失和分隔損失,目標檢測損失包括分類損失、置信度損失和定位損失。其中分隔損失和目標檢測中分類損失及置信度損失為BCE Loss,目標檢測中定位損失為CIoU Loss。
(2)回歸模型。梯度提升回歸(GBR)是一種從錯誤中進行學習的技術,原理是訓練多個弱學習器,集成一堆較差的學習算法進行學習,每個學習算法的準確率均不高,但集中起來可以獲得較高的準確率,這是因為每個算法都不是單獨學習,而是在前一個算法的基礎上進行學習。
YOLOv5s-Mask 的訓練損失包括位置損失、目標損失、分割損失等,訓練過程中邊框損失降低至0.020 45,分割損失降低至0.021 09。訓練結果表明,訓練前80 次損失下降較快,80 次后趨于平穩,訓練過程中沒有出現過擬合和欠擬合現象;模型分隔精度0.99,召回率1,mAP 0.5:0.95 Mask為0.739。
為了探究凡納濱對蝦體重對預測結果的影響,本次實驗將10~30 克/尾的蝦以5 克為步長將其分成4 組,按體重范圍從小到大依次分為小蝦、中小蝦、中蝦、大蝦4種類型。數據采集時選擇同一類型的蝦,將照片輸入訓練好的YOLOv5s-Mask分隔模型,求出群蝦的像素面積和蝦數量,利用分隔模型進行檢測,檢測后得出凡納濱對蝦的類別和置信度,并生成分隔掩碼。YOLOv5s-Mask 模型檢測每張圖片消耗時間為20~30 毫秒,檢測消耗時間小于Mask-RCNN 模型檢測消耗時間(170~200毫秒)。
將統計好的檢測數據導入回歸模型進行訓練,訓練后測試數據如表1所示。
利用回歸模型評價指標對模型進行評估,GBR模型擬合優度R2為0.936、平均絕對誤差(絕對值)為1.280 克、均方根誤差(絕對值)為2.120 克。最大相對誤差(絕對值)為3.503%,最小相對誤差(絕對值)為0.033%。
相關性熱力分析表明,凡納濱對蝦預測體重和其在圖片中所占面積相關性為0.980,占比最高,其次是蝦的數量,占比為0.880。根據相關性分析熱力圖可以得出,10克/尾以上的蝦體重預測和蝦群的類型沒有顯著關系。
蝦的體重是蝦養殖過程中的重要數據。有學者利用計算機視覺和深度學習等技術對養殖動物體重進行過預測(唐楊捷,2019;Dang 等,2022)。對于蝦投餌量的估算,何津民(2022)提出了IPSO-CNN-LSTM-ATTN 對蝦體重預測模型,最大相對誤差為2.32%,最小相對誤差為0.33%,平均絕對誤差為0.681克。IPSO-CNN-LSTM-ATTN對蝦體重預測模型從養殖過程中記錄的數據中提取特征,最終通過模型預測投餌量。本文提出的精準投喂系統的數據來源是基于計算機視覺,從圖像中獲取信息。以上兩種方式各有優勢,前者模型預測精度要優于本文模型,但不同地域養殖環境不同,每次更換飼料要重新記錄數據并訓練模型。本文提出的系統設計可解決上述因素的影響,但對圖片質量和清晰度要求較高。由于蝦體在測量時會有少許水存于其表面,因此在測量蝦體重時也存在一定的誤差。
本文利用計算機視覺完成凡納濱對蝦精準投喂系統的設計。系統首先經過YOLOv5s-Mask 模型進行蝦體的識別和分隔,求出對蝦的數量和所占像素的面積,通過回歸模型對蝦的體重進行回歸預測,最終根據蝦群重量計算得出投喂量,實現了對蝦的投餌量預測。模型mAP 0.5:0.95 Mask為0.739。YOLOv5s-Mask主干網絡選擇CSPDarknet進行特征提取,采用CPS、Focus 結構減少計算量,利用SPP 將Feature map 劃分成多個尺度。Neck網絡利用FPN和PAN結構融和多級特征,解決目標檢測中的多尺度問題。相同面積下,不同生長階段的蝦體重相同。將蝦的體重范圍作為一個因素,驗證是否對預測結果造成影響,經實驗驗證得出,10克/尾以上的蝦在投喂量預測時不需要考慮該因素。
本文基于YOLOv5s-Mask 和梯度回歸的對蝦投餌量預測系統雖然具有智能化程度高、檢測精準等優勢,但也存在依賴養殖水環境的清晰度的短板,測量時圖片質量會影響測量結果。因此下一步將對模型進一步進行優化,以構建性能更好的目標檢測、實例分割以及回歸模型。