徐宏宇,續(xù) 婷
(沈陽航空航天大學 電子信息工程學院,沈陽 110136)
火災是一種突發(fā)性強,威脅人們生命財產安全和社會發(fā)展的災害,后果往往非常嚴重,因此準確識別火災和及時撲救就顯得非常重要?;馂膱D像的識別算法研究一直是圖像識別研究領域的重要組成部分,遺傳算法[1]、灰度共生矩陣算法[2]、小波算法、局部二值LBP[3]、KNN算法和蟻群算法等都是研究中的熱點,較常用的識別分類器有向量機SVM、神經(jīng)網(wǎng)絡、隨機森林等。Zhou[4]提出了一種端到端的雙流神經(jīng)網(wǎng)絡火災檢測模型,具有很好的實用性和通用性;馮麗琦等[5]利用火焰RGB顏色特征提取疑似火焰區(qū)域,濾波后提取紋理特征用SVM進行識別,有很好的分類效果;Li[6]提出了一種新的基于FAST-RCNN、R-FCN、SSD和YOLOv3等先進目標檢測CNN模型的圖像火災檢測算法,提高了精度和魯棒性;史海山[7]根據(jù)紅外圖像的火災信息完成了對火災信號的特征提取,設計了基于遺傳算法的人工神經(jīng)網(wǎng)絡識別算法方案,效果良好;Chen[8]利用SIFT算法提取火災特征描述子,通過火災顏色空間對局部噪聲特征點進行濾波,再將特征描述子轉化為特征向量,利用IV-SVM分類器建立火災快速識別模型。
根據(jù)以上分析,提出一種基于火焰顏色和紋理的優(yōu)化SVM火焰識別方法。算法首先根據(jù)火焰像素特有的亮度、色度等特征,分別在RGB顏色空間和YCbCr顏色空間[9]得到火災疑似區(qū)域,求取并集后得到最終的疑似區(qū)域;其次根據(jù)Uniform LBP提取火焰局部紋理特征;再把經(jīng)核主成分分析算法(KPCA)[10-11]降維后的特征向量輸入到量子遺傳算法優(yōu)化參數(shù)后的SVM中進行火焰識別。識別算法流程如圖1所示。
圖1 識別算法流程圖
RGB是依據(jù)人眼識別的顏色定義出的空間,YCbCr顏色空間可以充分利用火焰亮度和色度信息。本文基于RGB和YCbCr兩種顏色模型分別檢測,當滿足下列兩個顏色空間的條件時,可以將圖像中的絕大多數(shù)非火焰像素濾除。
(1)RGB空間規(guī)則
(1)
其中R、G、B分別代表圖像的紅色、綠色和藍色分量。如果圖像像素滿足公式(1),則可以初步判斷為疑似火焰像素,進行下一個顏色空間判別。
(2)YCbCr空間規(guī)則
(2)
(3)
Y是YCbCr空間中顏色的亮度成分,Cb和Cr分別是藍色和紅色的濃度偏移量,I(x,y)表示轉換前的RGB圖像,Ymean指的是原RGB圖像亮度的均值,Crmean指的是紅色分量的均值。如果某點Y值大于Cb值,則保留原像素值,反之置為 0。接著對式(3)判斷,若滿足條件就保留R1像素值,否則記為0。同時經(jīng)過兩種顏色空間處理后可得到疑似火災區(qū)域。圖2為部分火災圖像疑似區(qū)域結果圖,上面一行均為原始火焰圖像,下面一行為經(jīng)過處理后的火災疑似區(qū)域,對比可以看出,這種方法能夠有效地從圖像中分割出火焰目標區(qū)域。
圖2 火災圖像及其疑似區(qū)域結果圖
圖3為部分非火災圖像疑似區(qū)域結果圖。第一行均為原始圖像,第二行為應用規(guī)則處理后的圖像。前兩組圖說明RGB-YCbCr規(guī)則應用良好,第二組中圖像右側沙發(fā)并沒有被提取出,說明算法可以排除一部分類似火焰顏色的干擾物。第三組圖中有關夕陽的部分被檢測出來,是因為其在顏色、亮度上與火焰相似,僅使用這種方法不能很好地判別。
圖3 非火災圖像及其疑似區(qū)域結果圖
綜上,根據(jù)兩種顏色空間可以初步提取出火災疑似區(qū)域,但對于部分在顏色、亮度上與火焰類似的圖像有誤提取的情況出現(xiàn),需要另外的特征加以辨別。
1.2.1 Uniform LBP紋理特征
在圖4這組圖中,左邊是經(jīng)顏色規(guī)則過濾后的圖像,右邊是將左圖轉化為灰度圖像后對LBP紋理特征提取的轉化結果圖;上面一行是火災圖像及其火焰紋理特征圖,下面是類火焰圖像夕陽及其紋理特征圖。由圖4可知兩者存在較明顯差異?;鹧鎴D像的紋理較密集,呈面狀分布,夕陽圖像紋理特征主要以條狀分布為主,密度沒有火焰大。其他類火焰圖像如紅楓林、燈牌、煙霧等紋理也與火焰紋理不同,因此可以通過紋理特征進一步將其區(qū)分開來。
圖4 兩類圖像及其LBP紋理特征圖
一個3×3的LBP算子可以得到256個LBP特征,這個數(shù)值還會隨著鄰域的擴大呈指數(shù)性增加,對圖像紋理提取和分類識別產生負面作用,降低紋理表達的效果。Uniform LBP把原始LBP的256個特征值分為59個,一方面較好地描述圖像局部紋理,另一方面減少高頻噪聲帶來的影響。實驗中為了便于識別,統(tǒng)一將圖片大小調整為256×256后再提取紋理特征,把圖片劃分為16×16的小塊,對每個區(qū)域中的像素計算LBP值,得到直方圖后對數(shù)據(jù)進行歸一化處理,最后將所有直方圖連接成一個向量即得到整幅圖的紋理特征向量。這樣一來,向量維數(shù)大大上漲,且包含大量冗余特征,為了提高分類準確率需要對向量進行降維處理。
1.2.2 核主成分分析降維
一般來說,主成分分析(PCA)用于數(shù)據(jù)的線性降維,而核主成分分析(Kernel PCA,KPCA)可處理線性不可分的數(shù)據(jù)集。KPCA算法對于輸入矩陣X,采用非線性映射原理把X中的所有樣本變換到高維,甚至是無窮維特征空間,再對其進行PCA降維,通過切換維度空間降低計算難度,避免復雜運算。本文對特征重要性因子進行降序排列后選取特征重要性大于90%的433維特征向量。
對于火災等非線性的數(shù)據(jù),SVM引用核函數(shù)進行處理,這時它的優(yōu)化問題變?yōu)椋?/p>
(4)
其中C為懲罰參數(shù),k(x,xi)為核函數(shù),本文采用高斯徑向基核函數(shù)作為分類核函數(shù)。實驗表明核參數(shù)g和懲罰因子C取不同值時,其識別率也不同,這說明參數(shù)選擇對分類結果有很大的影響。為了得到更好的識別效果,就需要對這兩個參數(shù)進行尋優(yōu)操作。
遺傳算法(Genetic Algorithm,GA)通過模擬生物進化中的優(yōu)勝劣汰求解出優(yōu)化問題的全局最優(yōu)解,該方法是當前應用最廣泛的優(yōu)化算法之一,但其缺點是易陷入局部最優(yōu)的陷阱。量子遺傳算法[12-14]是量子計算與遺傳算法相結合的產物,它將量子編碼、量子態(tài)、量子門、量子特性、概率幅等量子概念融合進遺傳算法當中,增加染色體變化的可能性,當種群規(guī)模不變時,候選解個數(shù)變?yōu)镚A算法的兩倍,使解空間變得豐富多元,提高了尋優(yōu)成功概率。和GA相比QGA,有以下幾點不同:
(1)QGA采用量子位進行編碼,不再采用單調的二進制位編碼;
(2)每一個量子位均是不確定的狀態(tài),屬于0和1的疊加態(tài),因此解碼操作有所不同;
(3)QGA不再單純地僅進行交叉變異操作,而是通過量子旋轉門更新染色體。
在量子計算中,量子比特|0>和|1>表示微觀粒子的兩種基本狀態(tài),根據(jù)疊加原理,量子信息的疊加態(tài)表示為這兩個基本態(tài)的線性組合,即
|ψ〉=α|0〉+β|1〉
(5)
式子中α、β表示量子位狀態(tài)的概率幅,且滿足α2+β2=1。
由于量子編碼作用下的染色體不再是單一的純態(tài),因此要通過量子旋轉門作用于量子染色體的基態(tài)使其相互干涉,改變量子比特相位以更新量子位的概率幅,從而達到基因變異的效果。量子旋轉門的設計對整個算法至關重要,使用量子旋轉門U更新種群時,對于每個量子染色體的每個量子位執(zhí)行如下操作:
(6)
表1 量子旋轉門參數(shù)設置
量子遺傳算法的算法流程圖如圖5所示:
圖5 量子遺傳算法流程圖
實驗選取470幅圖像參與識別,其中火災圖像210幅,非火災圖像260幅。在非火災圖像集中,除普通生活場景外還包括大量類火焰干擾圖,例如燈牌、火災煙霧、日出、夕陽、紅楓林等。為了檢測本文所提出算法的有效性,實驗通過3種算法進行分析比較。在MATLAB編程環(huán)境下,采用相同的實驗數(shù)據(jù),分別選取傳統(tǒng)支持向量機(SVM)、基于遺傳算法優(yōu)化的支持向量機(GA-SVM)和基于量子遺傳算法優(yōu)化的支持向量機(QGA-SVM)進行識別實驗,記錄各自算法采用十折交叉驗證后得到的分類準確率。
圖6分別給出了基于遺傳算法的優(yōu)化方法GA-SVM和基于量子遺傳算法的優(yōu)化方法QGA-SVM兩者的參數(shù)尋優(yōu)過程曲線。
圖6 不同算法參數(shù)尋優(yōu)過程曲線
圖7是不同的懲罰參數(shù)c和高斯核參數(shù)g對識別結果的影響,橫坐標表示不同懲罰參數(shù)c的取值,縱坐標表示不同核參數(shù)g的取值,圖中所標數(shù)字為當前c、g參數(shù)對應的分類準確率。
圖7 參數(shù)c、g對識別準確率的影響
從圖中可以看出,不同的c、g有可能對應相同的最佳分類準確率[15],這種情況下要優(yōu)先選擇具有最小c的那組參數(shù),這是因為過高的懲罰參數(shù)c會造成過學習狀態(tài),從而造成測試不理想。
表2給出了3種算法尋找到的最優(yōu)參數(shù)c、g以及最優(yōu)參數(shù)對應的最優(yōu)適應度,最后一欄是算法運行5次的平均參數(shù)尋優(yōu)時間。
表2 不同算法參數(shù)尋優(yōu)結果比較
由表2可以得出,QGA-SVM算法的準確率是三者中最高的,證明了本文所提算法的有效性。從時間上來看,QGA-SVM算法的平均耗時略大于GA-SVM,但遠小于SVM,說明算法針對SVM在時效性上有了提高,應用于實際生活中可以更快更好的發(fā)現(xiàn)火災情況,及時作出反應。
ROC曲線分析和混淆矩陣是二分類問題中評判分類器性能的重要指標。AUC被定義為 ROC曲線下與坐標軸圍成的面積,它為分類算法的性能對比提供了數(shù)字化依據(jù)。實驗利用測試集的分類結果可以得到表3所示的評價指標。
表3 二分類分類器性能評價指標
實驗將測試集分別用SVM、邏輯回歸算法、樸素貝葉斯算法進行識別分類,得到各算法的ROC曲線和準確度等評價指標,如圖8和表4。
圖8 不同分類器的ROC曲線
表4 不同算法評價指標結果
對比結果可知,支持向量機分類準確率最高,精確度、靈敏度特異性等均取得最優(yōu)結果,AUC略小于邏輯回歸算法,但高于樸素貝葉斯。綜合來說,SVM相對于其他分類器擁有較好的分類效果。
文中提出的算法綜合運用了火焰的顏色、亮度以及紋理特征,借助 SVM 分類器實現(xiàn)火焰識別,其中SVM的參數(shù)c和g是通過量子遺傳算法尋優(yōu)后得到的最佳參數(shù)。實驗結果表明,本文提出的算法可以有效識別出火焰與非火焰圖像,對于燈牌、火災煙霧、日出等干擾性比較強的圖像可以很好地進行分類,識別率達到90%以上,算法魯棒性較強。