徐慈強,賈運紅,田原
(1.煤炭科學研究總院,北京 100013;2.中國煤炭科工集團太原研究院有限公司,山西 太原 030032;3.煤礦采掘機械裝備國家工程實驗室,山西 太原 030032)
煤炭是我國的主體能源,煤礦智能化建設是我國煤炭工業(yè)高質量發(fā)展的方向[1-3]。綜采工作面的刮板輸送機在運輸煤流的過程中,大塊煤易造成煤流堵塞,引發(fā)堆煤現(xiàn)象,嚴重影響機械設備性能和采煤效率[4-7]。由于綜采工作面低照度、運動模糊和粉塵、水霧等特殊環(huán)境條件[8],且受限于煤礦井下的低算力設備,現(xiàn)有的目標檢測算法往往存在精度低、模型占用的內存大、硬件依賴強等問題。因此,設計精度高、輕量化、移動端易部署的大塊煤目標檢測算法對于綜采工作面安全生產(chǎn)有重要意義。
綜采工作面環(huán)境惡劣,存在運動模糊、尺度變化、遮擋等復雜工況。傳統(tǒng)的目標檢測算法存在效率低、準確率較低等問題[9]。隨著計算機視覺技術的發(fā)展,基于深度學習的目標檢測技術[10]被應用到煤礦井下目標檢測中。曹現(xiàn)剛等[11]提出了一種跨模態(tài)注意力融合的煤炭異物檢測方法,有效提高了復雜特征異物檢測精度,減少了誤檢、漏檢現(xiàn)象。高涵等[12]融合特征增強與Transformer 的方法,實現(xiàn)了煤礦輸送帶異物檢測,有效解決了輸送帶異物目標檢測中細長物體檢測效果差、弱語義特征提取困難的問題。張立亞[13]提出了一種基于生成對抗網(wǎng)絡的帶式輸送機異物檢測方法,采用深度可分離卷積代替原有主干網(wǎng)絡中的卷積操作,大幅降低了模型計算量,提高了異物檢測速度。王科平等[14]以YOLOv4模型為基礎,通過深度可分離卷積替換傳統(tǒng)卷積,在主干網(wǎng)絡中添加殘差自注意力模塊,減少了模型參數(shù)量和計算量,實現(xiàn)了檢測模型的工業(yè)部署。李江濤等[15]提出了一種基于異物識別模型的輕量化策略,減小了模型大小和運行時占用的內存。
上述研究通過添加注意力機制、更換深度可分離卷積等操作,一定程度上提升了煤礦目標檢測精度,但仍存在以下問題:模型占用的內存過大,導致部署困難;輕量化設計雖提升了模型的檢測速度,但導致精度下降。針對上述問題,本文以YOLOv5s為基礎,通過輕量化MobileNetV3 網(wǎng)絡、高效多尺度注意力(Efficient Multi-Scale Attention,EMA)模塊、SIoU 損失函數(shù)對模型進行改進,提出了一種基于MES-YOLOv5s 的綜采工作面大塊煤檢測算法,并通過實驗驗證了該算法的有效性。
YOLO 網(wǎng)絡因其在速度和準確性方面的顯著平衡而在目標檢測模型中脫穎而出。YOLO 系列中常用的網(wǎng)絡有YOLOv5,YOLOv7,YOLOv8。YOLO 系列網(wǎng)絡性能對比如圖1 所示,n,s,m,l,x 表示YOLO的不同變體,E為3 種模型在COCO 數(shù)據(jù)集上的檢測精度(閾值范圍為0.50~0.95),m為模型占用的內存,t為CPU 檢測時間。可看出,YOLOv8 網(wǎng)絡模型整體性能優(yōu)于其他網(wǎng)絡模型,但檢測速度較慢;YOLOv7 網(wǎng)絡模型精度較高,但檢測速度慢,且模型占用的內存大,難以部署;YOLOv5 網(wǎng)絡模型精度較低,但具有參數(shù)量少、易訓練、推理速度快和部署簡單等特點;YOLOv5s 性能優(yōu)于YOLOv8n,且檢測時間和占用的內存與YOLOv8n 差距較小。綜合性能和實際工況考慮,本文選擇YOLOv5s 作為基礎模型。
圖1 YOLO 系列網(wǎng)絡模型性能對比Fig.1 Performance comparison of YOLO series network models
YOLOv5s 網(wǎng)絡模型[16]主要包括輸入層、主干網(wǎng)絡、頸部網(wǎng)絡、檢測頭4 個部分。輸入層包含數(shù)據(jù)增強方法,對隨機4 張圖像進行任意縮放和拼接,以擴張數(shù)據(jù)集并提高訓練效率。主干網(wǎng)絡是由卷積(Conv)模塊、C3 模塊和快速空間金字塔池化(Spatial Pyramid Pooling-Fast,SPPF)模塊組成。Conv 模塊用于提取物體特征,C3 模塊對特征信息進行殘差連接,SPPF 模塊融合不同尺度的特征信息。頸部網(wǎng)絡由特征金字塔網(wǎng)絡(Feature Pyramid Network,F(xiàn)PN)和路徑聚合網(wǎng)絡(Path Aggregation Network,PAN)[17]組成,用于提高多尺度檢測精度。檢測頭輸出預測結果,生成預測類別。
在煤礦井下,煤機裝備等移動端設備搭載的硬件算力低,而目標檢測任務實時性要求高。針對該問題,本文設計了MES-YOLOV5s 網(wǎng)絡模型,其結構如圖2 所示。
圖2 MES-YOLOV5s 網(wǎng)絡模型結構Fig.2 MES-YOLOV5s network model structure
YOLOv5s 的主干網(wǎng)絡由卷積模塊和C3 模塊堆疊組成,該結構能夠較好地提取物體特征信息,但參數(shù)量大、計算量大、推理時間長,難以部署到移動端等算力較低的設備上。因此,本文使用MobileNetV3替代主干網(wǎng)絡。
MobileNetV3 的核心模塊是bneck,該模塊主要包含可分離卷積、壓縮和激勵(Squeeze-and-Excitation,SE)通道注意力機制和shortcut 連接,如圖3 所示[17-18]。特征圖首先經(jīng)過1×1 卷積升維,再通過3×3 深度可分離卷積,保持通道數(shù)不變。SE 通道注意力機制為每一個通道賦予權重。設輸入特征圖維度為C×H×W(通道數(shù)×高×寬),經(jīng)過全局平均池化得到C×1×1 的張量,該張量包含每個通道的權重。將通道權重與對應通道的輸入特征相乘,再通過1×1 卷積降維,得到深層信息。最后通過shortcut 將淺層特征信息傳遞到深層,實現(xiàn)特征復用。
圖3 bneck 模塊結構Fig.3 Structure of bneck module
由于大塊煤檢測任務目標遮擋嚴重,密集分布且MobileNetV3 網(wǎng)絡縮減了大量模型參數(shù),導致YOLOv5s模型精度下降。因此,本文在頸部網(wǎng)絡引入EMA 模塊[19],保留各通道信息并進一步減少計算開銷。
EMA 模塊結構如圖4 所示[19]。在空間維度上,對于輸入維度為C×H×W的特征圖,按通道將其分為G組,每組的維度為(C/G)×H×W。通過一維水平全局池化XAvg Pool、一維垂直全局池化YAvg Pool、3×3 卷積3 個并行分支進行處理。前2 個分支輸出的特征經(jīng)過Sigmoid 激活函數(shù)激活,最后通過Concat 將2 個通道注意力特征聚合。3×3 卷積操作用于提取特征圖的特征??缈臻g學習方法利用二維全局平均池化將全局空間信息編碼并通過1×1 分支輸出,建立信息短期和長期依賴關系。最后輸出維度為C×H×W的特征圖。
圖4 EMA 模塊結構Fig.4 Structure of efficient multi-scale attention(EMA)module
YOLOv5s 模型的損失函數(shù)為CIoU[20],該函數(shù)依賴于預測框與真實框的距離、重疊區(qū)域和縱橫比,未考慮到預測框與真實框的方向匹配問題,在模型訓練過程中,預測框的方向會產(chǎn)生振蕩。因此,本文采用SIoU[21]損失函數(shù),該函數(shù)考慮到所需回歸之間的向量角度,重新定義了懲罰指標,提高了訓練速度和推理準確性。
SIoU 損失函數(shù)中添加了角度損失,當預測框與真實框水平方向夾角 α≤π/4時,收斂過程首先最小化 α;當預測框與真實框垂直方向夾角 β≤π/4時,收斂過程首先最小化 β。
實驗使用文獻[22]提供的長壁綜采工作面數(shù)據(jù)集,將大塊煤數(shù)據(jù)集按照8∶1∶1 的比例劃分,共包含16 813 張訓練圖像、2 101 張驗證圖像、2 101 張測試圖像。長壁綜采工作面數(shù)據(jù)集處理流程如圖5 所示,包含數(shù)據(jù)采集、數(shù)據(jù)過濾和數(shù)據(jù)標注。首先將采集到井下原始監(jiān)控視頻數(shù)據(jù)通過FFmpeg 軟件切成幀圖像,通過數(shù)據(jù)過濾操作篩出不完整、難識別、運動模糊、遠距離的圖像,最后使用LabelImg 軟件完成數(shù)據(jù)標注。
圖5 長壁綜采工作面數(shù)據(jù)集處理流程Fig.5 The processing process of the dataset of the longwall fully mechanized working face
硬件配置:操作系統(tǒng)為ubuntu20.04,cuda 版本為11.3,CPU 型號為Intel(R)Xeon(R)Platinum 8369B CPU @2.90 GHz,GPU 型號為NVIDIA A10。
軟件及訓練參數(shù):輸入圖像分辨率為1 920×1 080,迭代次數(shù)為300,初始學習率為0.01,batchsize 為32,選用SGD 優(yōu)化器,學習率動量為0.937;python 版本為3.9,pytorch 框架版本為1.12,OpenCV版本為4.5.1。
使用召回率、平均精度均值(mean Average Precision,mAP)作為模型的評價指標。
式中:P為精確度;TP 為預測類別與真實類別都為真的目標數(shù)目;FP 為預測類別為真、真實類別為假的目標數(shù)目;R為召回率;FN 為預測類別為假、真實類別為真的目標數(shù)目;AP 為平均精確度;n為檢測框數(shù)目;L為類別數(shù),當L=1 時,mAP 與AP 相等。
為驗證各模塊的效果,以相同的實驗配置進行消融實驗,結果見表1??煽闯霾捎肕obileNetV3替代主干網(wǎng)絡后,模型的mAP 降低了4.2%,內存減少了43 MiB,檢測時間減少了39.7 ms;在頸部網(wǎng)絡添加EMA 模塊后,模型的mAP 增加了2.2%,內存增加了0.6 MiB,檢測時間增加了7.2 ms;在檢測頭部使用更為高效的SIoU 損失函數(shù)后,模型的mAP 增加了0.6%,內存保持不變,檢測時間減少了3.6 ms;同時添加3 項改進策略后,模型的mAP 達84.6%,占用內存為11.2 MiB,檢測時間為31.8 ms。
表1 消融實驗結果Table 1 Ablation test results
消融實驗結果表明:MobileNetV3 大幅減少了模型占用的內存和檢測時間,但mAP 損失嚴重;EMA 模塊和SIoU 損失函數(shù)可在一定程度上恢復損失的精度,同時保證模型在CPU 上具有較高的檢測速度,滿足煤礦井下目標實時檢測需求。
為進一步驗證MES-YOLOv5s 的性能,在CPU測試環(huán)境下,將其與DETR[22],YOLOv5n,YOLOv5s,YOLOv7 進行對比。DETR 是基于Transformer 的目標檢測框架,使用 Transformer 編碼器-解碼器架構來同時預測所有對象,比傳統(tǒng)的目標檢測器更簡單、更高效。實驗結果見表2。可看出MES-YOLOv5s模型的mAP 達84.6%,較DETR,YOLOv5n 分別增加了3.3%,0.7%,較YOLOv5s,YOLOv7 模型分別減少了0.5%,1.9%;模型占用的內存為11.2 MiB,較DETR,YOLOv5n,YOLOv5s,YOLOv7 模型分別減少了137.8,2.8,42.9,273.4 MiB;檢測時間為31.8 ms,較DETR,YOLOv5n,YOLOv5s,YOLOv7 模型分別減少了464.4,0.1,36.7,289.0 ms。
表2 對比實驗結果Table 2 Comparative experimental results
對比實驗結果表明,MES-YOLOv5s 模型的精度較高,內存小,CPU 檢測速度快,綜合性能優(yōu)于其他模型,更適合部署于低算力設備。
在測試集上采用各模型進行實驗,部分結果如圖6 所示。第1 組實驗在高速運動、多尺度的工況下進行,DETR,YOLOv5n,MES-YOLOv5s 模型對于小尺度目標的mAP 小于50%,YOLOv5s,YOLOv7模型的mAP 大于50%。第2 組實驗在遮擋、多目標的工況下進行,DETR 和YOLOv5n 模型出現(xiàn)誤檢情況,YOLOv5s,YOLOv7,MES-YOLOv5s 模型的召回率為100%,且mAP 大于85%。第3 組實驗在靜止的工況下進行,DETR 模型的精確度為57%,其他模型的召回率為100%,mAP 大于85%。第4 組實驗在高速運動、多尺度、遮擋的工況下進行,DETR 模型的精確度為85%,其他模型的召回率為100%,YOLOv7和MES-YOLOv5s 模型的mAP 大于60%。
圖6 不同模型部分檢測結果Fig.6 Partial detection results of different models
MES-YOLOv5s 模型綜合性能表現(xiàn)最好,在高速運動、多尺度、遮擋和多目標的工況環(huán)境下能夠保持較高的召回率和精度。
1)采用MobileNetV3 網(wǎng)絡替換YOLOv5s 的主干網(wǎng)絡,以適應模型在移動端的部署,模型占用的內存減少了43 MiB,CPU 端檢測時間減少了39.7 ms。在頸部網(wǎng)絡添加EMA 模塊,以保留各通道信息并進一步減少計算開銷,mAP 增加了2.2%,模型占用的內存增加了0.6 MiB,檢測時間增加了7.2 ms。在檢測頭部更換SIoU 損失函數(shù),以提高模型的訓練速度和推理的準確性,mAP 增加了0.6%,模型占用的內存保持不變,檢測時間增加了3.6 ms。
2)與DETR,YOLOv5n,YOLOv5s,YOLOv7 模型進行對比,MES-YOLOv5s 模型綜合性能最好,mAP為84.6%,模型占用的內存為11.2 MiB,在CPU 端的檢測時間為31.8 ms,在高速運動、多尺度、遮擋和多目標的工況環(huán)境下能夠保持較高的召回率和精度。