魏養(yǎng)養(yǎng),李本銀*,曹孟新
(1.安徽工程大學(xué) 電氣工程學(xué)院,安徽 蕪湖 241000;2.安徽工程大學(xué) 安徽省電氣傳動與控制重點實驗室,安徽 蕪湖 241000;3.安徽工程大學(xué) 高端裝備先進(jìn)感知與智能控制教育部重點實驗室,安徽 蕪湖 241000)
現(xiàn)階段卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)已廣泛使用在目標(biāo)檢測、跟蹤等任務(wù)中[1-5],并且取得了不錯的效果。目前卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測算法有單階段檢測和兩階段檢測這兩種。單階段的檢測算法檢測精度較低,但是在實時性上有保障;如SSD[6]、Yolo[7]、Yolov2[8]、Yolov3[9]、Yolov4[10]等。兩階段的算法與之相反,其檢測時計算量大導(dǎo)致實時性低,但檢測精度較高;如Mask R-CNN[11]、R-CNN[12]、Fast R-CNN[13]、Faster R-CNN[14]等。這些算法在陸地目標(biāo)檢測任務(wù)中都已經(jīng)得到使用,并且還在更新迭代地發(fā)展, 將這些算法遷移到水下環(huán)境中,對推動水下目標(biāo)探測技術(shù)的發(fā)展具有重要意義[15]。
現(xiàn)下水下目標(biāo)檢測領(lǐng)域中卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用的研究已經(jīng)有了不少成果,如:對于有效樣本小、信號與噪聲比(Signal-to-Noise Ratios, SNR)低的聲納數(shù)據(jù)集,Kong等[16]提出了改進(jìn)的YOLOv3算法用于實時檢測,稱為YOLOv3-DPFIN,以實現(xiàn)以最短時間消耗的噪聲密集型多類別聲納目標(biāo)的精確檢測。Zeng等[17]提出在標(biāo)準(zhǔn)的Faster R-CNN檢測算法中加入對抗性遮擋網(wǎng)絡(luò)(AON)的方法來應(yīng)對水下環(huán)境復(fù)雜多變,可獲取的樣本圖像有限的問題,可以有效防止檢測網(wǎng)絡(luò)過擬合生成的固定特征。李寶奇等[18]針對輕量化目標(biāo)模型SSD-MV2對水下光學(xué)圖像感興趣目標(biāo)檢測精度低的問題,提出了一種通道可選擇的輕量化特征提取模塊(Selective and Efficient Block, SEB)和一種卷積核可變形、通道可選擇的特征提取模塊(Selective and Deformable Block, SDB)。
雖然水下目標(biāo)檢測技術(shù)發(fā)展得如火如荼,但仍然存在一些重要的問題:①海洋空間尺度大,而水下目標(biāo)通常很小,導(dǎo)致待檢測目標(biāo)的特征信息丟失;②水下圖像多由專業(yè)的水下圖像采集設(shè)備采集,有人為不可控因素導(dǎo)致的光線變化、泥沙影響等,也會導(dǎo)致待檢測目標(biāo)的特征信息丟失;③水下目標(biāo)檢測算法模型最終要部署于嵌入式設(shè)備進(jìn)行商業(yè)、農(nóng)業(yè)或軍工業(yè)的使用,對穩(wěn)定性和實時性要求高。本文針對上述問題通過實驗驗證提出了一種嵌入卷積塊注意力機(jī)制的YOLOv5s-SPP3算法,結(jié)合注意力機(jī)制和金字塔池化層對水下圖像重要特征信息關(guān)注并將局部特征信息和全局特征信息融合,有效地改善了特征信息丟失導(dǎo)致誤檢漏檢的情況,并在算法中將傳統(tǒng)的非極大值抑制用中心距離非極大值抑制替換掉,優(yōu)化對重疊目標(biāo)的檢測進(jìn)而提高算法模型的檢測精度。
YOLOv5有小型、中型、大型、超大型4種網(wǎng)絡(luò)模型,本文改進(jìn)的是小型網(wǎng)絡(luò)模型(YOLOv5s)。該網(wǎng)絡(luò)是由3大塊組成:骨干網(wǎng)絡(luò)(Backbone-net)、頸部網(wǎng)絡(luò)(Neck-net)和頭部輸出網(wǎng)絡(luò)(Head-net)。YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)圖
與YOLOv4目標(biāo)檢測網(wǎng)絡(luò)相比較,YOLOv5s算法在YOLOv4的“CSPDarknet+PAN-SPP+YOLO-Head”算法結(jié)構(gòu)上,融合了近幾年人工智能領(lǐng)域內(nèi)一些深度神經(jīng)網(wǎng)絡(luò)中優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu)、算法模型思想和訓(xùn)練技巧[19]。由于網(wǎng)絡(luò)優(yōu)化中的梯度信息重復(fù)會導(dǎo)致大多神經(jīng)網(wǎng)絡(luò)推理過程中計算量增大,而CSPNet可以降低計算量和內(nèi)存成本,提高卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力以及準(zhǔn)確性。因此,在Backbone-net上,YOLOv5延用了YOLOv4中融合CSPNet的思想,形成C3結(jié)構(gòu)。并且YOLOv5在Backbone的前面加了Focus切片結(jié)構(gòu),對圖像進(jìn)行切片操作,從而得到?jīng)]有信息丟失的二倍采樣特征圖。頸部網(wǎng)絡(luò)和輸出端檢測頭部延用了YOLOv4的SPP+FPN 和YOLO-Head結(jié)構(gòu),如表1所示,最終形成“Focus+C3+PAN-SPP+YOLO-Head”的模型結(jié)構(gòu)。
表1 不同網(wǎng)絡(luò)模型結(jié)構(gòu)的對比
注意力機(jī)制[20]是通過神經(jīng)網(wǎng)絡(luò)生成掩碼,掩碼中的值代表不同位置的注意權(quán)重。通過權(quán)重的不同,選擇性地過濾不重要的特征信息,從而達(dá)到對重要特征信息的保留提取。本文采用的卷積塊注意力機(jī)制[21](Convolution Block Attention Mechanism,CBAM)屬于混合注意力機(jī)制,其結(jié)構(gòu)如圖2所示。
圖2 CBAM模塊結(jié)構(gòu)圖
混合注意力機(jī)制融合了通道和空間兩種注意力機(jī)制,使神經(jīng)網(wǎng)絡(luò)對特征圖重要信息的目標(biāo)區(qū)域更加注意,抑制不相關(guān)信息,提高目標(biāo)檢測的整體準(zhǔn)確率。結(jié)構(gòu)分別如圖3、4所示。
圖3 通道注意力機(jī)制的模塊結(jié)構(gòu)圖
圖4 空間注意力機(jī)制的模塊結(jié)構(gòu)圖
CBAM的數(shù)學(xué)推導(dǎo)公式為
(1)
F′=MC(F)?F,
(2)
(3)
F″=MS(F′)?F′,
(4)
本文對CBAM模塊在YOLOv5s網(wǎng)絡(luò)的不同位置不同數(shù)量進(jìn)行嵌入設(shè)計來研究其性能的變化。由于CBAM模塊是增強(qiáng)通道和空間特征信息的,所以將它分別嵌入到Y(jié)OLOv5s算法中特征融合區(qū)域(即網(wǎng)絡(luò)Neck區(qū)域)前面或后面,由此產(chǎn)生6種基于YOLOv5s算法的新模型結(jié)構(gòu):YOLOv5s-Backbone-CBAM(①)、YOLOv5s-Backbone-CBAM(①+②)、YOLOv5s-Backbone-CBAM(①+②+③)、YOLOv5s-Head-CBAM(①)、YOLOv5s-Head-CBAM(①+②)、YOLOv5s-Head-CBAM(①+②+③),Head和Backbone的修改區(qū)域圖如圖5、6所示。圖5中,①②③分別表示添加CBAM模塊的修改位置,“? ”表示嵌入CBAM模塊前后的轉(zhuǎn)換符。
空間金字塔池化(Spatial Pyramid Pooling,SPP)是由He等[23]為了有效避免對圖像區(qū)域剪裁、縮放操作導(dǎo)致的圖像失真等問題和卷積神經(jīng)網(wǎng)絡(luò)對圖像重復(fù)特征提取的問題而提出的池化策略。使用SPP模塊早在YOLOv3-SPP算法中就出現(xiàn)了,在該算法中,SPP 模塊有4個并行分支,分別是一個跳躍連接和3個卷積核大小分別為 5×5、9×9、13×13的最大池化。He等[25]在檢測頭部分加入SPP模塊實現(xiàn)了YOLOv3-SPP,將特征圖經(jīng)過SPP 模塊池化后的新的特征圖重新融合起來傳入后層網(wǎng)絡(luò),但目的不是為了解決上述問題,而是為了將局部特征和全局特征進(jìn)行融合,因此在該模塊中待池化的特征圖的大小要等于或逼近最大池化核的大小。特征圖經(jīng)過SPP模塊的特征融合處理后,輸出的特征圖有了更好的表達(dá)能力,對于處理待檢測目標(biāo)中目標(biāo)大小差異較大的情況會有很大改善,應(yīng)用于處理復(fù)雜的多目標(biāo)檢測任務(wù)時更甚,使其在檢測的精度上有很大的提升。因此YOLOv4模型在骨干網(wǎng)絡(luò)后也加入了SPP模塊,而YPLOv5s也沿用了這種結(jié)構(gòu)設(shè)計,模塊結(jié)構(gòu)如圖7所示。由圖7可見,輸入先通過1×1×256的卷積層,再分別經(jīng)過大小和深度為5×5×1、9×9×1、13×13×1的3個最大池化層,最后將得到的3個池化后的特征圖與池化前的特征圖進(jìn)行通道拼接。此時得到的特征圖在尺寸上不發(fā)生變化而輸出的通道數(shù)變?yōu)樵瓉淼?倍。
圖5 Head嵌入CBAM模塊的修改區(qū)域
圖6 Backbone嵌入CBAM模塊的修改區(qū)域
在YOLOv5s原網(wǎng)絡(luò)結(jié)構(gòu)中SPP模塊位于Backbone的20×20的特征圖后面,經(jīng)過SPP模塊后直接送入檢測頭預(yù)測結(jié)果。本文在每個檢測頭前面(即Neck部分)的上采樣之后添加了SPP模塊,以增強(qiáng)特征信息的表達(dá)能力,達(dá)到更好的檢測效果,本文將加入SPP模塊的YOLOv5s網(wǎng)絡(luò)稱為YOLOv5s-SPP3。網(wǎng)絡(luò)結(jié)構(gòu)修改圖如圖8所示。
圖7 SPP模塊結(jié)構(gòu)圖
圖8 YOLOv5s-SPP3網(wǎng)絡(luò)結(jié)構(gòu)修改圖
將所有的檢測框都計算一個交并比(Intersection over Union,IoU)的值,然后通過預(yù)設(shè)的NMS的閾值來篩除未達(dá)到閾值的錨框是傳統(tǒng)的非極大值抑制(Non-Maximum Suppression ,NMS)算法做的事。但在現(xiàn)實場景中檢測時,會出現(xiàn)目標(biāo)部分重疊的情況。如果兩個目標(biāo)距離很近,這樣會導(dǎo)致IoU的值都比較大,經(jīng)過NMS處理后可能會只留下一個檢測框,就會出現(xiàn)漏檢的情況。這是由于NMS值考慮了預(yù)測框與真實框的重疊區(qū)域,并沒有考慮兩相鄰中心點之間的距離與長寬比。
圖9 DIoU_NMS幾何原理圖
中心點距離非極大值抑制(Distance-IoU Non-Maximum Suppression,DIoU_NMS)在NMS的基礎(chǔ)上還考慮了相鄰目標(biāo)之間的中心點距離和長寬比,使得在兩檢測框的IoU都比較大的時候再參考中心點距離和長寬比的值,從而減少相鄰目標(biāo)漏檢的情況。其幾何原理圖如圖9所示。圖9中d表示兩個框中心點之間的距離,c表示兩個框最小閉包矩形框區(qū)域的對角線長度。則DIoU數(shù)學(xué)表達(dá)式為
(5)
由于本文用到的是水下RUIE數(shù)據(jù)集,而水下生物的生存特性都是習(xí)慣結(jié)群的,檢測目標(biāo)會出現(xiàn)重疊遮擋現(xiàn)象,所以使用DIoU_NMS來代替?zhèn)鹘y(tǒng)的NMS會帶來一定的檢測精度的提升。
本文實驗采用2021年全國水下機(jī)器人大賽(包含水下光學(xué)目標(biāo)檢測智能算法、水下聲學(xué)目標(biāo)檢測、水下光學(xué)目標(biāo)檢測產(chǎn)業(yè)應(yīng)用、水聲通信產(chǎn)業(yè)應(yīng)用四大算法賽)提供的專門用于評價水下目標(biāo)檢測等算法的 RUIE數(shù)據(jù)集。該數(shù)據(jù)集是在真實海洋環(huán)境下通過專業(yè)水下攝像機(jī)采集,數(shù)據(jù)集共包括魚類、海膽、海參、扇貝等7 600幅圖像,每張圖片都是由防水?dāng)z像機(jī)在不同時間段和水深下拍攝得到的,包括不同亮度、背景深度、模糊度和色彩偏差的圖像,圖像的像素大小都為1 920×1 080。
所用到數(shù)據(jù)集只將在海底活動緩慢的4類海洋生物(海膽、海參、扇貝和海星)通過圖像標(biāo)注工具Labelimg進(jìn)行了標(biāo)注,實驗前通過轉(zhuǎn)文件格式代碼將RUIE數(shù)據(jù)集標(biāo)簽文件轉(zhuǎn)換為適用于YOLO網(wǎng)絡(luò)的txt標(biāo)簽文件,然后劃分?jǐn)?shù)據(jù)集,將數(shù)據(jù)集按9∶1劃分,從7 600幅圖片中隨機(jī)抽取6 840張作為訓(xùn)練集,760張作為測試集。
本文實驗都是使用Windows10操作系統(tǒng)。實驗所使用的硬件平臺基礎(chǔ)為中央處理器(CPU):AMD Ryzen 75800H with Radeon Graphics 3.2 GHz;圖形處理器(GPU):NVIDIA GeForce RTX 3060 Laptop。深度學(xué)習(xí)框架:PyTorch 1.9.0+CUDA 11.4。編程軟件和IDLE(集成開發(fā)環(huán)境):Pycharm和Python 3.8。網(wǎng)絡(luò)訓(xùn)練參數(shù)配置如表2所示。
表2 網(wǎng)絡(luò)訓(xùn)練參數(shù)
圖10 損失函數(shù)變化曲線
在整個訓(xùn)練過程,Batchsize設(shè)為8,總共迭代171 000次,初始學(xué)習(xí)率設(shè)為0.01,最終學(xué)習(xí)率為0.2。每一輪epoch都進(jìn)行YOLOv5s自帶的數(shù)據(jù)增強(qiáng)算法 ,訓(xùn)練200個epoch收斂后的損失函數(shù)變化情況如圖10所示,且各損失值為box_loss=0.032 30,obj_loss=0.048 95,cls_loss=0.001 74,total_loss=0.083 01。
本實驗使用了召回率R(Recall)、準(zhǔn)確率P(Precision)、mAP值(mean AP,mAP)作為網(wǎng)絡(luò)性能的評價指標(biāo)(mAP是用Precision和Recall作為兩軸作圖后圍成的面積)。式(6)~(8)為3個評價指標(biāo)的計算公式:
(6)
(7)
(8)
式中,XFP表示被錯誤檢測出的目標(biāo)數(shù);XFN表示沒有被檢測出的目標(biāo)數(shù);XTP表示被正確檢測出的目標(biāo)數(shù);AP為單個目標(biāo)類的平均精度值;N(class)表示目標(biāo)類別數(shù),其數(shù)學(xué)表達(dá)式為
(9)
在多類別目標(biāo)檢測任務(wù)中,mAP是衡量模型整體檢測精度的一個非常重要的指標(biāo),mAP越大表明整體檢測精度越高。文中會用到mAP@0.5&mAP@0.5∶0.95,@后的數(shù)表示判定IoU為正負(fù)樣本的閾值,@0.5∶0.95表示閾值取0.5~0.95(步長為0.05)的均值。
(1)嵌入CBAM模塊后模型的效能評估和分析。 本節(jié)實驗將2.1節(jié)提出的6種嵌入CBAM模塊的網(wǎng)絡(luò)模型在RUIE數(shù)據(jù)集劃分好的訓(xùn)練集上訓(xùn)練,并與原YOLOv5s模型做對比實驗,從而研究不同位置和數(shù)量的CBAM模塊對網(wǎng)絡(luò)性能的影響,以實現(xiàn)對網(wǎng)絡(luò)更好的優(yōu)化,實驗結(jié)果如表3所示。由表3可以看出,在Bottleneck最后一個C3上嵌入CBAM模塊對于提升算法的檢測性能是最有效果的,與YOLOv5網(wǎng)絡(luò)模型相比,mAP@0.5值提升了2.05%,mAP@0.5∶0.95提升了1.55%。通過實驗1、2、3可以看出,在骨干網(wǎng)絡(luò)中添加過多的CBAM模塊不會增加模型的檢測性能,反而將mAP@0.5的值分別降低了0.11%、1.02%;通過實驗4、5、6可以得出與實驗1、2、3一樣的結(jié)果,并將實驗2與實驗5的數(shù)據(jù)進(jìn)行對比可以看出,在骨干網(wǎng)絡(luò)嵌入CBAM模塊要比在YOLO檢測頭嵌入的性能要好。本節(jié)實驗表明,將不同數(shù)量CBAM模塊嵌入YOLOv5s不同位置產(chǎn)生不同的實驗效果的原因是骨干網(wǎng)絡(luò)中特征圖語義信息較稀疏,依舊將淺層和中層的輪廓信息與紋理信息保留在特征圖中了,但小目標(biāo)檢測任務(wù)中正需要這些關(guān)鍵信息。通過嵌入CBAM模塊使得骨干網(wǎng)絡(luò)增強(qiáng)對特征圖中小目標(biāo)信息的通道和空間特征信息進(jìn)行關(guān)注保留,但由于更大的感受野、更小的特征圖尺寸和大量的語義信息已經(jīng)包含在骨干網(wǎng)絡(luò)更深層的特征圖中,這使得CBAM模塊很難再區(qū)分出更重要的通道和空間特征信息,嵌入后還可能會因此減弱模型的檢測性能。
表3 不同模型在測試集上的性能評估
由于上面的實驗數(shù)據(jù)說明1個CBAM模塊的嵌入達(dá)到的效果是最好的,但是對于該CBAM模塊嵌入骨干網(wǎng)絡(luò)哪里是最好的沒有研究,本文追加了兩個實驗8、9,將骨干網(wǎng)絡(luò)的②、③兩個部位作為實驗對象嵌入CBAM模塊分別試驗進(jìn)行對比。從表3可以看出,在①位置嵌入CBAM模塊對于網(wǎng)絡(luò)的性能提升是最有效的,而在②、③位置嵌入反而使各指標(biāo)有所下降。最終選擇在骨干網(wǎng)絡(luò)最后一個C3模塊嵌入CBAM模塊。
(2)添加SPP模塊后實驗結(jié)果分析。本小節(jié)實驗是對2.2節(jié)所提的YOLOv5s-SPP3模型進(jìn)行實驗,實驗結(jié)果如表4所示。由表4可以看出,增加SPP模塊的模型性能提升是挺明顯的,在RUIE數(shù)據(jù)集上mAP@0.5值較YOLOv5提升了2.03%,mAP@0.5∶0.95也提升了1.68%。由此說明在頸部增加SPP模塊可以有效提升模型對待檢測目標(biāo)的分類能力及定位能力。
表4 YOLOv5s-SPP3性能評估
圖11 使用DIoU_NMS后的mAP的變化圖
(3)使用DIoU_NMS 后的效果。由于上述實驗中遇到了重疊目標(biāo)的遮擋問題,導(dǎo)致在檢測目標(biāo)時出現(xiàn)漏檢和誤檢的問題,在查閱大量文獻(xiàn)后提出了2.3節(jié)的將YOLOv5s中傳統(tǒng)的NMS換為DIoU_NMS來改善漏檢和誤檢的問題。通過加入錨框中心位置信息作為參考,保留兩個置信度都比較大的框來改善上述問題。實驗結(jié)果如圖11所示。由圖11可以看出,實驗效果還是比較可觀的,模型的mAP@0.5提升了1.42%,通過模型對重疊目標(biāo)的檢測效果也是很明顯的。
重疊目標(biāo)的檢測對比圖如圖12所示。由圖12可以看出,原圖有兩個海星,但是未加DIoU_NMS的YOLOv5s沒有檢測出來,而加了之后明顯提升了檢測精度,將兩個海星都檢測出來,證明加入后YOLOv5s算法的網(wǎng)絡(luò)性能明顯提升。
圖12 重疊目標(biāo)檢測的效果對比圖
(4)CBAM-TsppYOLOv5s算法性能評估。通過上述實驗結(jié)果,最終提出了一種新的算法:CBAM-TsppYOLOv5s,其網(wǎng)絡(luò)結(jié)構(gòu)如圖13所示。
為了驗證算法的檢測效果優(yōu)于原算法,先在RUIE測試集上進(jìn)行對比實驗,并通過消融實驗來檢驗添加部分的有效性而且使用專門檢驗小目標(biāo)算法性能的VEDAI數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,并與其他算法進(jìn)行性能對比,結(jié)果如表5所示。由表5可以看出,CBAM-TsppYOLOv5s在RUIE數(shù)據(jù)集上的性能相較于YOLOv5s在mAP@0.5上提升了2.2%,證明本算法在水下目標(biāo)檢測上較原算法是有優(yōu)勢的。檢測效果對比圖如圖14所示。
表5 CBAM-TsppYOLOv5s算法與原算法在RUIE測試集上的檢測效果對比
由于只有最終算法的測試效果圖對比,不能說明每個添加的模塊都能發(fā)揮效果,本文使用消融實驗來驗證各模塊的有效性。在RUIE數(shù)據(jù)集上做的消融實驗結(jié)果如表6所示。從表6可以看出,3個新添加的模塊對于模型精度的提升都有著不同程度的遞進(jìn)式增加,通過消融實驗得到的結(jié)果可以證明新添加的3個模塊對算法的精度提升都是有一定效果的。
將本文提出的CBAM-TsppYOLOv5s網(wǎng)絡(luò)與YOLOv4、YOLOv3網(wǎng)絡(luò)以及改進(jìn)的網(wǎng)絡(luò)在專門針對小目標(biāo)檢測的VEDAI數(shù)據(jù)集上的檢測結(jié)果對比如表7所示。從表7中可見,各算法在VEDAI數(shù)據(jù)集上測試得到的mAP@0.5的值可以看出本文提出的CBAM-TsppYOLOv5s算法對小目標(biāo)的檢測要優(yōu)于其他算法。
表6 消融實驗結(jié)果
表7 不同算法模型性能對比
由于上述實驗結(jié)果可以說明對于密集目標(biāo)、相互遮擋目標(biāo)和小目標(biāo),改進(jìn)的YOLOv5s網(wǎng)絡(luò)可以有效檢測并降低漏檢率。另外,原有的YOLOv5s網(wǎng)絡(luò)在檢測目標(biāo)時會導(dǎo)致誤檢測。改進(jìn)后的YOLOv5s網(wǎng)絡(luò)改善了目標(biāo)誤檢情況。實驗結(jié)果表明,改進(jìn)的YOLOv5s提高了水下小目標(biāo)檢測的精度,能滿足海洋目標(biāo)檢測任務(wù)的基本需要,有實際應(yīng)用價值。
本文研究發(fā)現(xiàn)在YOLOv5s骨干網(wǎng)絡(luò)的最后一個C3模塊的Concat層嵌入CBAM模塊可以增強(qiáng)骨干網(wǎng)絡(luò)對特征圖中小目標(biāo)的通道和空間特征信息的關(guān)注和提??;在頸部網(wǎng)絡(luò)中加入SPP模塊可以提升特征圖對不同大小感受野的表達(dá)能力,有效提升模型對目標(biāo)的定位和分類能力,并采用了DIoU_NMS代替?zhèn)鹘y(tǒng)的NMS優(yōu)化了重疊目標(biāo)的漏檢和誤檢的問題;最終提出了CBAM-TsppYOLOv5s水下小目標(biāo)檢測算法。實驗結(jié)果表明,CBAM-TsppYOLOv5s算法對水下小目標(biāo)檢測的mAP@0.5值比YOLOv5s提升了2.2%,單個精度最高可達(dá)到93.01%,達(dá)到了較好的檢測效果。下一步將進(jìn)行圖像去模糊化處理和算法模型嵌入式設(shè)備部署方面的研究。
圖14 檢測效果對比圖