張棟,姜媛媛,2
(1.安徽理工大學 電氣與信息工程學院,安徽 淮南 232001;2.安徽理工大學 環(huán)境友好材料與職業(yè)健康研究院(蕪湖),安徽 蕪湖 241003)
煤炭開采過程中,隨著開采深度加深,煤層瓦斯含量及壓力均顯著增大,易發(fā)生煤與瓦斯突出災害。煤與瓦斯突出災害防治措施主要分為保護層開采與預抽煤層瓦斯,其中預抽煤層瓦斯主要通過在井下施工抽采鉆孔來實施,能夠有效降低煤層瓦斯含量和壓力。為滿足打鉆時鉆孔深度的要求,一般通過統(tǒng)計鉆桿數(shù)間接計算鉆孔深度[1]。
傳統(tǒng)的礦井鉆機鉆桿計數(shù)方法主要有人工計數(shù)法、儀器計數(shù)法、應力波法、電駐波法和低壓脈沖反射法等。人工計數(shù)法是由工作人員現(xiàn)場觀察記錄鉆桿數(shù)量,耗時耗力,自動化水平低。儀器計數(shù)法[2]是在鉆機上安裝鉆孔激光傳感器,由電控箱采集傳感器數(shù)據(jù)并進行數(shù)據(jù)處理和運算,得出鉆桿數(shù)量,但是鉆孔激光傳感器在礦井粉塵、潮濕等惡劣環(huán)境下極易損壞。應力波法通過鉆桿尾部傳感器測得反射波信號,根據(jù)應力波與反射波的時間差測得鉆桿長度[3]。電駐波法通過鉆桿形成的駐波找到駐波節(jié)點,獲取鉆桿數(shù)量[4]。低壓脈沖反射法是向鉆桿中輸入低壓脈沖信號,根據(jù)行波理論測得端面反射波到達測試點的準確時間[5],計算出鉆桿數(shù)量。但是煤礦井下為爆炸性氣體環(huán)境,應力波法、電駐波法、低壓脈沖反射法中波的能量不易控制,無法滿足煤礦安全防爆性能要求。
近年來圖像處理技術逐步應用于智慧礦山建設[6],為提高鉆桿計數(shù)的準確性和可靠性,基于圖像處理的鉆桿計數(shù)方法引起了人們關注。董立紅等[7]提出了一種角點檢測算法,結(jié)合金字塔光流法對運動鉆機進行光流場估計,再采用跳幀的思想實現(xiàn)計數(shù)功能。董立紅等[8]提出使用改進的Camshift 算法實時捕捉鉆桿目標,并且通過設置錨點以及判斷時間間隔來進行鉆桿計數(shù)。但限于井下環(huán)境單一,圖像顏色昏暗,角點檢測與Camshift 算法容易丟失目標,造成統(tǒng)計結(jié)果偏差。高瑞等[9]提出通過改進ResNet網(wǎng)絡進行二分類,采用積分法對視頻分類置信度進行濾波,統(tǒng)計置信度曲線下降沿數(shù)量實現(xiàn)鉆桿計數(shù)。黨偉超等[10]提出利用三維卷積神經(jīng)網(wǎng)絡對鉆機卸桿動作進行識別,但ResNet 與三維卷積神經(jīng)網(wǎng)絡參數(shù)量龐大,訓練困難。
針對上述問題,本文提出了一種基于改進MobileNetV2 的鉆桿計數(shù)方法?;阢@機工作的視頻信息,利用改進的MobileNetV2 模型識別出鉆桿鉆進過程中裝鉆桿、打鉆桿、卸鉆桿及停機4 種工作狀態(tài),根據(jù)每幀圖像判斷鉆機工作狀態(tài),進而確定打入鉆桿的數(shù)量。經(jīng)現(xiàn)場實驗證明,該方法可實現(xiàn)鉆桿的精準計數(shù),解決了現(xiàn)有方法特征提取困難、算法冗雜、計數(shù)精度低等問題。
MobileNetV2[11]采用深度可分離卷積將普通卷積替換為深度卷積(Depthwise Convolution,DW)和點卷積(Pointwise Convolution,PC)。DW 分別對輸入特征圖每一層通道進行卷積,卷積核個數(shù)對應輸入特征圖的通道數(shù)。PC 采用的是1×1 大小的卷積核,卷積核的通道數(shù)對應輸入特征圖的通道數(shù)。一般采用3×3 的卷積核,深度可分離卷積結(jié)構可降低大約9 倍的參數(shù)量,大大減少了網(wǎng)絡參數(shù)更新的計算成本和訓練時間,適用于鉆機工作狀態(tài)識別任務。
在煤礦復雜環(huán)境下,需要將MobileNetV2 模型部署在終端邊緣設備上進行實時推理和計算,而這些終端設備的計算能力往往很弱,對模型的輕量化提出了更高要求。為增強MobileNetV2 對鉆機工作狀態(tài)識別任務的適應性,充分提取鉆機圖像特征,對MobileNetV2 進行改進,得到改進的MobileNetV2 模型(以下簡稱P-MobileNetV2 模型),以實現(xiàn)識別精度與輕量化的平衡。
1.2.1 注意力模塊加入
鉆機工作狀態(tài)圖像區(qū)分度信息只存在較小的區(qū)域內(nèi),同時類內(nèi)差異較小,導致識別困難。通過添加卷積注意力模塊(Convolutional Block Attention Module,CBAM)[12],利用通道信息和空間信息重構特征圖,提取鉆機工作狀態(tài)圖像中的顯著特征,并加強顯著特征的權重,弱化不必要特征的權重[13],從而獲得更加全面可靠的圖像特征信息。CBAM 結(jié)構如圖1 所示,包括通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)。
圖1 CBAM 結(jié)構Fig.1 Structure of convolutional block attention module
假設給定一個輸入特征矩陣F∈RC×H×W,C,H,W分別為輸入特征矩陣的通道數(shù)、高度、寬度。首先通過CAM 同時對輸入按通道進行全局最大池化和全局平均池化,分別得到2 個不同的C×1×1一維向量,通過共享的全連接層將2 個一維向量相加,經(jīng)過Sigmoid 激活函數(shù),得到通道注意力向量MC∈RC×1×1。然后通過SAM 將CAM 的輸出映射F′∈RC×H×W作為SAM 的輸入,在通道維度上同時進行全局平均池化和全局最大池化,分別得到2 個不同的1×H×W向量,將兩者進行拼接,通過一個卷積核為 7×7的卷積和激活函數(shù),得到空間注意力向量MS∈R1×H×W。最后將空間注意力向量與CAM 的輸出映射相乘,得到最終的特征映射F′′∈RC×H×W。
CBAM 的參數(shù)變化雖然較少,但卻能明顯提升MobileNetV2 對鉆機工作圖像顯著特征的提取能力,通過在MobileNetV2 的輸入層和全連接層處加入CBAM,可提升圖像特征的顯著度。
1.2.2 目標函數(shù)優(yōu)化
在鉆機工作狀態(tài)數(shù)據(jù)集中,由于井下環(huán)境昏暗,部分鉆機工作圖像的特征難以提取。而Focal Loss[14]函數(shù)能夠通過控制正負樣本的權重,解決鉆機工作圖像中困難樣本與簡單樣本不平衡的問題,準確評估真實鉆機工作狀態(tài)與預測鉆機工作狀態(tài)之間的差距,提升模型對困難樣本的識別能力,進而提高P-MobileNetV2 模型的識別精度。因此,本文將交叉熵損失函數(shù)替換為聚焦參數(shù)γ的Focal Loss 函數(shù),F(xiàn)ocal Loss 的計算公式如下:
式中:α為平衡參數(shù),用來控制正負樣本的權重;p為P-MobileNetV2 模型的預測概率;γ為調(diào)節(jié)參數(shù),用來減少易分類樣本的損失,γ=0 時,F(xiàn)ocal Loss 就是交叉熵損失函數(shù),多次實驗結(jié)果表明,當α=0.25,γ=2 時,效果最好。
1.2.3 遷移學習
煤礦井下工作環(huán)境復雜,為增強MobileNetV2在不同工況下的適用性,提升鉆機工作狀態(tài)識別精度,加快模型的收斂速度,采用遷移學習的訓練方式優(yōu)化MobileNetV2 模型[14]。因此,將MobileNetV2最后3 層,即全連接層、softmax 層和分類層,用一個1×4 的全連接層、1×4 的softmax 層及4 分類輸出層代替,進行遷移學習。遷移學習框架如圖2 所示。
圖2 遷移學習框架Fig.2 Transfer learning framework
將P-MobileNetV2 模型作為鉆機工作狀態(tài)識別模型,結(jié)構見表1。
表1 P-MobileNetV2 模型結(jié)構Table 1 Improved MobileNetV2 model structure
在鉆機的完整工作流程中,包括裝鉆桿、打鉆桿、卸鉆桿及停機4 種工作狀態(tài),其中裝卸鉆桿過程中,包含工作人員的裝卸鉆桿動作,圖像明顯區(qū)別于打鉆桿、停機工作過程,圖像特征易識別。利用P-MobileNetV2 模型提取鉆機工作狀態(tài)特征,通過識別鉆桿鉆進完整過程中裝鉆桿、打鉆桿、卸鉆桿、停機4 種鉆機工作狀態(tài),實現(xiàn)鉆桿的精確計數(shù),明確鉆孔深度?;赑-MobileNetV2 模型的鉆桿計數(shù)流程如圖3 所示。
圖3 基于P-MobileNetV2 模型的鉆桿計數(shù)流程Fig.3 Drill pipe counting process based on P-MobileNetV2 model
鉆機工作狀態(tài)數(shù)據(jù)采集自安徽省淮南市謝家集區(qū)朱集東礦綜采工作面、河南省平頂山市大莊礦綜采工作面,采集設備是分辨率為1 280×720 的攝像頭。選取鉆機不同工作角度,錄制鉆機完整工作流程視頻,視頻格式為MP4。通過視頻取幀獲取大量優(yōu)質(zhì)鉆機工作狀態(tài)圖像,所有圖像均為RGB 三通道彩色圖像。
根據(jù)圖像內(nèi)容將圖像分為裝鉆桿、打鉆桿、卸鉆桿、停機4 類,其中裝鉆桿圖像、卸鉆桿圖像各1 000 張,打鉆桿圖像、停機圖像各2 000 張。鉆機實際工作過程中,停機、打鉆桿工作時間多于裝卸鉆桿工作時間,導致停機、打鉆桿圖像數(shù)量遠多于裝卸鉆桿圖像。在圖像訓練過程中會因圖像數(shù)量分布不均衡累計訓練誤差,導致P-MobileNetV2 模型識別結(jié)果偏向于停機與打鉆桿圖像類別。
對不均衡訓練數(shù)據(jù)進行數(shù)據(jù)重采樣是消除這種影響的可行方法,包括上采樣和下采樣。本文通過下采樣,在所有類別圖像中隨機提取500 個樣本得到分布均衡的數(shù)據(jù)集,鉆機工作狀態(tài)圖像數(shù)據(jù)實例如圖4 所示。
圖4 鉆機工作狀態(tài)圖像Fig.4 Images of drilling rig working state
MobileNetV2 模型的輸入圖像大小為2 24×224×3,而通過錄制視頻取幀獲取的圖像大小為1 280×720×3,所以需將圖像尺寸歸一化至 224×224×3。
從原始圖像中可以看出井下環(huán)境單一,主要以灰黑為主,圖像灰暗。本文通過灰度變換增強、圖像旋轉(zhuǎn)、直方圖均衡化和中值濾波4 種圖像增強方法增加圖像的清晰度,通過圖像旋轉(zhuǎn)增加樣本的多樣性,對樣本圖像數(shù)量進行擴充,提高模型的泛化能力及識別準確率。通過圖像增強得到擴充后的圖像數(shù)據(jù)共10 000 張(每類2 500 張),按照8∶1∶1 的比例劃分為訓練集、驗證集和測試集,其中訓練集8 000 個樣本,驗證集1 000 個樣本,測試集1 000 個樣本,圖像增強后樣本如圖5 所示。
圖5 圖像增強示例Fig.5 Image enhancement example
將圖像增強后的鉆機工作狀態(tài)圖像輸入P-MobileNetV2 模型進行訓練,保存訓練過程中訓練精度最高的權重。完成訓練后,通過攝像頭實時獲取鉆機工作視頻。為了加快模型檢測速度,每隔1 s 提取1 幀圖像,輸入P-MobileNetV2 模型進行鉆機狀態(tài)識別,得到識別結(jié)果。為便于統(tǒng)計鉆桿數(shù)量,降低誤差,將模型檢測結(jié)果轉(zhuǎn)換為0,1,2,3 信號值,分別對應停機、打鉆桿、卸鉆桿、裝鉆桿4 種工作狀態(tài),生成置信度數(shù)據(jù),按照時間順序存儲至CSV 文件。P-MobileNetV2 模型對圖像數(shù)據(jù)進行檢測時,仍存在錯誤識別結(jié)果,通過滑動窗口對置信度數(shù)據(jù)進行濾波,滑動步長為10?;瑒哟翱陂L度為10,每次讀取10 個置信度數(shù)據(jù),統(tǒng)計其中出現(xiàn)頻率最高的數(shù)據(jù),生成新的置信度數(shù)據(jù)。通過合并滑動窗口濾波后置信度數(shù)據(jù)中相鄰相同識別結(jié)果,統(tǒng)計鉆桿數(shù)量,明確鉆孔深度。置信度濾波過程如圖6 所示。
圖6 置信度濾波過程Fig.6 The process of confidence filtering
本次實驗采用Tensorflow 及Keras 作為模型的搭建和訓練平臺,計算機配置為Intel core i7-10870H,顯卡為NVIDIA GeForce RTX2060,所有程序均在Windos10 系統(tǒng)下使用Python3 語言編寫。
為得到最佳的P-MobileNetV2 模型參數(shù),在本文數(shù)據(jù)集上進行實驗確定寬度因子、學習率。調(diào)整寬度因子可以降低模型的計算量和參數(shù)量,但會損失一定的精度。經(jīng)過反復驗證,選取寬度因子為0.75,此時P-MobileNetV2 模型的參數(shù)量和計算量大大減少,模型更加輕量化,精度損失較小。
學習率設置太小會導致網(wǎng)絡模型收斂較慢,設置太大可能導致梯度在最小值附近振蕩,甚至無法收斂,合適的學習率可以使模型在較短時間內(nèi)收斂到局部最小值。經(jīng)過反復驗證,采取動態(tài)學習率的策略。動態(tài)學習率是將初始學習率設為0.001,隨著訓練輪次的變化,3 次迭代內(nèi)損失率停止下降時,學習率衰減為原來的一半。
為防止模型出現(xiàn)過擬合現(xiàn)象,在P-MobileNetV2模型中加入Dropout 隨機丟棄神經(jīng)元,隨機丟棄率為0.001。在模型訓練過程中,訓練集每迭代1 次,對驗證數(shù)據(jù)集進行1 次測試,輸出并記錄準確率和損失率。
為驗證P-MobileNetV2 模型識別鉆機工作狀態(tài)的性能,在相同的實驗條件下將P-MobileNetV2 與經(jīng)典分類模型ResNet50[15],Xception[16],InceptionV3[17],InceptionResNetV2[18],MobileNetV2進行對比分析。各模型在鉆機工作狀態(tài)圖像數(shù)據(jù)集上的準確率和損失率變化曲線如圖7 所示。
圖7 不同模型的訓練曲線Fig.7 Training curves of different models
從圖7 可看出:P-MobileNetV2 模型的準確率和損失率明顯優(yōu)于其余5 種經(jīng)典模型。隨著迭代次數(shù)不斷變化,前期各模型的準確率波動比較劇烈,因為前期的學習率比較高,而且采用了動態(tài)學習率,當學習率衰減時,模型的訓練曲線會出現(xiàn)波動。經(jīng)過7 次迭代之后,各模型開始收斂,模型的準確率曲線都逐漸趨于平穩(wěn),各模型的準確率達95%以上,損失率也都降到了0.1 以下。其中P-MobileNetV2 模型的訓練曲線波動幅度較小,穩(wěn)定性較強。
P-MobileNetV2 模型與其他分類模型在準確率、訓練時間、參數(shù)量上的對比結(jié)果見表2。
表2 不同模型的訓練結(jié)果Table 2 Training results of different models
從表2 可看出,P-MobileNetV2 模型參數(shù)量比MobileNetV2 模型參數(shù)量減少了38.9%,相較于其他分類模型參數(shù)量大大減少。在相同條件下訓練時間也少于其他經(jīng)典分類模型,比MobileNetV2 模型只增加了少量時間。P-MobileNetV2 模型準確率最高,達99.95%,相比ResNet50,Xception,InceptionV3,InceptionResNetV2,MobileNetV2 分別提高了1.35%,1.28%,1.43%,0.85%,1.25%。
為驗證本文提出的鉆桿計數(shù)方法在煤礦井下綜采工作面鉆桿計數(shù)任務中的應用效果,使用朱集東礦綜采工作面、大莊礦綜采工作面錄制的鉆機完整工作流程視頻對不同鉆桿計數(shù)方法進行測試。統(tǒng)計結(jié)果見表3。
表3 不同鉆桿計數(shù)方法的統(tǒng)計結(jié)果Table 3 Statistical results of different drill pipe counting methods
從表3 可看出,人工計數(shù)法容易受到主觀因素影響,當鉆桿數(shù)量較多時,準確率可能隨著時間的延長而降低,導致鉆桿計數(shù)精度較低。而模型檢測方法計數(shù)更加穩(wěn)定,其中基于P-MobileNetV2 模型的鉆桿計數(shù)方法效果最好,鉆桿計數(shù)精度達98.4%,高于人工計數(shù)法和文獻[9]、文獻[10]、文獻[19]所提方法,在誤差允許范圍內(nèi),能夠很好地實現(xiàn)鉆桿計數(shù)功能。
(1)在MobileNetV2 的基礎上,添加CBAM 增強特征細化能力,加強圖像中的顯著特征,采用Focal Loss 損失函數(shù)平衡正負樣本,使用遷移學習優(yōu)化模型初始參數(shù),加快收斂速度,構建P-MobileNetV2 模型,在輕量化的前提下提升了模型識別精度。在鉆機工作狀態(tài)識別任務中,P-MobileNetV2 模型識別精度達99.95%,優(yōu)于其他經(jīng)典模型。
(2)基于P-MobileNetV2 模型提出了一種鉆桿計數(shù)方法,通過P-MobileNetV2 模型提取鉆機工作狀態(tài)特征,統(tǒng)計鉆桿數(shù)量。將該方法應用于井下綜采工作面的鉆桿計數(shù)中,平均鉆桿計數(shù)精度為98.4%,實現(xiàn)了鉆桿精確計數(shù)。