摘要:針對(duì)智慧水產(chǎn)養(yǎng)殖中海參自動(dòng)采捕和高效計(jì)量應(yīng)用需求,提出一種基于YOLOv4的水下海參檢測(cè)與計(jì)數(shù)算法。該算法利用暗通道先驗(yàn)算法對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,增強(qiáng)圖像數(shù)據(jù)的可檢測(cè)性;采用遷移學(xué)習(xí)方法訓(xùn)練YOLOv4網(wǎng)絡(luò),并用Swish函數(shù)替換骨干網(wǎng)絡(luò)中的激活函數(shù),提升自建數(shù)據(jù)集的海參檢測(cè)性能;提出基于相近幀目標(biāo)質(zhì)心定位偏移的降重計(jì)數(shù)方法,優(yōu)化目標(biāo)計(jì)數(shù)結(jié)果。試驗(yàn)結(jié)果表明:該檢測(cè)算法識(shí)別水下海參目標(biāo)的平均檢測(cè)精度的平均值mAP達(dá)91.0%,分別比原始YOLOv4、YOLOv3、Faster R-CNN和SDD高4.5%、6.9%、5.0%、29.9%;降重計(jì)數(shù)算法獲得海參數(shù)量與人工計(jì)數(shù)結(jié)果間的均方根誤差RMSE為29.8、平均計(jì)數(shù)精度ACP為95.8%、決定系數(shù)R2為0.998。
關(guān)鍵詞:海參;暗通道先驗(yàn);YOLOv4;遷移學(xué)習(xí);降重計(jì)數(shù)
中圖分類號(hào):TP391.4; S979" " " 文獻(xiàn)標(biāo)識(shí)碼:A" " " 文章編號(hào):2095?5553 (2024) 09?0258?07
Recognition and counting algorithm of underwater sea cucumbers based on
YOLOv4 network
Song Xiaolu Feng Juan Liang Xiangyu Zhou Xixing
(1. College of Information Science and Technology, Hebei Agricultural University, Baoding, 071001, China;
2. Hebei Key Laboratory of Agricultural Big Data, Baoding, 071001, China;
3. College of Mechanical and Electrical Engineering, Hebei Agricultural University, Baoding, 071001, China)
Abstract: In order to meet the requirements of automatic harvesting and high?efficiency measurement of sea cucumbers in intelligent aquaculture, a recognition and counting algorithm of underwater sea cucumbers based on YOLOv4 is proposed in this paper. The algorithm preprocesses the data set by using dark channel prior defogging algorithm to enhance the detectability of image data, YOLOv4 Network is trained with the transfer learning method, and Swish function is used to replace the activation function in the backbone network to improve the detection performance of the self?built data set,a method based on the target centroid positioning offsets of adjacent frames is proposed to optimize target counting result. The experimental results show that the mAP of sea cucumber targets recognized by the algorithm of this paper reaches 91.0%, which is 4.5%、6.9%、5.0% and 29.9% higher than that recognized by original YOLOv4, YOLOv3, Faster R-CNN, and SDD, respectively. The RMSE between the number of sea cucumbers obtained by reducing repeated counts and the manual counting result is 29.8. The average counting precision (ACP) is 95.8% and the coefficient of determination (R2) is 0.998.
Keywords: sea cucumber; dark channel prior; YOLOv4; transfer learning; reducing repeated counts
0 引言
海參的蛋白質(zhì)含量較高,具有補(bǔ)益養(yǎng)生的功效。隨著經(jīng)濟(jì)發(fā)展和生活水平提高,人們對(duì)海參的需求量逐年增加,海參養(yǎng)殖業(yè)迅速發(fā)展[1?3]。目前,海參的捕撈主要依靠人工,這種捕撈方式安全系數(shù)低,且需要比較高的捕撈成本,嚴(yán)重阻礙了海參養(yǎng)殖業(yè)的發(fā)展。因此,采用水下捕撈裝置代替捕撈員下水捕撈海參是未來(lái)智慧水產(chǎn)養(yǎng)殖業(yè)的主要發(fā)展趨勢(shì)。準(zhǔn)確識(shí)別海參目標(biāo)是實(shí)現(xiàn)自動(dòng)捕撈裝置的關(guān)鍵前提;其次,為使海參養(yǎng)殖戶可以動(dòng)態(tài)地了解海參的生長(zhǎng)情況、掌握海參的產(chǎn)量,需要對(duì)海參個(gè)體進(jìn)行精確計(jì)數(shù)。
海參目標(biāo)識(shí)別主要基于兩種方法:傳統(tǒng)的機(jī)器學(xué)習(xí)和新近發(fā)展的深度學(xué)習(xí)。近年來(lái),國(guó)內(nèi)外學(xué)者基于傳統(tǒng)的機(jī)器學(xué)習(xí)針對(duì)海參目標(biāo)檢測(cè)做了大量研究。Christensen等[4]提出了一個(gè)魚(yú)類檢測(cè)網(wǎng)絡(luò),試驗(yàn)表明:該網(wǎng)絡(luò)模型可以正確檢測(cè)和分類能見(jiàn)度低、運(yùn)動(dòng)模糊的水下圖像中的魚(yú)類。Cui等[5]使用改進(jìn)的Sobel算子和形態(tài)學(xué)處理得到了海參的二值圖像,經(jīng)過(guò)多次膨脹、腐蝕處理結(jié)合小目標(biāo)移除算法處理,鎖定海參目標(biāo)。由于水下環(huán)境的復(fù)雜性,傳統(tǒng)的水下目標(biāo)檢測(cè)算法只能適用于特定的環(huán)境,泛化能力較差。深度學(xué)習(xí)的發(fā)展為海參目標(biāo)識(shí)別帶來(lái)了新的方向。Huang等[6]使用了透視變換等多種數(shù)據(jù)增強(qiáng)方式擴(kuò)充海生物的數(shù)據(jù)集,使Faster R-CNN的海生物的檢測(cè)網(wǎng)絡(luò)模型精度提升,魯棒性提高。趙德安等[7]使用優(yōu)化后的Retinex增強(qiáng)算法處理數(shù)據(jù)集,使用YOLOv3模型訓(xùn)練數(shù)據(jù),識(shí)別準(zhǔn)確率達(dá)到了96.65%。Zhao等[8]使用一種基于復(fù)合骨干網(wǎng)絡(luò)的魚(yú)類檢測(cè)網(wǎng)絡(luò)模型,通過(guò)Cascade R-CNN對(duì)模型進(jìn)行識(shí)別和定位,效果較好。然而,復(fù)雜的水下環(huán)境和較差的訓(xùn)練樣本質(zhì)量限制了檢測(cè)的精度。本文將水下圖像預(yù)處理算法與深度學(xué)習(xí)模型相結(jié)合,以此來(lái)提高檢測(cè)海參的精度。
通過(guò)查閱國(guó)內(nèi)外相關(guān)文獻(xiàn),未見(jiàn)利用水下視頻實(shí)時(shí)計(jì)數(shù)海參的研究報(bào)道,其他領(lǐng)域的計(jì)數(shù)研究也僅限于對(duì)單個(gè)圖像的目標(biāo)統(tǒng)計(jì)。Tan等[9]提出了一種對(duì)雜交水稻中粘附谷粒進(jìn)行精確分割和計(jì)數(shù)的算法,與人工計(jì)數(shù)結(jié)果相比,平均準(zhǔn)確率為94.63%。Cen等[10]使用Fast R-CNN深度學(xué)習(xí)模型構(gòu)建了一個(gè)芒果圖像識(shí)別算法,用于識(shí)別和計(jì)數(shù)單張圖像和一個(gè)果園區(qū)域的所有圖像中的芒果,計(jì)數(shù)識(shí)別精度達(dá)到82.3%。Deng等[11]利用Faster R-CNN模型結(jié)合特征金字塔網(wǎng)絡(luò)建立了谷物檢測(cè)計(jì)數(shù)模型,與人工計(jì)數(shù)相比較,該模型的計(jì)數(shù)準(zhǔn)確率達(dá)到了99.4%。深度學(xué)習(xí)將檢測(cè)出的錨點(diǎn)框個(gè)數(shù)作為檢測(cè)圖像中的目標(biāo)數(shù)量,但視頻中的目標(biāo)計(jì)數(shù)比單幅圖像的目標(biāo)計(jì)數(shù)更為復(fù)雜,其檢測(cè)和計(jì)數(shù)過(guò)程是逐幀完成,會(huì)存在同一個(gè)目標(biāo)被重復(fù)計(jì)數(shù)的問(wèn)題,故需要設(shè)計(jì)一種有效降重方法以優(yōu)化計(jì)數(shù)結(jié)果。
綜上所述,本文提出一種基于YOLOv4的水下海參檢測(cè)與計(jì)數(shù)算法。采用暗通道先驗(yàn)算法對(duì)質(zhì)量較差的水下海參數(shù)據(jù)集進(jìn)行預(yù)處理,利用遷移學(xué)習(xí)對(duì)YOLOv4網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并將YOLOv4骨干網(wǎng)絡(luò)中的激活函數(shù)改為Swish函數(shù);針對(duì)視頻目標(biāo)計(jì)數(shù)重復(fù)的問(wèn)題,提出基于相近幀目標(biāo)質(zhì)心定位偏移的降重計(jì)數(shù)法。其將為自動(dòng)捕撈設(shè)備實(shí)現(xiàn)海參水下識(shí)別并為進(jìn)一步的捕撈打下良好的基礎(chǔ),也為其他海洋生物例如貝殼、海膽等的自動(dòng)識(shí)別和計(jì)數(shù)提供借鑒。
1 材料與方法
1.1 海參數(shù)據(jù)集
1.1.1 海參數(shù)據(jù)集的采集
本文的海參視頻取自河北省秦皇島市的海參養(yǎng)殖場(chǎng)。該養(yǎng)殖場(chǎng)水深約2 m,水質(zhì)較清澈,可看到池底除海參外,還有泥沙、巖石及水草。視頻采集系統(tǒng)是由水下攝像機(jī)(SW01)、自主巡航無(wú)人船(D001)、人工智能平臺(tái)(Jetson AGX Xavier,Nvida)組成。水下攝影機(jī)鏡頭在距離水面1.5 m左右的深度,對(duì)準(zhǔn)池底進(jìn)行拍攝,采集裝置以0.05 m/s的運(yùn)行速度在水面持續(xù)移動(dòng)。通過(guò)網(wǎng)線連接路由器將采集的海參視頻數(shù)據(jù)傳輸并保存在同一局域網(wǎng)中的人工智能平臺(tái)上??紤]到海參的運(yùn)動(dòng)行為一般難以肉眼感知[12],可認(rèn)為視頻中幾乎不出現(xiàn)同一海參因?yàn)檫\(yùn)動(dòng)被重復(fù)采集的情況。
1.1.2 海參數(shù)據(jù)集的構(gòu)建與標(biāo)注
利用Python程序從視頻中截取圖像數(shù)據(jù)集,通過(guò)手工篩選出含有海參的圖像2 730幅。深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練需要大量的數(shù)據(jù),而采集的原始數(shù)據(jù)較少,需要對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)處理。為了提高模型的泛化能力,避免過(guò)擬合問(wèn)題,本文通過(guò)圖像旋轉(zhuǎn)、鏡像和隨機(jī)裁剪等數(shù)據(jù)增強(qiáng)方式擴(kuò)充自建水下海參數(shù)據(jù)集。圖像旋轉(zhuǎn)是將海參圖像以圖像的中心點(diǎn)為中心旋轉(zhuǎn)一定的角度,本文的圖像旋轉(zhuǎn)角度設(shè)置為90°和180°;鏡像是將海參圖像以X中軸線或Y中軸線為中心線進(jìn)行轉(zhuǎn)換,本文采用水平鏡像和垂直鏡像;隨機(jī)裁剪是隨機(jī)從海參圖像中選擇區(qū)域,將選中的這部分區(qū)域進(jìn)行裁剪,本文裁剪的結(jié)果是含有海參目標(biāo)的區(qū)域。采用上述數(shù)據(jù)增強(qiáng)方法,水下海參圖像數(shù)量從2 730幅增加到10 920幅。部分?jǐn)?shù)據(jù)集如圖1所示,池底背景較為復(fù)雜。
采用LabelImg (Windows版本,python3.7)軟件對(duì)海參數(shù)據(jù)集中的海參進(jìn)行標(biāo)注,賦予標(biāo)注類名sc,并生成相應(yīng)的標(biāo)簽文件。標(biāo)記后,將圖像數(shù)據(jù)集按7∶3比例隨機(jī)分為訓(xùn)練集和驗(yàn)證集。
1.1.3 基于暗通道先驗(yàn)算法的水下海參圖像預(yù)處理
光線在空氣和水中的傳播相似,但因?yàn)榻橘|(zhì)的不同,水下成像環(huán)境與空氣中相比較會(huì)更加復(fù)雜。水介質(zhì)對(duì)藍(lán)綠色光的吸收能力要比對(duì)其他顏色光的吸收能力弱一些,因此會(huì)導(dǎo)致水下拍攝的圖像呈現(xiàn)藍(lán)綠色[13];并且海水中還會(huì)有漂浮生物和懸浮顆粒等,會(huì)干擾和阻礙光線在水介質(zhì)中的傳輸路徑,會(huì)使光線在傳播中的能量消耗更大,發(fā)生散射,影響水下圖像的成像品質(zhì),造成圖像模糊并且含有噪聲[14]。
水下圖像預(yù)處理是水下目標(biāo)檢測(cè)過(guò)程中的關(guān)鍵環(huán)節(jié),能有效地改善水下圖像的質(zhì)量,恢復(fù)有用的信息,增強(qiáng)數(shù)據(jù)的可檢測(cè)性,進(jìn)而提高深度學(xué)習(xí)目標(biāo)檢測(cè)算法的檢測(cè)精度。本文采用基于暗通道圖像先驗(yàn)算法[15]復(fù)原水下海參圖像。先驗(yàn)知識(shí)是指在清晰,無(wú)霧且沒(méi)有噪聲的原始圖像中的局部區(qū)域,在R、G、B顏色通道中至少一個(gè)通道的像素值很低或接近于0,所以稱為暗通道。暗通道圖是這些數(shù)字偏低的顏色通道按照特定的方式組合起來(lái)形成的灰度圖,經(jīng)過(guò)最小值濾波后得到。
水下成像模型如式(1)所示。
透光率是一個(gè)常數(shù),假設(shè)為t(x),圖像有的區(qū)域霧氣濃度大,但正如真實(shí)的水下環(huán)境中也會(huì)有微小的顆粒,對(duì)于圖像來(lái)說(shuō),霧的存在不但會(huì)增強(qiáng)其真實(shí)性,也會(huì)增強(qiáng)對(duì)圖片景深的感知度,因此對(duì)這些區(qū)域中的霧氣不做完全的消除處理。引入?yún)?shù)ω,得到式(5)。
1.2 水下海參檢測(cè)與計(jì)數(shù)算法
1.2.1 YOLOv4網(wǎng)絡(luò)模型
YOLOv4[16, 17]網(wǎng)絡(luò)是由CSPDarknet53、SPP、PANet、YOLO Head模塊4部分組成,是在YOLOv3的基礎(chǔ)上在數(shù)據(jù)增強(qiáng)、損失函數(shù)、主干網(wǎng)絡(luò)等方面進(jìn)行了改進(jìn)和優(yōu)化,實(shí)現(xiàn)了更高的精度和更快的檢測(cè)速度,對(duì)小目標(biāo)和遮擋目標(biāo)的檢測(cè)有著顯著提高。YOLOv4的檢測(cè)速度和檢測(cè)精度都有比較好的性能,可以滿足水下海參的目標(biāo)檢測(cè)需要。但自建的水下海參數(shù)據(jù)集規(guī)模較小,傳統(tǒng)訓(xùn)練方法無(wú)法對(duì)網(wǎng)絡(luò)進(jìn)行有效的模型訓(xùn)練,得到泛化性能較高的檢測(cè)模型,需對(duì)YOLOv4網(wǎng)絡(luò)的訓(xùn)練方式及結(jié)構(gòu)進(jìn)行相應(yīng)調(diào)整。
1.2.2 遷移學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)
訓(xùn)練深度學(xué)習(xí)模型往往需要比較大的數(shù)據(jù)集,才能獲得較好的效果。因此數(shù)據(jù)集質(zhì)量的優(yōu)劣和數(shù)量的多少,是判斷一個(gè)深度學(xué)習(xí)檢測(cè)模型性能優(yōu)劣的一個(gè)關(guān)鍵因素。但當(dāng)數(shù)據(jù)集較少、且標(biāo)注需要大量的人工,消耗大量時(shí)間時(shí),需要研究在數(shù)據(jù)集較少的情況下如何訓(xùn)練出一個(gè)優(yōu)質(zhì)模型的訓(xùn)練方法。其中一種方案就是遷移學(xué)習(xí)[18],其原理是將現(xiàn)有的知識(shí)和技能從任務(wù)A遷移到任務(wù)B,可以解決不同但又有相關(guān)性的任務(wù),也能提升任務(wù)B的性能。使用較大數(shù)據(jù)集訓(xùn)練YOLOv4網(wǎng)絡(luò)模型的參數(shù)可以和使用水下海參數(shù)據(jù)集訓(xùn)練的模型參數(shù)進(jìn)行共享,故本文在原始YOLOv4的基礎(chǔ)上引入基于參數(shù)的遷移學(xué)習(xí)方法。首先使用公開(kāi)的VOC數(shù)據(jù)集作為數(shù)據(jù)集訓(xùn)練YOLOv4網(wǎng)絡(luò),使其可以學(xué)習(xí)到訓(xùn)練圖片的底層特征信息;將檢測(cè)效果較好且去掉全連接分類層的YOLOv4網(wǎng)絡(luò)結(jié)構(gòu),作為水下海參檢測(cè)網(wǎng)絡(luò)的特征提取器,進(jìn)行預(yù)訓(xùn)練;然后凍結(jié)主干網(wǎng)絡(luò)部分,微調(diào)其余未被凍結(jié)的網(wǎng)絡(luò)部分,將梯度進(jìn)行更新;最后將凍結(jié)部分放開(kāi),YOLOv4網(wǎng)絡(luò)模型進(jìn)行新的訓(xùn)練,學(xué)習(xí)到新的參數(shù)。
1.2.3 激活函數(shù)的選擇
在神經(jīng)網(wǎng)絡(luò)中,一個(gè)神經(jīng)元是否被激活,取決于激活函數(shù)。因此,激活函數(shù)的選擇在模型訓(xùn)練中起著至關(guān)重要的作用,會(huì)影響模型的目標(biāo)檢測(cè)的結(jié)果。原始的YOLOv4網(wǎng)絡(luò)使用的是Mish激活函數(shù)[19],數(shù)學(xué)表達(dá)式如式(6)所示,可以獲得比較好的預(yù)測(cè)效果,但訓(xùn)練時(shí)間較長(zhǎng),記憶代價(jià)較大。Swish激活函數(shù),如式(7)所示,具有非單調(diào)性的特點(diǎn),不僅可以解決神經(jīng)網(wǎng)絡(luò)模型輸出的均值偏移的問(wèn)題,還可以使用網(wǎng)絡(luò)訓(xùn)練尋找最優(yōu)解。Brain等學(xué)者在多個(gè)神經(jīng)網(wǎng)絡(luò)上,對(duì)多個(gè)數(shù)據(jù)集進(jìn)行訓(xùn)練,結(jié)果表明:Swish激活函數(shù)可獲得優(yōu)于Mish激活函數(shù)的分類性能[20]。并且Swish激活函數(shù)在中小型數(shù)據(jù)集[21]上具有較大的性能優(yōu)勢(shì)。與公共數(shù)據(jù)集相比,海參圖像數(shù)據(jù)集較小,因此選擇Swish激活函數(shù)代替原來(lái)的Mish激活函數(shù)。
1.2.4 基于相近幀目標(biāo)質(zhì)心定位偏移的降重計(jì)數(shù)方法
通過(guò)YOLOv4網(wǎng)絡(luò)模型,可實(shí)現(xiàn)對(duì)海參圖像目標(biāo)的識(shí)別與計(jì)數(shù),但在視頻識(shí)別計(jì)數(shù)過(guò)程中,由于相鄰幀中的同一海參位置基本不變,直接計(jì)數(shù)法會(huì)將這些不同幀的同一海參目標(biāo)識(shí)別為不同海參目標(biāo),導(dǎo)致重復(fù)計(jì)數(shù)。為了避免以上情況的出現(xiàn),本文提出了一種基于相近幀目標(biāo)質(zhì)心定位偏移的降重計(jì)數(shù)方法?;舅枷耄侯愃朴趩螐垐D片的目標(biāo)檢測(cè),結(jié)合攝像頭一個(gè)方向運(yùn)動(dòng)來(lái)實(shí)現(xiàn)。該方法的流程如圖3所示。
基本過(guò)程:使用K-means生成的預(yù)選框,然后通過(guò)非極大值抑制得到識(shí)別框,計(jì)數(shù)過(guò)程會(huì)記錄每一幀的海參目標(biāo)質(zhì)心坐標(biāo),使用式(8)和式(9)對(duì)上一幀中海參目標(biāo)的質(zhì)心坐標(biāo)與當(dāng)前幀的識(shí)別框位置依次進(jìn)行對(duì)比,如果有出現(xiàn)在識(shí)別框里,則視為同一個(gè)海參目標(biāo),更新記錄中的質(zhì)心坐標(biāo)為當(dāng)前的海參目標(biāo)質(zhì)心坐標(biāo),并且海參總數(shù)不會(huì)增加;沒(méi)有出現(xiàn),則認(rèn)為是新的海參目標(biāo),將海參目標(biāo)質(zhì)心坐標(biāo)放到記錄中,海參總數(shù)加一。在記錄中刪除當(dāng)前幀中未出現(xiàn)上一幀中的海參目標(biāo)質(zhì)心坐標(biāo),默認(rèn)該海參已經(jīng)計(jì)數(shù)并不會(huì)再出現(xiàn),釋放內(nèi)存。
2 結(jié)果與分析
2.1 評(píng)價(jià)指標(biāo)的確定
精確率P、召回率R、準(zhǔn)確率Acc和mAP(mean Average Precision)是水下海參目標(biāo)檢測(cè)試驗(yàn)中的主要評(píng)價(jià)指標(biāo)。精確率指正確預(yù)測(cè)為海參目標(biāo)的占全部預(yù)測(cè)為海參目標(biāo)的比例;召回率是正確預(yù)測(cè)為海參目標(biāo)的占全部實(shí)際為海參目標(biāo)的比例;準(zhǔn)確率指所有正確檢測(cè)為海參目標(biāo)占全部海參樣本的比例;AP(Average Precision)是平均檢測(cè)精度,mAP是AP的平均值,是判斷一個(gè)目標(biāo)檢測(cè)網(wǎng)絡(luò)模型性能優(yōu)劣的重要指標(biāo)。精確率、召回率、準(zhǔn)確率、AP、mAP計(jì)算如式(10)~式(14)所示。
2.2 訓(xùn)練策略對(duì)YOLOv4網(wǎng)絡(luò)性能的影響
本文使用相同的水下海參數(shù)據(jù)集,采用多種訓(xùn)練策略,相同的參數(shù)依次對(duì)YOLOv4網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,然后驗(yàn)證不同訓(xùn)練策略對(duì)水下海參目標(biāo)檢測(cè)性能指標(biāo)的影響。試驗(yàn)結(jié)果如表1所示。其中,策略A表示引入遷移學(xué)習(xí);策略B表示將模型骨干網(wǎng)絡(luò)激活函數(shù)修改為Swish函數(shù);策略C表示使用通過(guò)暗通道先驗(yàn)算法處理后的數(shù)據(jù)訓(xùn)練YOLOv4網(wǎng)絡(luò)。
從表1可以看出,直接使用水下海參數(shù)據(jù)集進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí),模型缺乏泛化能力。使用海參測(cè)試集進(jìn)行測(cè)試時(shí),精確率和召回率較低。使用策略A,基于參數(shù)的遷移學(xué)習(xí),由于充分訓(xùn)練了卷積神經(jīng)網(wǎng)絡(luò)部分的卷積核,使模型可以提取到更多的特征。在使用海參測(cè)試集測(cè)試時(shí),顯著提高了準(zhǔn)確性。使用策略B,Swish激活函數(shù)可以防止在訓(xùn)練期間梯度接近零時(shí)出現(xiàn)過(guò)飽和情況,并且函數(shù)的平滑度在優(yōu)化模型和提高泛化能力中起了重要作用。使用海參測(cè)試集進(jìn)行測(cè)試時(shí),mAP較更換前提高0.8%。使用策略C提高了水下海參的圖像質(zhì)量,抑制了無(wú)用的信息,使模型可以提取到更多、更有價(jià)值的水下海參圖像信息。通過(guò)使用海參測(cè)試集進(jìn)行測(cè)試,顯著提高了測(cè)試結(jié)果的召回率。使用策略A+B后,得到了比單獨(dú)使用任意一種策略都要高的精確率和召回率。使用A+B+C策略訓(xùn)練YOLOv4時(shí),精確率為82.6%,召回率為93.1%,mAP為91.0%,分別比未使用任何策略的原始YOLOv4模型的檢測(cè)將結(jié)果提高了4.8%、7.7%和4.5%。因此本文最終采用策略A+策略B+策略C的YOLOv4網(wǎng)絡(luò)模型作為本研究模型,對(duì)水下海參進(jìn)行目標(biāo)檢測(cè)。
為了將模型檢測(cè)性能可視化顯示,使用表1中的原始YOLOv4模型和本文模型對(duì)不同水下海參圖片進(jìn)行檢測(cè),試驗(yàn)結(jié)果如圖4所示。由圖4可知,原始YOLOv4模型會(huì)出現(xiàn)一定的漏檢情況,在圖4(b)中使用藍(lán)色的標(biāo)志框?qū)⒙z的結(jié)果展示出來(lái),并且檢測(cè)出海參目標(biāo)的置信度也較低;使用綜合策略A+策略B+策略C后的YOLOv4模型,較好的解決了原始模型漏檢的問(wèn)題,并且檢測(cè)出的海參目標(biāo)的置信度與原始模型相比較有很大提高。因此,綜合使用策略A+策略B+策略C的海參目標(biāo)檢測(cè)模型可以增強(qiáng)檢測(cè)目標(biāo)的置信度,并且具有較好的檢測(cè)效果和較強(qiáng)的檢測(cè)能力,滿足了實(shí)際場(chǎng)景中對(duì)海參檢測(cè)精度的要求。
2.3 不同模型性能指標(biāo)的比較
為了驗(yàn)證綜合改進(jìn)后的YOLOv4模型在復(fù)雜水下環(huán)境下對(duì)海參的檢測(cè)優(yōu)于其他目標(biāo)檢測(cè)方法。將本文模型與原始YOLOv4,YOLOv3、Faster R-CNN和SDD進(jìn)行比較。
試驗(yàn)中訓(xùn)練所用的數(shù)據(jù)集和參數(shù)均為統(tǒng)一的,也采用了相同的測(cè)試集對(duì)模型進(jìn)行評(píng)價(jià)。評(píng)價(jià)結(jié)果如表2所示,本文模型的mAP值為91.0%,分別比原始YOLOv4、YOLOv3、Faster R-CNN和SDD高4.5%、6.9%、5.0%、29.9%;召回率為93.1%,分別比原始YOLOv4、YOLOv3、Faster R-CNN和SDD高7.7%、9.6%、11.8%、30.3%;精確率為82.6%,分別比原始YOLOv4、YOLOv3、Faster R-CNN和SDD高4.8%、2.4%、2.4%、18.3%;準(zhǔn)確率為92.1%,分別比原始YOLOv4、YOLOv3、Faster R-CNN和SDD高6.2%、8.3%、8.4%、29.4%。結(jié)果表明:本文模型是對(duì)自建水下海參數(shù)據(jù)集的最優(yōu)檢測(cè)模型。
2.4 海參視頻計(jì)數(shù)試驗(yàn)結(jié)果
基于YOLOv4結(jié)合相近幀目標(biāo)質(zhì)心定位偏移的降重計(jì)數(shù)方法包括水下海參目標(biāo)檢測(cè)和視頻目標(biāo)計(jì)數(shù)兩部分。使用采用綜合策略后的YOLOv4算法對(duì)真實(shí)水下環(huán)境視頻中的海參進(jìn)行識(shí)別,并利用所提出的計(jì)數(shù)方法對(duì)識(shí)別出的海參進(jìn)行降重計(jì)數(shù)。采集的水下海參視頻共覆蓋養(yǎng)殖池中約600 m2的面積。共分為6個(gè)視頻。圖6顯示序號(hào)1視頻內(nèi)相鄰三幀的計(jì)數(shù)情況,每幅圖像左上角為計(jì)數(shù)結(jié)果。
原始的計(jì)數(shù)方法由于按照視頻幀識(shí)別計(jì)數(shù)海參目標(biāo),導(dǎo)致同一個(gè)海參被重復(fù)計(jì)數(shù),當(dāng)視頻中僅有2只海參時(shí),計(jì)數(shù)顯示為149,誤差過(guò)大。使用了本文提出的降重計(jì)數(shù)法,海參重復(fù)計(jì)數(shù)的問(wèn)題被有效解決,計(jì)數(shù)結(jié)果更接近真實(shí)的水下海參數(shù)量。
表3對(duì)比了視頻中海參數(shù)量的實(shí)際值與使用算法后的計(jì)數(shù)值。實(shí)際值是由來(lái)自海參養(yǎng)殖場(chǎng)的研究人員對(duì)采集視頻中的可見(jiàn)海參分別進(jìn)行計(jì)數(shù),并將計(jì)數(shù)結(jié)果取平均值得到的。實(shí)際值與使用本文算法的計(jì)數(shù)值間的均方根誤差RMSE為29.8,決定系數(shù)R2為0.998,兩者之間存在顯著的相關(guān)性。根據(jù)式(15)可計(jì)算得到平均計(jì)數(shù)精度ACP為95.8%。
從表3可以看出,算法計(jì)數(shù)結(jié)果普遍比實(shí)際值要多些,考慮是由于采集水下海參視頻時(shí)速度過(guò)快,造成中間幀較模糊,其中的海參未被正確檢測(cè),單個(gè)海參目標(biāo)被誤檢為多個(gè)。
3 結(jié)論
1) 針對(duì)原始YOLOv4檢測(cè)網(wǎng)絡(luò)泛化能力差,海參樣本數(shù)據(jù)集少的問(wèn)題,采用遷移學(xué)習(xí)的方法訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),以提升網(wǎng)絡(luò)在不同養(yǎng)殖環(huán)境下海參檢測(cè)的泛化能力。試驗(yàn)結(jié)果表明,經(jīng)過(guò)遷移學(xué)習(xí)的YOLOv4網(wǎng)絡(luò)mAP達(dá)到89.6%,較未使用遷移學(xué)習(xí)的網(wǎng)絡(luò)提升3.1%。
2) 針對(duì)自建數(shù)據(jù)集較小的問(wèn)題,將YOLOv4骨干網(wǎng)絡(luò)中的Mish激活函數(shù)替換為在中小規(guī)模數(shù)據(jù)集上性能表現(xiàn)有較大優(yōu)勢(shì)的Swish激活函數(shù)。試驗(yàn)結(jié)果表明,替換激活函數(shù)之后的網(wǎng)絡(luò)相較之前的網(wǎng)絡(luò)mAP提升0.8%,表明激活函數(shù)的替換可以提高目標(biāo)檢測(cè)的效果。
3) 針對(duì)水下環(huán)境復(fù)雜,圖像中海參與背景相近的問(wèn)題,利用暗通道先驗(yàn)去霧算法對(duì)數(shù)據(jù)集進(jìn)行圖像增強(qiáng)處理,圖像增強(qiáng)后的模型mAP為88.6%,較未進(jìn)行圖像增強(qiáng)的模型提升2.1%,表明在復(fù)雜水下場(chǎng)景的小樣本數(shù)據(jù)集中,使用的暗通道先驗(yàn)去霧算法可以提高深度學(xué)習(xí)模型的檢測(cè)效果。經(jīng)綜合改進(jìn)后的模型mAP達(dá)到91%,比原始YOLOv4、YOLOv3、Faster R-CNN和SDD高4.5%、6.9%、5.0%、29.9%。
4) 針對(duì)視頻目標(biāo)計(jì)數(shù)出現(xiàn)重復(fù)的問(wèn)題,提出基于相近幀目標(biāo)質(zhì)心定位偏移的降重計(jì)數(shù)法,優(yōu)化目標(biāo)計(jì)數(shù)。本文方法得到的海參數(shù)量與人工計(jì)數(shù)結(jié)果之間的RMSE為29.8,決定系數(shù)R2為0.998,海參計(jì)數(shù)的ACP為95.8%,算法計(jì)數(shù)結(jié)果更接近實(shí)際的海參數(shù)量。
下一步考慮采集不同環(huán)境下的海參圖像擴(kuò)充數(shù)據(jù)集,以提高模型的檢測(cè)精度和魯棒性;考慮引入路徑規(guī)劃算法跟蹤、計(jì)數(shù)海參,用相似度匹配近鄰幀,共享信息降低多幀冗余性;通過(guò)對(duì)海參目標(biāo)的大小進(jìn)行分類,實(shí)現(xiàn)海參生物量的統(tǒng)計(jì),向海參養(yǎng)殖戶提供更精確的養(yǎng)殖數(shù)據(jù),使養(yǎng)殖戶可以動(dòng)態(tài)監(jiān)測(cè)海參的生長(zhǎng)情況,實(shí)時(shí)掌握海參養(yǎng)殖信息。
參 考 文 獻(xiàn)
[ 1 ] Fang Y C, Zhang H, Chen X. Resources and biological characteristics of sea cucumber [J]. Beijing Aquatic Products, 2017, 2(5): 25-27.
[ 2 ] 胡榮炊, 蔡珠金, 周宸, 等. 福建海參產(chǎn)業(yè)發(fā)展形勢(shì)分析[J]. 中國(guó)水產(chǎn), 2019, 5(1): 57-59.
Hu Rongcui, Cai Zhujin, Zhou Chen, et al. Analysis on sea cucumber industry development situation of Fujian Province [J]. China Fisheries, 2019, 5(1): 57-59.
[ 3 ] Lu K, Liu H, Bao L. Prediction and development of sea cucumber production in Shandong Province during the 13th five years plan [J]. Ocean Development and Management, 2018, 7(1): 94-100.
[ 4 ] Christensen J, Mogensen L, Galeazzi R, et al. Detection, localization and classification of fish and fish species in poor conditions using convolutional neural networks [J]. Autonomous Underwater Vehicle Workshop, 2018, 3(2): 1-6.
[ 5 ] Cui S, Duan Z, Li G, et al. Research on sea cucumber image recognition based on Sobel improved operator [J]. Computer Knowledge and Technology: Academic Exchange, 2018, 14(22): 145-146.
[ 6 ] Huang Y, Zhou H, Yang X, et al. Faster R-CNN for marine organisms detection and recognition using data augmentation [J]. Neurocomputing, 2019, 337(3): 372-384.
[ 7 ] 趙德安, 劉曉洋, 孫月平, 等. 基于機(jī)器視覺(jué)的水下河蟹識(shí)別方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2019, 50(3): 151-158.
Zhao De'an, Liu Xiaoyang, Sun Yueping, et al. Detection of underwater crabs based on machine vision [J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(3): 151-158.
[ 8 ] Zhao Z, Liu Y, Sun X, et al. Composited FishNet: Fish detection and species recognition from low?quality underwater videos [J]. IEEE Signal Processing Society, 2021, 5(30): 4719-4734.
[ 9 ] Tan S, Ma X, Mai Z, Mai Z, et al. Segmentation and counting algorithm for touching hybrid rice grains [J]. Computers and Electronics in Agriculture, 2019, 162(46): 493-504.
[10] Cen G, Hua J, Pan Y, et al. Research on online recognition and counting method for mango images with deep learning [J]. Journal of Tropical Crops, 2020, 41(3): 425-432.
[11] Deng R, Tao M, Huang X, et al. Automated counting grains on the rice panicle based on deep learning method [J]. Sensors, 2021, 21(1): 281-289.
[12] Qiao X, Bao J, Zhang H, et al. An automatic active contour method for sea cucumber segmentation in natural underwater environments [J]. Computers and Electronics in Agriculture, 2017, 135(3): 134-142.
[13] 趙凱. 基于深度學(xué)習(xí)的海參檢測(cè)算法設(shè)計(jì)及系統(tǒng)實(shí)現(xiàn)[D]. 秦皇島: 燕山大學(xué), 2020.
Zhao Kai. The algorithm design and system implement of sea cucumber detection based on deep leaning [D]. Qinhuangdao: Yanshan University, 2020.
[14] 禹志鵬, 龍杜輝, 劉康. 基于色彩模型的水下海參圖像增強(qiáng)方法研究[J]. 農(nóng)業(yè)裝備與車(chē)輛工程, 2022, 60(1): 111-115.
Yu Zhipeng, Long Duhui, Liu Kang. Research on underwater sea cucumber image enhancement method based on color model [J]. Agricultural Equipment amp; Vehicle Engineering, 2022, 60(1): 111-115.
[15] He K, Sun J, Tang X. Single image haze removal using dark channel prior [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 33(12): 2341-2353.
[16] Rui S, Fang G, Zhong X, et al. Improved multi?classes kiwifruit detection in orchard to avoid collisions during robotic picking [J]. Computers and Electronics in Agriculture, 2021, 182(1): 46-52.
[17] Lin T Y. Feature pyramid networks for object detection [J]. Journal of Visual Communication and Image Representation, 2021, 79(10): 936-944.
[18] 李新葉, 龍慎鵬, 朱婧. 基于深度神經(jīng)網(wǎng)絡(luò)的少樣本學(xué)習(xí)綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2020, 37(8): 2241-2247.
Li Xinye, Long Shenpeng, Zhu Jing. Survey of few?shot learning based on deep neural network [J]. Application Research of Computers, 2020, 37(8): 2241-2247.
[19] Misra D. Mish: A self regularized non?monotonic activation function [J]. Statistics, 2019, 14(54): 60-67.
[20] Le V Q, Ramachandran P, Zoph B. Swish: A Self?Gated activation function [J]. Lecture Notes in Computer Science, 2021, 126(9): 237-244.
[21] Rupshali D, Yuvraj S, Sarita N, et al. Performance comparison of benchmark activation function ReLU, Swish and Mish for facial mask detection using convolutional neural network [J]. Intelligent Systems, 2021, 23(10).
中國(guó)農(nóng)機(jī)化學(xué)報(bào)2024年9期