









文章編號:1671?251X(2024)08?0112?08 DOI:10.13272/j.issn.1671-251x.2024040073
關鍵詞:礦井鉆機;鉆桿計數;YOLOv8n?TBiD;BiFPN;Triplet Attention;Dice 損失函數;鉆桿掩碼;圖像分割
中圖分類號:TD67 文獻標志碼:A
0引言
在煤礦掘進前獲知計劃掘進區域瓦斯存量并進行瓦斯抽取是預防煤與瓦斯突出事故的重要措施[1-2]。煤層中的瓦斯通常采用打鉆方式抽取,并通過統計鉆桿數計算鉆孔深度,進而分析瓦斯抽采是否充分[3]。
傳統的礦井鉆機鉆桿計數方法主要有人工計數法、儀器計數法、應力波法、電駐波法和低壓脈沖反射法等[4]。人工計數法是通過礦井工作人員直接觀察記錄鉆桿的使用數量,該方法操作簡單,易于實施,但作業效率低,自動化程度低,準確度受人員影響大。儀器計數法利用現代傳感器和電子設備自動記錄鉆桿數量,與傳統的人工計數法相比,儀器計數法提高了計數的準確性和效率,但是受環境的影響較大,成本也相對較高。應力波法[5]通過鉆桿尾部傳感器測得反射波信號,根據應力波與反射波的時間差測出鉆桿長度。電駐波法[6]通過鉆桿形成的駐波找到駐波節點,獲取鉆桿數量。但應力波法、電駐波法中波的能量不易控制,存在安全隱患。
隨著技術的發展,越來越多的學者利用圖像處理算法[7]實現鉆桿計數。方杰等[8]提出了一種基于ECO?HC(Efficient Convolution Operators?HumanCharacteristics)的鉆桿目標實時跟蹤方法,通過分析鉆桿目標軌跡的波形圖建立計數模型,實現鉆桿計數。但ECO?HC 主要利用傳統特征(如方向梯度直方圖和多通道顏色)進行目標跟蹤,對鉆桿及其變化特征適應性不強。張棟等[9]提出了一種基于改進MobileNetV2 的鉆桿計數方法,根據每幀圖像判斷鉆機的工作狀態,進而確定打入鉆桿的數量。該方法雖然在特定數據集上表現出色,但在不同類型鉆機上的泛化能力未經充分驗證。杜京義等[10]提出了一種基于改進時空圖卷積神經網絡的鉆桿計數方法,通過在圖像序列中提取人體的關鍵點信息來構建表征人體動作的骨架序列,并通過設定打鉆動作之間的時間間隔記錄動作數量,實現鉆桿計數。然而該方法依賴動作識別的準確性,在區分細微動作或非標準動作時存在困難。
針對上述問題, 本文提出了一種基于改進YOLOv8n 模型的煤礦井下鉆桿計數方法。對YOLOv8n 模型[11]進行改進,建立可準確檢測礦井鉆機工作視頻中的鉆桿并進行鉆桿圖像區域分割的YOLOv8n?TBiD 模型:為有效捕獲鉆桿的邊界信息,提高模型對鉆桿形狀識別的精度,使用加權雙向特征金字塔網絡(Bidirectional Feature Pyramid Network,BiFPN) [12]替換路徑聚合網絡(Path AggregationNetwork,PANet)[13];針對鉆桿目標易與昏暗的礦井環境混淆的問題,在Backbone 網絡的SPPF(SecurePacket Processing Framework)模塊后添加三分支注意力(Triplet Attention),以增強模型抑制背景干擾的能力;針對鉆桿在圖像中占比小、背景信息繁雜的情況,采用Dice 損失函數替換 CIoU 損失函數來優化模型對鉆桿目標的分割效果。利用YOLOv8n?TBiD模型分割出的鉆桿及其掩碼信息,根據鉆桿打鉆中鉆桿掩碼面積變小而裝新鉆桿時鉆桿掩碼面積突然增大的規律,設計了一種鉆桿計數算法。選取綜采工作面鉆機工作視頻,對基于YOLOv8n?TBiD 模型的鉆桿計數方法進行實驗驗證。
1改進的YOLOv8n模型
YOLOv8n?TBiD網絡結構如圖1所示。
1.1BiFPN
YOLOv8n 模型的Neck 采用特征金字塔網絡(Feature Pyramid Network, FPN) +PANet 結構, 解決了FPN 在處理多尺度特征時低層特征信息容易損失的問題[14],但PANet 的輸入完全取決于FPN 處理的特征信息,丟失了來自于主干特征提取網絡的部分原始信息,可能會導致模型訓練出現偏差,從而影響檢測的準確性。鑒此,用BiFPN 替換PANet,增強底層信息的表現,有助于減少由于原始信息丟失而導致的偏差問題,促進多尺度融合,從而提高模型的檢測性能。PANet 與BiFPN 結構對比如圖2 所示。
1.2Triplet Attention
煤礦井下環境復雜,光線昏暗且粉塵較多,鉆桿與周圍環境對比度小,易發生漏檢。針對該問題,在YOLOv8n模型中的SPPF模塊后引入Triplet Attention,通過在橫向、縱向和深度3個維度上應用注意力機制增強模型的表現,從而提升模型對特征的識別和處理能力。Triplet Attention網絡結構如圖3所示,主要通過三分支結構增強深度學習網絡的特征學習能力,其中2個分支分別用于捕捉通道維度(通道數C)與空間維度(寬度W、高度H)之間的跨通道交互,允許模型深入理解和加工輸入數據的復雜關系, 第3個分支繼續執行傳統的空間注意力權重計算,從而提升模型在處理空間信息時的敏感性和準確性。
2鉆桿計數算法
YOLOv8n?TBiD模型不僅可用于鉆桿目標的高精度檢測和分割,還可為后續的鉆桿計數算法提供精確的鉆桿掩碼。在打鉆過程中,鉆桿在視頻中的橫截面積變化具有周期性,即隨著鉆桿逐漸打入煤層,裸露在外的鉆桿面積會逐漸變小。當工人裝填新的鉆桿后,相應的鉆桿掩碼面積會突然增大。基于上述原理,設計了基于鉆桿掩碼面積變化的鉆桿計數算法。YOLOv8n?TBiD 模型在檢測和分割鉆桿的過程中,生成一張與原始圖像相同尺寸的掩碼圖像,通過對目標區域進行分類,將屬于鉆桿的像素標記為1,其他區域的像素標記為0。在分割過程中,首先判斷邊界框的寬度和高度,如果邊界框的寬度和高度不為0(即檢測到了鉆桿),則從模型結果中提取掩碼,計算掩碼中值為1 的像素點數量,得到分割的面積曲線。每根鉆桿的掩碼生成后計算其面積,并將該面積添加到掩碼列表中,監測面積隨時間的變化。
為提高鉆桿計數的準確性和魯棒性,對得到的掩碼面積曲線進行二值化處理,將數據轉換為二進制形式,再通過平均濾波器平滑二值化數據,最后通過統計二值化濾波處理后數據中的上升沿,計算出新增的鉆桿數量。掩碼面積曲線二值化濾波處理效果如圖5所示。
3鉆桿計數實驗
3.1數據集
實驗數據來自于安徽省淮南市顧橋礦綜采工作面、朱集東礦綜采工作面和大莊礦綜采工作面安裝的分辨率為1280×720的防爆型礦用攝像機采集的視頻。從視頻中進行取幀操作,獲得高質量鉆機作業圖像,創建數據集,并采用標注工具Labelme 對鉆桿圖像數據進行詳細標注,數據集中部分鉆桿標注如圖6 所示。為確保模型在訓練過程中能夠接觸到充足的數據樣本,同時保留獨立的測試集和驗證集以評估模型的性能,將數據集中5630張圖像按照8∶1∶1的比例劃分為訓練集、測試集和驗證集。
3.2實驗環境
實驗硬件配置為NVIDIA Quadro P4000 GPU,編程語言為Python 3.8.1,開發環境為PyCharm 2023.1.4。設定模型的訓練輪數為200,批次大小為2,初始學習率為0.01,置信度閾值為0.5。
3.3評價指標
本文選擇平均精度均值(mPA)和平均交并比(mIoU)作為模型評價指標[18],并對模型的參數量、浮點運算數、權重大小和幀率進行比較。
3.4實驗結果
3.4.1模型訓練結果
訓練集用于優化模型參數,以最小化損失函數為目的,通過反向傳播不斷調整參數,提高模型對數據的擬合能力和預測準確度[19]。不同模型在訓練集上的損失曲線對比如圖7 所示(YOLOv8n?Bi 表示在YOLOv8n 基礎上僅添加了BiFPN,YOLOv8n?T 表示在YOLOv8n 基礎上僅添加了Triplet Attention,YOLOv8n?D 表示在YOLOv8n 基礎上僅添加了Dice)。可看出YOLOv8n?TBiD 在初始階段損失下降最快, 表明Triplet Attention,BiFPN 和Dice 損失結合可顯著提高模型的學習速度,同時,在訓練過程中有更好的收斂性。
驗證集用于在每輪訓練結束后進行性能評估,以便監控模型在非訓練數據上的表現,并防止模型過擬合。此外,驗證集也用于超參數調優,通過對不同超參數設置下的模型性能進行評估,選取能夠提升模型泛化能力的最優超參數組合[20]。不同模型在驗證集上的損失曲線對比如圖8 所示。可看出在驗證集上YOLOv8n?TBiD 模型的損失最低,表明其在未見數據上有更優的表現,證明了模型具有較強的泛化能力。
3.4.2消融實驗結果
為驗證改進策略對YOLOv8n 模型性能提升的效果,在訓練集和驗證集上進行消融實驗,結果見表1。可看出集成Triplet Attention,BiFPN 和Dice損失函數的YOLOv8n?TBiD 模型的mPA 和mIoU 最大,分別達94.9% 和87.3%,同時保持了較低的參數量和權重大小,檢測速度僅略低于YOLOv8n?Bi 模型,但較原始YOLOv8n 模型提升了17.8%。
3.4.3鉆桿檢測實驗結果
在相同的實驗環境中,將YOLOv8n?TBiD 模型與鉆桿檢測模型GCI?YOLOv4[4], ECO?HC[8], P?MobileNetV2[9]及YOLOv5,YOLOX[21]2 種當前主流的目標檢測模型進行對比,鉆桿檢測結果見表2。可看出YOLOv8n?TBiD 模型的檢測準確率最高,為94.9%,相比于GCI?YOLOv4, ECO?HC, P?MobileNetV2,YOLOv5,YOLOX 模型分別提高了4.3%,7.5%,2.1%,6.3% 和5.8%。
對測試集中常規場景、強光照射、弱光昏暗及部分遮擋4 種典型場景圖像進行測試驗證,結果如圖9所示。
在常規場景中, 各算法均能檢測到鉆桿, 但ECO?HC模型出現了多檢情況, YOLOv8n?TBiD模型由于采用BiFPN 作為特征提取網絡,檢測精度最高,分割出的圖形邊緣更加光滑平整。
在強光照射場景中,受光照影響,鉆桿部分區域亮度較高,YOLOv5 和ECO?HC 模型出現漏檢情況,YOLOv8n?TBiD模型由于引入了Triplet Attention,提高了鉆桿在復雜背景下的顯著度,檢測精度最高。
在弱光昏暗場景中,作業環境黑暗,YOLOv5模型出現漏檢情況, ECO?HC模型出現了多檢情況,P?MobileNetV2 和GCI?YOLOv4模型檢測精度較低,而YOLOv8n?TBiD模型由于引入Triplet Attention及采用Dice損失函數,減少了鉆桿目標在整個模糊背景中因占比較小而出現漏檢的情況。
在鉆桿出現部分遮擋的場景中,ECO?HC模型出現了漏檢,YOLOX模型出現了分割面積不完全情況, P?MobileNetV2, GCI?YOLOv4 和YOLOv5 模型的檢測精度低于YOLOv8n?TBiD 模型。
3.4.4鉆桿計數實驗結果
選取與YOLOv8n?TBiD 模型測試時相同的鉆機作業視頻,將基于YOLOv8n?TBiD 模型的鉆桿計數方法與其他計數方法進行對比測試,結果見表3。可看出本文鉆桿計數方法準確率最高,為99.3%,而人工計數方法存在主觀誤差和工作強度高的問題,尤其在長時間監控和復雜環境下的準確性和效率難以保證。
4結論
1)對YOLOv8n模型進行改進,建立了用于鉆桿檢測和分割的YOLOv8n?TBiD模型。在自建數據集上的實驗結果表明,YOLOv8n?TBiD模型的識別精度達94.9%,檢測速度相比原始YOLOv8n模型提升了17.8%;相比于其他模型,YOLOv8n?TBiD模型在常規場景、強光照射、弱光昏暗及部分遮擋4 種典型井下環境下的檢測精度最高,漏檢情況最少。
2)基于YOLOv8n?TBiD模型分割出的鉆桿掩碼面積具有周期性變化規律的特點,設計了一種鉆桿計數算法。實驗結果表明,該算法的準確率達99.3%,滿足鉆桿精確計數的要求。