摘 要:傳統(tǒng)的魚群養(yǎng)殖采用定點、定時的專人投喂方式,無法滿足智能化養(yǎng)殖的需求。隨著機器視覺發(fā)展和進步,越來越多的水產(chǎn)養(yǎng)殖采用該技術(shù)進行餌料投喂工作,以節(jié)約成本和提高效率。本文基于戶外養(yǎng)殖池塘魚群攝食強度視頻數(shù)據(jù)集,搭建戶外養(yǎng)殖池塘魚群攝食強度分類模型,提出了一種基于遷移學(xué)習(xí)的長期循環(huán)記憶網(wǎng)絡(luò)模型。模型利用遷移后的MobileNet V1網(wǎng)絡(luò)和長短期記憶(Long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò),搭建魚群攝食強度視頻分類網(wǎng)絡(luò)模型,遷移后的MobileNet V1的輸出與分類網(wǎng)絡(luò)相連,進行視頻數(shù)據(jù)分類,分類的準確率為85%。
關(guān)鍵詞:遷移學(xué)習(xí);長短期記憶神經(jīng)網(wǎng)絡(luò);魚群攝食強度;水產(chǎn)養(yǎng)殖" " "中圖分類號:S 964" " 文獻標志碼:A
水產(chǎn)養(yǎng)殖業(yè)在中國漁業(yè)發(fā)展中具有重要地位[1],早在春秋戰(zhàn)國時期,我國就已出現(xiàn)第一部系統(tǒng)介紹魚類養(yǎng)殖的著作《養(yǎng)魚經(jīng)》,這是中國最早的養(yǎng)魚著作。經(jīng)過數(shù)千年的歷史技術(shù)積淀,我國已經(jīng)成為世界上唯一一個水產(chǎn)養(yǎng)殖總量高于捕撈產(chǎn)量的國家[2],同時水產(chǎn)養(yǎng)殖也是我國漁業(yè)的主要生產(chǎn)方式。其中開放式池塘養(yǎng)殖產(chǎn)量占全國水產(chǎn)養(yǎng)殖總量的80%,魚類的養(yǎng)殖占總體淡水水產(chǎn)養(yǎng)殖的83%,因此提高水產(chǎn)養(yǎng)殖的生產(chǎn)率對推動我國水產(chǎn)養(yǎng)殖業(yè)快速發(fā)展具有重要作用。隨著水產(chǎn)養(yǎng)殖業(yè)不斷發(fā)展和擴大,工業(yè)化的魚類養(yǎng)殖技術(shù)也在不斷更新和適應(yīng)不同的養(yǎng)殖環(huán)境,進行餌料自動投喂是水產(chǎn)養(yǎng)殖實現(xiàn)自動化、工業(yè)化和智能化的關(guān)鍵一步。
利用機器視覺技術(shù)對魚群的攝食情況進行監(jiān)控和識別,可以及時發(fā)現(xiàn)魚群的異常情況,降低養(yǎng)殖過程中的風(fēng)險。本文使用基于遷移后的MobileNet V1網(wǎng)絡(luò)和長短期記憶神經(jīng)網(wǎng)絡(luò)(Long short-term memory,LSTM)搭建魚群攝食強度視頻分類網(wǎng)絡(luò)模型,判斷魚群的攝食強度,進行智能化投餌。
1 魚群攝食強度分類模型
本文基于戶外養(yǎng)殖池塘,該水產(chǎn)基地位于上海市崇明區(qū),主要從事綠色食品魚養(yǎng)殖,是崇明優(yōu)質(zhì)淡水魚生產(chǎn)基地,主要的養(yǎng)殖品種有鱸魚、草魚和花鰱魚等。
該養(yǎng)殖基地養(yǎng)殖環(huán)境為戶外開放式養(yǎng)殖池塘,一個池塘水深約2m,長約50m,寬約25m,面積超過1000m2(2畝),每個池塘配有一個投餌機,投餌機型號為佛山市中漁科技有限公司的顆粒飼料投餌機ZY150,安裝在岸邊的延伸臺。每個投餌機配有一個半自動控制器,控制器具有定時投餌、餌料檢測等基礎(chǔ)性功能,需要手動開、關(guān)機。投餌機采用扇形噴灑式投餌方案,投餌半徑約為6m。
利用安置好的攝像頭,并根據(jù)實時串流協(xié)議(Real Time Streaming Protocol,RTSP)采集不同時間段魚群攝食和未攝食的視頻數(shù)據(jù),提取時長為2s的視頻數(shù)據(jù)樣本,進行數(shù)據(jù)樣本的整理和標注工作。
再制作魚群攝食強度分類數(shù)據(jù)集過程中,需要對預(yù)先采集的視頻進行剪裁等處理,提取時長為2s的視頻樣本,每個視頻樣本包括60個視頻幀。將樣本按照強攝食(大量魚群浮出水面劇烈爭奪魚餌)、弱攝食(部分魚群浮出水面攝取魚餌,不爭奪)和未攝食(無魚群浮出水面)3種攝食狀態(tài)進行數(shù)據(jù)標注,將數(shù)據(jù)集的80%作為訓(xùn)練集,20%作為測試集。視頻數(shù)據(jù)集共包括1071個時長為2s的視頻,其中未攝食視頻樣本355個,弱攝食樣本335個,強攝食樣本381個,具體數(shù)量見表1。不同狀態(tài)下的視頻幀如圖1所示。
采集完成后進行數(shù)據(jù)預(yù)處理。采用直方圖均衡化增加圖像的全局對比度,使亮度可以更好地分布在直方圖上。直方圖均衡化處理是以累積分布函數(shù)為基礎(chǔ)的直方圖修正法,即通過一個灰度映射函數(shù),將原直方圖改造成所希望的直方圖。圖像的直方圖如公式(1)所示。
式中:nk 為圖像中灰度級為k(k=0,1,2,…,L-1)的像素個數(shù),其中L為最大灰度級。
在直方圖的基礎(chǔ)上,進一步計算直方圖每一個灰度級出現(xiàn)的相對頻率Pr(k),如公式(2)所示。
式中:N為圖像中像素的總數(shù)。
累積分布函數(shù)是概率密度函數(shù)的累積和,表示每個灰度級及其之前所有灰度級出現(xiàn)的累積概率,將公式(2)進行累積,可得公式(3)。
式中:dcf (rk)為灰度級rk及其之前所有灰度級的累積概率。
下一步將累積概率映射到新的灰度級上,實現(xiàn)灰度級的重新分配,將公式(3)的值乘以最大灰度級,代入公式(4),得到新的灰度級。
式中:rk為歸一化后的灰度級。
將原始圖像中的每個像素值替換為對應(yīng)的新灰度級,從而得到均衡化后的圖像,對比效果如圖2所示。
預(yù)處理后的圖像對比度明顯增強,圖像中魚群攝食的魚體邊緣、色彩等細節(jié)更突出。將預(yù)處理后的視頻送入訓(xùn)練好的魚群攝食強度分類模型中,獲得當(dāng)前時刻的攝食強度;上位機根據(jù)設(shè)定投餌策略確定下一時刻餌料的投放速率,并實時向自動投餌機發(fā)出投餌指令;自動投餌機接收指令后開始工作,對魚群的攝食情況進行實時反饋,處理流程如圖3所示。
2 基于遷移學(xué)習(xí)的長期循環(huán)記憶網(wǎng)絡(luò)模型
MobileNet V1網(wǎng)絡(luò)是谷歌團隊于2017年提出的專注于移動端和嵌入設(shè)備的輕量級卷積神經(jīng)網(wǎng)絡(luò),與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,它在準確率小幅度降低的前提下顯著減少了模型的參數(shù)與運算量。ImageNet項目是一個用于視覺對象識別軟件研究的大型可視化數(shù)據(jù)庫,在網(wǎng)絡(luò)的預(yù)訓(xùn)練方面通用性、適應(yīng)性強。
長短期記憶網(wǎng)絡(luò)LSTM(Long Short-Term Memory,LSTM)[3]是循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network,RNN)的一種變體。鑒于梯度消失的原因,RNN只能有短期記憶,LSTM網(wǎng)絡(luò)利用精妙的門控制將短期記憶與長期記憶結(jié)合起來,并在一定程度上解決了梯度消失的問題,可以學(xué)習(xí)長期依賴信息。記住長期的信息在實踐中是LSTM的默認行為,不是需要付出很大代價才能獲得的能力。所有RNN都具有一種重復(fù)神經(jīng)網(wǎng)絡(luò)模塊鏈式的形式。
本文所提基于遷移學(xué)習(xí)的長期循環(huán)記憶網(wǎng)絡(luò)模型的視頻幀特征提取部分采用在ImageNet項目中預(yù)訓(xùn)練好的MobileNet V1網(wǎng)絡(luò),它共有28層(不包括平均池化層和全連接層),圖像輸入大小為(224,224,3),原始網(wǎng)絡(luò)輸出1000個類別,利用遷移學(xué)習(xí)剔除網(wǎng)絡(luò)的平均池化層和輸出層,保留經(jīng)ImageNet預(yù)訓(xùn)練后的剩余層權(quán)重參數(shù)和模型結(jié)構(gòu),將平均池化層的輸出(1024維)作為視頻幀的深度特征并用于視頻分類。
模型的分類網(wǎng)絡(luò)部分采用長短期記憶網(wǎng)絡(luò),基于LSTM神經(jīng)網(wǎng)絡(luò)搭建包括L層的視頻分類器,用于整合視頻幀深度特征并進行視頻分類。分類器與遷移后的MobileNet V1的平均池化層相連,分類器包括1層LSTM層、L-2層全連接層和1層輸出層,輸出層包括3個節(jié)點,分別代表未攝食、弱攝食和強攝食3種類別。
利用遷移后的MobileNet V1網(wǎng)絡(luò)和長短期記憶(Long short-term memory, LSTM)神經(jīng)網(wǎng)絡(luò)搭建魚群攝食強度視頻分類網(wǎng)絡(luò)模型(如圖4所示),遷移后的MobileNet V1的輸出與分類網(wǎng)絡(luò)相連,最后對遷移的MobileNet V1權(quán)重參數(shù)進行微調(diào),對基于LSTM的視頻分類器進行全訓(xùn)練,實現(xiàn)視頻數(shù)據(jù)分類。
本模型傳遞函數(shù)采用線性整流函數(shù)(Linear rectification function)。線性整流函數(shù)又稱修正線性單元,是一種在人工神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù),不會造成梯度消失和梯度爆炸,如公式(5)所示。
輸出層分類函數(shù)采用Softmax函數(shù),如公式(6)所示。
式中:zi為第i個節(jié)點的輸出值;C為輸出節(jié)點的個數(shù)。
利用該運算,可以將各個輸出節(jié)點的輸出值范圍映射到[0,1],并且約束各個輸出節(jié)點輸出值的和為1的函數(shù)。
損失函數(shù)是用來量化模型預(yù)測和真實標簽間差異的一個非負實數(shù)函數(shù),本模型采用交叉熵損失函數(shù),計算樣本屬于不同攝食強度的概率,如公式(7)所示。
式中:θjTx(j=1,2,3)為神經(jīng)網(wǎng)絡(luò)對類別j的原始預(yù)測值;P(j)為樣本屬于類別j的概率。
進而評估樣本實際值和預(yù)測值間的差距熵(即2個概率分布間的相似性),如公式(8)所示。
式中:yj 為圖像真實類別。
3 模型結(jié)果分析
本文選取綜合準確率(Accuracy)、精準度(Precision)、召回率(Recall)和F1得分(F1 Score)共4個評價指標來評估本網(wǎng)絡(luò)的性能。綜合準確率(Accuracy)代表最終分類正確的視頻樣本數(shù)量占全部視頻樣本總量的比例;精準度(Precision)代表最終分類為某一類別的視頻樣本數(shù)量中分類正確的比例;召回率(Recall)代表所有分類到某一類別的視頻樣本占應(yīng)該分類到該類別的比例;F1得分(F1 Score)為綜合評價指標,是Precision和Recall的加權(quán)調(diào)和平均,它綜合考慮了精準度和召回率,能夠避免算法出現(xiàn)保守預(yù)測和暴力召回的情況。具體的數(shù)學(xué)描述如公式(9)所示。
式中:TP為True Positives,即被正確分類的正例;TN為True Negatives,即被正確分類的負例;FP為 Positive,即被錯誤分類的負例;FN為 Negative,即被錯誤分類的正例;N為樣本總數(shù)。
通常Accuracy和Precision越高,網(wǎng)絡(luò)的效果越好;Recall越高,網(wǎng)絡(luò)“回憶的能力”越好。但是Precision和Recall這2個指標有時是相互矛盾的,因此綜合考慮精確率和召回率這2個度量值比較重要。F1得分綜合了Precision和Recall這2個指標的結(jié)果,如果模型的F1得分較高,說明試驗的結(jié)果有效且模型效果較優(yōu)。
通過具體分析三大類別的分類情況,可以看出網(wǎng)絡(luò)對未攝食狀態(tài)的分類效果最好,這是因為未攝食狀態(tài)下的視頻水面波動平穩(wěn)沒有異常狀態(tài),也不存在魚群上浮水面的情況,分類錯誤的情況較少,而弱攝食狀態(tài)與強攝食狀態(tài)下相似之處較大,均有魚群上浮水面,所以存在一定分類錯誤的情況。網(wǎng)絡(luò)的綜合準確率(Accuracy)、精準度(Precision)、召回率(Recall)和F1 得分(F1 Score)均為80%以上,說明網(wǎng)絡(luò)能較好地對水上魚群攝食強度視頻數(shù)據(jù)集進行分類,不存在暴力召回、梯度爆炸等異常情況。
4 投餌應(yīng)用策略
將搭建并訓(xùn)練好的算法模型搬至養(yǎng)殖現(xiàn)場的上位機中,完成投餌控制系統(tǒng)搭建。視頻信息通過RTSP實時串流協(xié)議實時顯示在上位機界面中,并及時存儲。根據(jù)魚塘魚群的數(shù)量、生長情況等決定投餌機的初始投放速率。
開始投餌時,投餌機以正常投餌速率v進行投餌。如果模型判別出當(dāng)前的攝食狀態(tài)為強攝食,那么加大投餌機的投放速率,速率變化為2v;如果模型判別出當(dāng)前的攝食狀態(tài)為中攝食,那么將投餌機的投放速率設(shè)定為v;如果模型判別出當(dāng)前的攝食狀態(tài)為未攝食或長時間處于弱攝食狀態(tài),那么關(guān)閉投餌機,如公式(10)所示。
選取適當(dāng)?shù)乃俾收{(diào)整間隔,投餌機會根據(jù)魚群的攝食情況實時調(diào)整餌料的投放速度。具體的投餌速率v和時間T需要根據(jù)魚塘魚群的數(shù)量、生長情況等因素決定。
5 結(jié)論
本文基于水上魚群攝食強度視頻,將遷移學(xué)習(xí)和長期循環(huán)記憶網(wǎng)絡(luò)相結(jié)合,提出了一種基于遷移學(xué)習(xí)的長期循環(huán)記憶網(wǎng)絡(luò)模型。本文在養(yǎng)殖基地的戶外池塘環(huán)境下采集魚群攝食和未攝食期間的視頻圖像,制作了水上魚群攝食強度視頻數(shù)據(jù)集,并在該數(shù)據(jù)集的基礎(chǔ)上進行研究,提出了戶外養(yǎng)殖魚群攝食強度視頻分類模型。最終試驗結(jié)果表明,基于遷移學(xué)習(xí)的長期循環(huán)記憶網(wǎng)絡(luò)模型的綜合準確率(Accuracy)、精準度(Precision)、召回率(Recall)和F1得分(F1 Score)均為80%以上,表明模型可以對水上魚群攝食強度視頻進行強攝食、弱攝食和未攝食這3種狀態(tài)進行分類,并且具有參數(shù)較少、計算速度較快等特點,可以較好地適應(yīng)養(yǎng)殖基地環(huán)境,為精準投餌提供指導(dǎo)。
本文提出的魚群攝食強度分類模型是一個三分類模型,分類的類別有限,未來將嘗試進一步細化分類的類別,在其他細化領(lǐng)域進行自動化、智能化改進,例如魚類異常行為檢測、魚類體長測量等,進一步提高水產(chǎn)養(yǎng)殖的總體智能化水平。
參考文獻
[1]鄭思寧,劉強,鄭逸芳.規(guī)?;a(chǎn)養(yǎng)殖技術(shù)效率及其影響因素分析[J].農(nóng)業(yè)工程學(xué)報,2016,32(20):229-235.
[2]韓剛,許玉艷,劉琪,等.科學(xué)制定水產(chǎn)養(yǎng)殖業(yè)綠色發(fā)展標準的思考與建議[J].中國漁業(yè)質(zhì)量與標準,2019,9(5):55-60.
[3]SHI X,CHEN Z,WANG H,et al.Convolutional LSTM"network:A machine learning approach for precipitation nowcasting[M].Cambridge:MIT Press,2015.
基金項目:廣東省普通高校青年創(chuàng)新人才類項目“基于機器視覺的魚類養(yǎng)殖投餌船設(shè)計與研究”(項目編號:2023KQNCX240)。