何世釗,楊宣訪,陳曉娟
(海軍工程大學(xué)電氣與信息工程學(xué)院,湖北武漢 430033)
支持向量機與BP網(wǎng)絡(luò)在火災(zāi)圖像探測上的比較
何世釗,楊宣訪,陳曉娟
(海軍工程大學(xué)電氣與信息工程學(xué)院,湖北武漢 430033)
針對BP神經(jīng)網(wǎng)絡(luò)和支持向量機在火災(zāi)探測上存在的理論差別,分別構(gòu)建了基于此2種方法的火災(zāi)圖像探測方法.2種方法均依據(jù)火焰顏色分布規(guī)律實現(xiàn)了目標區(qū)域的分離,并將目標區(qū)域的形狀特征及變化值作為判據(jù).通過對火災(zāi)實驗樣本的訓(xùn)練及識別,2種方法的探測表現(xiàn)得到了比較與分析.實驗結(jié)果表明基于支持向量機的火災(zāi)探測方法具有快速收斂特性及所需較少訓(xùn)練樣本的優(yōu)點.同時,BP神經(jīng)網(wǎng)絡(luò)對測試集較少的錯判反映出其良好的非線性映射能力,適合求解內(nèi)部機制復(fù)雜的問題.
火災(zāi)探測;形狀特征;支持向量機;BP神經(jīng)網(wǎng)絡(luò)
圖像型火災(zāi)探測是一種通過分析火災(zāi)視頻圖像,依據(jù)圖像所含紋理特征、顏色特征、火焰形狀等信息給出判斷結(jié)果的火災(zāi)探測方法.該方法因視頻設(shè)備不易受探測空間的氣流、溫度、水滴、灰塵、靜電以及其他干擾因素影響,可以有效實現(xiàn)復(fù)雜環(huán)境下的火災(zāi)探測[1].BP神經(jīng)網(wǎng)絡(luò)是一種將誤差逆向傳播訓(xùn)練的多層前饋網(wǎng)絡(luò),由于不同層次的神經(jīng)元依權(quán)值相互聯(lián)通,使得這種網(wǎng)絡(luò)具有很強的非線性映射能力.基于BP神經(jīng)網(wǎng)絡(luò)的火災(zāi)圖像探測方法克服了傳統(tǒng)火災(zāi)探測方法判據(jù)單一、智能化程度低的缺點,實現(xiàn)了較高的判斷準確率[2].但是算法也存在學(xué)習(xí)速度慢及可能因陷入局部極值導(dǎo)致訓(xùn)練失敗等不足.支持向量機收斂速度快且基于結(jié)構(gòu)風(fēng)險最小化原則,然而算法的邊緣懲罰參數(shù)C、非敏感參數(shù)ε以及核參數(shù)互相耦合影響,難以確定[3].針對這些特點,構(gòu)造了2種不同的火災(zāi)圖像探測方法,經(jīng)火災(zāi)實驗比較了它們的火災(zāi)探測性能.
火災(zāi)圖像探測首先需要對攝取的火災(zāi)圖像進行數(shù)字處理,這包括圖像的目標區(qū)域分離以及火災(zāi)特征信息的提取.火災(zāi)是一種失去人為控制的燃燒過程,也是動態(tài)發(fā)展的過程.不同幀的火災(zāi)圖像所蘊涵的特征信息也會不同,其中火焰形狀最能反映這些變化.根據(jù)這一特性,采用了火焰形狀特征及形狀的變化值作為火災(zāi)判據(jù).火焰形狀特征的提取可以用簡單算法來實現(xiàn),計算量也很小,這十分有利于提高火災(zāi)圖像處理程序的運行速度.
RGB顏色模型是由反映顏色亮度級的R、G、B 3值相互疊加混色的一種常用的色彩模型.其中R(red)代表紅基色,G(green)代表綠基色,B(blue)代表藍基色.火災(zāi)發(fā)生早期,火焰的顏色一般顯紅黃色,隨著溫度的逐漸上升,火焰的顏色越來越淺,甚至呈白色.這種特點表現(xiàn)為R≥G,G≥B及R>RT的顏色分布[4].RT為紅基色的一個閾值.圖像處理程序?qū)D像上每個像素進行分析時,滿足火焰顏色分布的點設(shè)成白點,不滿足的點設(shè)為黑點,實現(xiàn)二值化.經(jīng)多次實驗得出,當(dāng)RT取160時,火焰分離效果最好.圖1為二值化后的一幅火災(zāi)圖像,光亮區(qū)域為目標區(qū)域.光亮區(qū)域可能是由火災(zāi)生成的,也可能是由干擾源生成的,需要進一步排除干擾,判別火災(zāi).
圖1 二值化火災(zāi)圖像Fig.1 Binary fire image
火災(zāi)圖像的紋理特征、形狀特征及顏色特征常用作判據(jù)識別火災(zāi).然而,紋理特征及顏色特征的提取需要對原始圖像上所有像素點進行數(shù)字處理,計算量較大.火焰的形狀特征則是在圖像經(jīng)過二值化后,僅僅需要通過目標區(qū)域內(nèi)或邊緣的像素的簡單幾何求解可得,計算量小.火焰的形狀特征大體包括火焰的面積、周長、圓形度、重心.火焰面積等效于目標區(qū)域內(nèi)所有像素個數(shù),火焰周長則等效于目標區(qū)域邊緣所有像素個數(shù),而圓形度與位移分別由式(1)、(2)求解,體現(xiàn)火災(zāi)動態(tài)特性的火焰形狀特征變化值則是由當(dāng)前幀的形狀特征與前一幀求差取絕對值而得.
圓形度e是反映區(qū)域形狀復(fù)雜程度的一個特征量.計算公式為
式中:S為區(qū)域面積,L為區(qū)域周長.
位移d是前一幀重心與當(dāng)前幀重心的距離,反映火焰位置的變動量.若當(dāng)前幀重心為(x0,y0),前一幀重心(x1,y1),則當(dāng)前幀位移:
BP神經(jīng)網(wǎng)絡(luò)[5]是一種單向傳播的多層前向反饋式神經(jīng)網(wǎng)絡(luò).它具有很好的非線性映射能力,可以實現(xiàn)M維歐氏空間到N維歐氏空間的任意映射.BP網(wǎng)絡(luò)的學(xué)習(xí)過程包括2個階段:工作信號正向傳播與誤差信號反向傳播.前一階段是從第1層輸入學(xué)習(xí)樣本,通過已知的網(wǎng)絡(luò)結(jié)構(gòu)和前一次迭代的閾值和權(quán)值,向后計算各神經(jīng)元的輸出.后一階段則是向前計算權(quán)值和閾值對總誤差的影響,據(jù)此調(diào)整網(wǎng)絡(luò)權(quán)值(wij,Tli)和閾值(θ),使誤差(E)沿梯度下降.文中的BP網(wǎng)絡(luò)有3層節(jié)點,分別為火災(zāi)判據(jù)的輸入層節(jié)點xj、隱層節(jié)點yi和給出判別結(jié)果的輸出層節(jié)點Ql.
在當(dāng)前輸入層節(jié)點與隱層節(jié)點間的網(wǎng)絡(luò)權(quán)值為wij,隱層節(jié)點與輸出層節(jié)點間的網(wǎng)絡(luò)權(quán)值為Tli,若給出一火災(zāi)樣本(xj,tl),tl代表圖像的類型,火災(zāi)圖像為1,干擾圖像為0,則BP模型的計算公式為
式中:neti= ∑jwijxj- θi,yi是隱層節(jié)點輸出.
式中:Ol為輸出層節(jié)點輸出.
式中:E為輸出層節(jié)點的誤差.
支持向量機[6]是在傳統(tǒng)統(tǒng)計學(xué)基礎(chǔ)上發(fā)展起來的一種具有堅實基礎(chǔ)的機器學(xué)習(xí)方法,是目前針對小樣本統(tǒng)計估計和預(yù)測學(xué)習(xí)的最佳理論.可以有效解決如人臉識別等模式識別問題[7].
支持向量機通過訓(xùn)練樣本學(xué)習(xí),在特征空間中構(gòu)造出最優(yōu)超平面f(x)=sgn(wx-b).該超平面與不同類樣本之間的距離2/‖w‖最大,如圖2所示,從而使支持向量機獲得最大泛化能力.
圖2 支持向量機分類超平面Fig.2 Hyperplane classifier of the SVM
線性不可分情況下需引入懲罰因子C,距離最大化問題就轉(zhuǎn)化為如下的二次規(guī)劃問題:
式(6)滿足yi(wTxi-b)+εi-1≥0 且 ξi≥0.xi∈Rn為輸入到支持向量機的訓(xùn)練向量,yi∈{-1,1}為訓(xùn)練樣本xi所屬類別.通過引入拉格朗日算子,消去w、b、C、ξ 等變量,得出
式(7)滿足式(8)條件:
本文選用普通CCD攝像頭,并通過視頻采集卡及其附帶的SDK軟件開發(fā)包連續(xù)采集幀圖像.火災(zāi)探測程序的圖像處理部分由VC++編寫完成,主要完成火災(zāi)圖像的目標分割及之后對火焰形狀特征的提取.BP神經(jīng)網(wǎng)絡(luò)由Matlab編寫實現(xiàn),SVM算法則由VC++代碼實現(xiàn).2種方法分別對圖像處理程序給出的數(shù)據(jù)進行分析,判別火災(zāi).
實驗收集了包括紙張火、棉絮火、木材火、汽油火、酒精火和柴油火以及蠟燭、臺燈、日光燈干擾圖像共1 046幅.圖像處理程序提取了每幅圖像的特征值及特征值的變化值.這包括了火焰的面積、周長、圓形度、面積差、周長差、圓形度差、重心以及位移.
通過反復(fù)實驗對比,選用火焰的面積、周長、面積差、周長差、圓形度差、位移作為火災(zāi)判據(jù),可以取得較好的訓(xùn)練效果.從而省去了冗余的判據(jù)如圓形度、重心,使得程序運算量減少,提高了反應(yīng)速度.確定判據(jù)后,取各幅圖像的如上6個特征及圖像所屬類別構(gòu)成一個樣本,如表1所示.對于圖像所屬的類型,用1來表示火災(zāi)圖像樣本,用-1或0表示來表示干擾源圖像樣本(BP網(wǎng)絡(luò)的干擾源樣本用0表示,SVM的干擾源樣本則用-1表示).表1為火災(zāi)實驗中的部分樣本.
表1 部分火災(zāi)實驗數(shù)據(jù)Table 1 Part of fire experiment data
從獲取的實驗樣本中,選取156個樣本作為SVM的訓(xùn)練集.利用樣本的面積、周長、面積差、周長差、圓形度差、位移及樣本所屬類型訓(xùn)練SVM.SVM的學(xué)習(xí)過程依賴于核函數(shù),但是一個具體問題選擇何種核函數(shù)最優(yōu)至今未有明確的原則與理論指導(dǎo).經(jīng)過實驗反復(fù)挑選,最終選擇高斯徑向核函數(shù)(RBF),懲罰因子C為0.05,誤差為0.001,σ=1.然后利用 SMO訓(xùn)練算法[8-9]求解使式(7)取最大值時的各參數(shù)值.RBF核函數(shù)如式(9)所示.
在多次訓(xùn)練過程中,發(fā)現(xiàn)訓(xùn)練樣本的選擇和排序要求很嚴格.樣本需要包含各類型火源和干擾源,并且不同類型的樣本的訓(xùn)練順序要相互交錯.否則,訓(xùn)練誤差相當(dāng)大,從而導(dǎo)致訓(xùn)練失敗.
依據(jù)以上要求對SVM進行訓(xùn)練后,再將火災(zāi)實驗的全部樣本共1 046個送入算法中進行識別.經(jīng)統(tǒng)計,有60個樣本發(fā)生錯判,全部屬于干擾樣本誤判為火災(zāi)樣本,BP網(wǎng)絡(luò)與SVM的判別結(jié)果對比如表2 所示.
表2 BP網(wǎng)絡(luò)與SVM的判別結(jié)果對比Table 2 Performance comparisons between the BP network and SVM
由于本文選用了火災(zāi)圖像的6個判據(jù),因而采用如圖3所示結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò).輸入層有6個節(jié)點,分別代表火災(zāi)圖像的面積(S)、周長(L)、火焰圓形度(e)、面積差(△S)、周長差(△L)、位移(d)的輸入;輸出層則有1個節(jié)點,輸出判別結(jié)果,中間層參考n1=+a原則采用8個隱層節(jié)點,n為輸入層節(jié)點數(shù),m為輸出層節(jié)點數(shù),a為[1,10]之間的常數(shù).針對普通訓(xùn)練函數(shù)訓(xùn)練速度很慢的不足,采用減少內(nèi)存的LM算法[10]訓(xùn)練函數(shù).
圖3 BP神經(jīng)網(wǎng)絡(luò)模型Fig.3 Model of the BP network
圖4 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練曲線Fig.4 Training curve of the BP network
實驗時,表1所示的樣本不能直接輸入到BP網(wǎng)絡(luò)中進行訓(xùn)練與測試,需要進行歸一化.歸一化公式為
式中:k'為k的歸一化取值,kmax和kmin分別為樣本中的最大值和最小值.
從實驗樣本中選取480個對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,圖4為1~260步的訓(xùn)練誤差曲線.橫軸為訓(xùn)練步數(shù),縱軸為訓(xùn)練誤差,誤差曲線下方水平線為目標誤差線.經(jīng)過80 s后,BP網(wǎng)絡(luò)完成訓(xùn)練.再將全部實驗樣本1 046個輸入算法中,共發(fā)生19起誤判,13起漏判.
表2為2種方法的訓(xùn)練與測試結(jié)果.從表中可以看出,SVM的訓(xùn)練樣本數(shù)量較少且所用訓(xùn)練時間非常短,訓(xùn)練幾乎在瞬間完成.然而BP神經(jīng)網(wǎng)絡(luò)在480個樣本的訓(xùn)練下,需要耗時80 s才能完成訓(xùn)練,而且訓(xùn)練樣本中有20個發(fā)生了判斷錯誤.從訓(xùn)練的效果看,SVM在樣本個數(shù)的要求及訓(xùn)練速度上有很大的優(yōu)勢,但是SVM的訓(xùn)練樣本需要進行嚴格的挑選和排序.經(jīng)實驗發(fā)現(xiàn),火災(zāi)樣本與非火災(zāi)樣本相互交錯的訓(xùn)練順序,可以使SVM獲得較好訓(xùn)練效果.BP神經(jīng)網(wǎng)絡(luò)雖然也需要調(diào)整2種樣本順序,但是遠不如SVM嚴格.BP神經(jīng)網(wǎng)絡(luò)的480個訓(xùn)練樣本中發(fā)生20起判據(jù)錯誤,而SVM卻全部判據(jù)正確.經(jīng)分析,BP發(fā)生多起錯判的可能原因在于訓(xùn)練樣本多,其中存在的矛盾樣本造成一些誤判.
依據(jù)上表格,經(jīng)過訓(xùn)練的2種方法再對測試集中1 046個樣本判斷時,BP網(wǎng)絡(luò)的判別準確率達到96.94%,而SVM只有94.26%的判別準確率.但是BP網(wǎng)絡(luò)卻發(fā)生13起漏判,高漏判率會引起重大損失,應(yīng)當(dāng)極力避免.綜上所述:SVM優(yōu)點在于訓(xùn)練速度快,易收斂,但是訓(xùn)練樣本選擇與排序比較復(fù)雜,雖然BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練耗時多,但是對測試集的判斷效果較好,判斷準確率比SVM略高.
由以上實驗結(jié)果及分析可知,BP神經(jīng)網(wǎng)絡(luò)與SVM雖然原理各不相同,但是當(dāng)與圖像處理技術(shù)相結(jié)合,并利用火焰形狀特征及其變化特性作為判據(jù),都可以較好地探測明火火災(zāi).同時,從實驗結(jié)果也得出了2種方法在火災(zāi)圖像探測的性能差別.比如SVM訓(xùn)練時收斂快,所需訓(xùn)練樣本少,但是訓(xùn)練前訓(xùn)練樣本的選擇和排序要求非常嚴格.相對地,BP神經(jīng)網(wǎng)絡(luò)算法收斂慢,所需訓(xùn)練樣本多,訓(xùn)練樣本的選擇和排序要求卻不如SVM嚴格.這種差別體現(xiàn)了SVM理論上快速收斂特性,符合預(yù)期.然而,基于結(jié)構(gòu)誤差最小化原則的SVM原理上具有更佳的判斷準確性,但是實際的判別準確率卻不如BP網(wǎng)絡(luò),此處需繼續(xù)研究.總之,以上差別包含了2種方法的各自優(yōu)缺點,為以后火災(zāi)探測的智能方法選擇提供一個依據(jù).
[1]王振華,王慧琴,王燕妮,等.基于視頻圖像的火災(zāi)探測方法[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]徐小軍,鄭健,郭尚芬.火災(zāi)圖像探測的神經(jīng)網(wǎng)絡(luò)方法研究[J].計算機工程與設(shè)計,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]朱世增,黨選舉.基于相關(guān)向量機的非線性動態(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)應(yī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)學(xué)報,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)絡(luò)系統(tǒng)辨識[J].組合機床與自動化加工技術(shù),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年生,碩士研究生,主要研究方向為檢測技術(shù)與自動化裝置.
楊宣訪,男,1968年生,副教授,碩士生導(dǎo)師.主要研究方向為自動測試、電路故障診斷、電力系統(tǒng)診斷.先后主持、參與軍隊、海軍等多項重點科研和工程項目.獲得軍隊科技進步一等獎1項,二等獎2項,三等獎4項.發(fā)表學(xué)術(shù)論文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.
國家自然科學(xué)基金資助項目(50721063).
何世釗.E-mail:heshizhao_chn@126.com.