王偉峰, 張寶寶, 王志強, 張方智, 任浩, 王京
(1.西安科技大學 安全科學與工程學院, 陜西 西安 710054;2.西安科技大學 電氣與控制工程學院, 陜西 西安 710054;3.西安科技大學 計算機科學與技術學院, 陜西 西安 710054;4.陜西陜煤澄合礦業有限公司 董家河煤礦分公司, 陜西 渭南 714000)
礦井火災是煤礦的主要災害之一,“十三五”以來礦井火災引起的爆炸事故頻發。如2020年9月重慶松藻煤礦火災事故,2020年12月重慶吊水洞煤礦“12·4”重大火災事故等,都造成了嚴重的生命財產損失,引起了較大的社會關注。
為了降低礦井火災的發生率,提高礦井火災識別準確性,保護礦井工作人員的生命財產安全,許多學者對礦井火災識別方法進行了大量研究。孫繼平等[1]提出了基于可見光和紅外圖像的礦井外因火災識別方法,降低了礦燈、車燈等對火焰圖像的干擾,通過對火焰進行特征提取,達到火災識別的目的。苗續芝等[2]提出了一種基于改進果蠅優化算法-支持向量機(FOA-SVM)的火災圖像識別算法,提取火災圖像的多種特征作為輸入信息,對火災進行識別。何晨陽等[3]提出了一種圖像處理與BP神經網絡相結合的礦井火災識別方法,通過提取火焰圖像的圓形度、面積增長率等特征并輸入BP神經網絡模型,實現火災識別。袁慶輝[4]提出了一種基于圖像識別的礦井火災檢測方法,利用火焰面積變化率及分布規律作為火災判據,對火災進行識別。
上述研究在礦井火災識別方面取得了較好的研究成果,但由于煤礦井下光照分布不均勻,導致圖像像素信息失真,火災識別精度低,難以發揮算法的優越性。本文在現有研究基礎上,提出了一種基于YOLOv5的礦井火災視頻圖像智能識別方法。該方法以YOLOv5為識別模型,結合K-means改進的暗通道去霧算法及動態目標提取算法,可解決礦井環境造成的圖像特征信息丟失問題,提高礦井火災特征識別準確率。
YOLOv5算法模型結構如圖1所示。模型的Backbone階段采用 Focus和CSPDarknet53結構,Focus結構對輸入目標的維度進行切片操作,減少目標原始特征信息的丟失,并且提高模型計算速度,經過一系列卷積操作得到不同尺寸的特征圖像;Neck特征融合結構對不同尺寸的特征圖像進行采樣,將特征圖像處理成相同大小,然后進行特征融合及卷積,得到3個具有更強特征表現能力的特征層;Prediction預測結構通過損失函數進行目標類別概率和位置坐標計算,得到目標預測結果[5]。

圖1 YOLOv5算法模型結構Fig.1 Structure of YOLOv5 algorithm model
YOLOv5算法是一種從端到端的檢測算法,其核心是卷積神經網絡的特征提取結構,可識別輸入目標類別及輸出位置,是圖像分類與定位相結合的算法[6-7]。火焰目標檢測過程如下:
(1) 用YOLOv5算法將輸入的火焰圖像劃分為N×N個單元格,每個單元格針對大、中、小不同尺度的目標生成先驗框,識別目標的中心落在某個網格中,則由該網格的先驗框負責跟蹤識別該目標[8]。YOLOv5用置信度c表示該先驗框中目標分類概率及匹配目標的性能。
c=PH
(1)
式中:P為預測框內目標概率,若預測框內無目標為0,否則為1;H為預測框與真實框交并比。
(2) 對劃分的火焰圖像進行歸一化處理,將歸一化后的火焰數據集送入下層特征提取網絡進行特征提取[9]。
(3) 通過K-means聚類設置預測框,分為不同大小的框,針對不同檢測目標,計算預測框位置,即中心點坐標。
(4) 依據預測坐標的偏移值,計算目標中心點位置及預測框寬度、高度[10-11]。
(5) 輸出目標識別結果。
通過暗通道去霧算法降低光照分布不均勻及煤粉、水氣等因素對火焰圖像的影響,增加火焰圖像細節信息,提高礦井火災識別率。暗通道去霧模型公式如下:
(2)
I(x)=J(x)t(x)+A[1-t(x)]
(3)
式中:t(x)為透射率,x為像素值;q為去霧參數,一般取0.95;y為像素索引值;Ω(x)為以x為中心的窗口;I(y)為輸入圖像;ε為像素通道;A為全球大氣光成分;I(x)為待去霧火焰圖像;J(x)為處理后無霧火焰圖像。
t(x)的求取與A值有關,利用有霧圖像求取A。首先在暗通道圖中按亮度大小取前0.1%的像素,隨后在原始含霧圖像中找到其對應位置亮度最高的點,即為A值。
暗通道去霧算法雖然在大部分含霧圖像去霧方面取得了不錯的效果,但在求取A值時,某些像素點會被遺漏,造成去霧不徹底,影響后期火災視頻圖像識別精度。為此,利用K-means改進暗通道去霧算法。
將火焰圖像的像素點看作是樣本集X={X1,X2,…,Xn},Xi為第i個像素點,1≤i≤n,n為正整數,采用K-means聚類算法將位于相同區域的像素點聚為一類,使得在求取A值時整個圖像的像素點均可被取到。K-means改進暗通道去霧算法具體步驟如下:
(1) 根據K與S(樣本的聚類誤差)的關系將像素集初始化為K個聚類中心,S值與K值關系曲線如圖2所示。
(4)
式中:Cj為第j個聚類中心,1≤j≤K;p為Cj中的像素點;Lj為質心。

圖2 S值與K值關系曲線Fig.2 The relationship curve of S values and K values
可看出S值隨著K值增大快速下降,在K=5時,出現明顯的拐點,S值趨于平緩,即聚類中心K值為5。
(2) 計算每個像素點到各個聚類中心之間的歐氏距離,將每個像素點分配給距離其最近的聚類中心:
(5)
式中:a為像素點的屬性,1≤a≤k;Xia為第i個像素點的第a個屬性;Cia為第i個聚類中心的第a個屬性。
(3) 所有像素點歸類后,對每個聚類中的像素值求平均值,得到新聚類中心點。
(4) 重新計算每個像素點到聚類中心點的距離并再次分類,如此循環直到中心點變化很小。
(5) 求取每個聚類中像素值的平均值,得到K個像素值,然后對K個像素值加權平均,即為A值。
K-means改進暗通道去霧算法前后火焰圖像去霧效果如圖3所示,可看出改進后去霧圖像色彩度更顯著,特征信息更豐富。

(a) 改進前去霧效果

(b) 改進后去霧效果圖3 K-means改進暗通道去霧算法前后去霧效果Fig.3 The defogging effect before and after dark channel defogging algorithm improved by K-means
為了減少井下環境中靜態非目標物對火災識別的干擾,采用幀差法與混合高斯模型相結合的算法,提取動態火焰圖像輪廓,獲取清晰的形態信息進行特征分析[12-15]。
(1) 動態火焰目標提取。采用幀差法截取火焰視頻中連續相鄰的5幀圖像,并以當前幀分別與相鄰幀圖像進行差分運算,然后對差分圖像進行二值運算,得到更顯著的火焰圖像輪廓。
(2) 背景建模。采用m個高斯模型表示巷道背景圖像中各像素點,對m個高斯模型加權組合得到背景圖像。
(6)
式中:f(θt)為當前t時刻圖像的概率密度函數;θt為t時刻的圖像;wl,t為第l個高斯模型在t時刻的權值,1≤l≤m;φ(·)為高斯分布模型的概率密度函數;ul,t為第l個高斯模型在t時刻的均值;δl,t為第l個高斯模型在t時刻的方差。
將火焰圖像對應的高斯模型按wl,t+1/δl,t+1大小進行排序,取前B個高斯模型組成該像素點背景的混合高斯模型[7]。對B個模型按照wl,t+1匹配,若滿足式(7)和式(8),則該像素點為背景,否則為前景。
(7)
|θl,t+1-ul,t|<λδl,t+1
(8)
式中:T為閾值,一般為0.75;θl,t+1為第l個高斯模型在t+1時刻的圖像;λ為前景閾值,取2.5。
(3) 將混合高斯模型與幀差法提取到的火焰圖像對應像素值進行與運算,并采用形態學處理算法消除圖像中存在的缺口,從而得到更加完整的火焰目標圖像。
動態火焰目標提取效果如圖4所示。可看出通過提取動態火焰目標,火焰圖像的輪廓更加明顯,避免了井下復雜靜態背景的干擾。

(a) 提取前的火焰圖像

(b) 提取后的火焰圖像圖4 動態火焰目標提取效果Fig.4 Dynamic flame target extraction effect
平均精度和損失函數是目標檢測中最常用的評價指標,平均精度表示模型的平均檢測精度,損失函數表示模型的收斂性。實驗中將火焰設為正樣本,其他類別(如燈光等)設為負樣本。若預測目標為正樣本,實際目標為正樣本,記為NTP;若預測目標為正樣本,實際為負樣本,記為NFP;若預測目標為負樣本,實際為正樣本,記為NTN;若預測目標為負樣本,實際為負樣本,記為NFN。
(8)
(9)
式中:Pr為精確率;Re為召回率。
(10)
式中:M為平均精度;Q為類別數量。
4.2.1 實驗過程
在Windows環境下,采用python及pytorch搭建YOLOv5算法模型,利用網絡工具得到與礦井火災相似的火焰圖像。部分實驗數據如圖5所示。在實驗過程中,設迭代次數為300,動量因子為0.8,學習率為0.000 1,訓練批次為40。

圖5 部分實驗數據Fig.5 Part of experimental data
實驗步驟如下:
(1) 采用K-means改進暗通道去霧算法,對火焰圖像進行去霧處理,提高圖像細節信息并剔除干擾。
(2) 采用幀差法與混合高斯模型融合算法,對動態演化的火焰圖像進行特征提取,減少靜態背景對火災識別的影響。
(3) 對處理后的數據集進行標注并命名。標注后生成xml文件,包括標注框的坐標及寬高信息。
(4) 配置YOLOv5算法模型參數,開展模型訓練及測試。
4.2.2 結果分析
模型訓練結果如圖6所示,火災識別結果如圖7所示。

(a) 平均精度曲線

(b) 損失函數曲線圖6 模型訓練結果Fig.6 Model training outcome curve

(a) 火災識別結果1

(b) 火災識別結果2圖7 火災識別結果Fig.7 Fire identification results
由圖6可知,在迭代300次時,基于YOLOv5的礦井火災視頻圖像智能識別方法的平均精度為92%,損失函數為0.6,表明該方法檢測速度快、精度高。
由圖7可看出,本文方法能夠精確識別出火焰。
為了驗證本文方法的優越性,與Alexnet,VGG16,Inceptionv3等傳統目標識別算法進行對比,結果見表1。可看出本文方法的平均精度比Alexnet,VGG16,Inceptionv3的分別高9.6%,13.5%,4.9%,表明本文方法可有效提高火災識別準確率。

表1 不同算法火災識別結果對比Table 1 Comparison of the fire identification results of different algorithms
(1) 在迭代300次時,基于YOLOv5的礦井火災視頻圖像智能識別方法的平均精度為92%,損失函數為0.6,表明該方法檢測速度快、精度高。
(2) 基于YOLOv5的礦井火災視頻圖像智能識別方法平均精度比Alexnet,VGG16,Inceptionv3分別高9.6%,13.5%,4.9%,表明該方法可有效提高火災識別準確率。