江文婷,龔小謹,劉濟林
(浙江大學(xué)信息與電子工程系,浙江杭州310027)
由于低成本攝影機的普遍存在,近來對基于視覺的自主火災(zāi)檢測需求有了很大的增加?;馂?zāi)檢測不僅是在火災(zāi)預(yù)警系統(tǒng),還在火災(zāi)度量中有重要地位。其中,火災(zāi)度量是通過分析例如火焰地理位置和火災(zāi)傳播方向的燃燒特性來提供最佳消防手段。因此,精確的火災(zāi)檢測是很必要的。目前基于視覺的火災(zāi)檢測技術(shù)主要使用顏色自適應(yīng)閾值[1]、支持向量機[2]、神經(jīng)網(wǎng)絡(luò)[3]或者馬爾科夫模型等學(xué)習(xí)方法等方法。本文提出了使用水平集框架來分割火焰區(qū)域。這個框架在圖形背景分割領(lǐng)域比較流行,但是很少用在火災(zāi)檢測技術(shù)中。基于水平集的方法有兩個主要的優(yōu)勢:首先,與上述孤立地對象素點進行分類的方法不同,水平集方法隱含地考慮了空間的依賴性以及如邊緣等的其它圖像線索。其次,它很適合描述諸如火焰那樣形狀多變的區(qū)域。隨著有效的水平集方法的發(fā)展,基于此方法的實時化也會成為趨勢[4]。
火災(zāi)檢測的目的在于在一幅圖像中辨認出火焰的區(qū)域,同時將剩下區(qū)域的作為背景。因此,本質(zhì)上是一個圖像背景分割問題,自然就能夠用水平集方法來處理。
在水平集框架下,可以用關(guān)于時間t的隱函數(shù)φ(x,t):Ω×[0,∞)→R來劃分出兩類圖像區(qū)域,這里Ω?R2代表圖像區(qū)域。φ(x,t)>0代表火災(zāi)區(qū)域,φ(x,t)<0代表背景區(qū)域。代表水平集方程的零水平線。在此框架下,通過沿著φ定義的能量函數(shù)最小化的方向展開輪廓可以得到一種優(yōu)化的火焰分割結(jié)果。本文用如下的形式定義能量函數(shù):
能量項Eregion依賴于圖像I、火的觀測模型Pf和背景的觀測模型Pb;Eedge迫使零水平集定位于邊緣強度大的位置;Edist是維持φ為一個帶符號的距離函數(shù)的正則項;v和u都是正的權(quán)重因子。這3個能量項分別定義如下。
基于區(qū)域的項是為了估計象素點被劃分成火或者背景的代價。本文用概率框架來表示它,以便加入關(guān)于火的細節(jié)特征的先驗知識。此能量項旨在考慮先驗信息基礎(chǔ)上最大化后驗概率(MAP)。將類l={f,b}當作一個二值的隨機變量,f代表火,b代表背景。假設(shè)變量l是獨立、恒等和一致分布的。由于火在紋理和顏色上有獨特的視覺特征,本文以圖像象素的顏色為特征,從一系列帶標注的訓(xùn)練集中學(xué)習(xí)得到火的概率觀察模型Pf和背景的概率觀察模型Pb。然后,根據(jù)貝葉斯推理得到由MAP驅(qū)動下的能量函數(shù)如下:
式中,H()是Heaviside階梯函數(shù);λ1和λ2是正的參數(shù)。
基于邊緣的能量項Eedge是為了平滑輪廓和迫使輪廓定位在強邊緣上,因此定為:
式中,?I是灰度或者顏色的梯度,δ()是Dirac delta函數(shù)。這一項計算了沿著零級輪廓的積分,且在輪廓位于高梯度邊緣時達到最小化。
水平集函數(shù)φ通常被設(shè)定為帶符號的距離函數(shù),因此傳統(tǒng)方法需要在迭代過程中頻繁進行修正。為了避免重新初始化,文獻5提出了以下的正則項:
此項在本質(zhì)上保持了水平集函數(shù)的正則性。
實現(xiàn)最優(yōu)的火焰分割的同時也最小化了能量函數(shù)式1。最小化是通過水平集函數(shù)φ交替的梯度下降中得到的。如很多水平集方法那樣[5],本文在實現(xiàn)上將δ和H替換為平滑的近似值δ∈和H∈,這兩者定義為:
繼而得到梯度下降:
本文將從谷歌圖像搜索中收集到圖像集作為測試集對算法進行測試。圖像集共115張圖片,包含各種火災(zāi)場景:森林火災(zāi)、車禍火災(zāi),還有一些易誤判的場景,如消防員的外套和路邊燈光,這些場景代表了由監(jiān)控攝像機可能拍到的環(huán)境。所有圖像都是象素為320×240的彩色圖像。本文對這些圖像進行了人工標注以便于評價。實現(xiàn)過程如圖1所示。
圖1 迭代過程
本文通過準確率和召回率來定量地評估算法的性能。準確率是指在所有被檢測為火焰的象素點中被準確識別的火焰象素點的百分比。召回率是指在圖像中所有的火焰象素點中被準確識別出來的火焰象素點的百分比。此外,本文也將該算法與本文工作相似的基于分類器的算法[2]進行了比較。所有的評估都在由95個綜合性的圖像組成的測試集上進行測試。這兩種方法的比較結(jié)果如表1所示。
表1 定量的比較結(jié)果(%)
結(jié)果顯示本文算法比基于分類器的算法的效果更好。這樣的優(yōu)越性得益于水平集框架。檢測效果如圖2所示,可見大多數(shù)的火焰都能被檢測出來。
圖2 部分檢測結(jié)果
本文目的是在綜合的場景中準確檢測出火災(zāi)區(qū)域,以便應(yīng)用到各種監(jiān)控環(huán)境中。為此,本文引入了基于水平集進行火災(zāi)檢測的方法。該方法將火災(zāi)細節(jié)特征的先驗知識和圖像的梯度線索結(jié)合起來得到更光滑的火焰輪廓,這樣能準確地劃清火焰區(qū)域。方法在性能上與基于分類器的方法相比有了顯著的提高。到目前為止,本文算法是在Matlab中實現(xiàn)的,其運行時間較長而不便于應(yīng)用到實時的情況。通過窄帶的水平集應(yīng)用和在C/C++上應(yīng)用可以改善該算法的有效性。此外,由于最近水平集方法的不斷發(fā)展,GPU技術(shù)的普及,該算法的實時性有待于實現(xiàn)。因此,基于水平集的方法將會非常適合應(yīng)用到火災(zāi)檢測和監(jiān)控視頻跟蹤中,這是本文將來追求的目標。
[1]Celik T,Demirel H.Fire detection in video sequences using a generic color model[J].Fire Safety Journal,2009,44(2):147-158.
[2]Collumeau J-F.Fire scene segmentations for forest fire characterization:a comparative study[C].Brussels:International Conference on Information Processing,2011:2 974 -2 975.
[3]Liu C,Ahuja N.Vision based fire detection[C].Cambridge:International Conference on Pattern Recognition,2004:135-136.
[4]Shi Y,Karl C W.Real-time tracking using level sets[C].San Diego:Conference on Computer Vision and Pattern Recognition,2005:35 -37.
[5]Li C,Xu C,Gui C.Distance regularized level set evolution and its application to image segmentation[J].IEEE Transactions on Image Processing,2010,19(12):3 246 -3 252.