謝 宏,陳祎婧,袁小芳,陳海濱,王立宸
湖南大學 電氣與信息工程學院,長沙 410082
隨著計算機技術和電子技術的發展,利用機器視覺技術結合智能監控設備進行火災檢測,解決了很多大空間、室外等場所的火災探測難題,且具有響應快,不受環境因素影響、適用面廣、成本低等優點[1]。現有的視頻煙霧監測系統取得了一定的成績,但仍存在誤報、漏報情況,提高檢測準確度,降低誤報率,是目前視頻煙霧檢測研究的關鍵。
疑似煙區分割是視頻煙霧檢測中非常重要的一步,該過程往往通過運動檢測來將可能是煙霧的區域從視頻中提取出來作為后續煙霧識別的輸入,疑似煙區的準確性可以加快后續處理速度,其完整性將直接影響到煙霧分類識別的性能。背景減除法因其對固定設備視頻中復雜背景的動態變化具有良好的適應性而被廣泛應用于煙霧檢測中。Kim等[2]單獨使用混合高斯模型并不能提取到完整的疑似煙區。董蘭芳等[3]通過混合高斯建模和統計非參數方法建立背景模型,并結合暗通道提取疑似煙區圖像,但該方法對黑煙效果較差。針對煙霧在場景中緩慢擴散的特性,Ye等[4]將緩慢運動區域與三幀差法得到的前景相結合,得到疑似煙區,改善了疑似煙區內部空洞問題。以上方法基本可實現疑似煙區分割,但對于一些特殊場景下的運動不明顯的煙霧運動檢測還需要進一步的改進。
在煙霧識別方面,傳統的煙霧檢測方法主要是通過人工提取多種煙霧特征并融合,訓練簡單的分類器進行煙霧檢測[5-7]。Appana 等[8]利用煙霧的光流運動紋理結合空間頻率能量譜,通過支持向量機進行煙霧檢測,然而該方法依靠手工設計提取特征往往需要較強的先驗知識,泛化能力較弱。近年來,卷積神經網絡(CNN)在目標檢測領域取得了非凡的成就,部分學者將其引入到煙霧檢測中[9]。陳俊周等[10]將2D CNN網絡用于煙霧檢測中,提出了一種級聯的卷積神經網絡煙霧紋理識別框架,融合動靜態紋理信息,取得了較好的效果。而Hu等人[11]則提出一種雙流卷積網絡,將RGB圖像和光流軌跡作為輸入,分別提取時空特征,通過SVM進行融合后對煙霧視頻進行識別。相比于采用2D CNN 網絡獨立提取時空域信息再進行決策級融合,3D CNN 網絡[12-13]在像素級融合時空域信息能夠更好地表達時空特性。為了克服3D CNN 網絡參數龐大,計算時效性低的問題,Qiu 等人[14]提出一種 Pseudo-3D ResNet(P3D)網絡結構,將3D CNN分解為兩個偽3D CNN,實現了2D CNN到3D CNN的拓展,保證了網絡的分類識別能力的同時縮小了網絡參數量。為了提高網絡檢測效率,常在網絡中引入注意力機制,對網絡進行優化,提高網絡的性能[15-16]。
基于以上存在的問題,本文提出幾個改進點:
(1)一種改進的疑似煙區分割方法,基于混合高斯模型建立的背景模型與原始視頻幀的小波低頻分量差進行前景提取,改善了煙區內部空洞的問題,得到更為完整的疑似煙區。
(2)受Pseudo-3D ResNe(tP3D)網絡結構啟發,提出時空雙路3D 殘差卷積神經網絡融合煙霧時空域特征,引入注意力機制,對時空域網絡特征通道進行重標定后再融合,篩選出對分類結果影響較大的特征,提高網絡檢測效率,并將固定長度的連續視頻幀作為網絡輸入,實現端對端的煙霧識別。
經過實驗驗證,本文方法在提高煙霧檢測準確率,降低誤檢率上均取得了一定的效果。
本文采用背景減除法進行煙霧視頻的運動分割,通過對一定長度的視頻幀圖像建立動態數學背景模型,再將背景模型與原視頻幀圖像進行差分,從而得到前景圖象,同時根據視頻序列中的原始幀圖象的變化對背景模型進行實時更新。
本文采用文獻[17]中提出的自適應混合高斯模型對背景進行建模,利用像素點與背景模型中K個高斯分布的關系來對背景模型進行動態更新。
混合高斯背景模型中每個像素點由K個高斯分布加權而成,在t時刻像素點xt的混合高斯模型概率分布公式為:

其中,xt是像素點在t時刻的顏色值,包括紅綠藍三分量,αk,t是權重系數,表示像素點屬于第k個高斯模型的可能性,Φ(xt|θk,t)表示第k個高斯模型的密度分布,θk,t=(μk,t,σk,t2)為時刻t混合高斯模型中第k個高斯分布的均值向量和協方差矩陣。
當t時刻像素點xt的值與t-1 時刻的K個高斯函數中的某一個函數相匹配,則認為該像素歸為背景點,否則將其歸為前景點,前景圖像像素點Ft(i,j)滿足

其中,i,j為像素點的位置。根據文獻[17]中的公式對背景模型參數進行更新。該方法在權值更新公式中引入了常量cT:

其中,r為學習率,為分布模型的歸屬因子,最符合像素值分布模型的歸屬因子為1,其他分布模型為0。隨著像素點的更新,當某個高斯分布的權值為負時將其舍棄,因此,針對視頻幀中像素點變化速度不一致的區域,權值更新幅度也會產生差異,實現了高斯分布數量的自適應,減少了算法運行時間。
t時刻的背景模型Bt由每個像素點中權重較大的前B個高斯背景模型組成,滿足:

其中,T1表示像素點被歸為前景點且不影響背景模型的最小比率。
由于煙霧為形態不固定的流體,其運動特征在邊緣運動幅度較內部運動幅度要明顯,且擴散需要一定的時間,尤其是過于稀薄和濃厚的煙霧,由于上述混合高斯背景建模方法往往依賴于像素點與多個高斯分布之間的方差閾值,而煙霧內部變化不明顯的像素點常常被歸為背景模型,對于尤其是過于稀薄和濃厚的煙霧,通過上述混合高斯背景模型難以得到完整煙區。本文列舉了4種煙霧情況,圖1(a)從上至下分別為擴散范圍較大的稀薄煙霧、運動遲緩的濃厚煙霧和兩個普通場景下煙霧視頻的原始圖像。圖1(b)為直接采用上述混合高斯模型由公式(2)獲取的前景,該前景圖像中往往只包括煙霧的邊緣圖像,煙霧內部存在一定的空洞,尤其是前2種情況的煙霧幾乎檢測不到。
本文將由公式(4)得到的t時刻的混合高斯背景模型圖像Bt和當前幀圖像It進行二維離散小波分解,選用db2小波函數作為基函數,得到背景模型圖像的低頻近似分量LLB和原始視頻幀圖像的低頻近似分量LLI,將二者進行差分,得到差分圖像Dt作為前景圖像,差分圖像像素點Dt(i,j)滿足:

其中,T2為閾值,實驗驗證將其設置為20時效果較好,i,j為像素點的位置。
該方法借助二維小波分解,提取背景模型和當前視頻幀的低頻近似分量,濾除了部分高頻噪聲,保留了背景圖像和當前視頻幀的基本內容,由二者直接差分得到完整的運動前景圖像且減少了噪聲干擾,解決了部分煙霧內部的微小運動難以檢出的問題,取得了不錯的效果,得到了較直接采用上述混合高斯模型方法更為完整的疑似煙區。
圖1(c)為4 種情況的背景圖像與視頻幀圖像的小波低頻差分圖像,與圖1(b)相比,不僅包括了運動幅度較大的煙霧邊緣,對于不同場景中的煙霧都能得到內部較為完整的疑似煙區,有利于后續的煙霧識別過程,降低漏報的概率。為了去除差分圖像中的噪點,對前景圖像進行了中值濾波和形態學處理中的膨脹和腐蝕操作,最終提取到的前景圖像如圖1(d)所示。

圖1 前景提取
由于煙霧整體各處性質相似,為了提高檢測效率,本文采用分塊檢測的方法。將連續N幀視頻劃分成固定大小為m×m的互不重疊的小視頻塊,濾除視頻圖像中運動微小的視頻塊,僅將前景圖像掩膜中所對應的那些視頻塊作為后續雙路3D殘差卷積煙霧識別網絡的輸入。
煙霧特征因其所在環境不同而存在較大差異,人工設計提取的煙霧特征往往受到某些與煙霧外觀或者運動相似物體的干擾,難以適應復雜場景下的煙霧分類識別。為了實現端對端的煙霧分類識別,通過3D CNN網絡融合煙霧的顏色、紋理等時域特征和煙霧的運動方向、幅度等空域特征。本文提出一種時空雙路3D 殘差卷積網絡結構,將3D 卷積層分解為兩個偽3D 卷積層,分別提取視頻的時域特征與空域特征,并引入注意力機制,對時空域網絡特征通道進行重新標定,分別對時空域網絡進行加權,篩選出對分類結果有利的特征,再將時空域特征融合得到最終的分類識別網絡,以視頻塊為輸入,直接得到分類結果。
本文提出的雙路3D殘差卷積網絡結構是受Pseudo-3D ResNe(tP3D)網絡結構[14]的啟發,用偽3D思想實現了新的3D殘差卷積網絡結構。
Pseudo-3D ResNet(P3D)網絡結構將卷積核時域深度為dk,空域大小為k的dk×k×k的3D殘差網絡結構,用大小為dk×1×1 的時間卷積核和大小為1×k×k的空間卷積核兩個偽3D 網絡結構來代替,在保證同等分類能力的情況下減少了網絡的參數量。對于d×w×h×c的輸入特征圖,其中d為視頻幀長度,w為視頻寬度,h為視頻高度,c為視頻幀輸入特征維度,經過大小為dk×k×k的3D卷積核的計算參數量為:

而對于分解后的偽3D卷積核的計算參數量為:

由此可見,偽3D卷積核計算參數量是3D卷積核的dkk2/(dk+k2),極大地減少了網絡參數個數,同時能夠保證良好的分類能力。
本文提出的時空雙路網絡結構,是將P3D網絡塊串聯的1×3×3 的空間卷積核和3×1×1 的時間卷積核,如圖2(a),拆分為單獨的包含1×3×3 的空間卷積核的S-P3D 卷積層和單獨包含3×1×1 的時間卷積核的T-P3D卷積層,分別構造時空網絡。由此得到時空雙路3D殘差卷積網絡的基礎結構:S-P3D網絡塊,如圖2(b),和T-P3D網絡塊,如圖2(c)。
為了增加網絡的非線性表達能力,在S-P3D 卷積層/T-P3D卷積層后加入ReLU激活函數層[18]。有無ReLU激活層的網絡訓練精度對比結果如圖3 所示。可以看出使用ReLU 激活層后,網絡的訓練精度更高,模型的擬合能力更強。同時,在ReLU 層前面引入BN(Batch Normalization)層[19]對卷積層網絡的輸出進行批歸一化,使其規范化為正態分布作為激活函數的輸入,有助于解決了不同層數據分布不一致和梯度彌散的問題。將多個T-P3D網絡塊連接和多個S-P3D網絡塊連接,構造時空雙路網絡,用來分別提取煙霧的時空特征。

圖2 P3D網絡塊和時空雙路網絡基礎結構

圖3 ReLU激活層對訓練精度的影響
為了提高檢測效率,引入注意力機制,自動學習時域網絡和空域網絡中提取特征的重要程度,提升對分類有利的特征,抑制對分類無用的特征。文獻[20]提出了一種注意力模型Squeeze-and-Excitation Network(SE Net),在網絡訓練過程中可以自動對特征進行重新標定,本文將其拓展應用于3D 卷積網絡中,分別對時空雙路網絡的特征通道進行加權,提高網絡的分類識別能力。該網絡結構包括以下三步操作:
(1)Squeeze 操作:將大小為d×w×h×c的輸入,通過一全局池化層,對輸入張量中除特征通道維度c之外的所有維度進行壓縮,使其轉化為一特征通道數大小的實數向量,大小為1×c。
(2)Excitation 操作:通過一個全連接層對轉換的特征向量進行壓縮,使其維度降低到c/r,大小為1×c/r,再經過ReLU函數激活后通過一個全連接層,得到一個輸出維度與輸入特征通道數相匹配的特征權重向量,大小為1×c。
(3)Reweight操作:再通過Sigmoid函數將權重歸一化,最后將Excitation 操作得到的權重對特征通道進行加權,從而實現對特征的重標定。
本文在時空兩路網絡中接入3D-SE層,分別得到時域注意模型T-3D-SE 和空域注意模型S-3D-SE,如圖4(a)和(b)。

圖4 引入注意力機制的時空域網絡
圖5 為時域與空域權重隨著網絡訓練步數的變化情況,其中橫坐標為訓練步數,縱坐標為特征權重值,即3D-SE層的Reweight操作中歸一化后的特征通道權值,范圍為(0,1),越接近于0 表示該特征幾乎對分類結果無影響,越接近為1 表示該特征對分類結果影響頗大。圖5(a)、(b)中的12 條曲線分別為時空域網絡中 P-3D卷積層在加入3D-SE注意力層后的12個特征通道的權重變化趨勢,可以看出,加入了3D-SE層后,在訓練的過程中,時空兩路網絡的特征通道重要性也在逐步發生變化,篩選出了對分類結果有用的特征并抑制用處不大的特征。

圖5 時域與空域權重變化圖
本文提出的時空雙路網絡借助P3D 網絡的思想采用偽3D卷積結構替代3D卷積提取時空特征,通過將串聯的時間卷積層和空間卷積層拆分為時空雙路網絡,并引入注意力機制,分別對時空特征通道進行加權后融合,提高了網絡的檢測性能。本文提出的時空雙路3D殘差網絡結構整體框架如圖6所示。
輸入網絡:將大小為d×w×h×c的小視頻塊作為網絡的輸入,通過一層含有16 個卷積核大小為1×1×1的3D卷積層,對輸入進行升維并提取低層時空域特征。
時域和空域網絡:將大小為d×w×h×16 的輸入,分別通過由S-P3D-SE 網絡結構塊和T-P3D-SE 網絡結構塊與3D 池化網絡結構塊組成的時空域網絡,得到兩個大小為的時域特征層和空域特征層。

圖6 時空雙路3D殘差卷積網絡
S-P3D-SE/T-P3D-SE 網絡塊分別由兩層S-P3D-SE/T-P3D-SE網絡層和一層3D池化網絡塊連接而成,其中的3D殘差卷積層卷積核個數為12,輸出大小為d×w×h×40。3D 池化網絡結構塊包括一層含有32 個大小為1×1 ×1 的卷積核的3D 卷積層,用于調整特征維度,和一層池化核大小為2×2×2 的3D max pool層,進一步對特征進行壓縮,擴大感受野,輸出大小為
輸出網絡:將時空雙路網絡提取的特征在特征通道維度進行連接,得到大小為的時空聯合特征,再通過一層含有64 個卷積核,卷積核大小為1×1 ×1 的3D卷積層對融合后的時空特征進行歸一化,最后接入全局池化層,通過softmax 層評估得到最終的分類結果。
由于目前還未有統一的煙霧視頻數據庫,本文實驗數據來源于網絡上公開發表的數據集[21-22]。本文共采用了30 段視頻,視頻圖像大小為320×240。將視頻分為長度為8 幀,大小為36×36 的互不重疊的小視頻塊,將其R、G、B 三個分量作為初始輸入特征,得到19 940 個煙霧視頻塊樣本,22 387個非煙霧視頻塊樣本用于網絡的訓練,其中60%作為訓練集,40%作為測試集。本文基于Python 的深度學習庫TensorFlow 框架對網絡進行訓練和測試,利用GPU 進行加速,采用Adam 優化算法進行訓練,訓練批大小設為256。測試視頻的幀速率大多為25 幀/s,平均檢測速率為10 幀/s,可以滿足實時檢測要求。測試視頻包括了顏色、距離、濃度、運動速度、場景光照存在差異的煙霧與部分類煙物體。
本文將大小為8×36×36×3 的視頻塊(RGB 圖像)作為輸入,送入本文提出的時空雙路煙霧識別網絡,當被檢測圖像幀所對應的視頻塊有一個被識別為煙霧,則認為該幀存在煙霧。對10 段測試視頻進行檢測,計算得到準確率(ACC)、虛警率(FPR),正確率(TPR),對應的計算公式如下:

式中,N為總樣本數,TP為被檢測為正的正樣本數,TN為被檢測為負的負樣本數,FP為被檢測為正的負樣本數,FN為被檢測為負的正樣本數。
表1列出了實驗采用的測試視頻的具體內容。圖7為測試視頻的檢測結果,圖中綠色圓圈圈出的部分為被檢出的煙霧。實驗結果表明,采用本文提出的算法在多個測試視頻中都取得了很好的效果。無論是不同顏色的煙、不同濃度的煙、不同速度的煙都能夠很好地被檢測到,而對于人、車子、云等類煙運動物體、白色背景的干擾和不同程度的遮擋都具有良好的魯棒性,尤其對于一些擴散范圍廣,密度較為稀薄的煙(視頻1、2、3、7)和運動緩慢,密度濃厚的煙(視頻5),檢出效果優勢明顯。

表1 測試視頻描述

圖7 測試視頻檢測結果
為了驗證時空雙路網絡的有效性,本文將提出的雙路網絡結構與P3D網絡結構進行了對比,共測試了三種網絡結構:文獻[11]提出的P-3D 網絡結構,本文中提出的單獨雙路網絡(T/S-3D 網絡)和加入注意力機制的雙路網絡(T/S-3D-SE網絡)。
表2 列出了三種網絡結構的網絡大小和網絡檢測速率,本文實驗采用的雙通路網絡(T/S-3D網絡)網絡結構與P-3D網絡結構整體結構類似,網絡參數略微減少,而加入3D-SE 層的T/S-3D-SE 網絡只在T/S-3D 網絡上增加了非常小的參數量,并不影響網絡的檢測速率。

表2 三種網絡結構的大小與檢測速率
圖8 為三種網絡結構的綜合檢測性能對比,其中AACC為平均準確率,ATPR為平均正確率,為了讓結果更加直觀,圖中將平均虛警率AFPR 轉為平均真負率ATNR,其與AFPR 之和為1??梢钥闯觯诰W絡大小近似相同的情況下,相比于P-3D網絡結構,本文提出的雙路網絡的平均準確率、平均正確率都得到了一定的提高,且平均虛警率減小,即誤報的概率降低了。圖9 為三種網絡結構對不同視頻的檢測準確率對比結果。對于大部分視頻,T/S-3D雙路結構要優于P-3D結構,且加入注意力機制的T/S-3D-SE 結構的檢測準確度得到了明顯的提升,特別是對于無煙視頻8,檢測準確率由85.4%提高到96.7%,且對于運動不明顯、煙霧與背景顏色相似的有煙視頻5和運動范圍大,密度低的有煙視頻7,檢測準確率分別提高了5.2%和4.5%。

圖8 三種網絡結構的檢測性能
本文還將提出的方法與基于傳統手工設計提取煙霧特征,采用簡單分類器進行煙霧檢測的文獻[8](算法1)和基于2D CNN的雙流網絡煙霧檢測的文獻[11](算法2)進行了比較,得到的實驗結果如圖10所示。

圖10 不同算法的檢測性能
通過圖10 的數據可以看出本文提出的方法在有煙視頻的識別準確率上要明顯優于其他兩種算法,具有良好的適應性。相比于算法1,通過人工設計分類特征對煙霧進行分類識別,本文建立端對端網絡,自動篩選分類特征,得到了最優的煙霧分類器,平均準確率提高了3.13%,平均虛警率降低了0.73%。算法2 采用兩個2D CNN網絡組成的雙流卷積網絡,分別提取時域和空域特征進行決策級融合,實現煙霧的實時檢測。本文算法采用3D CNN結構在像素級融合時空域特征相比于雙流的2D CNN結構在時空結合上取得的效果更好,且采用分塊檢測的策略,避免了不同尺寸大小的煙霧的檢測效率不一致。本文算法在算法2的基礎上,平均準確率提高了1.75%,且極大降低了虛警率,達到了1.18%。

圖9 三種網絡結構的檢測準確率
本文為了解決部分煙霧內部難以檢測到的問題,利用背景模型和被檢測煙霧圖像的小波低頻分量差,得到了相對較完整的煙區圖像,有利于后續的煙霧識別,其次提出了一種時空雙路3D 殘差卷積網絡結構,引入注意力機制對時空網絡提取的時域、空域特征進行重標定,并將其用于視頻煙霧分類識別,該算法同時學習時域和空域特征,在不同場景中的視頻中均取得了較好的效果,平均檢測準確率達到了98.36%,平均虛警率只有1.18%。由于目前網絡上公開發布的煙霧檢測視頻數據庫未能統一,且場景變化較大,數量較少,難以對算法進行很好的對比。未來將進一步改進網絡結構,完善訓練數據集,降低網絡大小以提高檢測效率。