,
(中國船舶重工集團公司第七一三研究所,鄭州 450015)
基于圖像的火焰識別屬于模式識別技術的范疇,是火災視頻探測過程中的核心部分。基于圖像的火焰識別是對經過目標區域分割后的灰度圖或二值圖像進行進一步的分析、處理,提取目標區域中一些符合火焰的特征,用來識別火焰和區分干擾源。火焰的特征有很多種,具體的選擇要考慮使用環境、干擾源類型、算法實現難易程度等多種因素,以滿足火災探測的實時性、準確性的要求。在一些區分度很高的應用環境中,判決過程可以采用簡單的閾值判別;而在那些圖像信息表達不清晰、干擾源多的環境中,則需要設計相應的判決規則,必要時可以考慮使用神經網絡算法[1-2]。
模式識別是指對表征實物或現象的各種形式的(數值的、文字的和邏輯關系的)信息進行處理和分析,以對實物或現象進行描述、辨認、分類和解釋的過程。根據是否預先已知目標樣本所屬的類別,可分為有監督的和無監督的模式識別。在實際應用中,往往無法獲得大量已知樣本類別信息,因此研究無監督的模式識別十分必要。基于圖像的火焰識別是模式識別的一類具體應用,即圖像識別。圖像識別一般依次分為圖像獲取及預處理、特征提取、依據判據分類。
火焰識別是火災視頻監控系統的核心部分,其識別率的高低直接影響到整個系統的準確性。而識別率主要取決于所選的火焰特征,需要選擇與環境差異大、區分度高的特征作為識別依據。
可用來進行識別的火焰特征有很多,大體上分為靜態特征和動態特征兩大類。靜態特征包括火焰的形狀、顏色、紋理等,而面積變化、火焰閃動、邊緣抖動等則屬于動態特征。在實際應用中,利用單一特征進行火焰識別是十分困難且不可靠的。大多數的應用都是提取幾種火焰與干擾源有明顯區別的特征綜合利用,加以識別。例如火焰面積變化特征。早期火焰從無到有并有擴大趨勢,火焰面積不斷增大。但是發光物體靠近攝像頭,在圖像上表現出來的也是面積增大的特征。因此,需要利用多個特征形成多重判據,才能夠提高識別率。
用來進行火焰識別的圖像,并不是通過攝像頭直接采集的原始圖像,而是經過前期預處理的圖像,一般為經過目標分割后的二值圖像。這是因為原始圖像中包含了太多無用的或對識別結果容易產生干擾的信息,濾掉這些信息更便于火焰特征的提取和判別。
使用環境對火焰特征的選擇有很大的影響,因為環境不同,存在的干擾源也不盡相同,因此需要適當地調整算法,最大程度地滿足火焰探測的快速性和準確性的要求。本文提取火焰的面積變化特征、圓形度等特征來識別火焰。

(1)
(2)
n的范圍是從某一幀開始的連續10幀圖像。每完成一次計算之后,重新取出的圖像并不是第11幀到第20幀,而是用第11幀圖像代替第一幀圖像,以此類推。從而進一步減弱了火焰面積振蕩變化帶來的影響。
當R(M)>1時,就說明當前目標區域面積有增大的趨勢。同時,火災火焰的面積不會太小,否則也不會造成危害,與蠟燭的小火有明顯區別。
圓形度可以用來表征目標區域形狀的規則程度。火災火焰的形狀是十分不規整的,而諸如蠟燭、手電筒、燈光等干擾源的形狀就要規整得多。因此,圓形度可以用來有效地區分火災火焰與部分干擾源。
目標區域Ω的圓形度CΩ的計算表達式為
(3)
式中:LΩ——目標區域Ω的周長;
SΩ——目標區域Ω的面積。
目標區域的周長LΩ的計算方法有兩種。第一種原理非常簡單,就是統計目標區域邊緣的像素數。使用這種方法首先需要獲得目標區域的單像素邊緣圖像,每個像素代表相對長度1。這種方法計算的數據不夠精確,一些對計算精度要求不是很高的應用均可以采用。另一種方法是采用邊緣鏈碼。以8鄰域[3]檢測獲取目標區域邊緣鏈碼。算法實現如下。


圖1 邊緣鏈碼方向碼
在式(3)中除以4π是為了使結果更易于觀察,CΩ越接近1,說明目標區域越接近圓形,邊緣越規則,CΩ越大就表示目標區域邊緣越復雜。
例如蠟燭、手電筒、太陽光等干擾源,其圓形度非常接近1,而火災火焰的圓形度一般在2以上,由此可以很容易將火災火焰與部分干擾源區分開來。
火焰尖角也是用來區別火災火焰與干擾源的主要特征之一。不穩定火焰邊緣的抖動特性集中表現為火焰尖角數量的無規則變化。因此不穩定火焰的尖角特征一是火焰尖角的個數較多,二是尖角數量的變化范圍較大。可以利用這個特點來區分火災火焰與干擾源。
火焰尖角的識別需要滿足以下兩個條件。
1)必須有一個“頂點”,即火焰邊緣的一個極值點;
2)尖角的形態為尖而長[4],從“頂點”展開的內角應小于一個角度閾值。
具體算法實現如下。
①頂點的確定。在已知的邊緣上尋找這樣的點i,它的前、后各N個點的縱坐標都不大于它的縱坐標,且第N個點的縱坐標不大于第N-1個點的縱坐標,即滿足式(4)。
(4)
N的取值會對計算的結果產生影響,N越大,滿足的條件就越苛刻,符合要求的尖角就會越少;反之則尖角越多。選擇適當的N值是十分重要的。通過實驗,本文選擇N=3。
②角度的計算。以頂點i為中心,前后各間隔M個點取點i-M和i+M,以這三點形成的三角形,則頂點i處的內角可用式(5)~(8)計算得到。
(5)
(6)
(7)
(8)
M應小于等于N。M的取值同樣會影響計算的結果,本文選取M=2。當i小于某一個值時,可以認為頂點i處為一個火焰尖角。
這樣計算角度會增加算法的復雜度,如果對計算精度要求不高,可使用高寬比粗略計算,計算公式見(9)~(11)。
(9)
d=xi+M-xi-M
(10)
(11)
k的值越大,尖角越“尖”;k的值越小,則尖角越平滑。
太陽光、手電筒、蠟燭等干擾源的尖角數會較少,而不穩定火焰的尖角數會比較多,并且在一個較大的范圍內不斷變化。
本文對同時滿足面積變化、圓形度和火焰尖角特征的目標區域判別為火災火焰,而對僅滿足一種或兩種特征的目標判別為干擾源。
不僅對于本文上述的幾種干擾源可以進行有效區分,對于一些不同的干擾源也同樣適用。例如,當手電筒向攝像頭移動,目標區域面積同樣會增大,但是圓形度和火焰尖角特征均不滿足,因此不是火災火焰。陽光透過樹葉形成的反光區域,雖然滿足圓形度和火焰尖角的特征,但其面積沒有增大的趨勢,因此也不是火災火焰。
如果使用環境中仍存在某些干擾源,同時滿足面積變化、圓形度和火焰尖角特征,則本文所涉及的算法就會誤識別為火災火焰,需要增加火焰特征或選擇不同火焰特征重新設計。
[1] 孫兆林.MATLAB 6.x圖像處理[M].北京:清華大學出版社,2002.
[2] 朱 虹.數字圖像處理基礎[M].北京:科學出版社,2005.
[3] 胡學龍,徐開宇.數字圖像處理[M].北京:電子工業出版社,2007.[4] 董 墨.基于圖像處理的火災探測系統的研究[D].沈陽:沈陽理工大學.2008.