劉亞如 段中鈺
(北京信息科技大學信息與通信工程學院 北京 100101)
火災是人類安全的重大威脅之一,火災燃燒迅速、蔓延廣泛等特點,嚴重危及著人類的生命財產安全,影響社會的和諧穩定發展。因此,準確有效地識別火災圖像,及時對火災的發生進行預警和防控對保護環境和減少生命與財產損失具有重要的現實意義。圖像型火災檢測技術采用視頻分析,對火災圖像特征進行提取分析,實現火災識別[1-3]。目前許多學者針對圖像識別進行了大量研究,在火災識別方面也提出很多方法。文獻[4]中提出利用視覺注意機制進行火災探測和識別,文獻[5]中提出基于多通道卷積神經網絡的火災識別方法,文獻[6]提出了在火災探測中使用靜態和動態紋理分析的火焰檢測方法來提高分類精度,文獻[7]提出哈希編碼技術識別森林火災圖像的算法。
在實際應用中,為了提高識別的準確率,往往基于多特征融合,即提取多種火災特征進行綜合判別,因此,需要結合機器學習技術設計合適的火災識別分類器。采用支持向量機識別火災圖像具有較高的準確率[8-9],但是支持向量機參數的人為選擇在一定程度上影響其分類能力。在實際應用中,需要根據實際模型選取支持向量機的的參數。文獻[10]利用共軛梯度算法構建FR-LSSVM識別火災圖像。利用智能算法優化SVM參數,迭代尋優得到最佳參數解決實際分類識別問題,如文獻[11]利用改進粒子群算法優化的SVM對模擬電路故障進行診斷。文獻[12]利用遺傳算法優化SVM參數,構建GA-SVM模型對機采籽棉進行圖像分割和雜質識別。文獻[13]利用果蠅算法調整支持向量機參數,建立FOA-SVM模型解決醫學數據分類問題。文獻[14]利用FOA-SVM模型進行瓦斯爆炸風險模式識別。果蠅算法是繼遺傳算法、粒子群算法、蟻群算法等典型的優化算法之后,Wen-Tsao Pan從果蠅的覓食行為中得到啟發而提出的一種新型群體智能優化方法。與其他優化算法相比,果蠅算法實現簡單,只需要調節兩個參數,且全局優化能力強,在實際應用中具有一定的價值[15-18]。
為了提高SVM的分類能力,提高火災圖像識別的準確率,本文采用果蠅算法搜索支持向量機的懲罰因子和最優核參數,并引入邏輯函數改善果蠅算法易陷入局部最優的缺點,提出改進FOA-SVM分類模型,結合火焰提取特征,訓練和識別火災圖像。實驗結果表明,該模型提高了火災圖像識別準確率,在火災檢測方面具有重要的實際意義。
果蠅算法(FOA)是基于果蠅群體行為尋找全局優化的智能算法,該算法通過嗅覺搜索改善果蠅的多樣性,增加果蠅個體的搜索空間,快速確定出食物的大概方向,然后通過視覺快速收斂果蠅搜索確定食物源位置,以實現求解最優值。果蠅群體搜索食物的過程如圖1所示。

圖1 果蠅種群搜索食物示意圖
果蠅種群搜索食物的步驟如下:
(1) 初始化:初始化果蠅群體的初始位置;
(2) 嗅覺搜索:果蠅個體利用嗅覺搜索空氣中的不同味道,并隨機選擇搜索方向和距離;
(3) 個體評價:當果蠅個體搜索到新位置時,計算其味道濃度判定值和味道濃度,選擇當前群體中味道濃度值最大的果蠅個體,記錄味道濃度值和相應果蠅個體位置;
(4) 視覺搜索:記錄并保存當前群體中味道濃度最大值和最優果蠅個體的位置,其他果蠅根據視覺向該最優個體位置進行尋找;
(5) 判斷算法是否結束:迭代尋優,若達到終止條件,則輸出最優解,否則繼續嗅覺搜索進行迭代。
影響果蠅算法收斂精度和速度的主要因素有初始位置和搜索距離,在果蠅算法的每次迭代中,果蠅群體都是以最后一次迭代的最優個體為中心,以固定的步長值搜索食物源。如果步長值較大,該算法將在全局優化中獲得更好的性能,可以快速定位最優解的近似范圍,但在局部優化過程中,算法的收斂精度和搜索效率無法得到保證。如果步長值較小,該算法很容易陷入局部最優并出現早熟收斂。為了解決這個問題,使果蠅搜索距離不再固定,引入邏輯函數對搜索步長進行改進,邏輯函數如下:
(1)
式中:L為校正函數,x為校正因子,取值范圍為[0,1]。考慮當前迭代次數和最大迭代次數以及邏輯函數的關系,設置自適應搜索距離D:
D=R×L×(g/N)
(2)
式中:R為初始步長值,L為校正函數,g為當前迭代次數,N為最大迭代次數。
引入邏輯函數自適應調整步長可以使果蠅算法在早期迭代中具有較大的隨機步長值,以避免早熟收斂。隨著迭代次數的增加,D將通過邏輯函數曲線減小,在之后的迭代中,較小的步長使果蠅算法具有較好的局部優化性能。
支持向量機采用了二次規劃尋優,使用SVM可以在一定的函數子集運算下將結構風險控制到最小,使機器學習在訓練樣本的情況下得到最小的誤差。因而可以得到全局最優解,解決了在神經網絡中無法避免的局部極小問題。由于采用了核函數,巧妙地解決了維數問題,使得算法復雜度與樣本維數無關,非常適合處理非線性問題。用于分類的支持向量機算法如下:令{(xi,yi),i=1,2,…,l}表示一組訓練數據,其中xi∈Rd是具有d維的輸入數據,yi表示與xi對應的輸出標簽。線性決策表面由f(x)=
(3)
式中:C為懲罰參數,ξ為松弛因子,w是權重,b是偏移量。
通過引入拉格朗日乘子αi(i=1,2,…,n),將式(3)轉換為拉格朗日對偶問題:
(4)
非線性SVM通過引入核函數構造并求解最優化問題:
(5)
式中:K(xi,xj)是核函數,αi為拉格朗日乘子。則決策函數為:
(6)
這里選擇徑向基函數,相比于其他核函數,它只需要確定一個參數,并且函數復雜度較低,其公式如下:
(7)
式中:e是徑向基函數的核參數。
參數優化和特征選擇控制SVM的性能,它的分類效果主要取決于懲罰參數C和核參數e,人為地選擇SVM參數具有盲目性,對其分類能力影響較大,本文利用改進FOA及其優化特點對懲罰參數C和核參數e進行尋優,提高了SVM的分類能力。
該模型主要包括內部參數優化和外部性能評估兩個過程。在內部參數優化過程中,改進FOA通過交叉驗證動態調整支持向量機參數。然后,在外部循環中,用獲得的最優參數的支持向量機識別圖像。本文將交叉驗證的準確率作為適應度函數,模型流程圖如圖2所示。

圖2 改進FOA-SVM模型流程圖
整個參數調優具體過程如下:
步驟1初始化果蠅的迭代次數N、種群規模sizepop、初始位置(X_axis,Y_axis)和初始搜索距離R。
步驟2根據式(2)得到自適應步長值D,果蠅根據該步長和隨機方向搜索食物,如下所示:
Xi=X_axis+D×rand()
Yi=Y_axis+D×rand()
(8)
式中:Xi、Yi為果蠅個體的坐標值,i為果蠅的數量,rand()為隨機搜索方向。
步驟3根據果蠅個體的位置坐標計算味道濃度判定值,方法如下式所示:
(9)
式中:Xi、Yi為果蠅個體的坐標,Disti為果蠅個體與原點的距離,Si為味道濃度判定值。
步驟4利用交叉驗證方法對訓練樣本分類,得到的準確率作為果蠅個體的適應度函數,計算當前果蠅個體的味道濃度值。
步驟5更新并記錄最佳味道濃度值和最優果蠅個體的坐標,繼續迭代。
步驟6當迭代次數滿足終止條件時停止搜索,最終輸出最佳參數(Cbest,ebest)。
步驟7以改進FOA算法搜索SVM中懲罰參數C和核函數參數e的最優解(Cbest,ebest)構建SVM訓練模型,使用訓練好的改進FOA-SVM模型完成圖像識別與分類。
通過提取不同的特征組合并進行歸一化處理后進行火災識別。本文選取的識別判據為火焰的顏色特征、圓形度和紋理特征。通過提取火災圖像的RGB分量得到顏色特征;通過圓形度公式和計算灰度共生矩陣提取火災圖像的紋理特征,包括能量、相關性、熵和慣性矩四個參數的均值和標準差。
圓形度:計算目標區域形狀的復雜程度判斷物體形狀的規則程度。
(10)
式中:C為圓形度值,歸一化后取值為0~1,S為火焰面積,L為火焰邊界周長。
能量:衡量圖像灰度分布的均勻程度,能量越小,圖像紋理越平滑。
(11)
式中:P為灰度共生矩陣,i、j為像素灰度值,d為兩點的距離,θ為方向。
熵:表示圖像灰度分布的復雜度和隨機性,可以用來度量圖像的信息量:

(12)
慣性矩:描述圖像紋理深淺和清晰程度。
(13)
相關性:衡量圖像的灰度級在行或列方向上的相關程度,從而反映局部灰度相關性。
(14)
式中:
(15)
通過以上公式計算得到圖像的紋理特征,將提取的所有特征構建特征向量Ti作為SVM分類的依據。
(16)
式中:X1~X3是圖像的顏色特征,X4是圖像的圓形度特征,X5~X8是圖像的紋理特征,部分火災圖像和非火災圖像對應的特征向量如表1和表2所示。

表1 火災圖像特征向量

續表1

表2 非火災圖像特征向量
本文的實驗環境是Intel(R)Core(TM)i5-4200U CPU,主頻為2.30 GHz,內存4 GB,Windows 7系統,以MATLAB R2014a為主要開發工具,為了驗證本文方法的有效性,設置果蠅種群迭代次數為200,種群規模為30,迭代尋優后得到懲罰參數C=12.089 7,核函數參數e=1.848 9的火災圖像識別模型。
通過建立的改進FOA-SVM模型對輸入的特征向量進行訓練和測試,將火災圖片標記為1,非火災標記為0,然后提取每個圖片的顏色特征、圓形度和紋理特征構建特征向量Ti,將其作為訓練樣本,得到最優分類超平面。再將30幅火災圖片,30幅非火災圖片輸入到此分類超平面中,驗證其準確率,訓練和測試的準確率分別如圖3和圖4所示。

圖3 訓練樣本準確率

圖4 測試樣本準確率
為了驗證本文優化方法得到的改進FOA-SVM模型的準確率與運行效率,分別將遺傳算法、基本果蠅算法和本文中的改進果蠅算法對SVM的懲罰參數C和核參數e進行優化。其中遺傳算法和基本果蠅算法的種群迭代次數和種群規模與本文算法設置相同,分別為200和30,迭代尋優后得到的最優懲罰參數C和核參數e如表3所示。利用最優參數建立SVM模型、GA-SVM模型和FOA-SVM模型并對火災圖像進行識別,將識別結果與本文的改進FOA-SVM識別模型結果進行比較,對比結果如表3所示。

表3 不同識別模型結果對比
實驗結果表明,改進FOA-SVM模型能夠提高優化SVM參數的精度和運行時間,相比于其他識別模型來說,火災圖像識別準確率更高且運行時間較短。本文提出的改進果蠅算法提高了搜索SVM全局最佳值的能力,在對SVM參數搜索尋優后選擇的參數更合適,使火災識別的準確率達到了97.62%,對火災圖像的識別效果更好,顯著提高了火災圖像識別的準確率和運行效率。
本文提出一種基于改進FOA-SVM的火災圖像識別模型。該模型在支持向量機的基礎上,利用果蠅算法的覓食行為和尋優過程結合邏輯函數調整搜索步長,并根據味道濃度函數的判定搜索得到SVM的最優參數,利用最優參數構建火災識別模型,進一步改善了識別效果。經實驗結果與分析得到如下結論:
(1) 改進果蠅算法中搜索距離不再固定不變,避免了局部最優,搜索的支持向量機的最佳懲罰參數和核函數參數更準確,提高了支持向量機的分類性能。
(2) 人為選擇支持向量機的參數會產生隨機性和盲目性,且對其分類影響能力較大。本文提取火災的典型特征構建分類樣本集,分為訓練集和測試集兩部分。利用改進FOA訓練樣本數據選擇最優參數建立改進FOA-SVM火災圖像識別模型,通過該模型對測試集圖片進行分類識別。實驗表明該模型具有更好的識別精度和運行效率,在火災探測方面具有實際的應用價值。