摘要:現(xiàn)有基于深度學習的輸送帶異物檢測模型較大,難以在邊緣設備部署,且對不同尺寸異物和小目標異物存在錯檢、漏檢情況。針對上述問題,提出一種基于改進YOLOv8 的煤礦輸送帶異物檢測方法。采用深度可分離卷積、壓縮和激勵(SE) 網(wǎng)絡將YOLOv8 主干網(wǎng)絡中C2f 模塊的Bottleneck 重新構(gòu)建為DSBlock,在保持模型輕量化的同時提升檢測性能;為增強對不同尺寸目標物體信息的獲取能力,引入高效通道注意力(ECA) 機制,并對ECA 的輸入層進行自適應平均池化和自適應最大池化操作,得到跨通道交互MECA 模塊,以增強模塊的全局視覺信息,進一步提升異物識別精度;將YOLOv8 的3 個檢測頭修改為4 個輕量化小目標檢測頭,以增強對小目標的敏感性,有效降低小目標異物的漏檢率和錯檢率。實驗結(jié)果表明:改進YOLOv8 的精確度達91.69%,mAP@50 達92.27%,較YOLOv8 分別提升了3.09% 和4.07%;改進YOLOv8 的檢測速度達73.92 幀/s,可充分滿足煤礦輸送帶異物實時檢測的需求;改進YOLOv8 的精確度、mAP@50、參數(shù)量、權重大小和每秒浮點運算數(shù)均優(yōu)于SSD,F(xiàn)aster-RCNN,YOLOv5,YOLOv7?tiny 等主流目標檢測算法。
關鍵詞:輸送帶異物檢測;YOLOv8;SE 網(wǎng)絡;高效通道注意力機制;輕量化;小目標檢測;自適應平均池化;自適應最大池化
中圖分類號:TD634.1 文獻標志碼:A
0 引言
帶式輸送機是煤礦井下運輸?shù)闹匾O備[1]。在煤炭運輸過程中,石塊、錨桿等異物的存在可能會造成帶式輸送機工作異常,導致煤塊溢出、轉(zhuǎn)軸磨損、出煤口堵塞等情況,甚至可能造成煤礦停產(chǎn),嚴重威脅煤礦生產(chǎn)安全。
隨著人工智能技術的快速發(fā)展,眾多研究者利用機器視覺對輸送帶異物進行識別。目前主流的目標檢測算法主要分為單階段和兩階段。單階段代表算法包括YOLO[2],SSD[3],RetinaNet[4]等,兩階段代表算法包括Faster R-CNN[5], Mask R-CNN[6]等。劉富強等[7]通過灰度直方圖實現(xiàn)視覺檢測,但存在矸石被煤塵覆蓋無法識別的問題;Wang Yuanbin 等[8]通過改進SSD 算法提高異物檢測精度,在識別速度方面尚難滿足需求;任國強等[9]通過先驗框和損失函數(shù)解決樣本不平衡問題,未能解決模型大的問題;Xie Yehui 等[10]通過改進損失函數(shù)CIoU 實現(xiàn)異物識別,但識別精度較低;程德強等[11]采用殘差輕量級網(wǎng)絡和融入交叉學習機制增強模型的提取能力,但模型參數(shù)量依舊較大; Mao Qinghua 等[12]通過改進YOLOv5 提升模型性能,但未針對細長物目標進行優(yōu)化,易造成錯檢;張旭[13]通過剪枝進行模型輕量化,易破壞網(wǎng)絡結(jié)構(gòu);Liu Jiehui 等[14]通過K-means++聚類進行數(shù)據(jù)優(yōu)化,融入GhostNet 和深度可分離卷積降低模型計算量,但模型的權重依舊較大;高涵等[15]通過引入可變形卷積構(gòu)建數(shù)據(jù)增強,解決輸送帶異物識別精確度低等問題,但泛化能力仍有較大提升空間; Yang Dengjie 等[16]對YOLOv7 算法進行改進,通過減少卷積和加入小尺度探測層增強模型檢測能力,但模型的參數(shù)量和浮點計算負擔依舊較大。上述方法均取得了不錯的研究成果,但仍然存在錯檢、漏檢情況,以及對不同尺寸異物和小目標異物檢測性能不佳、異物檢測模型較大、難以在邊緣端部署等問題。
針對上述問題, 本文提出一種基于改進YOLOv8 的煤礦輸送帶異物檢測方法。主要的創(chuàng)新點:① 構(gòu)建了基于Bottleneck 的輕量化模塊,可增強模型對前景信息的提取能力,同時減小模型的體積,便于后期在邊緣端部署。② 提出一種有效的跨通道注意力機制MECA,以增強模塊的全局視覺信息,從而適應不同大小的異物目標識別,進一步提升網(wǎng)絡識別精度。③ 將3 個檢測頭修改為4 個輕量化小目標檢測頭,可更加準確地捕捉和定位小型異物目標,能夠適應復雜環(huán)境。
1 YOLOv8 網(wǎng)絡結(jié)構(gòu)
YOLOv8 是YOLO 系列中最新的版本,主要由InPut,Backbone,Neck,Head 4 個部分組成,如圖1 所示。① InPut 部分主要負責對輸入的特征圖像進行預處理,包括自適應縮放、調(diào)整輸入尺寸、數(shù)據(jù)增強等,以提升網(wǎng)絡模型的魯棒性。② Backbone 主要由Conv、C2f 和快速空間金字塔池化(Spatial PyramidPooling Fast, SPPF) 組成。YOLOv8 將YOLOv5 的C3 模塊替換為C2f 模塊, C2f 模塊相較于原C3 模塊,增加了跳層連接和額外的拆分操作,使模型的梯度數(shù)據(jù)流更加豐富, 提升了模型的性能。此外,YOLOv8 對模塊個數(shù)進行了改進,從[3,6,9,3]優(yōu)化為[3,6,6,3],從而使模型進一步輕量化。SPPF 將不同尺度的特征信息融合在一起,豐富特征圖的語義特征,從而進一步提升模型的特征提取能力。③ Neck部分主要對Backbone 提取到的特性圖信息進行處理,繼續(xù)沿用YOLOv5 的路徑聚合網(wǎng)絡(Path AggregationNetwork, PAN) +特征金字塔網(wǎng)絡 (Feature PyramidNetworks,F(xiàn)PN)結(jié)構(gòu)。相較于YOLOv5 模型,YOLOv8移除了1×1 降采樣層,通過自頂向下和自下向頂?shù)目鐚舆B接使特征更加充分融合。④ Head 部分的主要作用是利用前面提取的特征,完成目標檢測的識別任務。YOLOv8 采用了解耦頭結(jié)構(gòu),將回歸解耦和分類的過程進行分離,并根據(jù)回歸解耦和分類加權得到的分數(shù)來確定最終的正負樣本數(shù),從而解決了復雜背景下定位準確率低和分類錯誤的問題,有效提升模型的性能。