節連彬, 趙嘉興, 劉毅敏
(國網山西省電力公司 a. 陽泉供電公司, b. 營銷部, 山西 陽泉 045000)
目前變電站正向自動化、無人化方向發展,消防監控是變電站消防安全管理的有效途徑[1]。大多變電站消防設備除了具備感溫、感光、感煙功能外,還增加了“遙視”功能。通過對遠程傳輸圖像進行處理可以及時檢測是否存在火災,具有遠程非接觸特點。“遙視”圖像處理技術可使火災能夠在較短時間內得以有效識別且不受空間位置影響,避免造成經濟損失和社會影響,確保實現變電站的全年消防安全目標[2-3]。
圖像處理技術是通過計算機對圖像進行分析、歸納、總結來辨別圖像中目標所屬類的一種技術。圖像處理技術通常包括圖像預處理、目標檢測、圖像分割、特征提取、特征選擇、目標分類等[4]。YAMAMOTO等[5]提出了一種融合思想,將監控的紅外圖像和彩色圖像融合為一幅圖像,通過增強視覺效果來識別電力傳輸線,該方法識別精度較低,容易出現漏診和誤診情況。趙夢琦[6]提出了一種基于拓撲理論數學形態學的圖像分割方法—分水嶺算法,能夠針對圖像邊緣進行精準定位,但對梯度圖像中的紋理和噪聲較敏感,容易引起過分割現象。T?REYIN等[7]利用火焰顏色會隨著時間推移而發生變化的特性,提出了一種結合火焰顏色特征識別的火災圖像處理算法,采用小波分析和頻率統計算法,通過比較火災圖像序列差異實現火災識別,該方法識別精度較高,但仍存在漏診情況,此外該算法需要處理數據量較大,需要多幀復雜視頻比較,不適宜遠程傳輸且增加了火災識別時間。
針對上述方法的不足,本文提出了一種采用K-means聚類算法的圖像處理方法。通過提取變電站監控圖像的HSI特征,針對該特征進行圖像子集聚類,分割火災子集、類火災子集和非火災子集,并結合火災紋理、邊緣特征采用樣本熵信號處理算法進一步識別火災區域。由于該處理方法適用于靜態圖像,因而降低了運算時間,能夠進行實時火災識別。本文搜集整理200幅變電站消防監控圖像,運用Python3.7開發工具進行建模仿真,實驗驗證了所提方法的準確性。
圖1為RGB和HSI顏色模型。變電站消防監控圖像通常屬于RGB顏色模型,由紅(R)、綠(G)、藍(B)三原色組成。RGB顏色模型只反映了顏色特征并未體現亮度特征。當火焰亮度發生變化時,設定的分割圖像子集閾值發生變化,進而降低火災識別準確率[8]。HSI顏色模型是一種更加符合人眼視覺系統描述和顏色方式解釋的顏色模型,由色調(H)、飽和度(S)、亮度(I)三個特征構成。色調表示顏色頻率;飽和度表示顏色深淺;亮度表示顏色強度,有利于對火災顏色特征進行識別。HSI顏色模型可以從彩色圖像攜帶的色調和飽和度特征中消去強度分量的影響,進而使得該模型能夠應用在類火災子集圖像處理算法中[9]。

圖1 RGB和HSI顏色模型Fig.1 RGB and HSI colour models
變電站火災原始圖像如圖2所示。該圖像屬于RGB顏色模型,模型三個維度R、G、B范圍為[0,255],可與HSI顏色模型相互轉換。對RGB模型進行歸一化處理,則

圖2 變電站火災原始圖像Fig.2 Original image of substation fire
(1)
式中,R′、G′和B′分別為R、G、B的歸一化處理值。
將RGB顏色模型轉換為HSI模型,即
(2)
(3)
(4)
式中,θ為色調角度,θ∈[0,2π]。轉化后變電站火災圖像如圖3所示。

圖3 變電站火災特征提取圖像Fig.3 Feature extraction image of substation fire
K-means聚類算法[10]是一種典型無監督學習分類方法,其目的是將數據樣本劃分成有意義或有用的簇并應用于變電站消防監控圖像中。K-means聚類算法將由一定數據樣本構成的特征(HSI顏色特征)矩陣劃分為無交集的簇(火災子集、類火災子集、非火災子集)用以表征聚類表現結果。通常情況下定義每個簇內所有數據樣本的均值為該簇的“質心”。在K-means聚類算法中簇的個數是一個超參數,需要根據具體情況確定。隨機選取一定像素點作為初始質心,計算每個像素點到每個質心的距離,將離質心最近的像素點分配到該質心所屬的簇中。采用歐式距離法進行計算,即
(5)
式中:x為簇中像素點位置;α為簇中質心位置;n為像素點特征數量;i為像素點特征值。
重新計算每個簇中所有數據樣本的均值并將其作為新的質心,直到簇不再發生變化或達到最大迭代次數。實際上,在質心不斷變化的迭代過程中,簇內每個樣本點到質心的距離平方和(簇內平方和)越來越小。因此,K-means求解過程變成了一個簇內平方和最優化的問題,具體算法流程如圖4所示。

圖4 K-means聚類算法流程Fig.4 Flow chart of K-means clustering algorithm
變電站監控圖像中可能存在與火焰相近顏色或特征的物體。因此,采用K-means聚類算法先將圖像中特征相似的物體聚類于同一簇中,可以有效降低火災識別復雜度[11]。
圖5為原始圖像與K-means聚類結果。圖5a變電站火災原始圖像具有307×410個像素點,每個像素點有H、S、I三個特征,共計125 870個顏色點。通常變電站消防監控圖像包括變電站設施、天空、場地等區域,而火災區域又分為火焰和被火焰照射區域。設置超參數為5,按照圖4所示流程進行K-means聚類得到5個簇。圖5b為聚類后形成的天空區域圖像子集;圖5c為聚類后變電站設施和煙霧區域圖像子集;圖5d聚類后為場地和其他區域圖像子集;圖5e為聚類后火焰照射區域圖像子集;圖5f為聚類后火焰區域圖像子集。

圖5 原始圖像與K-means聚類結果Fig.5 Original image and K-means clustering results
對100幅變電站火災圖像進行K-means算法分割后的分析結果表明,火災區域圖像子集H特征范圍集中在[0,0.17],S特征范圍集中在[0,0.47],I特征范圍集中在[0.56,1]。因此,可以通過提取原始監控圖像的HSI特征判斷該圖像的所有像素點是否在火焰區域特征范圍內,若是,則進行相應標記。相對分水嶺分割方法,K-means聚類算法考慮了像素點的更多特征且可以避免圖像中的像素點陷入局部分割,具有較強魯棒性。
僅通過K-means算法分割圖像子集,再利用HSI顏色特征閾值判定法來識別火災的準確率較低。因為變電站消防監控圖像中可能包含與火焰色調、飽和度、亮度近似的物體,消防柜、消防管、紅色標志等均有可能作為火災區域被標記出來。圖6為變電站監控原始圖像和類火災子集。由圖6可見,圖像中的消防柜在圖像子集分割時被誤認為是火災區域而標記出來。因此,需要對基于HSI顏色特征的K-means聚類算法進行優化。

圖6 變電站監控原始圖像和類火災子集Fig.6 Original image and fire-like subset of substation monitoring
樣本熵[12-15]是一種新的衡量時間序列復雜度算法,信號中產生新模式的概率越大,序列復雜度越大,樣本熵值越大。通過對火災圖像子集和類火災圖像子集的邊緣、紋理、灰度等特征進行比對與分析后發現,火焰信號分布較為雜亂且無規律,相對于消防柜、消防管等復雜度高得多。因此,可以通過計算標記火災區域的樣本熵值進行火災判定。樣本熵具體計算流程為:
1) 將標記為火災區域的圖像子集降維成長度為N的時間序列β(n),1≤n≤N。
2) 根據比較維度構造一組m維空間向量Y(i),Y(i)={β(i),β(i+1),…,β(i+m)},1≤i≤N-m+1。




選取50幅既包含火災區域又包含類火災區域的變電站監控圖像,設置N=1 200,m=3,r=0.15。計算標記為火災圖像子集的樣本熵,結果如圖7所示。火災區域的樣本熵值范圍為[0.8,2.0],類火災區域的樣本熵值范圍為[0.2,0.75]。設置樣本熵閾值為0.8,當標記為火災圖像子集的樣本熵值大于0.8時,判定為存在火災并進行報警;當樣本熵值小于0.8,則判定為非(類)火災區域。

圖7 火災區域和類火災區域樣本熵對比Fig.7 Comparison of sample entropy between fire and fire-like areas
在實際變電站消防監控中發生火災是小概率事件[16-17]。因此,火災識別數據集是不平衡數據集,采用正確率作為實驗評價指標意義不大。本文選取TPR(真正類率)和FPR(假正類率)作為驗證所提方法性能的評價指標。存在火災記為正,無火災記為負,即
(6)
(7)
式中:TP為識別為正實際為正的樣本數;FN為識別為負實際為正的樣本數;FP為識別為正實際為負的樣本數;TN為識別為負實際為負的樣本數。TPR為識別存在火災實際也存在火災的樣本數占實際發生火災總數的比例,TPR越大表征性能越優,若TPR為100%則表示未出現漏診;FPR為識別存在火災實際非火災的樣本數占實際非火災總數的比例,FPR越小表征性能越優,FPR為零表示未有誤診。在變電站消防監控應用中,漏診危害遠高于誤診,因而需要更加關注TPR指標。
選取某110 kV變電站安全區域作為試點區域,整個實驗過程時長100 min。由變電站專業人員在30 min時進行點火,火焰持續10 min后滅火。通過攝像頭拍攝并將視頻導入消防監控平臺。平臺每隔30s生成一幅圖像(共計200幅圖像,其中火災圖像20幅)并調用火災識別模型腳本。利用開發工具Python3.7 OpenCV庫編寫模型腳本,建模流程如圖8所示。

圖8 圖像處理建模流程Fig.8 Flow chart of modelling for image processing
傳統分水嶺算法因過分割問題導致火災區域無法被識別,因而采用改進分水嶺算法(在圖像處理前后進行預處理)作為算法1與本文所提方法(算法2)對200幅變電站消防監控圖像進行分割與火災識別對比,識別結果如表1所示。實際存在火災的20幅圖像中算法1識別出14幅,漏診率為30%,算法2識別出20幅,未有漏診情況;實際為非火災的180幅圖像中,算法1有37幅識別為火災圖像,誤診率為20.56%;算法2有8幅圖像識別為火災圖像,誤診率為4.44%;算法1與算法2火災識別并報警平均時間t分別為21.68 s和15.21 s。

表1 火災識別結果Tab.1 Fire identification results
算法1僅使用每個像素點的灰度值單一特征,會受到類火災圖像子集的影響導致火災漏診率和誤診率較高。另外,在分水嶺算法分割前,需要采用像素標記和濾波方式進行圖像預處理,從而降低噪聲和紋理的影響。分水嶺算法分割后通過自定義合并規則進行受噪聲或紋理影響的極小鄰接區域合并,雖然有效抑制過分割現象,但模型算法復雜度增加同時也延長了圖像火災識別時間。算法2提取了HSI表征火焰的3項特征且采用歐氏距離進行聚類,可以避免局部噪聲的影響,降低漏診率和誤診率的同時縮短了識別時間。此外,算法2的8幅誤診非火災圖像中均包含類火災圖像子集,類火災區域樣本熵值介于0.80~0.81之間,因此考慮可以通過提高樣本熵值的閾值精度來降低誤診率。
針對變電站消防監控圖像火災識別存在誤診甚至漏診的情況,在基于HSI特征的K-means聚類圖像分割基礎上進行火災區域(類火災區域)標記,克服了僅用單一特征識別火災區域的缺陷且具有較強魯棒性。利用火災區域序列復雜度大于類火災區域序列復雜度的特性,采用樣本熵閾值法判別是否為火災區域并進行報警,提高了火災識別方法的準確性。200幅變電站消防圖像實驗結果表明,所提圖像處理方法規避了火災漏診風險,誤診率僅為4.44%,每幅圖像平均識別時間為15.21 s,能夠實現火災的迅速精準識別。未來可通過分析更多火災(類火災)圖像樣本,考慮更全面的特征優化樣本熵閾值,進一步降低誤診率。