孫淑軍,郭永剛,劉 杰
(1. 內燃機可靠性國家重點試驗室,山東 濰坊 261061;2. 濰柴動力股份有限公司,山東 濰坊 261061)
內燃機試驗臺架在實際作業(yè)過程中有許多高溫源,如內燃機增壓器、排氣管等,同時臺架內部也存在許多易燃物,如燃氣、燃油、機油、防凍液等,一旦臺架內部發(fā)生故障很容易引發(fā)火災,如果火災不能被及時撲滅會造成極大的經(jīng)濟損失。因此發(fā)生初期火災時報警系統(tǒng)能夠及時觸發(fā)報警尤為重要。
目前試驗臺架內部主要借助紫外和紅外火焰探測器對火焰進行監(jiān)控,但是受探測器實際安裝位置和探測角度有限的影響,在試驗臺架內部一些位置發(fā)生初期火焰時,探測器無法探測到火焰從而無法可靠觸發(fā)報警,錯過滅火最佳時期。而試驗臺架內部有相當完善的攝像頭監(jiān)控系統(tǒng),每個試驗臺架部署有2個以上網(wǎng)絡監(jiān)控攝像頭,基本實現(xiàn)了對試驗臺架內部的無死角監(jiān)控,且圖片信息隨時可以通過網(wǎng)絡推送到移動客戶端等供相關用戶查看。正式借助網(wǎng)絡攝像頭視野廣的優(yōu)勢和試驗室完善的智能報警安防系統(tǒng),本文提出了基于機器視覺的臺架火災監(jiān)測方法。
本監(jiān)測方法首先獲取網(wǎng)絡攝像頭傳輸?shù)囊曨l流,然后通過算法獲取每一幀圖片中可能為火焰的靜態(tài)區(qū)域,并結合幀間特征將動態(tài)區(qū)域進行捕獲,利用兩者的交集經(jīng)過一定的算法處理組合成關鍵特征圖片,將此圖片傳入訓練好的神經(jīng)網(wǎng)絡模型進行識別,如果識別為火焰,系統(tǒng)便向試驗室報警安防系統(tǒng)發(fā)出信息,控制安防系統(tǒng)發(fā)出警報,從而加速初期火災撲滅進度,提高試驗臺架安全性。
火焰實際發(fā)生時受光照、攝像頭參數(shù)等影響,經(jīng)攝像頭傳輸后其顏色特征極易發(fā)生變化,為了更好地針對內燃機試驗臺架這個特定環(huán)境,我們在臺架內部進行了模擬火焰發(fā)生試驗,結合真實火災事故和網(wǎng)絡上的部分火焰圖片,本方法共收集制作了40 720張圖片組成樣本集,其中火焰樣本集有15 100張圖片,部分參與訓練的火焰樣本如圖1所示。本火焰樣本制作的目的是為了更好地發(fā)現(xiàn)初期火焰,因此要求樣本圖片中火焰像素占比盡量小同時又要防止占比過小引起訓練過程中關鍵特征消失。因此收集的火焰圖片都是經(jīng)過篩選后火焰像素面積占比在6%~50%的圖片。
圖1 用于訓練的火焰圖片
實際研究過程中發(fā)現(xiàn)臺架測功機、人員等均可能對模型識別產(chǎn)生干擾,因此我們采用分類神經(jīng)網(wǎng)絡模型進行訓練時將圖像分成了4類,分別對應火焰、測功機、人員和其他非火焰。
利用Pytorch工具對樣本集進行一定的數(shù)據(jù)增強和歸一化處理后,修改InceptionV3網(wǎng)絡輸出層參數(shù)以符合分類需求,然后利用該網(wǎng)絡對制作好的樣本集進行了訓練和驗證,訓練準確度大于99%時停止訓練,從而得到最終的神經(jīng)網(wǎng)絡模型。經(jīng)驗證,模型對驗證集有很好地識別準確率,準確率大于96%。由于訓練方法比較常見,本文不再詳細描述訓練過程。雖然模型對驗證集有較高的識別度,但是在實際測試時發(fā)現(xiàn)模型識別視頻中火焰的效果很差,分析發(fā)現(xiàn)攝像頭傳輸?shù)闹髁饕曨l幀分辨率很高,一般分辨率超過1 920像素×1 080像素。實際發(fā)生初期火災時,火焰在原始圖片中的像素占比很?。娣e占比一般小于2%),如果直接將整張圖片傳入神經(jīng)網(wǎng)絡,將極大降低火焰識別準確率。同樣如果直接訓練這樣的圖片,因為火焰關鍵特征像素占比很小容易導致訓練過程中火焰特征消失從而使得訓練識別效果非常差。
通過第1章分析可得出,模型在識別較大火焰圖片時效果較好,但是識別小火焰圖片時效果很差。根據(jù)我們對內燃機試驗臺架歷史火災事故統(tǒng)計,96.2%以上的火焰圖片為分辨率小于56像素×56像素的圖片,為此有必要研究小火焰圖片識別準確性的方法。因此,我們針對攝像頭傳來的視頻幀進行了預處理:只有圖片中有符合我們要求的信息時才會傳入神經(jīng)網(wǎng)絡模型做進一步分析。傳入神經(jīng)網(wǎng)絡模型前先對圖片進行分類處理以獲得關鍵區(qū)域,將關鍵特征圖片分為三類,分別對應224像素×224像素、112像素×112像素和56像素×56像素這三種。具體分類由實際關鍵特征圖片分辨率大小決定。
對于攝像頭傳來的原始幀,我們首先分析圖片的特征并與火焰顏色特征進行比較,如果符合火焰顏色特征,則將符合的部分轉換成二值化圖片MASK1。其中火焰顏色特征主要參考何愛龍的判定規(guī)則結合臺架內實際火焰特征定義規(guī)則為
規(guī)則中,R、G、B分別代表每個像素點在RGB空間上的紅色、綠色、藍色分量;H、S代表每個像素點在HSV空間上的色調、飽和度分量;R取115,S取55。當獲取完圖片的火焰特征后再分析其動態(tài)特征,利用高斯混合模型來獲取動態(tài)特征,同樣將符合運動的部分轉換成二值化圖片MASK2,MASK1和MASK2的交集對應原始幀中區(qū)域便是感興趣區(qū)域ROI,即ROI=MASK1∩MASK2,ROI經(jīng)過進一步處理便可得到關鍵特征圖片。攝像頭關鍵特征圖片獲取示意圖如圖2所示,圖2 a為攝像頭傳來的原始視頻幀,圖2 b為通過上述方法來獲取關鍵特征圖片的示意圖,圖2 b中左側分別代表火焰的動態(tài)特征和火焰的顏色特征,右側代表獲取到的關鍵特征圖。
圖2 攝像頭關鍵特征圖片獲取示意圖
如果交集ROI為0,則本幀圖片將不會被分析處理,系統(tǒng)將直接分析下一幀圖片;如果ROI不為0,則根據(jù)ROI大小先截取關鍵特征區(qū)域。如前文所述,如果ROI像素大于112像素×112像素,則以圖片為中心在原始幀上截取224像素×224像素分辨率的圖片,截取過程中可能會因為圖片中心過于靠近原始幀邊界導致截取失敗,此時可以根據(jù)具體邊界情況適當調整,以成功獲取需求的關鍵特征圖片。首先獲取ROI的起始像素點(S,S),ROI高度R和寬度R以及原始幀的高度I和寬度I,然后按下述計算公式計算關鍵特征圖片的起始點(S’,S’):
得到起始點后,便可以根據(jù)目標分辨率截取關鍵特征圖片。
如果分辨率大于56像素×56像素且小于112像素×112像素,則按照上述方法截取112像素×112像素分辨率的圖片;獲取公式與上式類似。同理當分辨率小于56像素×56像素時,按上述方法截取56像素×56像素分辨率的圖片。
驗證發(fā)現(xiàn),火焰區(qū)域分辨率大于56像素×56像素時,模型能較好地完成火焰識別工作,當小于56像素×56像素時雖然也可以識別出火焰,但是很容易導致一些非火焰目標被誤識別成火焰,為此,每當獲取到一幀小于56像素×56像素分辨率的關鍵特征圖片時,我們都繼續(xù)以該圖片中心為中心截取接下來連續(xù)3幀原始幀對應的區(qū)域作為關鍵特征圖片,分辨率仍然為56像素×56像素,這樣便得到了4張56像素×56像素的圖片,按照從左到右從上到下的順序把這4張圖片組合成一張112像素×112像素的圖片,以此作為關鍵特征圖片傳入神經(jīng)網(wǎng)絡再進行分析,如圖3所示。
圖3 拼接組合的火焰圖片
根據(jù)關鍵特征圖片提取算法,共提取到1 182幀關鍵特征。因此方法相較原始幀直接傳入神經(jīng)網(wǎng)絡分析對計算機資源占用降低了98%。
利用4種方法將圖片傳入同一神經(jīng)網(wǎng)絡模型后識別統(tǒng)計結果見表1,其中火災事故識別率定義為在火焰發(fā)生10 s內模型監(jiān)測到火焰的概率,視頻幀識別率定義為每一幀火焰圖片傳入神經(jīng)網(wǎng)絡后被成功識別的概率,視頻幀誤檢率定義為每一幀非火焰圖片傳入神經(jīng)網(wǎng)絡后被誤識別成火焰圖片的概率,火災事故誤報率定義為整個視頻播放期間模型將非火焰目標誤識別成火焰目標觸發(fā)誤報警的概率。表中方法A表示直接將原始幀傳入神經(jīng)網(wǎng)絡分析的方法;方法B表示將所有關鍵特征區(qū)域截取成224像素×224像素分辨率的圖片后進行分析的方法;方法C是將實際關鍵特征區(qū)域劃分為224像素×224像素、112像素×112像素和56像素×56像素的關鍵特征圖片后進行分析的方法;方法D是在方法C的基礎上,按照上文所述拼圖方法將56像素×56像素分辨率圖像拼接成1張112像素×112像素圖片后進行分析的方法。
表1 不同方法下火焰識別能力比較
由上表分析可知,方法A和方法B雖然幾乎沒有火災事故誤報率和視頻幀誤檢率,但火焰事故識別率較低,尤其是方法A,幾乎無識別能力。方法C和方法D都有很好的火災事故識別率,雖然方法D相較方法C視頻幀識別率減少了4.76%,但是視頻幀誤報率只有方法C的8.95%,火災事故誤報率相比方法C降低了91.68%。因此本文采用的方法D能夠對內燃機試驗臺架內部火災進行可靠監(jiān)測同時又盡可能少的減少了誤報率。
基于前文的內容,部署模型進行內燃機試驗臺架火災監(jiān)控測試。利用多線程的方式分別獨立獲取網(wǎng)絡攝像頭視頻流以及將視頻流傳入神經(jīng)網(wǎng)絡模型。網(wǎng)絡攝像頭是非常成熟的產(chǎn)品,可以利用攝像頭廠家提供的SDK或者利用RTSP協(xié)議來獲取視頻流。然后利用OpenCV工具對視頻流進行格式處理,結合第3章關鍵特征圖片獲取方法,將獲取的關鍵特征傳入OpenCV的DNN處理函數(shù)中,如果識別到火焰便以Web Sevice服務的形式傳送報警指令來控制報警系統(tǒng)報警,從而達到火災監(jiān)測的目的。