楊藝, 付澤峰, 高有進, 崔科飛, 王科平
(1. 河南理工大學 電氣工程與自動化學院,河南 焦作 454003;2. 河南理工大學 河南省煤礦裝備智能檢測與控制重點實驗室,河南 焦作 454003;3. 鄭州煤礦機械集團股份有限公司,河南 鄭州 450000;4. 鄭州煤機液壓電控有限公司,河南 鄭州 450013)
煤炭是我國重要的戰略能源,智能化開采是煤炭工業發展的重點方向[1-2]。隨著人工智能技術的不斷進步和煤礦智能化的持續發展,計算機視覺在保障煤礦安全生產、提高煤炭開采效率和煤礦智能化水平等方面的作用愈加突出[3-5]。視頻目標檢測是計算機視覺的重要分支。針對工作面關鍵設備及行人的目標檢測及跟蹤,是煤礦智能化開采信息感知的重點內容,也是工作面“三機”智能控制的基礎信息[6]。
目前,應用于煤礦井下的目標檢測方法主要分為傳統目標檢測和基于深度學習的目標檢測兩大類。傳統目標檢測方法大部分是通過人工提取特征并確定視頻幀中目標的位置。特征提取方法主要有方向梯度直方圖[7]、尺度不變特征變換[8]和可變形組件模型[9]等。針對礦井視頻圖像人員跟蹤中目標尺度變化頻繁的問題,孫繼平等[10]提出了一種礦井視頻圖像中人員目標匹配與跟蹤方法,基于壓縮感知和歸一化矩形特征,得到尺度不變壓縮特征,提高了目標位置跟蹤的準確度。針對行人檢測系統中存在的難以同時具有較高檢測率和較快檢測速度的問題,徐美華等[11]提出了一種自適應由粗到精的可變形 組 件 模 型(Coarse-to-Fine Deformable Part Model,CtF DPM),用于提取井下行人特征,該模型能夠在保證檢測性能的同時,顯著提高檢測速度。但這些傳統檢測方法復雜度較高、特征提取難度較大、泛化能力較差。
隨著人工智能技術不斷取得突破,基于深度學習的各種神經網絡被應用到了井下目標智能識別和檢測中,隨著計算機算力的不斷增強,各類算法的檢測精度也得到了極大提升。針對光線強度不確定問題,張銀萍[12]首先對軌道圖像進行針對性預處理,然后使用Canny算子完成煤礦地面軌道的邊緣檢測,最后構建了基于YOLOv3算法的識別模型,實現了對運行礦車前方不同光線亮度下不同類別的障礙物檢測。盧萬杰等[13]采集大量煤礦設備圖像建立數據集,通過基于卷積神經網絡的目標檢測算法,并使用基于粒子群優化的支持向量機建立了煤礦設備匹配模型,該模型對多目標具有較高的識別準確率。針對井下特定設備的檢測,林俊等[14]采用基于卷積神經網絡的Mask R-CNN模型提取輸送帶圖像,該模型可以自動準確地對輸送帶區域進行標注,使輸送帶檢測更具針對性。針對采煤工作面行人目標檢測方法因網絡較深、計算量大而不能達到實時檢測效果的問題,董昕宇等[15]提出了一種基于參數輕量化的井下人體實時檢測模型,采用深度可分離卷積模塊和倒置殘差模塊構建輕量級特征提取網絡,有效解決了井下人員漏檢及誤檢問題,為后續井下目標檢測輕量化網絡構建提供了新的思路。針對井下人員、采煤機滾筒的檢測,南柄飛等[16]提出了一種基于隨機采樣的實時顯著性目標檢測、分割提取方法,實現了煤礦井下復雜場景中關鍵設備的實時感知。韓江洪等[17]將深度學習網絡模型移植到嵌入式開發平臺,在井下目標識別場景下,提高了目標識別準確率。
綜上可知,目前針對井下的目標檢測方法存在特征提取難度較大、泛化能力較差、檢測目標類別較為單一等問題,且主要應用于巷道、井底車場等較為空曠場景,較少應用于綜采工作面場景。綜采工作面環境較復雜,地形狹長,且多目標多設備經常出現在同一場景當中,使得目標檢測難度加大。針對上述問題,本文提出了一種基于深度神經網絡的綜采工作面視頻目標檢測方法。首先,針對綜采工作面環境復雜多變、光照不均、煤塵大等不利條件,針對性挑選包含各角度、各環境條件下的綜采工作面關鍵設備和人員的監控視頻,并進行剪輯、刪選,制作盡可能涵蓋工作面現場各類場景的目標檢測數據集。然后,通過對 YOLOv4模型[18]進行輕量化改進,構建了輕量化YOLO(Lightweight YOLO,LiYOLO)目標檢測模型,該模型對綜采工作面環境動態變化、煤塵干擾等具有較好的魯棒性。最后,將LiYOLO目標檢測模型部署到綜采工作面,應用Gstreamer對視頻流進行管理,同時使用TensorRT對模型進行推理加速,實現多路視頻流的實時檢測。
針對綜采工作面的特殊環境,結合開采工藝過程,提出了一種基于深度神經網絡的綜采工作面視頻目標檢測方法,其流程如圖1所示。
(1) 綜采工作面關鍵設備及人員數據集制作。因煤礦綜采工作面環境復雜,存在行人遮擋、護幫板收回放下、滾筒旋轉、刮板輸送機逆光等問題,因此,制作一套標注準確的綜采工作面關鍵設備及人員的數據集是目標檢測的前提。首先調取綜采工作面的監控視頻,然后對其中含有行人和工作面關鍵設備的視頻進行剪輯、刪選,選出具有代表意義的視頻,制作數據集,最后使用視覺目標標注工具(Visual Object Tagging Tool,VOTT)對剪輯后的視頻進行標注。
(2) 目標檢測模型構建。深度學習中的網絡框架眾多,選取一個能夠適應綜采工作面復雜條件的網絡框架是后期目標檢測效果的保障。本文建立了LiYOLO目標檢測模型,該模型是對基于Darknet的YOLO模型進行輕量化處理后得到的一種6分類輕量化模型。首先經過主干特征網絡CSPDarknet對輸入的圖像進行初步特征提取;然后通過空間金字塔池化與路徑聚合網絡增加感受野,通過不同維度的特征融合,使特征得到充分提取,增強網絡的適應性;最后利用YoloHead提取的特征進行目標檢測。該模型具有良好的檢測能力,能夠滿足綜采工作面視頻目標檢測的實時性和精度要求。

圖 1 綜采工作面視頻目標檢測流程Fig. 1 Flow of video object detection in fully mechanized working face
(3) 視頻目標檢測模型工程部署。將LiYOLO目標檢測模型進行工程部署是視頻目標檢測的落腳點。為保證模型的實時檢測,選取TensorRT推理優化器對模型進行推理加速,使模型可以在運行時進行壓縮、優化。采用Gstreamer完成視頻的編碼與解碼,并對多路視頻流進行高效管理。
不同綜采工作面的地質條件、開采環境、配套設備各不相同,使得目標檢測關鍵性特征出現較大差異,從而導致數據集的通用性較差。為此,本文以安徽省淮南市某礦2324工作面為例,結合綜采工作面環境特定條件制作視頻目標數據集。該工作面液壓支架高度低、設備布置緊湊、煤塵和水霧擴散條件差。為使數據集盡可能覆蓋主要場景,本文首先根據背景條件對數據集樣本進行篩選,然后對標注對象的特性進行分析并繪制標注框,完成整個數據集的制作。
視頻的背景因素主要包括光照條件、塵霧和檢測區間3個方面,各背景下的圖像樣本示例如圖2所示。

圖 2 不同條件下的綜采工作面圖像Fig. 2 Images of fully mechanized working face under different conditions
2.1.1 不同光照背景下的圖像選取
對該礦工作面所部署的攝像頭與光源之間的空間關系進行梳理,當光源與攝像頭距離較近(通常小于2架液壓支架)時,攝像頭順光拍攝效果較好,而逆光拍攝效果較差。為此,本文根據綜采工作面實際光照情況,將數據集中光源場景分為順光和逆光2類情況。同時為確保數據的有效性和樣本覆蓋范圍,將順光與逆光圖像的采集比例設為4∶1。
2.1.2 不同塵霧背景下的圖像選取
在煤炭開采過程中,綜采工作面充斥著大量煤塵,采煤機會在工作時進行高壓噴霧降塵。根據對采煤機噴霧系統與滾筒割煤過程觀察發現,當采煤機滾筒轉速較慢時,塵霧輕微。而在采煤機高速運轉過程中,揚塵起霧現象較為嚴重。為此,本文根據綜采工作面現場情況,將數據集中的塵霧場景分為無塵、輕微、嚴重這3類情況,為保證數據集在工作面的通用性,將無塵、輕微、嚴重的圖像采集比例設為2∶1∶1。
2.1.3 不同檢測區間的圖像選取
工作面端頭的設備及環境較為雜亂,而中部的背景相對單一。2個復雜度不同的場景中,目標的特征表征方式存在較大差異。為了使目標檢測更具通用性,本文將工作面的視頻目標檢測區間分為端頭區間和中部區間2個部分。該礦工作面部署有181架液壓支架,端頭區間為1-10號和172-181號支架,端頭與中部的圖像采樣比例設為1∶8。但只有端頭區間包含檢測目標護幫板,所以需適當調高端頭區間圖像比例,因此,端頭與中部區間的圖像采集比例設為1∶5。
上述3種情況的圖像采集數量見表1。
圖像標注的主要目的是為計算機視覺模型提供有關圖像的信息,通常使用可視化標注工具對圖像進行標注。圖像標注時需預先確定標簽,稱為“類”,并向神經網絡模型饋入圖像的標簽信息。模型經過訓練和部署后,將預測和識別尚未標注的圖像中的目標對象。本文使用邊界框標注技術標注圖像,使用這種方法時,會在特定幀圍繞目標對象創建一個邊界框,并為其選擇最適合框中對象的標簽。
本文依據綜采工作面的實際情況,將關鍵設備及人員標簽分為6類,見表2。

表 1 不同條件下的圖像采集數量Table 1 Number of image samples under different conditions

表 2 標簽分類Table 2 Classification of labels
以一張含有多個工作面設備及工作人員的圖像為例進行標注,整體標注效果如圖3所示。
通過VOTT對選取視頻片段每幀圖像中的工作面設備及工作人員進行人工標注。標注信息包括目標的左上和右下2個錨點的橫縱坐標。需要注意的是,錨點坐標需要進行歸一化處理,將數據映射到0~1,增加數據分布稠密性,有利于網絡的快速收斂。圖3中灰色框、綠色框、紅色框、橙色框、紫色框標注的目標分別為工作人員、線槽、刮板輸送機、滾筒、采煤機。標注要求為標注目標需在標注框中央,且占比應大于2/3。
對于線槽和刮板輸送機的標注,因其在圖像中成像較為狹長,如果直接使用一個標注框進行標注,將會使標注框過大,從而在目標框中引入大量非目標信息,淹沒目標特征,導致檢測失敗。根據刮板輸送機與線槽成像的特殊情況,本文針對線槽與刮板輸送機采取分段式標注方式,線槽以欄桿為單位進行標注,刮板輸送機以節為單位進行標注,使線槽與刮板輸送機得到較為準確標注的同時,也使目標特征完整呈現。

圖 3 數據集標注示例Fig. 3 Example of dataset annotation

圖 4 LiYOLO模型結構Fig. 4 LiYOLO model structure
在開采過程中,因受煤塊影響,滾筒目標容易丟失,導致后續使用目標檢測模型追蹤檢測時,易出現漏檢情況。為此,根據滾筒狀態,本文采取完整標注方式對采煤機滾筒進行標注,以增加數據集對被遮擋滾筒目標檢測的魯棒性。
Darknet是一種較為輕型的開源深度學習框架,該框架包含YOLO的一系列模型[19]。YOLO模型實現了對標定物體的實時檢測,檢測精確度較高,同時具備較快的檢測速度,能夠很好地滿足現場部署需求,因此,YOLO系列目標檢測模型得到了廣泛研究與應用。
在原生的YOLO模型中,使用的數據集為視覺目標分類(Visual Object Class, VOC)數據集,其分類標簽為20類,如果本文使用原生YOLO模型進行目標檢測,加上表2中的6類綜采工作面關鍵目標,標簽分類達26類,分類相對復雜。為適應綜采工作面視頻目標分類相對較少的問題,本文對Darknet中的YOLO模型進行輕量化處理,形成一種6分類LiYOLO模型。LiYOLO模型結構如圖4所示。
在LiYOLO模型中,對于輸入的圖像,首先使用Darknet中 的CSPDarknet53模 塊 提 取 特 征。CSPDarknet53模塊通過下采樣和多次殘差結構的堆疊使網絡深度更深,特征提取效果和網絡魯棒性更好。其次采用空間金字塔池化(Spatial Pyramid Pooling,SPP)[20]模塊作為承接,SPP模塊極大地擴大了感受野,使LiYOLO模型對上下文特征有了更好的理解。然后使用路徑聚合網絡(Path Aggregation Network,PANet)[21]作為頸部,加強模型對視頻目標的特征提取能力。最后,在充分提取視頻特征后,使用YoloHead進行目標預測。YoloHead共有3個特征層,以VOC數據為例,3個特征層對應的輸出為(19,19,75),(38,38,75),(76,76,75),而為適應本文提出的6類綜采工作面關鍵目標數據集,將這3層的輸出修改為(19,19,33),(38,38,33),(76,76,33)。此外,為保障模型檢測速度,本文通過在YoloHead中引入深度可分離卷積(Depth Separable Convolution,DS-Conv)代替傳統卷積,極大地降低了模型的計算量與參數量。YoloHead改進前后的結構如圖5所示。

圖 5 改進前后 的YoloHeadFig. 5 YoloHead before and after improved
DS-Conv常被用來處理深度神經網絡冗余量大的問題,能夠降低傳統卷積操作中的參數量和計算量,提高模型的訓練速度。DS-Conv由深度卷積(Depthwise Convolution,DE-Conv)與 逐 點 卷 積(Pointwise Convlution,PO-Conv)2個部分組成。假設輸入數據大小為5×5@3,前2個5為數據的寬和高,3為數據的通道數。首先對數據集進行DE-Conv計算,因輸入通道數為3,則使用3個3×3@1卷積核進行卷積運算,特征圖輸出為5×5@3,DE-Conv的參數量為3×3×3=27,計算量為3×3×(5-2)×(5-2)×3=243;接著進行PO-Conv計算,若要得到4個特征量,則需使用4個1×1@3卷積核進行卷積計算,最終特征圖的輸出為5×5@4,PO-Conv過程的參數量為1×1×3×4=12,計算量為1×1×3×3×3×4=108。由上述計算可知,DS-Conv訓練參數總量為39,計算總量351。若進行傳統卷積計算,則參數總量為4×3×3×3=108,計 算 總 量 為3×3×(5-2)×(5-2)×3×4=972,遠 高 于DS-Conv的參數量與計算量。因此,相較于傳統卷積,深度可分離卷積能夠極大降低參數量和運算成本。LiYOLO模型具備較強的尺度適應性和高效的頭部特征提取能力,能夠較好地應用于綜采工作面視頻目標檢測中。
3.2.1 實驗環境與配置
用于實驗的計算機CPU為Intel Xeon(R) Gold 6146 CPU@3.20 GHz, GPU 為Nvidia Geforce RTX 2080T,系統為Ubuntu18.04.5 LTS,采用了Darknet深度學習框架,并調用OPENCV,CUDA,cuDNN庫。
為了使LiYOLO模型能夠更好地適應綜采工作面相對復雜的環境,本文制作的數據集包含綜采工作面各種情況下的設備和工作人員圖像,共計67 873張。數據集分為訓練集與驗證集,其中53 760張用來訓練模型,14 113張用來驗證模型。在訓練過程中一個處理單元為64張樣本圖像,初始訓練的學習率為0.001,迭代到144 000次時,學習率衰減10倍,162 000次迭代時,學習率又會在前一個學習率的基礎上衰減10倍。動量設置為0.949,權值衰減設置為0.000 5。
3.2.2 評價指標
本文采用召回率(Recall)、平均準確率均值(mean Average Precision,mAP)2種 評 價 指 標 對LiYOLO模型進行評價。Recall是被正確識別出來的正樣本個數與測試集中所有正樣本個數的比值;mAP是對所有類別的平均準確率取均值。這兩者都能在一定程度上體現目標檢測的效果,Recall、mAP的值越高,表示該目標檢測模型效果越好。
召回率r的計算公式為

式中:TP為設備及行人被正確檢測的數量;FN為漏檢的數量。
mAP計算公式為

式中:N為標簽總數,本文中N=6;FP為檢測框與真實框的IoU(Intersection over Union,交并比)閾值小于所設閾值的數目,本文IoU設置為0.5。
3.2.3 實驗結果與分析
為保證實驗結果的客觀性,在同等條件下將LiYOLO模型與YOLOv4進行對比,兩者的mAP和損失函數變化曲線如圖6、圖7所示。

圖 6 YOLOv4模型的mAP和損失變化曲線Fig. 6 mAP and loss variation curves of YOLOv4 model
從圖6、圖7可看出,LiYOLO模型的mAP變化曲線呈平滑穩步上升趨勢,而YOLOv4模型的mAP變化曲線波動明顯,表明LiYOLO模型具有更加穩定的特征提取能力。此外,YOLOv4模型的mAP在162 000次迭代后達到最大值,而LiYOLO模型的mAP在144 000次迭代附近便達到了最大值,LiYOLO模型相較于YOLOv4模型有更好的收斂性。進一步對比發現,YOLOv4模型的損失值從36 000次迭代后慢慢收斂至5以下,而LiYOLO模型的損失值在20 000次迭代就開始收斂至5以下,LiYOLO模型在收斂速度上要快于YOLOv4模型。

圖 7 LiYOLO模型的mAP和損失變化曲線Fig. 7 mAP and loss variation curves of LiYOLO model

圖 8 3種模型對不同場景下設備及行人的檢測效果Fig. 8 Detection effect of three models for devices and pedestrians in different scenes
YOLOv4模型與LiYOLO模型各評價指標實驗結果見表3。可看出在主要的評價指標mAP、Recall上,LiYOLO模型比YOLOv4模型 分別高14.79%、5%。表明LiYOLO模型能夠提取更加豐富的工作面關鍵設備及人員的基本特征,檢測效果更好。YOLOv4模型針對的是26類目標進行分類,因此其收斂效果較差,而LiYOLO模型僅針對井下關鍵設備及人員的特定6類目標進行分類,提取特征更具針對性,收斂性更好。

表 3 主要實驗結果對比Table 3 Comparison of main experimental results %
為了進一步驗證LiYOLO模型在工作面關鍵目標檢測中的有效性,本文挑選了采煤機開采、單人巡檢、多人巡檢3組經典場景驗證模型應用于復雜場景時的效果,并與YOLOv3、YOLOv4模型進行對比,檢測效果對比如圖8所示。
第1組原圖中包含的檢測目標有線槽、刮板輸送機、采煤機、滾筒、行人,從檢測結果可以看出,對于靠近攝像頭的設備,如線槽和刮板輸送機,3個模型的檢測效果相差無幾,而對于離攝像頭較遠、尺度較小的行人,LiYOLO模型的檢測效果較好,而YOLOv3、YOLOv4模型均未檢測出行人。在第2組原圖中有2名工作人員,且存在人與人之間遮擋的情況,LiYOLO模型相較于其他2個模型提取到了被遮擋行人的輪廓特征,完整地檢測出了2個人,而其余2個模型均未檢出。第3組原圖中包含有多臺尺寸不同的刮板輸送機,從檢測結果可以看出,LiYOLO模型對于近中遠各尺度的設備的檢測效果均優于YOLOv3、YOLOv4模型,具有更良好的適應性。第1組實驗的行人處于順光條件下,第2組實驗的行人處于逆光條件下,結合2組實驗檢測效果發現,在不同的光照情況下,LiYOLO模型都可以保證工作面關鍵設備及行人的檢測率,而其余模型的魯棒性較差。上述結果表明,在光照強度不同、是否有遮擋、目標尺度變化等的情況下,LiYOLO模型都能夠準確檢測出目標數量及種類,具有更好的魯棒性。
此外,對于輸入為1 920×1 080的圖像,各模型的檢測時間見表4,LiYOLO模型檢測速度近乎是YOLOv3模型的2倍。對于輸入為1 920×1 080的視頻,LiYOLO模型的每秒傳輸幀數(Frames Per Second,FPS)均高于其他2 個模型。

表 4 檢測時間Table 4 Detection time
綜合實驗結果可知,在相同條件下,LiYOLO模型能檢測出的目標數量更多,種類更完整,檢測速率更快。
在LiYOLO目標檢測模型的工程部署中,首先需將井下相機采集到的視頻流通過光纖傳輸到調度室的服務器中,再對多路視頻流進行處理。本文采用Gstreamer媒體框架管理視頻流,該框架可以實現視頻的采集、編碼、解碼、渲染、濾鏡等功能。但Gstreamer的重心在于如何處理視頻流,而未能將視頻流處理與深度學習相結合。因此,本文在Gstreamer的基礎上,結合TenserRT高性能深度學習推理優化器,以實現管理多路視頻流的同時,對各路視頻流的檢測進行推理加速。TensorRT可以為深度學習的網絡框架提供低延遲、高吞吐率的部署推理。該推理優化器支持目前幾乎所有的主流框架(Pytorch,TensorFlow,Caffe等)。LiYOLO模型工程部署過程如圖9所示。

圖 9 LiYOLO模型工程部署過程Fig. 9 Project deployment process of LiYOLO model
基于LiYOLO模型的多視頻檢測效果如圖10所示。可同時檢測、展示6路視頻,且對于不同場景下的檢測目標都有較好的檢測效果。

圖 10 多路視頻檢測效果Fig. 10 Multi-video detection effect
為進一步驗證TensorRT對于LiYOLO模型推理加速的效果,本文設計了一組加速前后的對比試驗,結果見表5。因實驗環境需求,本次對比實驗在Tesla T4高性能運算顯卡上進行,從模型大小分析,LiYOLO原模型大小為256 MB,經過TensorRT壓縮后的模型大小僅為167 MB,節省了近1/3的空間,極大降低了電腦內存負荷。從傳輸幀率分析,針對輸入為1 920×1 080的視頻流,經過TensorRT推理加速的模型相較于原模型,傳輸幀率提高了30.2幀/s,極大地提高了檢測效率,能夠很好地滿足工作面關鍵設備及人員的實時檢測需求。

表 5 未加速與加速后模型FPS對比Table 5 Comparison of FPS between the unaccelerated model and the accelerated model 幀/s
(1) 針對綜采工作面環境復雜多變、光照不均、煤塵大等不利條件,針對性挑選包含各角度、各環境下的綜采工作面關鍵設備和人員的監控視頻,并對其進行剪輯、刪選,制作了涵蓋綜采工作面現場的各類場景的目標檢測數據集。
(2) 構建了LiYOLO目標檢測模型,首先經過主干特征網絡CSPDarknet對輸入的圖像進行初步特征提取;然后通過空間金字塔池化與路徑聚合網絡擴大感受野,通過不同維度的特征融合,使特征得到充分提取,增強網絡的適應性;最后利用YoloHead提取的特征進行目標檢測。與YOLOv3、YOLOv4模型相比,LiYOLO目標檢測模型具有良好的檢測能力,能夠滿足綜采工作面視頻目標檢測的實時性和精度要求,在綜采工作面數據集上的mAP為96.48%,召回率為95%,同時檢測視頻的幀率達67幀/s。
(3) 完成了LiYOLO目標檢測模型在綜采工作面的工程部署。使用基于Gstreamer的視頻流處理模塊管理多路視頻流,應用TensorRT優化器對LiYOLO目標檢測模型進行加速,有效提升了模型的運算速度,可快速實現綜采工作面視頻目標的檢測,且支持多路視頻流的實時檢測,針對光照、煤塵等不同環境也具有較好的目標檢測效果。