韋思學(xué),于 紅,張 鵬,李海清,高浩天,張 鑫,胡澤元,吳俊峰,孟 娟
(1 大連海洋大學(xué)信息工程學(xué)院,遼寧 大連 116023;2 遼寧省海洋信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,遼寧 大連 116023;3 設(shè)施漁業(yè)教育部重點(diǎn)試驗(yàn)室(大連海洋大學(xué)),遼寧 大連 116023)
養(yǎng)殖魚群目標(biāo)檢測(cè)對(duì)指導(dǎo)養(yǎng)殖生產(chǎn)、輔助養(yǎng)殖決策十分重要[1-3]。傳統(tǒng)養(yǎng)殖魚群檢測(cè)基于人工,費(fèi)時(shí)費(fèi)力且會(huì)對(duì)魚體造成損傷,不利于魚類養(yǎng)殖[4-5]。目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法成為主流[6-7],可以實(shí)現(xiàn)養(yǎng)殖魚的無接觸檢測(cè)[8],解決人工檢測(cè)的不足。YOLO算法[9]使用預(yù)定義候選框,通過回歸產(chǎn)生物體類別概率和位置坐標(biāo)[10],步驟精簡(jiǎn),計(jì)算量較小,檢測(cè)速度快,在水下目標(biāo)檢測(cè)中有廣泛研究[11]。
李沖沖[12]基于YOLOv3[13]進(jìn)行水下魚類目標(biāo)檢測(cè),在實(shí)驗(yàn)室環(huán)境下檢測(cè)精度較高,但面對(duì)養(yǎng)殖環(huán)境中模糊,氣泡遮擋問題時(shí),無法有效提取魚類特征信息,檢測(cè)精度不高。為解決該問題,Fan等[14]通過增加模型復(fù)雜度,提高特征利用率,提升檢測(cè)精度。但導(dǎo)致模型計(jì)算量增加,檢測(cè)速度下降;Chen等[15]通過改進(jìn)特征融合網(wǎng)絡(luò),在不降低模型速度的條件下提高檢測(cè)精度,但未解決魚類特征提取困難問題;趙夢(mèng)等[16]通過SKNet注意力機(jī)制加強(qiáng)YOLO對(duì)魚類特征提取能力,提升檢測(cè)效果。但Wang等[17]研究表明,SKNet注意力機(jī)制[18]降維捕捉所有通道交互的方法使不相關(guān)通道進(jìn)行交互,讓通道之間的依賴變得低效,使模型變得復(fù)雜,增加計(jì)算量,導(dǎo)致模型效率降低。Wang等[19]使用非降維通道注意力機(jī)制ECA-Net,解決了降維對(duì)注意力機(jī)制的影響。但SKNet與ECA-Net只考慮通道注意力,沒有考慮特征圖任意兩個(gè)位置的空間依賴關(guān)系,對(duì)特征權(quán)重分配考慮不全面。Fan等[20]使用結(jié)合通道與空間注意力機(jī)制的雙重注意力機(jī)制CBAM[21]及YOLOv5,有效解決單一注意力機(jī)制特征權(quán)重分配考慮不全面的問題,但CBAM同樣使用降維捕捉通道信息,通道之間的依賴低效且計(jì)算量較高。
綜上可知,通用YOLO模型在真實(shí)養(yǎng)殖環(huán)境中出現(xiàn)模糊、氣泡遮擋現(xiàn)象時(shí),YOLO骨干網(wǎng)絡(luò)無法有效提取魚類特征信息,導(dǎo)致養(yǎng)殖魚檢測(cè)精度較低。通過注意力機(jī)制可以提高YOLO骨干網(wǎng)絡(luò)性能,但現(xiàn)有注意力機(jī)制存在不足。
本研究提出了基于通道非降維注意力機(jī)制ECBAM與改進(jìn)YOLOv5[22]的養(yǎng)殖魚群檢測(cè)模型ESB-YOLO,通過通道非降維雙重注意力機(jī)制ECBAM提升YOLOv5骨干網(wǎng)絡(luò)對(duì)魚類特征提取能力;通過加權(quán)雙向特征金字塔BiFPN[23],提升YOLOv5特征融合網(wǎng)絡(luò)特征融合能力。以上改進(jìn)提升YOLOv5在真實(shí)養(yǎng)殖環(huán)境下養(yǎng)殖魚檢測(cè)的準(zhǔn)確率、召回率與平均精度的性能指標(biāo)。
本研究數(shù)據(jù)集采集于大連天正實(shí)業(yè)有限公司的大黑石紅鰭東方鲀養(yǎng)殖車間,共計(jì)2 000張分辨率為1 920×1 080的養(yǎng)殖環(huán)境下的紅鰭東方鲀魚群圖像。數(shù)據(jù)集圖像如圖1所示,其中包含不同時(shí)間段、不同光照條件以及不同魚群密度下采集養(yǎng)殖紅鰭東方鲀魚群圖像,反映了養(yǎng)殖環(huán)境下紅鰭東方鲀魚群生活狀態(tài)。
圖1 養(yǎng)殖魚數(shù)據(jù)集圖像示例Fig.1 Sample images of the farmed fish dataset
1.2.1 ESB-YOLO框架設(shè)計(jì)
由于真實(shí)養(yǎng)殖環(huán)境中的魚群是處于運(yùn)動(dòng)狀態(tài)的,對(duì)養(yǎng)殖魚群的目標(biāo)檢測(cè)模型必須具有較高的實(shí)時(shí)性與精準(zhǔn)性,YOLOv5具有速度快、精度高等特點(diǎn),可以滿足養(yǎng)殖魚群檢測(cè)要求[24]。
ESB-YOLO基于YOLOv5,其模型結(jié)構(gòu)如圖2所示。ESB-YOLO可分為輸入端、骨干網(wǎng)絡(luò)、特征融合網(wǎng)絡(luò)以及輸出端4部分,其中輸入端進(jìn)行Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算與自適應(yīng)圖片縮放等預(yù)處理工作;骨干網(wǎng)絡(luò)進(jìn)行特征提取工作;特征融合網(wǎng)絡(luò)將骨干網(wǎng)絡(luò)提取的低層與高層特征進(jìn)行融合,得到具有高細(xì)節(jié)、高語義、具有定位信息的特征;輸出端根據(jù)融合的特征進(jìn)行預(yù)測(cè),使用nms非極大值抑制篩選候選框,得到最終預(yù)測(cè)結(jié)果。為解決YOLOv5骨干網(wǎng)絡(luò)在養(yǎng)殖環(huán)境中存在模糊、氣泡遮擋現(xiàn)象時(shí)難以提取養(yǎng)殖魚特征,導(dǎo)致養(yǎng)殖魚檢測(cè)出現(xiàn)精確率低問題,ESB-YOLO骨干網(wǎng)絡(luò)在原有Focus、C3模塊的基礎(chǔ)上,通過加入ECBAM注意力機(jī)制,提升對(duì)養(yǎng)殖魚群特征提取能力;通過SPPF替換SPP模塊減少模型計(jì)算量,提高模型速度;通過將YOLOv5特征融合網(wǎng)絡(luò)中PANet[25]更換為BiFPN,減少養(yǎng)殖魚群特征信息丟失,加強(qiáng)多尺度特征融合能力,提升檢測(cè)效果。
注:Focus是對(duì)輸入進(jìn)行橫縱向切片再拼接的模塊;C3是對(duì)殘差特征進(jìn)行學(xué)習(xí)的模塊;SPPF是快速空間金字塔池化; Sigmoid是激活函數(shù)用于為模型加入非線性因素,增強(qiáng)模型表達(dá)能力;Expand是維度擴(kuò)展函數(shù),用于將單個(gè)維度擴(kuò)大成更大維度;BiFPN是加權(quán)雙向特征金字塔網(wǎng)絡(luò)圖2 ESB-YOLO結(jié)構(gòu)圖Fig.2 ESB-YOLO structure diagram
1.2.2 骨干網(wǎng)絡(luò)改進(jìn)
輸入端的預(yù)處理工作提高樣本豐富度、增加模型對(duì)輸入圖像適應(yīng)性、豐富骨干網(wǎng)絡(luò)特征提取類型,但這些工作無法解決骨干網(wǎng)絡(luò)無法有效提取模糊、氣泡遮擋的養(yǎng)殖魚特征問題。為解決該問題,本研究使用通道非降維雙重注意力機(jī)制ECBAM(ECA-CBAM),通過注意力機(jī)制根據(jù)重要程度賦予不同權(quán)重的方法[26]提升YOLOv5骨干網(wǎng)絡(luò)特征提取能力。ECBAM通過通道與空間注意力子模塊獲取重點(diǎn)檢測(cè)目標(biāo)內(nèi)容與位置信息,使輸出信息更聚焦于養(yǎng)殖魚重點(diǎn)特征信息,抑制一般特征的干擾;使用卷積核大小為k的一維卷積實(shí)現(xiàn)通道信息聚合(其中k表示局部跨通道交互的范圍)的方式解決降維對(duì)通道注意力的負(fù)面影響。ECBAM提高YOLOv5骨干網(wǎng)絡(luò)對(duì)模糊、氣泡遮擋的養(yǎng)殖魚特征提取能力,從而提高對(duì)養(yǎng)殖魚檢測(cè)的準(zhǔn)確率。ECBAM結(jié)構(gòu)如圖3所示。
注:Sigmoid是激活函數(shù),用于為模型加入非線性因數(shù),增強(qiáng)模型表達(dá)能力;Expand是維度擴(kuò)展函數(shù),用于將單個(gè)維度擴(kuò)大成更大維度圖3 通道非降維ECBAM結(jié)構(gòu)圖Fig.3 The structure diagram of non-channel-downscaling ECBAM
加入ECBAM的骨干網(wǎng)絡(luò)提升了對(duì)養(yǎng)殖魚的特征提取能力,也增加了模型計(jì)算量,使模型檢測(cè)時(shí)間增加,但在養(yǎng)殖環(huán)境中魚群處于運(yùn)動(dòng)狀態(tài),對(duì)模型檢測(cè)速度有所要求。為解決加入ECBAM后模型檢測(cè)時(shí)間增加的問題,使用SPPF快速空間金字塔池化模塊替換SPP空間金字塔池化[27]模塊。SPPF通過3個(gè)池化核為5的最大池化替代SPP池化核為5、9、13的3個(gè)最大池化,SPPF與SPP池化尺寸等價(jià),但運(yùn)算量由SPP的52+92+132=275降低為3×52=75,降低了骨干網(wǎng)絡(luò)計(jì)算量,實(shí)現(xiàn)模型輕量化[28],提高模型速度。
1.2.3 特征融合網(wǎng)絡(luò)改進(jìn)
加入ECBAM的骨干網(wǎng)絡(luò)提升了對(duì)養(yǎng)殖魚的特征提取能力,提取特征增多,對(duì)特征融合網(wǎng)絡(luò)也有更高要求。將特征融合網(wǎng)絡(luò)中PANet替換為BiFPN,BiFPN通過刪除沒有參與特征融合的節(jié)點(diǎn),簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu);增加額外的通路,使特征融合輸入增多,融合更多的特性;通過加權(quán)特征融合的機(jī)制,減少有用特征的丟失,提升特征融合能力。使得特征融合網(wǎng)絡(luò)更加高效,兩者網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比如圖4所示。
圖4 PANet與BiFPN網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比圖Fig.4 Comparison of PANet and BiFPN network structure
1.3.1 試驗(yàn)平臺(tái)與模型訓(xùn)練參數(shù)
本研究所有試驗(yàn)基于CPU為i7-11700k,GPU為RTX3090的Windows10電腦。使用預(yù)訓(xùn)練后的YOLOv5x作為baseline,batch_size為4,迭代次數(shù)為300。
1.3.2 評(píng)估指標(biāo)
本研究所提模型評(píng)估采用準(zhǔn)確率、召回率、平均精度作為模型性能評(píng)價(jià)指標(biāo)。
準(zhǔn)確率(Precison,P)反映的是被正確預(yù)測(cè)為養(yǎng)殖魚樣本數(shù)占所有被預(yù)測(cè)為養(yǎng)殖魚樣本總數(shù)的比值,可以視作是模型找出正確目標(biāo)能力,其計(jì)算公式為:
(1)
召回率(Recall,R)反映的是被正確預(yù)測(cè)為養(yǎng)殖魚樣本數(shù)與實(shí)際為養(yǎng)殖魚樣本總數(shù)的比值,可以視作是模型在數(shù)據(jù)集中,檢測(cè)出目標(biāo)的能力,其計(jì)算公式為:
(2)
平均精度(Average Precison,AAP)是對(duì)PR曲線的積分,反映的是模型在所有類別上的檢測(cè)能力的好壞,其計(jì)算公式為:
(3)
式中:TTP(True positives)為預(yù)測(cè)出養(yǎng)殖魚的樣本數(shù);FFP(False positives)為被錯(cuò)誤預(yù)測(cè)為養(yǎng)殖魚的樣本數(shù);FFN(False negatives)為沒有被預(yù)測(cè)出的養(yǎng)殖魚樣本數(shù)。
為驗(yàn)證本研究對(duì)YOLOv5改進(jìn)的有效性,設(shè)計(jì)消融試驗(yàn)內(nèi)容如下:依次為YOLOv5模型加入ECBAM注意力機(jī)制、SPPF與BiFPN模塊,訓(xùn)練模型進(jìn)行對(duì)比試驗(yàn),對(duì)比模型均使用同一數(shù)據(jù)集,進(jìn)行相同輪次模型訓(xùn)練與模型測(cè)試,為探究SPPF與BiFPN對(duì)模型檢測(cè)速度的影響,本試驗(yàn)額外增加模型檢測(cè)速度評(píng)價(jià)指標(biāo),結(jié)果如表1所示。由表1數(shù)據(jù)分析可知,ECBAM、SPPF與BiFPN模塊都對(duì)YOLOv5模型性能有所提升,說明所提模塊的有效性。但由于ECBAM中包含通道與空間兩個(gè)注意力模塊,計(jì)算量較大,導(dǎo)致模型檢測(cè)速度的增加。SPPF與BiFPN都有模型輕量化的思想,二者通過替換高效計(jì)算方式,減少了模型計(jì)算量,提高了模型檢測(cè)速度。故通過結(jié)合ECBAM、SPPF與BiFPN三個(gè)模塊對(duì)YOLOv5模型進(jìn)行改進(jìn),實(shí)現(xiàn)模型性能提升的同時(shí),保持檢測(cè)速度,試驗(yàn)表明結(jié)合所提3個(gè)模塊改進(jìn)YOLOv5可更好滿足養(yǎng)殖魚群檢測(cè)需求。
表1 通道非降維ECBAM模塊與改進(jìn)YOLOv5對(duì)模型性能的影響Tab.1 Impact of non-channel-downscaling ECBAM module and improved YOLOv5 on model performance
為驗(yàn)證ESB-YOLO在本領(lǐng)域有效性,與先進(jìn)水下目標(biāo)檢測(cè)模型進(jìn)行對(duì)比試驗(yàn)。對(duì)比模型分別是:Fan等[14]通過增加模型網(wǎng)絡(luò)復(fù)雜度方法,提出的水下模糊小型目標(biāo)檢測(cè)模型FERNet;Chen等[15]通過改進(jìn)特征融合網(wǎng)絡(luò),提出的水下小型目標(biāo)的檢測(cè)模型SWIPENet;趙夢(mèng)等[16]通過結(jié)合UNet與SKNet注意力機(jī)制,提出的養(yǎng)殖魚群的檢測(cè)模型SK-YOLOv5。參與對(duì)比試驗(yàn)的模型均使用統(tǒng)一數(shù)據(jù)集,訓(xùn)練相同輪次。根據(jù)試驗(yàn)結(jié)果分析可得,本研究所提模型取得良好成績(jī),結(jié)果如表2所示。FERNet、SWIPENet與SK-YOLOv5都是為了解決水下目標(biāo)模糊、氣泡遮擋導(dǎo)致目標(biāo)檢測(cè)模型特征提取困難,檢測(cè)效果不佳的問題。FERNet增加模型網(wǎng)絡(luò)復(fù)雜度與SWIPENet改進(jìn)特征融合網(wǎng)絡(luò)的方法,都是通過提高已有特征利用率以提升模型性能,本質(zhì)上沒有解決目標(biāo)檢測(cè)模型特征提取困難的問題。
表2 不同模型與ESB-YOLO的性能對(duì)比Tab.2 Performance comparison between different models and ESB-YOLO
SK-YOLOv5通過SKNet注意力機(jī)制解決了養(yǎng)殖魚群特征提取困難的問題,但SKNet權(quán)重分配考慮不全面。ESB-YOLO的非降維雙重注意力機(jī)制權(quán)重分配更為合理的同時(shí)改進(jìn)特征融合網(wǎng)絡(luò),使得提取特征融合更為高效合理,故ESB-YOLO模型性能優(yōu)于SK-YOLOv5。綜上所述,ESB-YOLO與參與對(duì)比的模型相比更適合養(yǎng)殖魚群的檢測(cè)任務(wù)。
對(duì)比魚病檢測(cè)[29]、自然環(huán)境魚群識(shí)別[30]等常見魚類檢測(cè)任務(wù),本研究檢測(cè)難度在于養(yǎng)殖環(huán)境中模糊、氣泡遮擋等現(xiàn)象使得目標(biāo)特征難以提取。為解決上述問題,本研究通過ECBAM、SPPF與BiFPN三個(gè)模塊提升YOLOv5在養(yǎng)殖環(huán)境在對(duì)魚群的檢測(cè)能力,由圖5可見,ESB-YOLO對(duì)比YOLOv5對(duì)模糊、氣泡遮擋區(qū)域養(yǎng)殖魚檢測(cè)效果更好,說明改進(jìn)的YOLOv5解決養(yǎng)殖環(huán)境中模糊、氣泡遮擋導(dǎo)致的目標(biāo)特征難提取問題的有效性。然而本研究也有不足之處,圖5中被大量氣泡遮擋的養(yǎng)殖魚目標(biāo)仍然無法有效識(shí)別,同時(shí)養(yǎng)殖環(huán)境中影響檢測(cè)的因素不止模糊、氣泡遮擋。
圖5 YOLOv5與ESB-YOLO識(shí)別結(jié)果對(duì)比圖Fig.5 Comparison of recognition results between YOLOv5 and ESB-YOLO
由圖6可見,ESB-YOLO無法有效檢測(cè)養(yǎng)殖環(huán)境中處于反光區(qū)域的目標(biāo)。原因是反光完全遮擋魚群目標(biāo)特征,模型無法提取足夠特征進(jìn)行學(xué)習(xí),如何識(shí)別反光區(qū)域的養(yǎng)殖魚目標(biāo)是未來有待研究解決的問題。
圖6 YOLOv5與ESB-YOLO反光區(qū)域識(shí)別結(jié)果對(duì)比圖Fig.6 Comparison of recognition results of reflective areas between YOLOv5 and ESB-YOLO
本研究提出基于通道非降維雙重注意力機(jī)制與改進(jìn)YOLOv5的養(yǎng)殖魚群目標(biāo)檢測(cè)模型ESB-YOLO,通過ECBAM提高骨干網(wǎng)絡(luò)特征提取能力,BiFPN提高特征融合網(wǎng)絡(luò)效率,SPPF模塊減少模型檢測(cè)時(shí)間,提高了YOLOv5模型檢測(cè)能力,可為研究養(yǎng)殖魚群目標(biāo)檢測(cè)提供技術(shù)支持。本研究?jī)H對(duì)模糊與氣泡遮擋的檢測(cè)有所改善,對(duì)養(yǎng)殖環(huán)境中其他影響魚群目標(biāo)檢測(cè)的問題,仍需進(jìn)一步研究改進(jìn)。