張旭輝, 閆建星, 張超, 萬繼成, 王利欣, 胡成軍, 王力, 王東
(1. 西安科技大學 機械工程學院,陜西 西安 710054;2. 中煤(天津)地下工程智能研究院,天津 300121;3. 陜西煤業化工集團 孫家岔龍華礦業有限公司,陜西 榆林 719314)
煤礦環境及危險源感知與安全預警是智能煤礦與智能化開采關鍵核心技術[1]。綜采工作面在采煤過程中會產生大量煤矸,為防止煤塊對運輸設備造成損壞,準確識別與檢測刮板輸送機上的煤塊及其數量,判斷煤塊滯留、堵塞狀態并進行預警至關重要[2]。
目前,煤塊檢測方法主要包括傳統圖像檢測和深度學習目標檢測2類。張渤等[3]通過對圖像進行預處理、灰度化、閾值分割,提取運動煤塊進行標記,實現了大塊煤檢測。許軍等[4]提出了一種基于圖像處理的溜槽堆煤預警方法,通過分析圖像運動和亮度特性,根據閾值提取煤塊區域,計算煤塊煤粒度比值和累計煤粒度比值的大小進行堆煤預警。張立亞[5]采用無監督分割算法獲取煤堆邊界,根據煤量在網格中的時間長短判斷堆煤預警。以上文獻都是通過傳統圖像處理進行邊緣提取和利用閾值來識別煤塊和堆煤預警,存在檢測精度不高、實時性較差、無法對堆煤進行準確判斷等問題。深度學習目標檢測方法主要有雙階段檢測方法和單階段檢測方法[6-8]。南柄飛等[9]提出了一種基于視覺顯著性的煤礦井下關鍵目標對象實時感知方法,提高了目標檢測的精度與實時性。杜京義等[10]針對現有煤塊檢測方法檢測精度不高的問題,提出了一種基于改進HED神經網絡融合Canny算子的煤礦井下輸煤大塊物檢測方法,將預處理圖像輸入改進的HED神經網絡與Canny算子融合模型中,得到邊緣圖像,通過二進制填充圖像,并進行標注得到大塊物個數與面積。Wang Yujing等[11]通過改進SSD(Single Shot MultiBox Detector,單步多框檢測器)損失函數和優化錨框的尺寸,提高了目標的檢測精度。胡璟皓等[12]基于YOLOv3模型,通過Focal Loss改進損失函數,解決了非煤異物樣本不平衡問題,通過實驗確定最優參數,提高了檢測精度 。葉鷗等[13]提出了一種融合輕量級網絡和雙重注意力機制的煤塊檢測方法,減少了模型參數。以上文獻都是利用深度學習方法實現大塊物的檢測,但是沒有對煤塊的數量、滯留和堵塞狀態進行識別,而且識別模型參數較多,對計算機硬件要求比較高,無法在顯存和內存小的設備上部署[14-15]。
針對以上問題,本文提出了一種基于改進YOLOv5s+DeepSORT的煤塊行為異常識別方法。選擇參數量最少、檢測速度最快、識別精度較高的YOLOv5模型進行煤塊目標檢測,將YOLOv5s模型主干網絡替換為MobileNetV3,以減少其參數量和計算量,并將YOLOv5s模型中原有的特征融合網絡改進為增強特征金字塔網絡(Adaptive Attention Module and Feature Enhancement Module-Feature Pyramid Network,AF-FPN)[16],以提高YOLOv5s網絡對多尺度煤塊目標的檢測性能;將改進YOLOv5s模型檢測后的煤塊應用DeepSORT算法進行多目標跟蹤,設置距離閾值,判斷其是否滯留;設置數量閾值,判斷其是否堵塞。實驗結果證明了該方法的可靠性。
YOLOv5s 模型主要由Input、Backbone、Neck和Output組成,如圖1所示。

圖1 YOLOv5s網絡結構Fig. 1 YOLOv5s network structure
Input為輸入端,采用Mosaic數據增強、自適應圖像填充、自適應錨框對輸入圖像進行處理。Backbone為CSPDarknet53主干網絡,主要包含Focus、CSP和SPP(Spatial Pyranid Pooling,空間金字塔模塊)結構[17]。Focus對輸入圖像進行切片操作,減少模型層數,提高運行速度。CSP網絡結構由CBL模塊、Resuit模塊、Concat通道融合結構、Leaky_Relu組成。CBL模塊由卷積模塊(Conv)、批標準化模塊(Batch Normalization,BN)、激活函數(Leaky_Relu)構成。SPP可以增大特征圖的感受野。Neck包含FPN(Feature Pyramid Networks,特征金字塔網絡)、PAN(Path Aggregation Network,路徑聚合網絡)[18]。Output通過Conv輸出不同尺度的檢測結果,包括NMS(Non-Maximum Suppression,非極大值抑制)和損失函數。YOLOv5s原始模型中使用GIoU[19]作為損失函數。
為了進一步減少YOLOv5s參數量,提高推理速度,本文使用MobileNetV3_Large結構改進YOLOv5s的主干網絡,改進后的YOLOv5s網絡整體框架如圖2所示。

圖2 改進后的YOLOv5s網絡結構Fig. 2 Improved YOLOv5s network structure
MobileNetV3_Large 結構見表1,其中Input Shape為輸入特征圖,Operator為對特征層進行Block處理,SE為注意力機制,AF為激活函數(HS表示H-Swish函數,RE表示ReLU函數),Stride為卷積的步長。

表1 MobileNetV3_Large結構Table 1 MobileNetV3_Large structure
MobileNetV3_Large結構的核心模塊是Bneck,如圖3所示。Bneck采用了深度可分離卷積與殘差結構,并加入了注意力機制,提高了特征提取能力。相比傳統卷積,Bneck核心在幾乎不影響模型性能的同時使模型參數量、計算量減少。

圖3 Bneck網絡結構Fig. 3 Bneck network structure
為在保持精度的同時提高推理速度,在MobileNetV3中引入了H-Swish函數,在設計特征提取網絡時,考慮到模型檢測的實時性要求,在網絡前端采用ReLU函數,在后端采用H-Swish函數,減少H-Swish造成的網絡延遲,達到檢測速度和精度的平衡。
刮板輸送機上的煤塊尺度變化較大,為提高對煤塊多尺度目標的檢測性能,將YOLOv5s中原有的特征金字塔網絡改進為AF-FPN。AF-FPN在原有的特征金字塔網絡的基礎上,增加了自適應注意力模塊(Adaptive Attention Module,AAM)和特征增強模塊(Feature Enhancement Module,FEM)。AAM減少了特征通道,降低了在高層特征圖中上下文信息丟失概率;FEM增強了特征金字塔的表示并加快了推理速度,在保證實時檢測的前提下提高了YOLOv5s網絡對煤塊多尺度目標的檢測性能。MobileNetV3_YOLOv5s_AF-FPN網絡結構如圖4所示。

圖4 MobileNetV3_YOLOv5s_AF-FPN網絡結構Fig. 4 MobileNetV3_YOLOv5s_AF-FPN network structure
輸入圖像通過多個卷積生成多尺度特征圖C1-C5,C5通過AAM生成M6。M6與M5求和融合,得到新的特征圖,通過自上而下傳遞特征,將高層特征圖放大后與淺層特征圖融合,每次融合后通過FEM自適應學習感受野,同時將淺層中的定位信息自下向上進行傳遞,增強整個特征層次。PAN縮短了淺層和高層特征之間的信息路徑,能夠準確保存空間信息,增強整個特征提取網絡的定位能力。
AAM的網絡結構如圖5所示。作為AAM的輸入,特征圖C5的大小S=H×W(H為特征圖長度,W為特征圖寬度)。通過自適應平均池化層獲得具有不同特征尺度(βi×S,βi為不同特征尺度對應的系數,i為系數個數,i=1,2,3;βi為[0.1,0.5],可以根據數據集中的目標大小自適應變化)的多個上下文特征,每個上下文特征經過1×1卷積獲得相同的信道維度(256)。采用雙線性插值法采集不同尺度特征圖的信息,以進行后續融合。空間注意力機制通過Concat層合并3個上下文特征的通道,將融合后的特征圖依次經過1×1卷積層、ReLU激活層、3×3卷積層和Sigmoid激活函數,生成相應的空間權值圖。生成的空間權值圖和融合后的特征圖經過Hadmard Product分離并添加到特征圖M5中,得到具有上下文特征的新的特征圖M6,最終的特征圖具有豐富的多尺度上下文信息,在一定程度上減輕了由于通道數量的減少而造成的信息丟失。

圖5 AAM網絡結構Fig. 5 AAM network structure
FEM主要利用空洞卷積,根據檢測到的煤塊的不同尺度自適應學習每個特征圖中不同的感受野,從而提高多尺度目標檢測和識別的準確性。FEM網絡結構如圖6所示,分為2個部分:多分支卷積層和多分支池化層。多分支卷積層由擴張卷積層、BN層和ReLU激活層組成。3個平行分支中的擴張卷積具有相同尺寸的擴張卷積核,但擴張率不同,分別為3,5和7。平均池化層用于融合來自3個分支感受野的煤塊信息,以提高煤塊多尺度預測的準確性。

圖6 FEM網絡結構Fig. 6 FEM network structure
針對煤塊滯留和堵塞的行為,提出了一種融合改進YOLOv5s+DeepSORT的煤塊行為異常識別方法,流程如圖7所示。

圖7 煤塊行為異常識別方法流程Fig. 7 Flow of coal block abnormal behavior identification method
(1) 通過攝像頭和巡檢機器人采集煤礦綜采工作面視頻圖像,并制作數據集。
(2) 將當前煤塊圖像輸入到訓練好的改進YOLOv5s目標檢測模型中,得到煤塊的定位信息。
(3) 將經過YOLOv5s目標檢測后的煤塊邊界框信息輸入到DeepSORT中,對煤塊進行狀態估計,通過運動匹配、外觀匹配、級聯匹配與IoU(Intersection over Union,交并比)匹配進行數據關聯匹配,通過跟蹤器參數更新確定跟蹤結果,并對連續跟蹤的煤塊進行ID編碼,對當前幀的煤塊數量進行計數。
(4) 在目標跟蹤器中取出連續跟蹤的每個目標框的50幀邊界框信息,循環計算這50幀內的同一個目標的最大像素距離。統計煤塊移動距離,如果最大像素距離小于5,則判定為滯留狀態,進行報警和處理,以防進一步造成煤塊堵塞;否則判定為正常運輸狀態。
(5) 統計煤塊滯留數,如果滯留數超過3,則判定為堵塞狀態,進行報警和處理。
(6) 根據當前幀煤塊數量進行刮板輸送機的調速。當檢測到的煤塊數量為0時,刮板輸送機停機;當檢測到的煤塊數量小于閾值時,刮板輸送機低速運行;當檢測到的煤塊數量大于閾值時,刮板輸送機高速運行。
DeepSORT多目標跟蹤算法流程如圖8所示,包括煤塊狀態估計、數據關聯匹配和跟蹤器更新3個步驟。

圖8 DeepSORT多目標跟蹤算法流程Fig. 8 DeepSORT multi-target tracking algorithm flow
2.2.1 煤塊狀態估計
為跟蹤YOLOv5s模型檢測到的每一塊煤塊,定義8維狀態向量x表征煤塊的狀態:

式中:(u,v)為煤塊的中心坐標;γ,q分別為煤塊邊界框的寬高比和高;為煤塊(u,v,γ,q)在圖像坐標系中對應的速度信息。
煤塊的狀態估計通過卡爾曼濾波器實現,包括預測和更新2個階段。預測階段根據前一幀被跟蹤煤塊的位置完成當前幀煤塊位置的預測;更新階段根據當前幀檢測到的煤塊位置更新預測階段的煤塊位置。煤塊的狀態預測為

式中:Xt為第t幀煤塊的位置;F為狀態轉移矩陣;Pt為第t幀煤塊的誤差協方差矩陣;Qt-1為過程噪聲矩陣。
煤塊的狀態更新為

式中:Kt+1為第t+1幀煤塊的卡爾曼增益;E為煤塊的觀測矩陣;R為煤塊觀測噪聲;εt+1為第t+1 幀煤塊檢測位置與預測位置之間的殘差;Xt+1為Xt更新后第t+1 幀的煤塊位置;Pt+1為更新后第t+1 幀煤塊位置 誤差的協方差矩陣;I為單位矩陣。
2.2.2 數據關聯匹配
數據關聯匹配可以使幀與幀之間的煤塊保持關聯,保證同一煤塊編碼ID的一致性[20]。利用卡爾曼濾波對煤塊檢測結果進行預測。使用運動匹配和外觀匹配的線性加權作為煤塊匹配衡量指標。使用級聯匹配優先匹配消失時長較小的煤塊軌跡,解決煤塊被遮擋的問題。
通過計算檢測框和第i個軌跡預測框的面積得到IoU,計算公式為

式中A,B分別為預測框與檢測框的面積。
運動匹配是用馬氏空間距離計算經卡爾曼濾波后的煤塊預測位置和檢測位置的匹配程度。

式中:d(1)(i,j)為第i個軌跡和第j個檢測框預測得到的邊界框的馬氏距離;dj為第j個煤塊檢測框;yi為第i個軌跡預測邊界框;Gi為第i個軌跡預測在當前測量空間的協方差矩陣。
當馬氏距離小于指定閾值時,認為煤塊匹配成功。
外觀匹配是利用最小余弦距離計算當前幀中所有煤塊的特征向量與歷史軌跡中所有煤塊特征向量之間的外觀相似度。

式中:d(2)(i,j)為第i個軌跡和第j個檢測框的最小余弦距離,若d(2)(i,j)小于卷積神經網絡訓練閾值,則關聯成功;rj為當前幀第j個檢測框dj的外觀描述符,限定條件為‖rj‖;o(i)為第i個確定軌跡儲存的最近100幀成功關聯的特征向量,Li為外觀特征向量庫,用于存儲每個確定軌跡的外觀特征向量。
將馬氏距離與余弦距離線性加權作為關聯匹配的衡量值:

式中 λ為權重系數。
若ci,j落在指定閾值范圍內,則認定實現正確關聯。
2.2.3 跟蹤器更新
煤塊數據關聯匹配后,跟蹤器需要更新,以便進行下一幀的煤塊跟蹤。跟蹤器更新主要包括以下3種情況:
(1) 對于匹配成功的跟蹤器,被檢測的煤塊將繼承與其匹配成功的跟蹤器編碼,并利用匹配成功的邊界框的信息預測下一幀煤塊位置。
(2) 對于級聯匹配未成功的跟蹤器,DeepSORT會進行IoU匹配,若匹配成功,則繼承跟蹤器編碼;匹配不成功的跟蹤器,考慮檢測器漏檢的情況,如果跟蹤軌跡的標記為不確定,則刪除軌跡,如果標記為確定,則為其設置生存幀數,若在生存幀數之內仍匹配失敗,則移除軌跡。
(3) 對于級聯匹配未成功的被檢測煤塊,DeepSORT會進行IoU匹配。對于IoU匹配未成功的被檢測煤塊,為其建立一個新的跟蹤器,分配編碼,并標記為不確定軌跡,進行3次匹配,若匹配成功,則標記為確定軌跡。
實驗所用的數據集主要源自陜西榆林市某煤礦。用ffmpeg調取刮板輸送機輸送煤塊的工作視頻,每隔1 s存儲1張圖像,共得到10 000張真實圖像,涵蓋了不同尺寸的煤塊。通過LabelImg工具進行標注,制作dkm_data2021數據集。
實驗以Pytorch為軟件框架,模型訓練硬件環境為Intel(R) Core(TM) i7-11800H(內存16 GB)和NVIDIA GeForce RTX 3060 Laptop GPU(顯存6 GB);模型測試硬件環境為Intel(R) Core(TM) i7-8750H(內存16 GB)和NVIDIA RTX 2080 Ti(顯存6 GB)。
模型訓練參數設置:輸入圖像大小為608×608,迭代次數為100,批次大小為16,初始學習率為0.001。
將模型參數量、推理時間、召回率Mr、平均精度Mp、 平均漏檢率Mm、平均誤檢率Mf作為評估各模型的客觀指標。

式中:TP為被正確檢測出的煤塊;FN為沒有被檢測出的煤塊;FP為誤檢的煤塊;TN為沒有被誤檢的煤塊。
在多目標跟蹤實驗評價中,選用多目標跟蹤準確率(Multiple Object Tracking Accuracy,MOTA)和多目標跟蹤精度(Multiple Object Tracking Precision,MOTP)作為評價指標,同時考慮誤檢、漏檢的情況來評價跟蹤算法的性能。MOTA值越大表示性能越好;MOTP用于定量分析跟蹤器的定位精度,值越大表示精度越高。
3.3.1 YOLOv5s特征提取網絡實驗對比
為了驗證主干網絡輕量化改進的有效性,對改進前后的 YOLOv5s進行實驗對比,實驗結果見表2。從表2 可看出,MobileNetV3_YOLOv5s 與YOLOv5s相比,平均精度降低了3.2%,參數量減少了49.8%,推理加速了20.6%,在精度略低的情況下,參數量大幅下降。

表2 特征提取網絡實驗對比Table 2 Comparison of feature extraction network experiments
3.3.2 YOLOv5s特征融合網絡改進實驗對比
為了驗證特征融合網絡的有效性,設置了2組改進網絡進行對比實驗,實驗結果見表3。從表3可看出,YOLOv5s_AF-FPN相比YOLOv5s,平均精度提高了4.94%;MobileNetV3_YOLOv5s_ AF-FPN相比MobileNetV3_YOLOv5s,平均精度提高了5.78%,說明YOLOv5s_AF-FPN相比YOLOv5s原有的特征金字塔,提高了多尺度煤塊目標的檢測精度。MobileNetV3_YOLOv5s_AF-FPN相比YOLOv5s平均精度提高了1.45%,參數量下降了35.3%,推理加速了12.7%,平均漏檢率降低了11.08%,平均誤檢率降低了11.54%,在精度和實時性方面都有提升。

表3 特征融合網絡實驗對比Table 3 Comparison of feature fusion network experiments
為進一步驗證MobileNetV3_ YOLOv5s_AFFPN模型的可靠性,分別測試YOLOv5s模型與MobileNetV3_ YOLOv5s_AF-FPN模型在光照不均勻、有粉塵、清晰環境下的煤塊檢測效果,效果對比如圖9所示,其中邊界框上面的dkm表示檢測的煤塊標簽,數字表示檢測煤塊的相似度。從圖9可看出,MobileNetV3_YOLOv5s_AF-FPN相比YOLOv5s,檢測出的煤塊更多,對小目標的檢測性能更好,表明MobileNetV3_YOLOv5s_AF-FPN模型對不同環境、不同尺度的煤塊檢測精度更高。

圖9 YOLOv5s模型與MobileNetV3_YOLOv5s_AF-FPN模型的煤塊檢測效果對比Fig. 9 Comparison of coal detection effect of YOLOv5s model and MobileNetV3_YOLOv5s_AF-FPN model
3.3.3 煤塊行為識別實驗
為了進一步驗證煤塊行為異常識別方法的有效性,分別用YOLOv5s+DeepSORT、MobileNetV3_YOLOv5s_ AF-FPN+ DeepSORT算法對刮板輸送機上煤塊正常狀態、煤塊滯留、煤塊堵塞進行實驗測試,用客觀評價指標進行定量分析,結果見表4。視頻圖像幀大小1 280×720,幀率為30幀/s。從表4可看出,MobileNetV3_YOLOv5s_ AF-FPN+DeepSORT相比YOLOv5s+DeepSORT,跟蹤準確率提高了4.79%,跟蹤精度提高了4.71%,漏檢數減少了24個,誤檢數減少了15個。MobileNetV3_YOLOv5s_AF-FPN檢測精度更高,達80.1%,更有利于多目標跟蹤。

表4 多目標跟蹤結果對比Table 4 Comparison of multi-target tracking results
用MobileNetV3_YOLOv5s_AF-FPN+DeepSORT算法檢測煤塊不同狀態,效果如圖10-圖12所示,其中邊界框上dkm表示檢測的煤塊標簽,后面的數字表示目標跟蹤分配的ID編號;fps為推理速度;Normal、Stop、Block分別表示當前幀檢測到的煤塊為正常狀態、滯留狀態、堵塞狀態;Current_number為當前幀中的煤塊數量;煤塊正常狀態目標框為藍色,煤塊異常行為狀態目標框為紅色。

圖10 煤塊正常跟蹤Fig. 10 Coal block normal tracking
從圖10可看出:Current_number顯示第3幀、第49幀、第81幀、第95幀的煤塊數量分別為1,2,2,2,表明可以準確顯示當前幀的煤塊數量,煤塊為正常追蹤狀態,邊界框為藍色。在第3幀、第49幀、第81幀、第95幀中有標簽dkm1,表明可以準確追蹤編號為1的煤塊。在第49幀、第81幀、第95幀中有dkm2,表明可以準確追蹤編號為2的煤塊。
從圖11可看出:Current_number顯示第136幀、第238幀、第286幀、第407幀的煤塊數量均為1,表明可以準確顯示當前幀的煤塊數量。在第286幀、第407幀中,編號為2的煤塊邊界框變成紅色,Stop=1,表明煤塊為滯留狀態,滯留數量為1。

圖11 煤塊滯留Fig. 11 Coal block retention
從圖12可看出:Current_number顯示第2 156幀、第2 220幀、第2 426幀、第2 812幀的煤塊數量分別為3,2,3,3,表明可以準確顯示當前幀的煤塊數量。在第2 220幀中編號為26、27的煤塊邊界框為紅色,Stop=2,表明煤塊為滯留狀態,滯留數量為2。在第2 426幀、第2 812幀中,編號為26、27、30的煤塊邊界框為紅色,Block=3,表明煤塊為堵塞狀態,堵塞數量為3。

圖12 煤塊堵塞Fig. 12 Coal block blockage
(1) 基于目標檢測、多目標跟蹤技術,提出了一種基于改進YOLOv5s+DeepSORT的煤塊行為異常識別方法,利用改進YOLOv5s模型對煤塊進行檢測,利用DeepSORT算法對煤塊進行目標跟蹤,設置距離、數量閾值,實現煤塊行為異常識別。
(2) 用MobileNetV3替換YOLOv5s主干網絡,將YOLOv5s中原有的特征金字塔網絡改進為AF-FPN。實驗結果表明:改進YOLOv5s模型相比原網絡平均檢測精度提高了1.45%,參數量下降了35.3%,推理加速了12.7%,平均漏檢率降低了11.08%,平均誤檢率降低了11.54%。改進后的網絡提高了煤塊檢測精度,參數量大幅降低,實時檢測性能好,可移植性高。
(3) 結合MobileNetV3_YOLOv5s_AF-FPN與DeepSORT模型,設置距離閾值、數量閾值,進行煤塊行為異常識別。實驗結果表明:MobileNetV3_YOLOv5s_AF-FPN+DeepSORT模型對煤塊正常狀態、滯留、堵塞的跟蹤精度為80.1%,煤塊行為判斷準確。