張棟,姜媛媛,2
(1.安徽理工大學 電氣與信息工程學院,安徽 淮南 232001;2.安徽理工大學 環境友好材料與職業健康研究院(蕪湖),安徽 蕪湖 241003)
煤炭開采過程中,隨著開采深度加深,煤層瓦斯含量及壓力均顯著增大,易發生煤與瓦斯突出災害。煤與瓦斯突出災害防治措施主要分為保護層開采與預抽煤層瓦斯,其中預抽煤層瓦斯主要通過在井下施工抽采鉆孔來實施,能夠有效降低煤層瓦斯含量和壓力。為滿足打鉆時鉆孔深度的要求,一般通過統計鉆桿數間接計算鉆孔深度[1]。
傳統的礦井鉆機鉆桿計數方法主要有人工計數法、儀器計數法、應力波法、電駐波法和低壓脈沖反射法等。人工計數法是由工作人員現場觀察記錄鉆桿數量,耗時耗力,自動化水平低。儀器計數法[2]是在鉆機上安裝鉆孔激光傳感器,由電控箱采集傳感器數據并進行數據處理和運算,得出鉆桿數量,但是鉆孔激光傳感器在礦井粉塵、潮濕等惡劣環境下極易損壞。應力波法通過鉆桿尾部傳感器測得反射波信號,根據應力波與反射波的時間差測得鉆桿長度[3]。電駐波法通過鉆桿形成的駐波找到駐波節點,獲取鉆桿數量[4]。低壓脈沖反射法是向鉆桿中輸入低壓脈沖信號,根據行波理論測得端面反射波到達測試點的準確時間[5],計算出鉆桿數量。但是煤礦井下為爆炸性氣體環境,應力波法、電駐波法、低壓脈沖反射法中波的能量不易控制,無法滿足煤礦安全防爆性能要求。
近年來圖像處理技術逐步應用于智慧礦山建設[6],為提高鉆桿計數的準確性和可靠性,基于圖像處理的鉆桿計數方法引起了人們關注。董立紅等[7]提出了一種角點檢測算法,結合金字塔光流法對運動鉆機進行光流場估計,再采用跳幀的思想實現計數功能。董立紅等[8]提出使用改進的Camshift 算法實時捕捉鉆桿目標,并且通過設置錨點以及判斷時間間隔來進行鉆桿計數。但限于井下環境單一,圖像顏色昏暗,角點檢測與Camshift 算法容易丟失目標,造成統計結果偏差。高瑞等[9]提出通過改進ResNet網絡進行二分類,采用積分法對視頻分類置信度進行濾波,統計置信度曲線下降沿數量實現鉆桿計數。黨偉超等[10]提出利用三維卷積神經網絡對鉆機卸桿動作進行識別,但ResNet 與三維卷積神經網絡參數量龐大,訓練困難。
針對上述問題,本文提出了一種基于改進MobileNetV2 的鉆桿計數方法。基于鉆機工作的視頻信息,利用改進的MobileNetV2 模型識別出鉆桿鉆進過程中裝鉆桿、打鉆桿、卸鉆桿及停機4 種工作狀態,根據每幀圖像判斷鉆機工作狀態,進而確定打入鉆桿的數量。經現場實驗證明,該方法可實現鉆桿的精準計數,解決了現有方法特征提取困難、算法冗雜、計數精度低等問題。
MobileNetV2[11]采用深度可分離卷積將普通卷積替換為深度卷積(Depthwise Convolution,DW)和點卷積(Pointwise Convolution,PC)。DW 分別對輸入特征圖每一層通道進行卷積,卷積核個數對應輸入特征圖的通道數。PC 采用的是1×1 大小的卷積核,卷積核的通道數對應輸入特征圖的通道數。一般采用3×3 的卷積核,深度可分離卷積結構可降低大約9 倍的參數量,大大減少了網絡參數更新的計算成本和訓練時間,適用于鉆機工作狀態識別任務。
在煤礦復雜環境下,需要將MobileNetV2 模型部署在終端邊緣設備上進行實時推理和計算,而這些終端設備的計算能力往往很弱,對模型的輕量化提出了更高要求。為增強MobileNetV2 對鉆機工作狀態識別任務的適應性,充分提取鉆機圖像特征,對MobileNetV2 進行改進,得到改進的MobileNetV2 模型(以下簡稱P-MobileNetV2 模型),以實現識別精度與輕量化的平衡。
1.2.1 注意力模塊加入
鉆機工作狀態圖像區分度信息只存在較小的區域內,同時類內差異較小,導致識別困難。通過添加卷積注意力模塊(Convolutional Block Attention Module,CBAM)[12],利用通道信息和空間信息重構特征圖,提取鉆機工作狀態圖像中的顯著特征,并加強顯著特征的權重,弱化不必要特征的權重[13],從而獲得更加全面可靠的圖像特征信息。CBAM 結構如圖1 所示,包括通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)。

圖1 CBAM 結構Fig.1 Structure of convolutional block attention module
假設給定一個輸入特征矩陣F∈RC×H×W,C,H,W分別為輸入特征矩陣的通道數、高度、寬度。首先通過CAM 同時對輸入按通道進行全局最大池化和全局平均池化,分別得到2 個不同的C×1×1一維向量,通過共享的全連接層將2 個一維向量相加,經過Sigmoid 激活函數,得到通道注意力向量MC∈RC×1×1。然后通過SAM 將CAM 的輸出映射F′∈RC×H×W作為SAM 的輸入,在通道維度上同時進行全局平均池化和全局最大池化,分別得到2 個不同的1×H×W向量,將兩者進行拼接,通過一個卷積核為 7×7的卷積和激活函數,得到空間注意力向量MS∈R1×H×W。最后將空間注意力向量與CAM 的輸出映射相乘,得到最終的特征映射F′′∈RC×H×W。
CBAM 的參數變化雖然較少,但卻能明顯提升MobileNetV2 對鉆機工作圖像顯著特征的提取能力,通過在MobileNetV2 的輸入層和全連接層處加入CBAM,可提升圖像特征的顯著度。
1.2.2 目標函數優化
在鉆機工作狀態數據集中,由于井下環境昏暗,部分鉆機工作圖像的特征難以提取。而Focal Loss[14]函數能夠通過控制正負樣本的權重,解決鉆機工作圖像中困難樣本與簡單樣本不平衡的問題,準確評估真實鉆機工作狀態與預測鉆機工作狀態之間的差距,提升模型對困難樣本的識別能力,進而提高P-MobileNetV2 模型的識別精度。因此,本文將交叉熵損失函數替換為聚焦參數γ的Focal Loss 函數,Focal Loss 的計算公式如下:

式中:α為平衡參數,用來控制正負樣本的權重;p為P-MobileNetV2 模型的預測概率;γ為調節參數,用來減少易分類樣本的損失,γ=0 時,Focal Loss 就是交叉熵損失函數,多次實驗結果表明,當α=0.25,γ=2 時,效果最好。
1.2.3 遷移學習
煤礦井下工作環境復雜,為增強MobileNetV2在不同工況下的適用性,提升鉆機工作狀態識別精度,加快模型的收斂速度,采用遷移學習的訓練方式優化MobileNetV2 模型[14]。因此,將MobileNetV2最后3 層,即全連接層、softmax 層和分類層,用一個1×4 的全連接層、1×4 的softmax 層及4 分類輸出層代替,進行遷移學習。遷移學習框架如圖2 所示。

圖2 遷移學習框架Fig.2 Transfer learning framework
將P-MobileNetV2 模型作為鉆機工作狀態識別模型,結構見表1。

表1 P-MobileNetV2 模型結構Table 1 Improved MobileNetV2 model structure
在鉆機的完整工作流程中,包括裝鉆桿、打鉆桿、卸鉆桿及停機4 種工作狀態,其中裝卸鉆桿過程中,包含工作人員的裝卸鉆桿動作,圖像明顯區別于打鉆桿、停機工作過程,圖像特征易識別。利用P-MobileNetV2 模型提取鉆機工作狀態特征,通過識別鉆桿鉆進完整過程中裝鉆桿、打鉆桿、卸鉆桿、停機4 種鉆機工作狀態,實現鉆桿的精確計數,明確鉆孔深度。基于P-MobileNetV2 模型的鉆桿計數流程如圖3 所示。

圖3 基于P-MobileNetV2 模型的鉆桿計數流程Fig.3 Drill pipe counting process based on P-MobileNetV2 model
鉆機工作狀態數據采集自安徽省淮南市謝家集區朱集東礦綜采工作面、河南省平頂山市大莊礦綜采工作面,采集設備是分辨率為1 280×720 的攝像頭。選取鉆機不同工作角度,錄制鉆機完整工作流程視頻,視頻格式為MP4。通過視頻取幀獲取大量優質鉆機工作狀態圖像,所有圖像均為RGB 三通道彩色圖像。
根據圖像內容將圖像分為裝鉆桿、打鉆桿、卸鉆桿、停機4 類,其中裝鉆桿圖像、卸鉆桿圖像各1 000 張,打鉆桿圖像、停機圖像各2 000 張。鉆機實際工作過程中,停機、打鉆桿工作時間多于裝卸鉆桿工作時間,導致停機、打鉆桿圖像數量遠多于裝卸鉆桿圖像。在圖像訓練過程中會因圖像數量分布不均衡累計訓練誤差,導致P-MobileNetV2 模型識別結果偏向于停機與打鉆桿圖像類別。
對不均衡訓練數據進行數據重采樣是消除這種影響的可行方法,包括上采樣和下采樣。本文通過下采樣,在所有類別圖像中隨機提取500 個樣本得到分布均衡的數據集,鉆機工作狀態圖像數據實例如圖4 所示。

圖4 鉆機工作狀態圖像Fig.4 Images of drilling rig working state
MobileNetV2 模型的輸入圖像大小為2 24×224×3,而通過錄制視頻取幀獲取的圖像大小為1 280×720×3,所以需將圖像尺寸歸一化至 224×224×3。
從原始圖像中可以看出井下環境單一,主要以灰黑為主,圖像灰暗。本文通過灰度變換增強、圖像旋轉、直方圖均衡化和中值濾波4 種圖像增強方法增加圖像的清晰度,通過圖像旋轉增加樣本的多樣性,對樣本圖像數量進行擴充,提高模型的泛化能力及識別準確率。通過圖像增強得到擴充后的圖像數據共10 000 張(每類2 500 張),按照8∶1∶1 的比例劃分為訓練集、驗證集和測試集,其中訓練集8 000 個樣本,驗證集1 000 個樣本,測試集1 000 個樣本,圖像增強后樣本如圖5 所示。

圖5 圖像增強示例Fig.5 Image enhancement example
將圖像增強后的鉆機工作狀態圖像輸入P-MobileNetV2 模型進行訓練,保存訓練過程中訓練精度最高的權重。完成訓練后,通過攝像頭實時獲取鉆機工作視頻。為了加快模型檢測速度,每隔1 s 提取1 幀圖像,輸入P-MobileNetV2 模型進行鉆機狀態識別,得到識別結果。為便于統計鉆桿數量,降低誤差,將模型檢測結果轉換為0,1,2,3 信號值,分別對應停機、打鉆桿、卸鉆桿、裝鉆桿4 種工作狀態,生成置信度數據,按照時間順序存儲至CSV 文件。P-MobileNetV2 模型對圖像數據進行檢測時,仍存在錯誤識別結果,通過滑動窗口對置信度數據進行濾波,滑動步長為10。滑動窗口長度為10,每次讀取10 個置信度數據,統計其中出現頻率最高的數據,生成新的置信度數據。通過合并滑動窗口濾波后置信度數據中相鄰相同識別結果,統計鉆桿數量,明確鉆孔深度。置信度濾波過程如圖6 所示。

圖6 置信度濾波過程Fig.6 The process of confidence filtering
本次實驗采用Tensorflow 及Keras 作為模型的搭建和訓練平臺,計算機配置為Intel core i7-10870H,顯卡為NVIDIA GeForce RTX2060,所有程序均在Windos10 系統下使用Python3 語言編寫。
為得到最佳的P-MobileNetV2 模型參數,在本文數據集上進行實驗確定寬度因子、學習率。調整寬度因子可以降低模型的計算量和參數量,但會損失一定的精度。經過反復驗證,選取寬度因子為0.75,此時P-MobileNetV2 模型的參數量和計算量大大減少,模型更加輕量化,精度損失較小。
學習率設置太小會導致網絡模型收斂較慢,設置太大可能導致梯度在最小值附近振蕩,甚至無法收斂,合適的學習率可以使模型在較短時間內收斂到局部最小值。經過反復驗證,采取動態學習率的策略。動態學習率是將初始學習率設為0.001,隨著訓練輪次的變化,3 次迭代內損失率停止下降時,學習率衰減為原來的一半。
為防止模型出現過擬合現象,在P-MobileNetV2模型中加入Dropout 隨機丟棄神經元,隨機丟棄率為0.001。在模型訓練過程中,訓練集每迭代1 次,對驗證數據集進行1 次測試,輸出并記錄準確率和損失率。
為驗證P-MobileNetV2 模型識別鉆機工作狀態的性能,在相同的實驗條件下將P-MobileNetV2 與經典分類模型ResNet50[15],Xception[16],InceptionV3[17],InceptionResNetV2[18],MobileNetV2進行對比分析。各模型在鉆機工作狀態圖像數據集上的準確率和損失率變化曲線如圖7 所示。

圖7 不同模型的訓練曲線Fig.7 Training curves of different models
從圖7 可看出:P-MobileNetV2 模型的準確率和損失率明顯優于其余5 種經典模型。隨著迭代次數不斷變化,前期各模型的準確率波動比較劇烈,因為前期的學習率比較高,而且采用了動態學習率,當學習率衰減時,模型的訓練曲線會出現波動。經過7 次迭代之后,各模型開始收斂,模型的準確率曲線都逐漸趨于平穩,各模型的準確率達95%以上,損失率也都降到了0.1 以下。其中P-MobileNetV2 模型的訓練曲線波動幅度較小,穩定性較強。
P-MobileNetV2 模型與其他分類模型在準確率、訓練時間、參數量上的對比結果見表2。

表2 不同模型的訓練結果Table 2 Training results of different models
從表2 可看出,P-MobileNetV2 模型參數量比MobileNetV2 模型參數量減少了38.9%,相較于其他分類模型參數量大大減少。在相同條件下訓練時間也少于其他經典分類模型,比MobileNetV2 模型只增加了少量時間。P-MobileNetV2 模型準確率最高,達99.95%,相比ResNet50,Xception,InceptionV3,InceptionResNetV2,MobileNetV2 分別提高了1.35%,1.28%,1.43%,0.85%,1.25%。
為驗證本文提出的鉆桿計數方法在煤礦井下綜采工作面鉆桿計數任務中的應用效果,使用朱集東礦綜采工作面、大莊礦綜采工作面錄制的鉆機完整工作流程視頻對不同鉆桿計數方法進行測試。統計結果見表3。

表3 不同鉆桿計數方法的統計結果Table 3 Statistical results of different drill pipe counting methods
從表3 可看出,人工計數法容易受到主觀因素影響,當鉆桿數量較多時,準確率可能隨著時間的延長而降低,導致鉆桿計數精度較低。而模型檢測方法計數更加穩定,其中基于P-MobileNetV2 模型的鉆桿計數方法效果最好,鉆桿計數精度達98.4%,高于人工計數法和文獻[9]、文獻[10]、文獻[19]所提方法,在誤差允許范圍內,能夠很好地實現鉆桿計數功能。
(1)在MobileNetV2 的基礎上,添加CBAM 增強特征細化能力,加強圖像中的顯著特征,采用Focal Loss 損失函數平衡正負樣本,使用遷移學習優化模型初始參數,加快收斂速度,構建P-MobileNetV2 模型,在輕量化的前提下提升了模型識別精度。在鉆機工作狀態識別任務中,P-MobileNetV2 模型識別精度達99.95%,優于其他經典模型。
(2)基于P-MobileNetV2 模型提出了一種鉆桿計數方法,通過P-MobileNetV2 模型提取鉆機工作狀態特征,統計鉆桿數量。將該方法應用于井下綜采工作面的鉆桿計數中,平均鉆桿計數精度為98.4%,實現了鉆桿精確計數。