許文倩
(福建省特種設備檢驗研究院,福州 350008)
應急管理部消防救援局在2021年2月1日發(fā)布了2020年全國火災情況:2020年全年全國消防救援隊共接報火災25.2萬起,死亡1183人,受傷775人,直接財產損失40.09億元. 為了減少火災對生命與財產造成的損失,在火災初期發(fā)現(xiàn)火源、定位火源具有重大意義.
現(xiàn)階段普遍采取煙霧報警器、紅外探測器以及人工監(jiān)控等方法對火災進行預警以及識別. 然而,此類檢驗方法存在滯后性,傳統(tǒng)監(jiān)控方法對濃煙等模糊環(huán)境易形成誤判,在有可燃氣體、可燃物的環(huán)境中對點火、抽煙此類微小火源或動作等所導致的火災常常出現(xiàn)漏判等等問題. 近年來,隨著計算機視覺(computer version)以及深度卷積神經網絡(deep convolutional neural networks)等算法的蓬勃發(fā)展,此類微小或復雜的火源圖像特征可通過深層神經網絡進行訓練或學習,從而提高模型對現(xiàn)實的表達能力[1-4]. 因此,本研究通過初步分析火焰結構、采用特征融合等方法[5-6]搭建多層卷積神經網絡,將火源作為火災引發(fā)的重要因素,在傳統(tǒng)監(jiān)控、中控系統(tǒng)加入機器視覺的方法對目標進行跟蹤檢測,如圖1所示. 當監(jiān)控系統(tǒng)檢測到火源時將信號反饋回中控并報警,使工作人員迅速獲取火源信息. 該系統(tǒng)有助于在火源初期進行定位與預警,正確合理輔助滅火救援,從源頭控制火災發(fā)生與火勢蔓延,避免人員以及財產損失.
圖1 火源預警監(jiān)控系統(tǒng)Fig.1 Fire source warning and monitoring system
該系統(tǒng)的檢測核心為搭建針對火源的目標檢測算法,目前常用的目標檢測方法有R-CNN(Regions with Convolutional Neural Network)、Fast R-CNN(Fast Regions with Convolutional Neural Network)、SSD(Single Shot Detector)、YOLO(You Only Look Once)等. 其中YOLO 系列網絡可將整張圖片作為網絡的輸入,結果返回輸出層所回歸的邊界框位置及其所屬類別,該方法是目前業(yè)界最先進的物體檢測的方法之一. 它具有處理速度快、檢測精度高,并且能完成不同尺度大小的目標檢測的能力[7]. 該方法已用于安全帽佩戴檢測[8-10]、遙感影像目標檢測[11]、道路信息檢測[12-13]、行人檢測[14-15]、工件零件識別[16]等. YOLO 系列第三版檢測算法YOLO v3,在小目標檢測精度上有顯著提高[17]. 因此,本研究采用基于YOLO v3 網絡結構,以火源作為目標搭建檢測系統(tǒng),從而提高火源檢測的準確度.
此外,在數據集收集方面,采樣火源樣本以及火災現(xiàn)場存在危險性,使得采樣難度大、數據集稀少,對算法優(yōu)化造成了困難. 因此,研究采用虛擬現(xiàn)實仿真技術,模擬真實環(huán)境靜態(tài)和動態(tài)特性[18],選用Unity 3D仿真軟件對火源場景進行模擬,增加數據樣本,提高收集數據的效率,并為樣本的多樣性提供了有力支持.
由于傳統(tǒng)監(jiān)控系統(tǒng)配置圖形處理器(GPU)存在升級費用高、改造難度大等問題. 因此,研究采用python 作為控制語言,搭建一種基于YOLO v3、可嵌入中央處理器(CPU)運行監(jiān)控、中控的火源預警監(jiān)控系統(tǒng),系統(tǒng)設計具體過程如圖2所示. 通過現(xiàn)實與虛擬仿真采樣數據集,根據火源圖像特征進行圖像增強,構建目標檢測網絡,基于QT搭建監(jiān)控軟件接口,對危險火源進行預警,并記錄預警時間信息. 實驗結果表明,該軟件具有較高準確率,可在CPU環(huán)境下運行檢測,并滿足火源檢測預警的需求.
圖2 監(jiān)控系統(tǒng)結構Fig.2 Structure of warning and monitoring system
樣本收集采用虛擬現(xiàn)實混合方法進行,其中現(xiàn)實樣本數據主要來源于百度開放數據集(https://aistudio.baidu.com/)、fire image data set for dunnings 2018 study(https://collections.durham.ac.uk/)等互聯(lián)網數據. 對部分火源火災視頻樣本采用OpenCV分割視頻幀,將其改變?yōu)閳D片格式的數據樣本[19].
由于火源情況多變,且室內事故現(xiàn)場樣本稀少. 為此,采用Unity 3D 對事故進行仿真(圖3)從而增加樣本數據量,擴大火源種類覆蓋率.
圖3 火災現(xiàn)場室內仿真案例Fig.3 Indoor simulation of fire scenes
由于現(xiàn)實監(jiān)控中,監(jiān)控圖像分析對火源探測存在小樣本以及模糊樣本的問題. 為了使火源在火苗階段即可檢測預警,在研究中對該類現(xiàn)象進行模擬仿真,將部分數據集濾波并進行圖像模糊. 圖像濾波變換如公式(1):
其中:f(x,y)為原始圖像;g(x,y)為濾波圖像;k為模糊核(傳遞函數);n為其他視覺噪聲[20].
將圖像中每一個像素f(xi,yi)的取值重置為周邊相關像素的均值、中位值等.γ為該像素取值與周邊像素的模糊半徑,則像素f(xi,yi)相關取值的像素點為f(xi±γ,yi±γ),當γ=1 時,與像素f(xi,yi)相關取值的像素點為f(xi±1,yi±1). 因此,γ越大,圖像失真越嚴重,對應的視覺效果越模糊,從而實現(xiàn)圖像增廣的目的[21].模糊案例如圖4所示,將原始樣本進行了均值濾波,左圖原始圖片,右圖為模糊效果圖.
圖4 測試樣本模糊處理Fig.4 Blur processing of test sample
在數據集標注方面,采用圖像標注工具labelme 對火源圖片進行打標. 現(xiàn)實火源以及火災現(xiàn)場中,火焰與傳播媒介、煙霧等會同時存在,木柴等引火物體作為火源標定誤判的影響因素,標定期間盡量避免框入檢測范圍. 此外,增加類火顏色物體,如發(fā)光物,木色、黃色物品等圖片的采樣與仿真,并針對性地對火焰區(qū)域進行標注,從而避免此類情況引起的誤報.
研究采用了YOLO v3作為檢測主干網絡,采用多尺度融合結構,保障大小物體識別率,在檢測前期對監(jiān)控圖像進行增強預處理,提高識別效果.
在監(jiān)控狀態(tài)下,室內、夜晚等環(huán)境狀態(tài)圖片存在光線不明、像素較低等問題. 因此,增強圖片對比度與亮度有助于提高識別效果. 火源作為火災引發(fā)的導火索,在火焰中心普遍比周圍亮度高. 因此,采用線型變化增強方法將輸入網絡圖片進行預處理,如式(2)所示:
式中:I(r,c)為原始圖片像素點;O(r,c)為增強圖片像素點;H、W分別為圖像高度與寬度. 研究設置a=1.2增強對比度,b=10 提高亮度從而提高火源提取效果.
主干網絡采用YOLO v3,Darknet53 作為特征提取網絡主體[17],包含53 個卷積層. 為了避免梯度消失和梯度爆炸的問題,借鑒了殘差網絡(residual network)結構,在層間設置快捷鏈路(shortcut connections). Darknet53網絡殘差單元由ResX以1、2、8、8、4的數量組成5個殘差模塊堆疊而成. 殘差模塊ResX由DBL 單元和若干個Resunit 組合而成,其中,DBL 為深度卷積,Resunit 將輸入的特征圖進行兩次卷積堆疊.
輸入的樣本圖片經過大小重塑,統(tǒng)一尺寸為416×416,經過5 個步長為2 的殘差模塊下采樣,分別得到5 個尺度的特征圖. 為了加強算法對小目標檢測的精確度,采用類似特征金字塔FPN(feature pyramid networks)的upsample和融合方法,輸出為13×13×1024的特征圖. 融合多層特征,預測層的特征圖深度按式3×(5+C)計算,5表示預測框的寬度、高度、中心點橫縱坐標以及網格置信度,C表示總類別數[17]. 研究中火源作為被測目標,即C=1,因此,檢測網絡將在y1(18,13,13)、y2(18,26,26)、y3(18,52,52)共3個不同尺度的特征圖上完成檢測. 其網絡結構如圖5所示.
圖5 YOLO v3 檢測結構[9]Fig.5 The structure of YOLO v3
網絡采用目標邊界預測方法,如圖6所示,以特征圖左上角為原點,預測框位置偏移量為cx、cy,每個小格的長度為1. 在416×416尺度下對目標框中心點橫、縱坐標偏移值,寬度與高度尺度縮放網絡預測輸出的大小為(tx,ty,tw,th),pw與ph為目標框的映射寬與高. 采用sigmoid函數(σ)對tx、ty進行歸一化處理,通過tw、th與pw、ph相互作用后,轉換預測框為相對于圖片的坐標(bx,by,bw,bh). 預測結果按下式計算:
圖6 邊框位置預測示意圖Fig.6 Schematic diagram of bounding box position prediction
此外,YOLO v3 預測采用錨框計算方法,利用K均值聚類(kmeans clustering)粒子群,為每類下采樣設定3種先驗框尺寸[17],總共聚類出9種尺寸的錨框,研究依據火源識別數據集進行維度重聚類,采用的9個錨框分別為(10,14)(19,16)(23,31)(37,64)(38,14)(43,46)(51,32)(76,60)(109,98).
研究采用Anaconda 環(huán)境,Python3.7 語言,PyCharm 編輯器進行,基于Keras并可以在CPU模式運行. 算法采用仿真圖片與現(xiàn)實采樣相結合進行訓練與驗證,共使用4540 張訓練樣本,600 張優(yōu)化集以及125 張測試樣本,識別效果如圖7所示. 經驗證,該算法的火源識別MAP可達87.2%,該網絡具有良好的泛化能力和健壯性,在滿足檢測要求的前提下,具有較高的檢測精度,滿足應用要求.
圖7 火源檢測效果圖Fig.7 Fire detection results of test samples
此外,研究基于QT設計軟件接口,連接傳統(tǒng)監(jiān)控系統(tǒng)并測試檢測性能如圖8所示. 使用訓練好的模型來檢測火源以及火災險情,當檢測出火焰出現(xiàn)于監(jiān)控檢測的視野中,系統(tǒng)將發(fā)出預警,警告時間、內容將被用戶記錄保存. 測試證明,該方法檢測精度較好,對火災險情有預警作用.
圖8 報警和檢測系統(tǒng)的檢測軟件界面(左:待檢狀態(tài),右:檢測狀態(tài))Fig.8 The detection interfaces of the warning and monitoring system(left:initial state,right:inspecting state)
研究設計基于YOLO v3的火源預警監(jiān)控系統(tǒng),有效升級傳統(tǒng)監(jiān)控系統(tǒng),數據集采用仿真結合實際混合采樣增廣方法,可實現(xiàn)針對多場景小目標火源進行檢測,并采用圖像增強預處理方法,有效增強識別火源能力,有助于防范火災于未然.
由于目前火源數據圖片較少,下一步將繼續(xù)根據研究提出的仿真以及添加不同濾波方法進行圖像增廣,從而提升網絡系統(tǒng)識別能力. 此外,預警監(jiān)控系統(tǒng)將結合煙霧報警器、探測系統(tǒng)等傳感器,進行多傳感器融合分析,進一步提高目標檢測精度和檢測速度.