李鴻燕,郭人輔,張 靜
(1.太原理工大學 信息工程學院,山西 晉中 030600;2.上海海洋大學 愛恩學院,上海 201306)
火災是一種多發性災害,世界各國高度重視火災的預防和警報。近年來,隨著數字圖像理論的完善和應用,出現了基于視頻圖像的火災預警。火災發生初期伴有大量煙霧產生,并在一定空間范圍內傳播。因此,煙霧的監控對于火災預警有著非常重要的意義。
目前,基于視頻圖像的煙霧檢測致力于研究煙霧的特征,這些特征在一段時間內較為穩定并且能反映煙霧特有的狀態。煙霧的特征可分為靜態和動態特征。過去的研究對煙霧的顏色、紋理、圓形度、模糊等靜態特征進行了大量的研究,同時合理地組合不同的特征以提高檢測率,卻忽略了煙霧的一個主要特征——動態特性。為解決這個問題,DORETTO et al最早提出了煙霧視頻的線性動態系統框架(linear dynamic system ,LDS)[1],將隨時間變化的亮度值模型化。LDS不僅能夠識別視頻序列中的煙霧,還可以確定畫面中煙霧的確切位置和煙霧發生的具體時間。但是LDS也有其不足,它僅采用亮度值作為圖像信息,忽視了其他信息如彩色視頻的RGB信息等。因此,YUAN et al在LDS中加入反饋控制,提出了閉環線性動態系統框架(closed-loop linear dynamic system,CLDS)[2];COSTANTINI在LDS中運用高階分解以降低時間域、空間域和顏色域的維度[3];CHAN et al定義了兩個LDS動態系統的核來改進LDS[4].這些方法大多采用密集抽樣方法,計算量較大。
為了提高動態紋理特征分析的可靠性,同時為了控制計算量,本文提出了一種高階線性動態系統(higher order linear dynamic systems,h-LDS)煙霧檢測算法。該算法首先經過預處理得到煙霧候選區域,然后在多維圖像塊中新增RGB和HOG特征,提高了動態紋理特征分析的可靠性;同時基于對多維圖像數據的高階分解,分析煙霧視頻的動態紋理特征。由于采用滑動時間窗,可以確定畫面中煙霧的確切位置和煙霧發生的具體時間,改善了煙霧特征提取階段所提取的煙霧特征穩定性不高且對煙霧的判斷準則過于簡單的缺點。
本文提出的煙霧視頻檢測的多維動態紋理分析算法包括預處理、多維動態紋理分析、分類3個模塊,算法結構如圖1所示。

圖1 基于多維動態紋理分析的煙霧檢測算法結構Fig.1 Structure of smoke detection algorithm based on multidimensional dynamic texture analysis
視頻序列預處理是通過運動前景分離和顏色分析,先對運動視頻圖像和同一攝像機鏡頭下的靜態背景進行對比,得出在攝像頭拍攝期間運動目標運動的軌跡;然后對運動目標進行顏色分析,得到初步的煙霧疑似目標區域,并對它進行高斯平滑濾波。
1.1.1 前景分離
運動前景分離采用基于獨立分量分析技術(independent component analysis,ICA)和基于圖的視覺顯著性(graph-based visual saliency,GBVS)的煙霧前景分離算法。該算法在煙霧分離階段先采用改進的ICA運動物體識別模型初步分離煙霧前景區域,再通過GBVS提取煙霧前景顯著區域。
1.1.2 顏色分析
在火災發生的初期,由于溫度比較低,物體往往燃燒不夠充分,會產生灰白色的煙霧。煙霧自身是半透明的,且剛產生時煙霧往往比較稀疏,這會使得背景圖像變模糊;隨著煙霧密度增加,背景圖像從半透明到被煙霧全部遮蓋,背景圖像失去了原來的顏色特征,所以可以根據顏色特征來判斷是否存在煙霧。
經過觀察和分析可以發現,煙霧在RGB彩色模型下R、G、B三個分量的灰度值相當接近。因此如果同時滿足以下兩個條件,則認為該像素點滿足煙霧的顏色特征。
條件1:RGB彩色模型的3個分量同時增減后仍相等,即R±a=G±a=B±a;
條件2:將RGB彩色模型轉化為HSI彩色模型后,HSI模型的I分量滿足L1≤I≤L2或者H1≤I≤H2。其中,I表示強度或亮度,L1,L2,H1,H2均為分量I的經驗閾值。
進行上述視頻序列預處理以后,得到預處理后的待檢測視頻,能夠降低煙霧檢測的計算量,提高檢測速度和檢測效率。
1.2.1 煙霧視頻的線性動態系統框架(LDS)
由于煙霧的動態變化特性,動態紋理分析方法能更好地分析煙霧視頻動態特征。因此,本文基于一階自回歸運動平均模型(auto-regressive moving average,ARMA),同時加入獨立同分布的具有零均值的高斯白噪聲,構造了一個煙霧視頻的線性動態系統[5],定義如下:
x(t+1)=Ax(t)+Bv(t) .
(1)

(2)

式(1)表示了相鄰進化隱態過程的遞歸關系,式(2)表示了y(t)是各時間進化隱態過程x(t)的線性表示。也就是說,矩陣A和C確定了煙霧視頻的線性動態系統。
在處理大量視頻序列時,需要先求解A和C來估計煙霧視頻的線性動態系統(LDS)框架,再進行密集采樣。然而,待測視頻中并不是每一個樣本圖像都有效,比如煙霧發生早期或者是距離比較遠而使得拍攝到的煙霧比較稀薄,因此拍攝到的視頻較為模糊。如果將此模糊的視頻也作為樣本處理,將會導致計算量過大。為克服此局限性,同時為了確定圖像中煙霧的確切位置和煙霧發生的具體時間,建立一個三維圖像塊,長寬為N×N,因此d=N×N,時間跨度為F,用Y∈RN×N×F來表示三維圖像塊,如式(3):
Y=[ypatch(1),ypatch(2),…,ypatch(F)] .
(3)
式中:Y表示三維圖像塊集,ypatch(t)∈Rd(t=1,2,…,F)是三維圖像塊輸出灰度值。由式(2)可得:
(4)
煙霧視頻的線性動態系統矩陣A和C的求解方法如下[6]:
先構造一個零均值矩陣
(5)

對Y0進行奇異值分解,得:
Y0=USVT.
(6)
式中:U是d階實酉矩陣,d表示當前視頻圖像的像素總數;S是d×F階對角矩陣,F表示圖像塊時間跨度,S中對角線上的元素是Y0的奇異值;VT是V的轉置,V是F階實酉矩陣。
由式(4)和式(5),可得:
Y0=CX.
(7)
其中,X=[x(1),x(2),…,x(F)].
由式(6)和式(7),可得:
C=U.
(8)
令X=[x(1),…,x(F)],X1=[x(1),…,x(F-1)],X2=[x(2),x(3),…,x(F)],則:
(9)
因此,煙霧視頻的線性動態系統框架可以表示為:MLDS=(A,C).
1.2.2 煙霧視頻的高階線性動態系統框架(h-LDS)
煙霧視頻的高階線性動態系統框架(h-LDS)能夠提高動態紋理特征分析的可靠性且降低計算量。h-LDS采用滑動時間窗把視頻分成若干間隔相等的子序列,然后構造一個四階張量Yh∈RN×N×M×F來表示四維時空圖像塊,其中N是圖像塊的邊長,F是多維圖像塊時間跨度,M表示圖像靜態特征通道的個數。靜態特征包括四維圖像塊的RGB特征和方向梯度直方圖特征。如圖2所示為四維時空圖像塊的結構示意圖,其中通道1對應圖像塊R分量的特征值,通道2對應圖像塊G分量的特征值,通道3對應圖像塊B分量的特征值,通道4對應圖像塊R分量的方向梯度直方圖特征值。

圖2 多維圖像塊結構Fig.2 Structure of multidimensional image block
四維時空圖像塊Yh∈RN×N×M×F可以表示成:
(10)


(11)

Yh=X×kCh.
(12)
式(12)可以進一步化為Yh=ChX(k),其中X(k)=X×k是X的k維展開式,其形式和式(7)形式一致。令
Xh1=[x(k)(1),x(k)(2),…,x(k)(F-1)] ,
(13)
Xh2=[x(k)(2),x(k)(3),…,x(k)(F)] .
(14)
xRGB(t+1)=AhxRGB(t)+v(t) .
(15)
(16)


(17)

因此,代表四維圖像塊的四階張量Yh又可寫成:

xRGBH(t+1)=AhxRGBH(t)+v(t) .
(18)
(19)

煙霧視頻的高階線性動態系統:
Mh-LDS=(Ah,Ch) .
在得到煙霧視頻的加入HOG特征的高階線性動態系統后,采用一種比較經典的聚類算法K-medoids[10]對視頻序列的動態紋理進行分類,得到煙霧的碼書。得到的碼書涵蓋三類:一類不含煙霧,另一類含煙霧,還有一類包含從顏色和運動上來說與煙霧類似的成分。

(18)

將待檢測的煙霧視頻和碼書進行對照,如果滿足DMh
本文的仿真環境為Visual Studio 2012 C++和openCV,實驗數據集選取了Toreyin建立的煙霧數據庫中的測試視頻,同時用固定攝像頭拍攝了一組點煙器模擬煙霧發生的視頻。該數據集在不同的條件下拍攝,涵蓋了多種濃度和光照的煙霧形態。
本文以檢測率為評價指標,采用多元比較的方法,對多維圖像塊的邊長N、碼書中集群的個數K以及把視頻分成若干相等子序列的滑動時間窗的大小F這3個參數采用控制變量法,固定兩個參數改變另一個參數,得出h-LDS和傳統的LDS的檢測率。在對比試驗中,根據M的取值又可以將h-LDS分為h-LDS/RGB和h-LDS/RGBH,前者M=3,后者加入HOG特征因而M=4.
首先,采用控制變量法固定碼書中集群的個數K以及滑動時間窗的大小F,通過改變多維圖像塊的邊長N來研究不同N值對實驗結果的影響。圖3為N分別取4,8,12,20,30,40,80時,對四維圖像塊Yh-LDS∈RN×N×M×F和三維圖像塊YLDS∈RN×N×F的檢測結果。針對三維圖像塊Yh-LDS∈RN×N×M×F的記做LDS,針對四維圖像塊Yh-LDS∈RN×N×M×F的,根據M的值,M=3時記做h-LDS/RGB,M=4時記做h-LDS/RGBH,二者的區別在于h-LDS/RGBH多了一個記錄方向梯度直方圖特征值的通道。由圖3可知,無論是在LDS,h-LDS/RGB還是h-LDS/RGBH框架下,N=20時的檢測率最高。從圖3還可以看出,不同的框架檢測率也不同,采用h-LDS/RGBH框架的檢測率高于采用LDS框架和h-LDS/RGB框架的檢測率。實驗中發現,采用最小的圖像塊Yh-LDS∈R4×4×N×4時,為了提高檢測率,需要提高視頻分辨率。從實驗結果我們可以分析得出,由于在LDS框架中使用灰度級的時空圖像塊,導致LDS框架和h-LDS框架的檢測率相差10%,所以本文采用的h-LDS/RGBH框架優于前面兩種框架。

圖3 不同N值對實驗結果的影響Fig.3 In fluence of different N values on the experimental results
為了研究不同K值對實驗結果的影響,將圖像塊邊長N和滑動時間窗大小F分別設置為20和80.圖4表示K-medoids分類器產生的碼書種類K分別取8,16,24,32,48,60,72,80,88,96時的檢測率。從實驗結果可以看出,當碼書種類K不超過60時,無論是何種框架,增加碼書種類K可以提高檢測率;而當碼書種類K超過60時,無論是何種框架,增加碼書種類K檢測率的提升變緩。但是,無論K取何值,本文采用的h-LDS/RGBH框架的檢測率總優于另外兩種框架。

圖4 不同K值對實驗結果的影響Fig.4 In fluence of different K values on the experimental results
為了研究不同F值對實驗結果的影響,將碼書種類K和圖像塊邊長N分別設置為60和20,改變如圖5所示的滑動時間窗大小F分別取20,50,70,80,90時的檢測率。從實驗結果可以看出,無論滑動時間窗大小F取何值,h-LDS/RGBH框架的檢測率都比另外兩種框架的檢測率高。對于h-LDS/RGBH框架,當滑動時間窗大小F小于80時,檢測率隨著滑動時間窗大小F增加而增加,而當滑動時間窗大小F超過80時,檢測率的增加開始變緩;對于LDS框架和h-LDS/RGBH,這個臨界值變為100,比h-LDS框架的臨界值增加25%.

圖5 不同F值對實驗結果的影響Fig.5 In fluence of different F values on the experimental results
綜上所述,采用控制變量法研究碼書中集群的個數K、滑動時間窗的大小F和多維圖像塊的邊長N對檢測率的影響時,其h-LDS/RGBH框架的檢測率均高于另外兩種框架的檢測率。
本文對傳統煙霧視頻的線性動態系統(LDS)加以改進,加入多維動態紋理分析,形成一種新的高階線性動態系統(h-LDS)。該系統先經過煙霧顏色和背景差分預處理得到煙霧候選區域,避免出現密集采樣,降低了計算量;在多維圖像塊中新增RGB和HOG特征,增加了圖像塊的維度,然后基于對多維圖像數據的高階分解,分析煙霧視頻的動態紋理特征。在該系統下,每個視頻子序列中的煙霧區域塊都可以用直方圖來表示,并且可以確定畫面中煙霧的確切位置和煙霧發生的具體時間。實驗以檢測率為評價指標,采用多元比較的方法,得出多維圖像塊的維度在特定值下,檢測率有最佳值;維度在一定范圍內,高階線性動態系統(h-LDS)的檢測率總高于線性動態系統(LDS).