




摘要:針對現有井下人員安全帽佩戴檢測方法未考慮遮擋、目標較小、背景干擾等因素,存在檢測精度差及模型不夠輕量化等問題,提出一種改進YOLOv8n 模型,并將其應用于井下人員安全帽佩戴檢測。在頸部網絡中加入P2 小目標檢測層,提高模型對小目標的檢測能力,更好地捕捉安全帽目標細節;在主干網絡中添加卷積塊注意力模塊(CBAM)提取圖像關鍵特征,減少背景信息的干擾;將CIoU 損失函數替換為WIoU 損失函數,提升模型對檢測目標的定位能力;采用輕量化共享卷積檢測頭(LSCD),通過共享參數的方式降低模型復雜度,并將卷積中的歸一化層替換為群組歸一化(GN),在盡可能保證精度的同時實現模型輕量化。實驗結果表明:與YOLOv8n 模型相比,改進YOLOv8n 模型在交并比閾值為0.5 時的平均精度均值(mAP@50)提升了1.8%,參數量減少了23.8%,計算量下降了10.4%,模型大小減小了17.2%;改進YOLOv8n 模型檢測精度高于SSD,YOLOv3?tiny,YOLOv5n,YOLOv7 和YOLOv8n,模型復雜度僅高于YOLOv5n,較好地平衡了模型檢測精度與復雜度;在井下復雜場景下,改進YOLOv8n 模型能夠實現對井下人員安全帽佩戴的準確檢測,改善了漏檢問題。
關鍵詞:井下安全帽檢測;小目標檢測;YOLOv8n;CBAM;WIoU;輕量化
中圖分類號:TD67 文獻標志碼:A
0 引言
井下工作環境面臨坍塌、有毒氣體、高溫等潛在危險[1]。為保障工作人員的安全,個人防護裝備的使用至關重要,其中確保人員正確佩戴安全帽并及時發現未佩戴者成為重要任務。
目標檢測是井下人員安全帽佩戴檢測的核心。近年來,深度學習算法在目標檢測領域廣泛應用。常用的目標檢測方法主要分為單階段檢測模型(如SSD[2],YOLO[3])與雙階段檢測模型(如R?CNN[4])。在工業領域中,雙階段檢測模型由于其復雜性導致檢測速度較慢,難以保證實時檢測。單階段檢測模型中,SSD 檢測速度較快,但精度較差,而YOLO 以其較高的實時性和準確性備受關注,能夠在單一前向傳遞中直接預測圖像中的目標位置和類別。趙紅成等[5]在YOLOv3 的基礎上通過使用GIoU 損失函數提高定位準確率,采用金字塔多池化結構提高多尺度檢測能力,并引入注意力機制專注于安全帽特征學習,但當目標過小或被遮擋時仍有漏檢情況,且增加了檢測時間。Fu Chuan 等[6]在YOLOv3 的基礎上,將深度殘差網絡和多尺度卷積特征相結合,并通過調整損失函數的權重來優化目標框的選擇,提升了對中遠距離安全帽的識別精度,但沒有考慮遮擋情況。李熙尉等[7]將YOLOv5 的CIoU 損失函數替換為Alpha?CIoU 損失函數,并引入卷積塊注意力模塊(Convolutional Block Attention Module, CBAM) 提取圖像關鍵特征,但未考慮安全帽目標較小與遮擋等情況。李鳳英等[8]基于YOLOv7,采用數據增強的方式來克服復雜環境的影響,且設計了針對性的錨框尺寸進行檢測,并引入DeepSort 算法實現了安全帽追蹤識別,但未考慮遮擋與目標較小時對檢測精度的影響。以上方法在一定程度上提高了檢測精度,但并未完全考慮遮擋、目標較小、背景干擾等因素,且都未解決模型輕量化問題。為保證在井下復雜場景檢測的實時性,本文在YOLOv8n 的基礎上進行改進,提出了一種基于改進YOLOv8n 的井下人員安全帽佩戴檢測方法。添加P2 小目標檢測層,防止小目標信息丟失;引入CBAM,增強特征提取能力;將CIoU 損失函數替換為WIoU 損失函數,提升模型的泛化能力及定位性能;使用輕量化共享卷積檢測頭(Lightweight Shared Convolutional Detection Head,LSCD),降低模型參數量及計算量。
1 改進YOLOv8n 模型
改進YOLOv8n 模型結構如圖1 所示(紅框中為改進部分)。在頸部網絡中添加P2 小目標檢測層,提高對小目標的檢測能力; 在主干網絡中添加CBAM,降低對無效信息的關注;檢測頭使用LSCD,降低模型復雜度。
1.1 小目標檢測層
YOLOv8n 通過N3, N4 和N5 檢測頭分別提取P3,P4 和P5 檢測層的特征圖,對應特征圖大小分別為80 80、40 40 和20 20[9]。井下安全帽屬于小目標,小目標通常在圖像中占據較少的像素,特征少或不明顯,容易被忽略或誤判,僅靠原YOLOv8n 的檢測層無法實現對小目標的精準檢測。因此通過添加4 倍下采樣的P2 小目標檢測層及對應的檢測頭N2 來提升對小目標的檢測能力,如圖2 所示。P2 對應的檢測特征圖大小為160×160,用于檢測4×4 以上大小的目標,可使網絡更加關注小目標,提高檢測精度。