摘要:針對(duì)復(fù)雜場(chǎng)景下傳統(tǒng)魚苗統(tǒng)計(jì)費(fèi)時(shí)費(fèi)力的問題,本文提出了一種基于 YOLOv5的數(shù)量檢測(cè)方法,實(shí)現(xiàn)了智能、準(zhǔn)確、高效的魚苗數(shù)量統(tǒng)計(jì)。該方法基于自主采集的魚苗數(shù)據(jù)構(gòu)建訓(xùn)練數(shù)據(jù)集,通過應(yīng)用 YOLOv5 算法實(shí)現(xiàn)魚苗數(shù)量智能統(tǒng)計(jì)模型。結(jié)果顯示,無論光照條件變化還是魚群密度變化,該方法均具有較高的準(zhǔn)確性和魯棒性。同時(shí),本文結(jié)合J2EE 相關(guān)技術(shù),探討其在實(shí)際水產(chǎn)養(yǎng)殖中的應(yīng)用價(jià)值,為智能水產(chǎn)養(yǎng)殖提供了新的技術(shù)支撐和解決方案。
關(guān)鍵詞:YOLOv5;目標(biāo)檢測(cè);智能水產(chǎn)養(yǎng)殖;魚苗計(jì)數(shù)
中圖分類號(hào):TP392 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)17-0022-03 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID) :
0 引言
作為歷史悠久的水產(chǎn)養(yǎng)殖大國,淡水養(yǎng)魚是我國水產(chǎn)養(yǎng)殖的重要組成部分之一[1]。相關(guān)數(shù)據(jù)顯示,2022年我國淡水產(chǎn)品產(chǎn)量達(dá)3 303.1萬噸,占水產(chǎn)品總產(chǎn)量的49.37%,其中魚類的總產(chǎn)量高達(dá)2 732.3萬噸,占我國淡水產(chǎn)品的82.72%[2]。顯然,淡水養(yǎng)魚在水產(chǎn)養(yǎng)殖乃至國民經(jīng)濟(jì)中仍具有舉足輕重的地位。然而,隨著淡水養(yǎng)殖業(yè)的迅猛發(fā)展,傳統(tǒng)的養(yǎng)殖方式已無法滿足漁民日常養(yǎng)殖需求,尤其在面對(duì)規(guī)模化、精細(xì)化養(yǎng)殖場(chǎng)景時(shí),顯得捉襟見肘。以淡水魚養(yǎng)殖為例,為有效掌握魚苗養(yǎng)殖密度并合理投放飼料,漁民多采用人工計(jì)數(shù)和計(jì)算,這種粗放型養(yǎng)殖方式不僅耗時(shí)費(fèi)力,而且準(zhǔn)確率不高[3]。
在此背景下,如何利用信息技術(shù)實(shí)現(xiàn)高效、準(zhǔn)確的魚苗計(jì)數(shù),進(jìn)而助力漁場(chǎng)的科學(xué)管控與精準(zhǔn)投放,有效提升漁場(chǎng)管理能力和效率,已成為當(dāng)前智慧養(yǎng)殖行業(yè)的重點(diǎn)研究課題。近年來,隨著養(yǎng)殖行業(yè)的不斷發(fā)展,傳統(tǒng)漁業(yè)養(yǎng)殖與新興技術(shù)結(jié)合的模式不斷被探索并廣泛應(yīng)用,其中基于深度學(xué)習(xí)技術(shù)與養(yǎng)殖業(yè)的結(jié)合就是一個(gè)典型代表。2024 年,涂雪瀅等人利用ResNet34 模型實(shí)現(xiàn)了大菱鲆魚苗識(shí)別方法,并取得了較好的效果[4];周典卓等人則使用邊緣曲率對(duì)圖像進(jìn)行分割,從而實(shí)現(xiàn)高密度條件下的魚苗計(jì)數(shù)[5];黎袁富等人使用 YOLOX 實(shí)現(xiàn)了水箱中的魚苗識(shí)別和計(jì)數(shù)[6];楊昱皞等人采用視頻分析方式對(duì)魚苗進(jìn)行計(jì)數(shù),實(shí)現(xiàn)了魚苗數(shù)量的統(tǒng)計(jì)[7]。
本文基于 YOLOv5 算法,在自主采集和標(biāo)注的魚苗計(jì)數(shù)數(shù)據(jù)集上,構(gòu)建魚苗數(shù)量智能檢測(cè)模型,實(shí)現(xiàn)復(fù)雜場(chǎng)景下的魚苗數(shù)量統(tǒng)計(jì)。具體工作如下:1) 構(gòu)建復(fù)雜場(chǎng)景下的魚苗數(shù)量檢測(cè)數(shù)據(jù)集。2) 訓(xùn)練復(fù)雜場(chǎng)景下的魚苗數(shù)量智能檢測(cè)模型。3) 設(shè)計(jì)復(fù)雜場(chǎng)景下的魚苗智能檢測(cè)系統(tǒng)。
1 數(shù)據(jù)集與檢測(cè)模型
1.1 數(shù)據(jù)集
本次實(shí)驗(yàn)研究的目標(biāo)是識(shí)別并檢測(cè)不同場(chǎng)景下魚池中的魚苗數(shù)量,屬于目標(biāo)檢測(cè)類型任務(wù)。然而,與傳統(tǒng)目標(biāo)檢測(cè)任務(wù)不同的是,拍攝照片的光照強(qiáng)度、方向、魚池中魚苗密度分布情況和水質(zhì)等因素,均會(huì)影響該任務(wù)的準(zhǔn)確率。因此,為保障模型的識(shí)別效果、增強(qiáng)模型的魯棒性和準(zhǔn)確率,項(xiàng)目組通過自主采集的方式構(gòu)建了復(fù)雜場(chǎng)景下魚苗數(shù)量檢測(cè)數(shù)據(jù)集。
具體操作步驟如下:首先,項(xiàng)目組成員在不同場(chǎng)景下對(duì)不同魚池進(jìn)行了實(shí)景拍攝。在拍攝過程中,采用了不同型號(hào)的相機(jī),在不同角度、不同光照、不同水質(zhì)和不同時(shí)間的條件下進(jìn)行拍照,以保證采集數(shù)據(jù)的復(fù)雜性。通過上述方式,共采集到1 901張大小為2 560×1 440的魚苗數(shù)據(jù)圖片。其數(shù)據(jù)樣例圖如圖1所示。
其次,為了擴(kuò)大魚苗數(shù)量檢測(cè)數(shù)據(jù)集的規(guī)模,避免出現(xiàn)過擬合現(xiàn)象,項(xiàng)目組采用隨機(jī)翻轉(zhuǎn)、隨機(jī)亮度和對(duì)比度調(diào)整以及拉伸等多種方式組合實(shí)現(xiàn)圖片的擴(kuò)充,從而達(dá)到數(shù)據(jù)增強(qiáng)的目的。通過上述變換,魚苗數(shù)量檢測(cè)數(shù)據(jù)集的規(guī)模從初始的1 901張擴(kuò)展到目前的3 685張。
再者,使用目標(biāo)檢測(cè)任務(wù)中常用的開源數(shù)據(jù)標(biāo)注工具——labelme實(shí)現(xiàn)魚苗數(shù)據(jù)標(biāo)注。由于魚苗個(gè)體狹長(zhǎng)細(xì)小,且頭尾大小不一,項(xiàng)目組在實(shí)際數(shù)據(jù)標(biāo)注過程中僅框選魚苗個(gè)體的頭部,而不是整個(gè)魚苗,從而有效避免魚苗密度過大時(shí)多個(gè)魚苗個(gè)體交叉影響。其標(biāo)注示意圖如圖2所示。
最后,通過數(shù)據(jù)處理方式,按照YOLO數(shù)據(jù)集的構(gòu)建規(guī)范,完成了魚苗數(shù)量檢測(cè)數(shù)據(jù)集的構(gòu)建。由于自構(gòu)建的復(fù)雜場(chǎng)景下魚苗數(shù)量檢測(cè)數(shù)據(jù)集規(guī)模較小,為增加有效訓(xùn)練次數(shù),本數(shù)據(jù)集未設(shè)置驗(yàn)證集,并將訓(xùn)練集和測(cè)試集以8∶2的比例隨機(jī)生成。自主構(gòu)建的魚苗數(shù)量檢測(cè)數(shù)據(jù)集統(tǒng)計(jì)信息如表1所示。
1.2 檢測(cè)模型
盡管現(xiàn)階段存在多種針對(duì)魚苗數(shù)量識(shí)別檢測(cè)的方法,但在復(fù)雜場(chǎng)景下進(jìn)行魚苗數(shù)量檢測(cè)的準(zhǔn)確率和實(shí)用性仍不盡如人意。然而,YOLO系列算法在近期目標(biāo)檢測(cè)任務(wù)中表現(xiàn)異?;钴S,取得了令人矚目的成果,并廣泛應(yīng)用于各個(gè)領(lǐng)域[8]。尤其是YOLOv5,其體積小、速度快、精度高等優(yōu)勢(shì),使其備受廣大研究者的青睞。本次魚苗數(shù)量智能檢測(cè)本質(zhì)上是一種目標(biāo)檢測(cè)任務(wù),因此,YOLOv5成為研究魚苗數(shù)量檢測(cè)模型的首選。
本次實(shí)驗(yàn)基于已構(gòu)建的數(shù)據(jù)集和基礎(chǔ)YOLOv5算法,在Windows 11環(huán)境下進(jìn)行。實(shí)驗(yàn)設(shè)備的CPU為i5-13400F 2.50 GHz,RAM 為16GB,顯卡為NVIDIAGeForce RTX 3060 Ti,顯存為8G,使用的深度學(xué)習(xí)框架為PyTorch,版本為1.13.1,Python版本為3.7.12。結(jié)合魚苗數(shù)據(jù)檢測(cè)任務(wù)的實(shí)際情況,設(shè)置訓(xùn)練的超參數(shù)如下:訓(xùn)練的epochs為500,批次大小為16,圖片尺寸為640×640,學(xué)習(xí)率為0.01,優(yōu)化算法為SGD。
在本次實(shí)驗(yàn)中,為了準(zhǔn)確衡量和評(píng)估魚苗數(shù)量檢測(cè)模型的性能,項(xiàng)目組采用mAP(mean Average Preci?sion) 和F1值作為評(píng)價(jià)指標(biāo)。
其中,mAP是一種計(jì)算平均精確度的指標(biāo),通常應(yīng)用于多類別的模型檢測(cè)任務(wù)[9],其計(jì)算公式如式(1) :
其中,APi為第i 類的平均精確度,N 為類別總數(shù)。
另外,mAP 值除了描述平均精確度外,還可以描述多個(gè)閾值參數(shù)下的表現(xiàn)情況,即刻畫不同交并比下模型的性能。一般來說,模型檢測(cè)任務(wù)的交并比取值范圍為[0.5,0.95],因此,該值是本次實(shí)驗(yàn)的重要衡量標(biāo)準(zhǔn)。
而F1值則是精確率與召回率綜合考慮的評(píng)價(jià)指標(biāo)[10],其計(jì)算公式如式(2) :
式(3) 、式(4) 中的TP、FP、FN 分別表示真正例、假正例、假反例。
由式2可知,F(xiàn)1的取值范圍為[0,1],該值越大,表示效果越好。
訓(xùn)練的結(jié)果圖如圖3所示。
由圖3可見,模型在訓(xùn)練初期就快速提升了準(zhǔn)確率,并在50個(gè)批次左右達(dá)到穩(wěn)定狀態(tài)。經(jīng)過數(shù)據(jù)統(tǒng)計(jì)得知,訓(xùn)練在208次時(shí)觸發(fā)早停,且在epoch=69時(shí),得到了最佳結(jié)果。其各項(xiàng)指標(biāo)數(shù)據(jù)表現(xiàn)均具有較高水平,具體統(tǒng)計(jì)指標(biāo)如下:準(zhǔn)確率為94.25%,召回率為94.33%,F(xiàn)1值為94.17%,檢測(cè)的mAP@0.5為93.99%,mAP@0.5:0.9為40.22%。
復(fù)雜場(chǎng)景中魚苗數(shù)量智能檢測(cè)模型的檢測(cè)效果如圖4、圖5所示。從圖4可以看出,盡管魚苗密度分布不均勻,但模型仍能準(zhǔn)確而有效地識(shí)別魚苗頭部并進(jìn)行計(jì)數(shù),其識(shí)別的準(zhǔn)確性和置信度均處于較高水平。而對(duì)于有明顯反光場(chǎng)景的魚苗照片,如圖5所示,模型的識(shí)別仍然表現(xiàn)出較好的效果。
實(shí)驗(yàn)表明,經(jīng)過訓(xùn)練后的復(fù)雜場(chǎng)景魚苗數(shù)量智能檢測(cè)模型性能優(yōu)越,能夠有效解決無法科學(xué)管控、精準(zhǔn)投放的問題,對(duì)漁場(chǎng)管理效率的提高有極大幫助。模型的高準(zhǔn)確率及可靠性使其在實(shí)際應(yīng)用中具有較高的實(shí)用價(jià)值。
2 系統(tǒng)設(shè)計(jì)
為了進(jìn)一步推動(dòng)智能水產(chǎn)養(yǎng)殖領(lǐng)域的發(fā)展,項(xiàng)目組在實(shí)現(xiàn)復(fù)雜場(chǎng)景下魚苗數(shù)量智能檢測(cè)模型后,還對(duì)該模型的實(shí)際應(yīng)用進(jìn)行了深入探索。具體而言,項(xiàng)目組在訓(xùn)練模型的基礎(chǔ)上,結(jié)合J2EE相關(guān)技術(shù),設(shè)計(jì)了復(fù)雜場(chǎng)景魚苗數(shù)量智能檢測(cè)系統(tǒng)。該系統(tǒng)業(yè)務(wù)系統(tǒng)框架如圖5所示,主要包含魚苗計(jì)數(shù)模型、應(yīng)用系統(tǒng)、小程序拍照、識(shí)別結(jié)果四大模塊。
魚苗計(jì)數(shù)模型是本系統(tǒng)的核心模塊。通過YO?LOv5在自主構(gòu)建的復(fù)雜場(chǎng)景下魚苗數(shù)量檢測(cè)數(shù)據(jù)集上進(jìn)行訓(xùn)練,并通過TorchServe工具將模型發(fā)布成可供應(yīng)用的API服務(wù),為魚苗數(shù)量智能檢測(cè)系統(tǒng)提供基礎(chǔ)支撐。
應(yīng)用系統(tǒng)則采用JAVA語言,在Spring Boot和My?Batis框架的基礎(chǔ)上,完成用戶認(rèn)證、用戶管理、模型調(diào)用、歷史數(shù)據(jù)管理等業(yè)務(wù)流程操作,為魚苗數(shù)量智能檢測(cè)系統(tǒng)提供業(yè)務(wù)服務(wù)支撐。
小程序拍照上傳和識(shí)別結(jié)果模塊構(gòu)建于微信小程序之上,通過微信小程序進(jìn)行魚苗數(shù)量智能檢測(cè)的業(yè)務(wù)操作以及數(shù)據(jù)呈現(xiàn)界面,直接面向用戶。具體而言,用戶可直接進(jìn)入魚苗數(shù)量智能檢測(cè)微信小程序,通過系統(tǒng)拍照功能,隨時(shí)隨地拍攝魚池魚苗照片并上傳。后臺(tái)應(yīng)用系統(tǒng)在線調(diào)用魚苗數(shù)量檢測(cè)模型,并即時(shí)展示魚苗數(shù)量,幫助用戶實(shí)時(shí)、高效、準(zhǔn)確地掌握魚池魚苗數(shù)量情況。當(dāng)然,為了豐富應(yīng)用場(chǎng)景,降低由于光照強(qiáng)度、角度等環(huán)境因素的影響,系統(tǒng)在設(shè)計(jì)時(shí),還支持拍照自由切換攝像頭、自由開啟或關(guān)閉閃光燈等操作,從而彌補(bǔ)自然環(huán)境帶來的不足。另外,為了降低用戶操作難度,幫助用戶正確、準(zhǔn)確地使用魚苗數(shù)量智能檢測(cè)小程序,并提高魚苗數(shù)量智能檢測(cè)模型的性能,系統(tǒng)在對(duì)應(yīng)位置提供了魚苗數(shù)量檢測(cè)拍照技巧,以便減少魚苗數(shù)量智能檢測(cè)模型識(shí)別的錯(cuò)誤率,提升實(shí)際應(yīng)用效果。
為了增強(qiáng)系統(tǒng)的可用性以及豐富系統(tǒng)功能,系統(tǒng)還提供了微信用戶自動(dòng)注冊(cè)、信息自動(dòng)拉取、歷史識(shí)別記錄查閱等功能,便于自動(dòng)形成歷史數(shù)據(jù)臺(tái)賬,為漁民魚池的歷史數(shù)據(jù)分析提供支撐。
3 結(jié)束語
本文首先基于YOLOv5算法,在自建魚苗數(shù)量檢測(cè)數(shù)據(jù)集上構(gòu)建了復(fù)雜場(chǎng)景下魚苗數(shù)量智能檢測(cè)模型,實(shí)現(xiàn)了快速且準(zhǔn)確的魚苗數(shù)量檢測(cè)功能。其次,結(jié)合J2EE技術(shù),設(shè)計(jì)了復(fù)雜場(chǎng)景魚苗數(shù)量智能檢測(cè)系統(tǒng),實(shí)現(xiàn)了模型的應(yīng)用。實(shí)驗(yàn)和實(shí)踐表明,基于YOLOv5的復(fù)雜場(chǎng)景魚苗數(shù)量智能檢測(cè)技術(shù)不僅有效解決了傳統(tǒng)漁場(chǎng)無法快速、準(zhǔn)確識(shí)別魚苗數(shù)量的問題,還為漁場(chǎng)的精細(xì)化管理提供了有力支撐,對(duì)后續(xù)智慧水產(chǎn)的發(fā)展具有重要意義。
參考文獻(xiàn):
[1] 陳倩,羅紅,趙永鋒.發(fā)展生態(tài)養(yǎng)殖 促進(jìn)大水面漁業(yè)可持續(xù)發(fā)展[J].科學(xué)養(yǎng)魚,2022(1):20-23.
[2] 中華人民共和國國家統(tǒng)計(jì)局.中國統(tǒng)計(jì)年鑒[M].北京:中國統(tǒng)計(jì)出版社, 2022.
[3] 劉康.基于深度學(xué)習(xí)的魚苗自動(dòng)計(jì)數(shù)方法的研究與實(shí)現(xiàn)[D].馬鞍山:安徽工業(yè)大學(xué),2021.
[4] 涂雪瀅,錢程,劉世晶,等.基于ResNet34模型的大菱鲆魚苗識(shí)別計(jì)數(shù)方法[J].漁業(yè)現(xiàn)代化,2024,51(1):90-97.
[5] 周典卓,譚鶴群,朱明,等.采用邊緣曲率進(jìn)行圖像分割的高密度魚苗計(jì)數(shù)方法[J].農(nóng)業(yè)工程學(xué)報(bào),2023,39(21):258-268.
[6] 黎袁富,杜家豪,莫家浩,等.基于YOLOX的魚苗檢測(cè)與計(jì)數(shù)[J].電子元器件與信息技術(shù),2022,6(5):192-194.
[7] 楊昱皞,王書獻(xiàn),孫永文,等.基于視頻分析技術(shù)的魚苗計(jì)數(shù)裝置設(shè)計(jì)與試驗(yàn)[J].農(nóng)業(yè)技術(shù)與裝備,2021(7):21-24.
[8] 張言利.基于YOLOv5的人臉檢測(cè)及關(guān)鍵點(diǎn)定位的研究和實(shí)現(xiàn)[J].現(xiàn)代信息科技,2023,7(23):69-72.
[9] 馬宏興,董凱兵,王英菲,等.基于改進(jìn)YOLO v5s的輕量化植物識(shí)別模型研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2023,54(8):267-276.
[10] 徐鳳如,張昆明,張武,等.一種基于改進(jìn)YOLOv4算法的茶樹芽葉采摘點(diǎn)識(shí)別及定位方法[J].復(fù)旦學(xué)報(bào)(自然科學(xué)版),2022,61(4):460-471.
【通聯(lián)編輯:唐一東】