劉樹東,姚文渤,張 艷
(天津城建大學(xué)計算機與信息工程學(xué)院,天津 300384)
我國是一個森林覆蓋面積少卻多林火災(zāi)害的國家,因此為了實現(xiàn)森林火災(zāi)早發(fā)現(xiàn)、早撲救的目標(biāo),森林火災(zāi)的預(yù)警監(jiān)測已經(jīng)引起了人們充分的重視[1]。
從我國視頻林火監(jiān)測現(xiàn)狀看,森林火災(zāi)的預(yù)警監(jiān)測以值班人員目視監(jiān)測方式為主。但是,人工觀測視頻監(jiān)控畫面的效率并不高,僅僅靠值班人員晝夜監(jiān)視大量的圖像和監(jiān)控畫面并不能滿足森林火災(zāi)監(jiān)測高效且實時的需求[2]。尤其是惡劣天氣條件會給監(jiān)測帶來更大的困難。而基于機器視覺的森林火災(zāi)監(jiān)測由于能夠有效地發(fā)現(xiàn)早期森林火災(zāi),已成為森林防火領(lǐng)域的研究熱點之一?;谝曨l的森林火災(zāi)監(jiān)測技術(shù)是集視頻圖像處理、視頻遠(yuǎn)程監(jiān)控、機器識別技術(shù)和計算機技術(shù)于一體的綜合監(jiān)測方式[3]。首先是將由視頻圖像裝置捕獲的圖像進(jìn)行數(shù)字化處理,并通過模式識別和圖像處理技術(shù)提取疑似火災(zāi)圖像中的火焰區(qū)域或煙霧區(qū)域;然后通過分類判別和特征提取等方法,確定被拍攝區(qū)域是否已經(jīng)產(chǎn)生火災(zāi),以此實現(xiàn)森林火災(zāi)的智能監(jiān)測和預(yù)警[2]。其優(yōu)勢在于監(jiān)控范圍比傳統(tǒng)傳感器更加寬廣,對攝像頭安裝位置沒有太多的特殊要求,檢測系統(tǒng)搭建難度更小等[4]。
基于視頻的森林火災(zāi)檢測方法可以分類為火焰檢測和煙霧檢測。由于火焰非常小并且在森林火災(zāi)中容易被樹木遮擋,因此煙霧是森林火災(zāi)的良好指標(biāo)[5]。國內(nèi)外視頻森林火災(zāi)監(jiān)測技術(shù)興起于21世紀(jì)初,并將室外火災(zāi)的煙霧和火焰檢測識別作為研究對象。文獻(xiàn)[6]運用時域小波變換、消除背景等方法成功將森林火災(zāi)特征從煙霧圖像中提取出來。但是,由于小波變換的龐大計算量導(dǎo)致處理時間過長,無法滿足森林火災(zāi)監(jiān)測的實時性需求。文獻(xiàn)[7]提出了針對煙霧識別的Gabor網(wǎng)絡(luò)。首先,構(gòu)建一個Gabor卷積單元,將Gabor卷積單元輸出的濃縮響應(yīng)圖進(jìn)行跨通道編碼并統(tǒng)計出直方圖特征,通過堆疊上述Gabor基礎(chǔ)層能形成一個前饋網(wǎng)絡(luò)結(jié)構(gòu),將每一層特征首尾相連即可獲得煙霧的多層級特征。但是,由于森林火災(zāi)的訓(xùn)練樣本較少,導(dǎo)致該方法無法廣泛應(yīng)用到各類不同的森林環(huán)境中。文獻(xiàn)[8]對疑似煙霧區(qū)域利用中值背景差分法提取監(jiān)測運動目標(biāo),并進(jìn)行反向神經(jīng)網(wǎng)絡(luò)、多特征融合提取從而進(jìn)行煙霧識別,獲得了很好的性能。文獻(xiàn)[9]首先基于韋伯定理分析對比度,然后分析小波變換后的能量特征,最后計算疑似煙區(qū)的移動特征。如果灰度值發(fā)生改變,就會參照當(dāng)前幀和下一幀圖像的原始背景來估計下一幀的背景?,F(xiàn)有的根據(jù)煙霧顏色特征進(jìn)行中值背景差分法和基于小波變換的煙霧檢測等方法,常常將飄動的云霧等干擾誤檢為煙霧[10],所以霧天會對森林火災(zāi)監(jiān)測產(chǎn)生一定程度的影響,甚至可能會造成誤判。
發(fā)生火災(zāi)時由于燃燒會不間斷地產(chǎn)生粒徑在25 nm ~100 μm、溫度在100 ~ 1 000 ℃的微小顆粒群,稱為微粒云,即視覺煙霧[10]。這些微粒云在燃燒產(chǎn)生的熱量作用下,會向某一特定方向運動。所以,早期的森林火災(zāi)煙霧與云霧具有明顯不同的特征。首先煙霧從底部向頂部移動[11],其次林火煙霧的動態(tài)特征有著非結(jié)構(gòu)化的特點,其質(zhì)點的運動呈現(xiàn)出一種無規(guī)則變化,而大氣云霧的形態(tài)變化則相對較慢[12]。
為避免云霧對森林火災(zāi)監(jiān)測的干擾,本文方法在煙霧檢測前利用去霧算法對森林圖像進(jìn)行去霧處理。目前,去霧主要使用基于圖像復(fù)原的方法。文獻(xiàn)[13]觀察到,在晴朗的天氣中室外物體至少有一個明顯黑暗的顏色通道,于是提出了一種暗通道模型來估計透射圖。該方法的缺陷在于泛化能力差,不能適用于各種場景。文獻(xiàn)[14]通過一系列伽馬校正操作人為地曝光原始模糊圖像,通過多尺度拉普拉斯混合方案將得到的多重曝光圖像組合成無霧結(jié)果。文獻(xiàn)[15]使用正則化優(yōu)化透射率,將暗通道圖像與形態(tài)學(xué)梯度圖像線性融合獲取融合暗通道,通過大氣散射模型與修復(fù)的大氣光值構(gòu)造出自適應(yīng)的高斯權(quán)重參數(shù);然后對融合的暗通道圖像進(jìn)行逐像素處理,從而獲取粗透射率;最后恢復(fù)無霧圖像。該方法相較其他方法更為復(fù)雜,處理所需時間更長。文獻(xiàn)[16]提出一幅無霧的彩色圖像可以用幾百個RGB值代替得到去霧后圖像。文獻(xiàn)[17]在此基礎(chǔ)上對圖像中的相似顏色點聚類,并首先提出Haze-Line的概念。該方法可以較好地恢復(fù)無霧圖像的色彩,因此相較于其他去霧方法在森林火災(zāi)監(jiān)測中可獲得更好的去霧效果。所以,本文使用基于Haze-Line的去霧算法進(jìn)行去霧處理[17]。在此基礎(chǔ)上,本文將煙霧與云霧的擴(kuò)散性區(qū)別作為特征,針對霧天條件下森林火災(zāi)的監(jiān)測,將去云霧與煙霧檢測2種方法有效融合,提出一種霧天條件下基于機器視覺的森林火災(zāi)監(jiān)測方法。
為實現(xiàn)霧天條件下的森林火災(zāi)監(jiān)測,本文方法首先基于Haze-Line去霧算法對森林圖像進(jìn)行去霧處理;其次使用Horn-Schunck光流法得到的光流矢量進(jìn)行煙霧檢測,得到疑似火災(zāi)圖像;最后對煙霧進(jìn)行擴(kuò)散性分析,判斷火災(zāi)是否發(fā)生。具體過程如下所示:
步驟1從樣本視頻中每隔40 s截取一幀森林圖像。
步驟2將步驟1中所截取的圖像使用Haze-Line去霧算法恢復(fù)有霧圖像的透射系數(shù)和RGB值,從而進(jìn)行去云霧處理。
步驟3將步驟2中經(jīng)去霧處理后的連續(xù)相鄰2幀圖像用Horn-Schunck光流法進(jìn)行煙霧檢測,得到疑似火災(zāi)圖像,并對這些圖像中識別出的煙霧擴(kuò)散的區(qū)域進(jìn)行框選。
步驟4將檢測到的光流矢量值與使用最大類間方差法計算得出的自適應(yīng)閾值T進(jìn)行比較。若檢測結(jié)果中存在光流矢量值且大于T,則進(jìn)入步驟5;若檢測結(jié)果中不存在大于T的光流矢量值,則返回步驟1,進(jìn)行下一幀圖像的處理。
步驟5對步驟4檢測到的連續(xù)相鄰2幀圖像進(jìn)行煙霧擴(kuò)散性分析。計算煙霧區(qū)域中白色像素點的增長率,若增長率大于200且相對增長率大于1時,則判斷該幀圖像是發(fā)生了森林火災(zāi),并將火災(zāi)圖像輸出;否則返回步驟1,進(jìn)行下一幀圖像的處理。
本文方法流程圖如圖1所示。其中ΔPi表示增長率,IP為相對增長度。
Figure 1 Flow chart of the proposed method圖1 本文方法流程圖
一幅清晰圖像是由成百上千種不同的RGB值構(gòu)成的[18],因此將圖像里所有的像素點在RGB空間中進(jìn)行聚類,相似顏色的像素點會聚集成簇。在有云霧存在的圖像中,透射率會隨著取景點到拍攝相機距離的增加而改變,因此同一個類中的像素點透射率不同,與此同時云霧造成的圖像退化也會隨之增加,這時像素點的分布也不再是聚集成簇,而是被拉伸成直線,這是由于場景的亮度降低但大氣光的幅值增加而造成的。因此,有霧圖像可以被建模為無霧圖像和全局空氣的每像素凸組合[19]。在有霧圖像中,對穿過RGB空間的像素所形成的線建模[20],并將這些線定義為Haze-Line。引入Haze-Line去霧算法的目的是恢復(fù)有霧森林圖像中的像素透射率。
Haze-Line去霧算法包括4個步驟:將像素聚類以找到Haze-Line,估計初始透射率,正則化和去霧。受云霧等影響的有霧森林圖像的模型可以表示為:
I(x)=t(x)·J(x)+[1-t(x)]·A
(1)
其中,x是像素坐標(biāo),I(x)為觀察到的有霧森林圖像,J(x)表示去霧后的清晰森林圖像,A為大氣光強度,t(x)表示介質(zhì)傳輸透射率。
介質(zhì)傳輸透射率t(x)與距離相關(guān):
t(x)=e-β d(x)
(2)
其中,β是大氣光的衰減系數(shù);d(x)為景深,可以理解為相機與像素x處的距離。通常,t(x)會隨著d(x)的增加呈指數(shù)性衰減。在單個圖像去霧算法中,t(x)對β的依賴性被認(rèn)為是可以忽略不計的,為減少未知數(shù),在這里同樣使用這個假設(shè)。
如圖2所示,在有霧情況下對截取的森林圖像中5處環(huán)境相似但景深不同的像素點進(jìn)行了標(biāo)記,圖3描述了5個標(biāo)記處中心像素點具有相應(yīng)的顏色編碼并且在RGB空間所形成的Haze-Line。
Figure 2 Input hazed image (Note the marked pixels)圖2 輸入有霧圖像
Figure 3 Haze-Line in RGB color space defined by marked pixels圖3 標(biāo)記的像素在RGB顏色空間中形成的Haze-Line
首先聚類Haze-Line,定義IA(x)為:
IA(x)=I(x)-A
(3)
其中,IA(x)表示有霧森林圖像的顏色像素值和大氣光強度的差值。即3D RGB坐標(biāo)系被平移,使得大氣光強度A處于原點。將式(1)代入式(3)可得:
IA(x)=t(x)[J(x)-A]
(4)
用球坐標(biāo)表示IA(x):
(5)
J(x)≈J(y)?
(6)
對于與大氣光共線的顏色:
J1(x)-A=α(J2(x)-A)?
J1(x)=(1-α)A+αJ2(x)
(7)
其中,α是比例因子,J1(x)和J2(x)分別為2幅無霧圖像。在這種情況下,所有單個圖像去霧方法都將J1(x)和J2(x)校正為相同的顏色,這也是此算法中唯一一種將2個顏色簇映射到同一條Haze-Line的情況。
然后估計透射率。在由J(x)和A定義的式(4)和式(5)中,γ(x)取決于物距,透射率t(x)和物體到相機的距離相關(guān),所以γ(x)表示為:
(8)
(9)
其中,H為Haze-Line,并且初始透視率的數(shù)學(xué)表達(dá)式為:
(10)
輻射亮度J(x)為非負(fù)(即J(x)≥0),式(11)給出了透射率的下限:
(11)
比較透射率下限和初始透射率,并取二者中較大的一個,表達(dá)式為:
(12)
以上計算的初始透射率是基于整個平面圖像的,所以采用4鄰域的像素點進(jìn)行平衡。如果將少量像素映射到特定Haze-Line,這種估計是不準(zhǔn)確的,因為其中γ(x)非常小并且噪聲可以顯著地影響角度。除深度不連續(xù)外,透射圖應(yīng)該是平滑的,所以下一步進(jìn)行正則化。正則化表達(dá)式如式(13)所示。
(13)
(14)
去霧算法偽代碼如下所示:
輸入:I(x),A。
(1)IA(x)=I(x)-A。
(4) 估計最大半徑:
(5) 估計透視率:
(7) 計算去霧圖像。
煙霧的擴(kuò)散特性可作為識別森林火災(zāi)的有效依據(jù),故本文在對森林圖像去霧的基礎(chǔ)上,首先使用Horn-Schunck光流法分析得到2幀圖像的光流圖;然后通過分析光流矢量的長度和方向判別是否有煙霧產(chǎn)生和煙霧產(chǎn)生的位置,得到疑似火災(zāi)圖像;再對疑似火災(zāi)圖像,進(jìn)行擴(kuò)散性分析,以判斷火災(zāi)是否發(fā)生。
光流是空間運動物體在觀察成像平面上的像素運動的瞬時速度,光流的研究是利用圖像序列中的像素強度數(shù)據(jù)的時域變化和相關(guān)性來確定各自像素位置的“運動”,即研究圖像灰度在時間上的變化與景象中物體結(jié)構(gòu)及其運動的關(guān)系。光流法將二維圖像平面特定坐標(biāo)點上的灰度瞬時變化率定義為光流矢量,利用相鄰幀之間的相關(guān)性以及圖像序列中像素在時間域上的變化找到上一幀與當(dāng)前幀之間存在的對應(yīng)關(guān)系,從而計算出相鄰幀之間物體的運動信息[21]。由于煙霧在擴(kuò)散的過程中是運動的,而光流法是檢測物體運動的一種基本方法,該方法可以通過煙霧擴(kuò)散時在成像平面上所形成的若干光流矢量來判斷原圖像中煙霧是否擴(kuò)散和擴(kuò)散的位置。所以,通過光流法可以檢測出森林圖像中的煙霧,得到疑似火災(zāi)圖像。光流場的計算主要有Horn-Schunck和Lucas-Kanade[22]。本文使用Horn-Schunck光流法。
對經(jīng)光流法分析得到的疑似火災(zāi)圖像進(jìn)行二值化處理,計算連續(xù)相鄰兩幀圖像的煙霧區(qū)域中白色像素點的增長率和相對增長率,來表示煙霧擴(kuò)散的速度。若增長率大于200且相對增長率大于1,則判斷該幀圖像是發(fā)生了森林火災(zāi)[10]。
本文方法測試環(huán)境為 Intel i5 7200U CPU、8 GB 內(nèi)存、NVIDIA Geforce 920M 顯卡,軟件平臺為Matlab 2016a,實驗中對大小為866×486的霧天森林火災(zāi)視頻進(jìn)行火災(zāi)檢測。所采用的樣本視頻幀速為25 fps,為確保準(zhǔn)確性、避免其他噪聲干擾,實驗中對樣本視頻每隔40 s取一幀圖像作為實驗的樣本圖像。首先使用Haze-Line算法、多尺度拉普拉斯算法和暗通道先驗算法對森林火災(zāi)圖像進(jìn)行去霧,比較這幾種算法對森林圖像的去霧效果;然后將未經(jīng)去霧的圖像和去霧后的圖像分別使用光流法進(jìn)行煙霧檢測處理,以說明去霧算法對后續(xù)使用光流法進(jìn)行煙霧檢測的幫助;最后對疑似火災(zāi)圖像進(jìn)行擴(kuò)散性分析,判斷煙霧擴(kuò)散的趨勢,以判斷火災(zāi)是否發(fā)生。
從森林火災(zāi)的樣本視頻中選取一幀圖像進(jìn)行去霧處理,比較Haze-Line去霧算法、多尺度拉普拉斯算法和暗通道先驗算法對單幅圖像的去霧效果,選取結(jié)構(gòu)相似比(SSIM)和峰值信噪比(PSNR)對去霧圖像進(jìn)行評價,結(jié)果如表1所示。3種算法的去霧結(jié)果如圖4所示。
Table 1 Comparison ofPSNRandSSIMof three algorithms
Figure 4 Comparison of three algorithms of dehazed圖4 3種去霧算法比較
由表1可以看出,Haze-line去霧算法的峰值信噪比和結(jié)構(gòu)相似性指標(biāo)分別比暗通道先驗去霧算法高出了3.11和0.08,說明使用Haze-Line去霧算法后的圖像失真較小,去霧效果更好。
由圖4可以看出,多尺度拉普拉斯算法去除云霧后的圖像看起來暗淡,并使煙霧變得淺淡。暗通道先驗算法有一定的去霧效果,也能較好地保留煙霧,但圖像總體泛白。而Haze-Line去霧算法在輸出上執(zhí)行全局線性對比度拉伸,在陰影和高光中剪切0.5%的像素值,使得結(jié)果更加明亮,煙霧的對比度更高。同時,Haze-Line去霧算法是基于像素而不是基于塊的,平均處理一幅圖像所用時間為0.8 s,實時性高。以上對比實驗說明,Haze-Line去霧算法更適用于森林圖像的去霧處理,所以本文選用Haze-Line去霧算法對森林圖像進(jìn)行去霧處理。
4幀含有煙霧的森林圖像的去霧結(jié)果如圖5所示。由圖5可以看出,由于火災(zāi)所產(chǎn)生的煙霧在圖像中呈白顏色,所以使用Haze-Line去霧算法恢復(fù)有霧圖像中各像素點的RGB值時,不會對煙霧造成影響,可以較好地保留煙霧。
Figure 5 Dehazed results圖5 去云霧結(jié)果展示
在火災(zāi)判斷的過程中,將煙霧的擴(kuò)散作為主要特征進(jìn)行判別。首先使用光流法對截取的2幀視頻圖像進(jìn)行煙霧檢測,得到疑似火災(zāi)圖像;再對經(jīng)光流法分析得到的疑似火災(zāi)圖像進(jìn)行擴(kuò)散性分析,進(jìn)而判斷有無煙霧擴(kuò)散及擴(kuò)散速度。
3.2.1 煙霧檢測
為驗證本文火災(zāi)判斷算法的魯棒性和有效性,使用暗通道先驗算法和Haze-Line去霧算法對視頻中2幀森林圖像做去霧處理,然后對去霧前的圖像和2種算法的去霧圖像使用光流法進(jìn)行煙霧檢測,進(jìn)而說明去霧處理及不同去霧算法對光流法分析的影響。
首先選取視頻中2幀不含煙霧的森林圖像,對圖像進(jìn)行去霧處理后,對去霧前的圖像和2種算法的去霧圖像使用光流法分析,得到相應(yīng)的光流圖,為去除2幀圖像間的像素質(zhì)量差異對煙霧檢測的影響,將經(jīng)光流法處理后的樣本圖像利用最大類間方差法保留合適的光流矢量值,得到的光流圖如圖6所示。然后選取視頻中2幀含有煙霧的森林圖像,做相同步驟的處理,得到相應(yīng)的光流圖,結(jié)果如圖7所示。
Figure 6 Optical flow analysis results of forest images without smoke圖6 不含煙霧的森林圖像光流法分析結(jié)果
由圖6可以看出,由于圖6a中霧的存在,對圖6a進(jìn)行光流法分析得到的光流圖(圖6b)中含有大量噪聲。而對2幅去霧圖像使用光流法分析得到的光流圖(圖6d和圖6f)中沒有任何噪聲。圖6c和圖6e為不含煙霧的森林圖像,所以圖6d和圖6f中未見光流矢量。
Figure 7 Optical flow analysis results with smoke diffusion圖7 含有煙霧的圖像光流法分析結(jié)果
由圖7可以看出,由于圖7a中霧的存在,光流圖(圖7b)中雖然也能夠得到光流矢量,但含有大量噪聲。而光流圖(圖7d和圖7f)中光流矢量清晰,并對識別出的煙霧區(qū)域進(jìn)行了框選。通過圖7d和圖7f說明,圖7a中含有煙霧。
綜合分析圖6與圖7可以看出:(1)先對森林圖像進(jìn)行去霧處理,再使用光流法進(jìn)行煙霧檢測,能夠準(zhǔn)確得到光流圖,進(jìn)而得到疑似火災(zāi)圖像;(2)采用不同的去霧算法對光流法進(jìn)行煙霧檢測結(jié)果的影響較小,說明本文提出的煙霧檢測方法對去霧算法的依賴性和敏感性較低,具有一定的魯棒性。
Figure 8 Binarization results of suspected fire image圖8 疑似火災(zāi)圖像二值化處理的結(jié)果
3.2.2 擴(kuò)散性分析
為客觀地評價本文提出的森林火災(zāi)監(jiān)測方法的有效性,通過計算煙霧擴(kuò)散的速度來判斷火災(zāi)的發(fā)生。首先對經(jīng)過光流法分析得到的疑似火災(zāi)圖像中的連續(xù)4幀森林圖像進(jìn)行二值化處理,白色區(qū)域為煙霧,結(jié)果如圖8所示。然后使用式(15)和式(16)計算白色像素點的增長率和相對增長率,結(jié)果如表2所示,將ΔPi大于200且IP大于1時判斷為有火災(zāi)發(fā)生。
(15)
(16)
其中,ΔPi為增長率,Pi+k為第i+k幀的白色像素點個數(shù)的和,Pi為第i幀的白色像素點個數(shù)的和,k為間隔幀數(shù),IP為相對增長率。
Table 2 Diffusion analysis
由表2可以看出,連續(xù)4幀疑似火災(zāi)森林圖像中白色像素點的個數(shù)逐漸增多,說明煙霧在不斷擴(kuò)散,而且ΔPi大于200且IP大于1,判斷此時有火災(zāi)發(fā)生。
綜上所述,本文的森林火災(zāi)監(jiān)測方法,通過使用Haze-Line去霧算法和光流法,能夠在有霧的天氣條件下,判斷森林火災(zāi)的發(fā)生,說明了本文方法的有效性和魯棒性。實驗中對樣本視頻每隔40 s取一幀圖像作為實驗的樣本圖像,而對一幀圖像進(jìn)行去霧和光流法分析的時間約為1.8 s,所以本文方法具有一定的實時性和有效性。
云霧和類似煙霧的諸多干擾物極大地降低了森林火災(zāi)識別的精度,本文提出了一種霧天條件下基于機器視覺的森林火災(zāi)監(jiān)測方法。一方面,引入基于Haze-Line的去霧算法對森林火災(zāi)的樣本視頻截取的圖像進(jìn)行去霧處理,從而排除云霧對煙霧檢測的影響。另一方面,通過最大類間方差法定義光流矢量長度的Horn-Schunck光流法對去霧圖像進(jìn)行煙霧檢測得到疑似火災(zāi)圖像。最后對疑似火災(zāi)圖像二值化處理,進(jìn)行擴(kuò)散性分析以判斷火災(zāi)是否發(fā)生。實驗結(jié)果表明,該方法在森林火災(zāi)監(jiān)測中具有顯著的魯棒性和有效性。