何世釗,楊宣訪,陳曉娟
(海軍工程大學電氣與信息工程學院,湖北武漢 430033)
支持向量機與BP網(wǎng)絡在火災圖像探測上的比較
何世釗,楊宣訪,陳曉娟
(海軍工程大學電氣與信息工程學院,湖北武漢 430033)
針對BP神經(jīng)網(wǎng)絡和支持向量機在火災探測上存在的理論差別,分別構建了基于此2種方法的火災圖像探測方法.2種方法均依據(jù)火焰顏色分布規(guī)律實現(xiàn)了目標區(qū)域的分離,并將目標區(qū)域的形狀特征及變化值作為判據(jù).通過對火災實驗樣本的訓練及識別,2種方法的探測表現(xiàn)得到了比較與分析.實驗結果表明基于支持向量機的火災探測方法具有快速收斂特性及所需較少訓練樣本的優(yōu)點.同時,BP神經(jīng)網(wǎng)絡對測試集較少的錯判反映出其良好的非線性映射能力,適合求解內部機制復雜的問題.
火災探測;形狀特征;支持向量機;BP神經(jīng)網(wǎng)絡
圖像型火災探測是一種通過分析火災視頻圖像,依據(jù)圖像所含紋理特征、顏色特征、火焰形狀等信息給出判斷結果的火災探測方法.該方法因視頻設備不易受探測空間的氣流、溫度、水滴、灰塵、靜電以及其他干擾因素影響,可以有效實現(xiàn)復雜環(huán)境下的火災探測[1].BP神經(jīng)網(wǎng)絡是一種將誤差逆向傳播訓練的多層前饋網(wǎng)絡,由于不同層次的神經(jīng)元依權值相互聯(lián)通,使得這種網(wǎng)絡具有很強的非線性映射能力.基于BP神經(jīng)網(wǎng)絡的火災圖像探測方法克服了傳統(tǒng)火災探測方法判據(jù)單一、智能化程度低的缺點,實現(xiàn)了較高的判斷準確率[2].但是算法也存在學習速度慢及可能因陷入局部極值導致訓練失敗等不足.支持向量機收斂速度快且基于結構風險最小化原則,然而算法的邊緣懲罰參數(shù)C、非敏感參數(shù)ε以及核參數(shù)互相耦合影響,難以確定[3].針對這些特點,構造了2種不同的火災圖像探測方法,經(jīng)火災實驗比較了它們的火災探測性能.
火災圖像探測首先需要對攝取的火災圖像進行數(shù)字處理,這包括圖像的目標區(qū)域分離以及火災特征信息的提取.火災是一種失去人為控制的燃燒過程,也是動態(tài)發(fā)展的過程.不同幀的火災圖像所蘊涵的特征信息也會不同,其中火焰形狀最能反映這些變化.根據(jù)這一特性,采用了火焰形狀特征及形狀的變化值作為火災判據(jù).火焰形狀特征的提取可以用簡單算法來實現(xiàn),計算量也很小,這十分有利于提高火災圖像處理程序的運行速度.
RGB顏色模型是由反映顏色亮度級的R、G、B 3值相互疊加混色的一種常用的色彩模型.其中R(red)代表紅基色,G(green)代表綠基色,B(blue)代表藍基色.火災發(fā)生早期,火焰的顏色一般顯紅黃色,隨著溫度的逐漸上升,火焰的顏色越來越淺,甚至呈白色.這種特點表現(xiàn)為R≥G,G≥B及R>RT的顏色分布[4].RT為紅基色的一個閾值.圖像處理程序對圖像上每個像素進行分析時,滿足火焰顏色分布的點設成白點,不滿足的點設為黑點,實現(xiàn)二值化.經(jīng)多次實驗得出,當RT取160時,火焰分離效果最好.圖1為二值化后的一幅火災圖像,光亮區(qū)域為目標區(qū)域.光亮區(qū)域可能是由火災生成的,也可能是由干擾源生成的,需要進一步排除干擾,判別火災.
圖1 二值化火災圖像Fig.1 Binary fire image
火災圖像的紋理特征、形狀特征及顏色特征常用作判據(jù)識別火災.然而,紋理特征及顏色特征的提取需要對原始圖像上所有像素點進行數(shù)字處理,計算量較大.火焰的形狀特征則是在圖像經(jīng)過二值化后,僅僅需要通過目標區(qū)域內或邊緣的像素的簡單幾何求解可得,計算量小.火焰的形狀特征大體包括火焰的面積、周長、圓形度、重心.火焰面積等效于目標區(qū)域內所有像素個數(shù),火焰周長則等效于目標區(qū)域邊緣所有像素個數(shù),而圓形度與位移分別由式(1)、(2)求解,體現(xiàn)火災動態(tài)特性的火焰形狀特征變化值則是由當前幀的形狀特征與前一幀求差取絕對值而得.
圓形度e是反映區(qū)域形狀復雜程度的一個特征量.計算公式為
式中:S為區(qū)域面積,L為區(qū)域周長.
位移d是前一幀重心與當前幀重心的距離,反映火焰位置的變動量.若當前幀重心為(x0,y0),前一幀重心(x1,y1),則當前幀位移:
BP神經(jīng)網(wǎng)絡[5]是一種單向傳播的多層前向反饋式神經(jīng)網(wǎng)絡.它具有很好的非線性映射能力,可以實現(xiàn)M維歐氏空間到N維歐氏空間的任意映射.BP網(wǎng)絡的學習過程包括2個階段:工作信號正向傳播與誤差信號反向傳播.前一階段是從第1層輸入學習樣本,通過已知的網(wǎng)絡結構和前一次迭代的閾值和權值,向后計算各神經(jīng)元的輸出.后一階段則是向前計算權值和閾值對總誤差的影響,據(jù)此調整網(wǎng)絡權值(wij,Tli)和閾值(θ),使誤差(E)沿梯度下降.文中的BP網(wǎng)絡有3層節(jié)點,分別為火災判據(jù)的輸入層節(jié)點xj、隱層節(jié)點yi和給出判別結果的輸出層節(jié)點Ql.
在當前輸入層節(jié)點與隱層節(jié)點間的網(wǎng)絡權值為wij,隱層節(jié)點與輸出層節(jié)點間的網(wǎng)絡權值為Tli,若給出一火災樣本(xj,tl),tl代表圖像的類型,火災圖像為1,干擾圖像為0,則BP模型的計算公式為
式中:neti= ∑jwijxj- θi,yi是隱層節(jié)點輸出.
式中:Ol為輸出層節(jié)點輸出.
式中:E為輸出層節(jié)點的誤差.
支持向量機[6]是在傳統(tǒng)統(tǒng)計學基礎上發(fā)展起來的一種具有堅實基礎的機器學習方法,是目前針對小樣本統(tǒng)計估計和預測學習的最佳理論.可以有效解決如人臉識別等模式識別問題[7].
支持向量機通過訓練樣本學習,在特征空間中構造出最優(yōu)超平面f(x)=sgn(wx-b).該超平面與不同類樣本之間的距離2/‖w‖最大,如圖2所示,從而使支持向量機獲得最大泛化能力.
圖2 支持向量機分類超平面Fig.2 Hyperplane classifier of the SVM
線性不可分情況下需引入懲罰因子C,距離最大化問題就轉化為如下的二次規(guī)劃問題:
式(6)滿足yi(wTxi-b)+εi-1≥0 且 ξi≥0.xi∈Rn為輸入到支持向量機的訓練向量,yi∈{-1,1}為訓練樣本xi所屬類別.通過引入拉格朗日算子,消去w、b、C、ξ 等變量,得出
式(7)滿足式(8)條件:
本文選用普通CCD攝像頭,并通過視頻采集卡及其附帶的SDK軟件開發(fā)包連續(xù)采集幀圖像.火災探測程序的圖像處理部分由VC++編寫完成,主要完成火災圖像的目標分割及之后對火焰形狀特征的提取.BP神經(jīng)網(wǎng)絡由Matlab編寫實現(xiàn),SVM算法則由VC++代碼實現(xiàn).2種方法分別對圖像處理程序給出的數(shù)據(jù)進行分析,判別火災.
實驗收集了包括紙張火、棉絮火、木材火、汽油火、酒精火和柴油火以及蠟燭、臺燈、日光燈干擾圖像共1 046幅.圖像處理程序提取了每幅圖像的特征值及特征值的變化值.這包括了火焰的面積、周長、圓形度、面積差、周長差、圓形度差、重心以及位移.
通過反復實驗對比,選用火焰的面積、周長、面積差、周長差、圓形度差、位移作為火災判據(jù),可以取得較好的訓練效果.從而省去了冗余的判據(jù)如圓形度、重心,使得程序運算量減少,提高了反應速度.確定判據(jù)后,取各幅圖像的如上6個特征及圖像所屬類別構成一個樣本,如表1所示.對于圖像所屬的類型,用1來表示火災圖像樣本,用-1或0表示來表示干擾源圖像樣本(BP網(wǎng)絡的干擾源樣本用0表示,SVM的干擾源樣本則用-1表示).表1為火災實驗中的部分樣本.
表1 部分火災實驗數(shù)據(jù)Table 1 Part of fire experiment data
從獲取的實驗樣本中,選取156個樣本作為SVM的訓練集.利用樣本的面積、周長、面積差、周長差、圓形度差、位移及樣本所屬類型訓練SVM.SVM的學習過程依賴于核函數(shù),但是一個具體問題選擇何種核函數(shù)最優(yōu)至今未有明確的原則與理論指導.經(jīng)過實驗反復挑選,最終選擇高斯徑向核函數(shù)(RBF),懲罰因子C為0.05,誤差為0.001,σ=1.然后利用 SMO訓練算法[8-9]求解使式(7)取最大值時的各參數(shù)值.RBF核函數(shù)如式(9)所示.
在多次訓練過程中,發(fā)現(xiàn)訓練樣本的選擇和排序要求很嚴格.樣本需要包含各類型火源和干擾源,并且不同類型的樣本的訓練順序要相互交錯.否則,訓練誤差相當大,從而導致訓練失敗.
依據(jù)以上要求對SVM進行訓練后,再將火災實驗的全部樣本共1 046個送入算法中進行識別.經(jīng)統(tǒng)計,有60個樣本發(fā)生錯判,全部屬于干擾樣本誤判為火災樣本,BP網(wǎng)絡與SVM的判別結果對比如表2 所示.
表2 BP網(wǎng)絡與SVM的判別結果對比Table 2 Performance comparisons between the BP network and SVM
由于本文選用了火災圖像的6個判據(jù),因而采用如圖3所示結構的BP神經(jīng)網(wǎng)絡.輸入層有6個節(jié)點,分別代表火災圖像的面積(S)、周長(L)、火焰圓形度(e)、面積差(△S)、周長差(△L)、位移(d)的輸入;輸出層則有1個節(jié)點,輸出判別結果,中間層參考n1=+a原則采用8個隱層節(jié)點,n為輸入層節(jié)點數(shù),m為輸出層節(jié)點數(shù),a為[1,10]之間的常數(shù).針對普通訓練函數(shù)訓練速度很慢的不足,采用減少內存的LM算法[10]訓練函數(shù).
圖3 BP神經(jīng)網(wǎng)絡模型Fig.3 Model of the BP network
圖4 BP神經(jīng)網(wǎng)絡訓練曲線Fig.4 Training curve of the BP network
實驗時,表1所示的樣本不能直接輸入到BP網(wǎng)絡中進行訓練與測試,需要進行歸一化.歸一化公式為
式中:k'為k的歸一化取值,kmax和kmin分別為樣本中的最大值和最小值.
從實驗樣本中選取480個對BP神經(jīng)網(wǎng)絡進行訓練,圖4為1~260步的訓練誤差曲線.橫軸為訓練步數(shù),縱軸為訓練誤差,誤差曲線下方水平線為目標誤差線.經(jīng)過80 s后,BP網(wǎng)絡完成訓練.再將全部實驗樣本1 046個輸入算法中,共發(fā)生19起誤判,13起漏判.
表2為2種方法的訓練與測試結果.從表中可以看出,SVM的訓練樣本數(shù)量較少且所用訓練時間非常短,訓練幾乎在瞬間完成.然而BP神經(jīng)網(wǎng)絡在480個樣本的訓練下,需要耗時80 s才能完成訓練,而且訓練樣本中有20個發(fā)生了判斷錯誤.從訓練的效果看,SVM在樣本個數(shù)的要求及訓練速度上有很大的優(yōu)勢,但是SVM的訓練樣本需要進行嚴格的挑選和排序.經(jīng)實驗發(fā)現(xiàn),火災樣本與非火災樣本相互交錯的訓練順序,可以使SVM獲得較好訓練效果.BP神經(jīng)網(wǎng)絡雖然也需要調整2種樣本順序,但是遠不如SVM嚴格.BP神經(jīng)網(wǎng)絡的480個訓練樣本中發(fā)生20起判據(jù)錯誤,而SVM卻全部判據(jù)正確.經(jīng)分析,BP發(fā)生多起錯判的可能原因在于訓練樣本多,其中存在的矛盾樣本造成一些誤判.
依據(jù)上表格,經(jīng)過訓練的2種方法再對測試集中1 046個樣本判斷時,BP網(wǎng)絡的判別準確率達到96.94%,而SVM只有94.26%的判別準確率.但是BP網(wǎng)絡卻發(fā)生13起漏判,高漏判率會引起重大損失,應當極力避免.綜上所述:SVM優(yōu)點在于訓練速度快,易收斂,但是訓練樣本選擇與排序比較復雜,雖然BP神經(jīng)網(wǎng)絡訓練耗時多,但是對測試集的判斷效果較好,判斷準確率比SVM略高.
由以上實驗結果及分析可知,BP神經(jīng)網(wǎng)絡與SVM雖然原理各不相同,但是當與圖像處理技術相結合,并利用火焰形狀特征及其變化特性作為判據(jù),都可以較好地探測明火火災.同時,從實驗結果也得出了2種方法在火災圖像探測的性能差別.比如SVM訓練時收斂快,所需訓練樣本少,但是訓練前訓練樣本的選擇和排序要求非常嚴格.相對地,BP神經(jīng)網(wǎng)絡算法收斂慢,所需訓練樣本多,訓練樣本的選擇和排序要求卻不如SVM嚴格.這種差別體現(xiàn)了SVM理論上快速收斂特性,符合預期.然而,基于結構誤差最小化原則的SVM原理上具有更佳的判斷準確性,但是實際的判別準確率卻不如BP網(wǎng)絡,此處需繼續(xù)研究.總之,以上差別包含了2種方法的各自優(yōu)缺點,為以后火災探測的智能方法選擇提供一個依據(jù).
[1]王振華,王慧琴,王燕妮,等.基于視頻圖像的火災探測方法[J].世界科技研究與發(fā)展,2008,30(2):161-164.
WANG Zhenhua,WANG Huiqin,WANG Yanni,et al.Fire detection in video[J].World Sci-Tech R&D,2008,30(2):161-164.
[2]徐小軍,鄭健,郭尚芬.火災圖像探測的神經(jīng)網(wǎng)絡方法研究[J].計算機工程與設計,2008,29(13):3416-3418.
XU Xiaojun,ZHEN Jian,GUO Shangfen.Study on neural network method of fire image detection[J].Computer Engineering and Design,2008,29(13):3416-3418.
[3]朱世增,黨選舉.基于相關向量機的非線性動態(tài)系統(tǒng)辨識[J].計算機仿真,2008,25(6):103-107.
ZHU Shizeng,DANG Xuanju.Nonlinear dynamic system identification based on relevance vector machine[J].Computer Simulation,2008,25(6):103-107.
[4]CHEN T H,WU P H,CHIOU Y C.An early fire-detection method based on image processing[C]//International Conference on Image Processing.[S.l.],2004:1707-1710.
[5]劉叔軍,蓋曉華,樊京,等.Matlab 7.0控制系統(tǒng)應用與實例[M].北京:機械工業(yè)出版社,2005:9.
[6]VAPNIKK V N.The nature of statistical learning theory[M].New York:Springer Verlag,1995:101-105.
[7]孫正興,徐文暉.基于局部SVM分類器的表情識別方法[J].智能系統(tǒng)學報,2008,3(5):455-466.
SUN Zhengxing,XU Wenhui.Facial expression recognition based on local SVM classifiers[J].CAAI Transactions on Intelligent Systems,2008,3(5):455-466.
[8]JOHN C P.Training of support vector machines using sequential minimal optimization[C]//Advances in Kernel Method-Support Vector Learning.Cambridge:MIT Press,1999:101-105.
[9]KEETHI S S,SHEVADE S K,BHATTACHARYYA C,et al.Improvements to Platt's SMO algorithm for SVM classifier design[J].Neural Computation,2001,13(3):637-649.
[10]黃豪彩,黃宜堅,楊冠魯.基于LM算法的神經(jīng)網(wǎng)絡系統(tǒng)辨識[J].組合機床與自動化加工技術,2003,1(2):6-11.
HUANG Haocai,HUANG Yijian,YANG Guanlu.Neural network system identification based on Levenberg-Marquardt algorithm[J].Modular Machine Tool& Automatic Manufacturing Technique,2003,1(2):6-11.
何世釗,男,1986年生,碩士研究生,主要研究方向為檢測技術與自動化裝置.
楊宣訪,男,1968年生,副教授,碩士生導師.主要研究方向為自動測試、電路故障診斷、電力系統(tǒng)診斷.先后主持、參與軍隊、海軍等多項重點科研和工程項目.獲得軍隊科技進步一等獎1項,二等獎2項,三等獎4項.發(fā)表學術論文20余篇,參與編寫教材1部.
陳曉娟,女,1981年生,博士研究生,主要研究方向為數(shù)字信號處理.
Comparisons between a support vector machine and BP neural network for video image fire detection
HE Shizhao,YANG Xuanfang,CHEN Xiaojuan
(College of Electrical and Information Engineering,Naval University of Engineering,Wuhan 430033,China)
According to the theoretical differences between a back propagation(BP)network and support vector machine(SVM)in relation to fire detection,two kinds of video image fire detection methods based on a BP network and SVM,respectively,were constructed.Judging from color distribution of the flames,the objective regions were separated in both methods,and their shape features along with the changes in shape features were extracted as criteria.The performance of each method was compared and analyzed after conducting many experiments.The experimental results show that the SVM had a high convergence rate and needed fewer training samples.At the same time,fewer misjudgments of testing samples confirmed that the BP network was more suitable for solving complex internal mechanism problems due to its good mapping capability.
fire detection;shape features;SVM;BP neural network
TP18
A
1673-4785(2011)04-0339-05
10.3969/j.issn.1673-4785.2011.04.010
2010-06-19.
國家自然科學基金資助項目(50721063).
何世釗.E-mail:heshizhao_chn@126.com.