摘 要:基于視頻分析的火焰識別能夠克服傳統火焰識別方法的局限性(輻射范圍小、易受環境影響且響應速度慢)。本文融合火焰識別的靜態特征和動態特征,采用卷積神經網絡和長短時記憶循環神經網絡相結合的網絡模型,并在模型中加入對比學習,增強模型學習特征的能力。試驗結果表明,本文提出的CNN-LSTM融合模型能夠取得更好的識別效果。
關鍵詞:火焰識別;卷積神經網絡;長短時記憶循環神經網絡;對比學習
中圖分類號:TP 391" " " " 文獻標志碼:A
原油集輸站庫主要是將油井采出的油、水、氣混合物進行收集、暫存和初步處理并輸送到指定容器或裝置的生產過程。安全生產是集輸站庫的首要任務,其中火災是威脅集輸站庫安全的首要危險因素。為了最大程度地保護人民生命財產安全,火災的早期發現和及時預警具有舉足輕重的作用。前期的火災預防和發現通過溫感、煙感、光感等傳感器采集環境數據,這些探測技術存在輻射范圍較小、響應速度較慢且易受環境中粉塵、水霧或溫度變化影響等特點[1],導致應用場景有限、工作模式單一且抗干擾能力較差。
隨著視頻監控系統的廣泛使用和數字圖像處理技術的飛速發展,基于視頻分析的火焰檢測技術受到越來越多的關注。基于視頻分析的火焰識別技術通過識別視頻畫面中的火焰和煙霧圖像進行報警。與傳統的探測技術相比,該方法具有探測范圍廣、抗干擾能力強和響應速度快等特點。然而一些識別算法經常會把路燈、車燈誤判為火焰,產生誤報。本文采用卷積神經網絡(CNN)和長短時記憶循環神經網絡(LSTM)2種深度學習模型,并引入對比學習等技術,以提供火焰識別的正確率。
1 火焰識別研究現狀
1.1 基于傳統圖像處理的視頻火焰識別方法
首次提出視頻火焰檢測技術的是美國的Simon教授。他通過分析視頻中火焰的亮度來識別飛機貨艙的火焰。早期研究人員主要分析視頻的靜態特征,如顏色、文理等。有學者在RGB空間分析了煙霧像素R、G、B這3個顏色通道的分布規律,并結合HSI模型中I分量的變化,建立了煙霧檢測的決策規則。也有學者在Lab空間對煙霧視頻序列進行了特征研究,并通過K-means聚類算法實現了煙霧的識別與分離。還有學者將圖像進行分塊處理,通過小波變換和灰度共生矩陣提取煙霧特征,然后通過BP神經網絡識別火災。吳愛國等[2]采用區域分割算法提取亮點區域,并在該基礎上進一步提取疑似區域的邊界鏈碼,最終通過計算各區域的圓形度來識別是否發生火災。
對火焰的識別方法包括CALLE等人結合隱馬爾可夫模型和火焰的閃爍、顏色特征進行火焰識別。分析火焰燃燒過程中不規則運動的特征,提出一種通過片段運動矢量與閾值關系識別火焰的方法。將最佳質量傳遞光流法作為低維描述,以單隱層神經網絡作為分類器,最終將煙霧、白色背景和相似顏色背景火焰進行了準確分類的方法等。
1.2 以機器學習為技術核心的視頻火焰識別方法
機器學習的相關算法取得了迅速、長足的發展,由此衍生出的利用人工神經網絡、支持向量機和決策樹等模型的溫濕度探測、煙霧探測和火焰識別方法也有了相應的應用場景。BYOUNG CHUL KO[3]等人融合了顏色特征和火焰的運動特征,采用支持向量機進行火焰圖像識別。主要方法是提取火焰的面積方差比、圓形度、相關性和角度數,將其作為支持向量機的輸入特征向量組,采用修正核函數的方法對火焰圖片進行訓練,提高了火焰圖像的分類精度。
目前,深度學習理論取得飛速發展,并迅速應用到各領域。如前學者于2016年提出使用9層分類網絡進行煙霧及有火探測,并最終實現了相似火焰分類,于2018年將卷積神經網絡的層數進行微調,從而提高了網絡識別煙霧及有火的能力。ZHANG提出的[4]先由全局圖像級分類器分出火災圖片,再由下一級分類器檢測出火災的具體位置,屬于一種級聯式林火卷積神經網絡監測方法,最終的識別準確率可達97%和90%。孫琛等人[5]使用滑窗法進行火災定位,單獨設計了融合滑動窗口的殘差卷積神經網絡火災識別方法,最終取得的識別效果優于BP神經網絡的識別效果。
2 基于CNN-LSTM融合模型的火焰識別方法
火焰特征主要包括靜態特征和動態特征,其中靜態特征包括色彩、紋理等,動態特征包括邊緣跳躍頻率等。其中,靜態特征的提取精度會影響動態特征的表達。本文將卷積神經網絡作為靜態特征提取模型,采用LSTM提取火焰的時序動態特征,通過視頻分析完成火焰識別,實現框架如圖1所示。本文采用CNN提取視頻中每幀圖像的圖像特征,然后將每幀圖像特征作為LSTM的輸入,提取火焰的動態特征。此外,為了提供火焰識別正確率、降低誤報率,本文將對比學習引入模型,以增強特征表達能力。
2.1 基于CNN的火焰圖像特征提取模型
隨著網絡層數的增加,卷積神經網絡會造成訓練速度降低和模型難以收斂的問題,甚至會出現網絡退化和信息丟失。HE等人提出的ResNet網絡能夠有效解決上述問題,并被廣泛應用。本文將ResNet-50網絡作為基礎框架,并對激活函數、歸一化等進行了改進。原始ResNet采用的ReLU激活函數在激活值為負值的條件下沒有任何輸出,從而導致神經元停止更新,成為死節點。這不僅會影響神經網絡的收斂速度,還會降低神經網絡的性能。本文采用LeakyReLU激活函數,能夠使負值區間內的梯度較小,防止出現死節點。具體網絡結構如圖2所示。該模型分為6個部分,包括輸入模塊、輸出模塊和殘差模塊等,結構為卷積層49層,全連接層1層,采用最大池化對模型進行降采樣。
2.2 基于LSTM的火焰時序特征提取模型
LSTM是深度學習技術的一個組成部分,作為一種特殊的循環神經網絡,LSTM在處理時序數據方面具有得天獨厚的優勢,能夠解決RNN神經網絡由加長訓練時間及增多網絡層數導致的梯度爆炸或消失問題,并在長周期依賴方面效果較好。因此,本文將LSTM作為時序特征提取模型。
LSTM的基本單元包括5個部分,即輸入門、輸出門、遺忘門、狀態輸入和狀態輸出。LSTM模型通過輸入門、輸出門、遺忘門3個門控單元對信息進行篩選,即完成對信息的選擇性記憶。作為LSTM的核心,記憶細胞主要負責信息存儲和傳遞,包括1個線性單元和1個非線性單元。線性單元是簡單的加法器,將上一時刻和當前時刻的記憶細胞相加;非線性單元包括Sigmoid函數,主要負責控制信息流動。輸入門控制信息的輸入,通過Sigmoid函數對輸入信息進行歸一化處理,然后與Sigmoid函數的輸出點乘,將獲得的輸出結果加入核心的記憶細胞中。遺忘門控制信息的遺忘,通過Sigmoid函數對上一刻和當前記憶細胞的輸入進行歸一化處理,然后與Sigmoid函數的輸出點乘,將獲得的輸出結果從核心的記憶細胞中減去。輸出門控制信息的輸出,通過Sigmoid函數對輸入信息進行歸一化處理,然后與Sigmoid函數的輸出點乘,將獲得的輸出結果作為當前時刻的輸出。
基于LSTM的火焰時序特征提取模型方法主要是對視頻中的每幀圖像序列進行圖像幀特征提取,將其作為CNN網絡的輸入,并提取CNN網絡輸出的時序幀特征,將其作為LSTM模型的輸入。通過LSTM捕捉圖像中的動態特征及特征之間的依賴關系,以提高火焰識別的正確率,進而提高火焰特征識別的準確率。
基于LSTM的火焰時序特征提取模型方法具體操作步驟如下。
首先,計算遺忘門。遺忘門決定保留信息的重要程度。遺忘門的輸入是上一時刻的輸出ht-1和當前時刻的輸入xt,然后采用 Sigmoid激活函數進行值的傳遞。具體如公式(1)所示。
ft=σ(Wf xt+Ufht-1+bf) " (1)
其次,計算輸入門。輸入門決定記憶單元狀態里保存哪些信息。該步驟主要包括2個方面。一是計算輸入門的值it,二是計算候選狀態。具體如公式(2)所示。
=tanh(Wicxt+Ucht-1+bc) " (2)
再次,更新細胞的狀態。剔除舊的信息,增加新信息。具體如公式(3)所示。
Ct=it·+ft·Ct-1 " (3)
最后,計算記憶單元的輸出和輸出門的輸出,如公式(4)、公式(5)所示。
ot=σ(Woxt+Uoht-1+VoCt+bO) " (4)
ht=ot·tanh(Ct) " (5)
式中:xt為t時刻的輸入變量;W、U、V為權重矩陣;b為偏項;σ為激活函數。
2.3 對比學習模型設計
對比學習是自監督學習的一種,其核心思想是縮短2個正樣本之間的距離,拉大負樣本之間的距離,從而得到更好的表示。對比學習的主要研究內容是正、負樣本的選擇。在計算機視覺領域,常用旋轉、裁切和縮放等實現正樣本數據增強。然而,由于LSTM模型的輸入是已經提取好的特征,無法直接實現這些操作。本文借鑒SimCSE模型的對比學習方法,實現batch內的對比學習。本文修改了LSTM模型的損失函數,增加對比學習模型的損失函數,具體如公式(6)~公式(8)所示。
LOSSTotal=LOSSsample+0.2×LOSScontrast " "(6)
(7)
(8)
式中:LOSSTotal為總的損失函數;LOSSsample為樣本損失函數;LOSScontrast為對比學習的損失函數;f(xi)為深度學習模型;f '(xi)為dropout之后的第二次結果;xi為輸入的樣本特征;yi為第i個樣本的標簽。
3 試驗和結果討論
3.1 數據集
本文使用的煙霧與火焰檢測算法數據集主要來自袁非牛實驗室(http://staff.ustc.edu.cn/~yfn/vsd.html)、韓國啟明大學CVPR試驗室(http://cvpr.kmu.ac.kr/)和土耳其畢爾肯大學實驗室(Bilkent University,http://signal.ee.bilkent.edu.tr/Visi Fire/Demo/Sample Clips.html),還有部分來源于網絡。
3.2 評估標準
本文試驗主要采用準確率(Acc)、靈敏度(Sen)和特異度(Spe)3個指標評價火焰識別模型的效果。
準確率(Acc)表示分類器對正、負樣本都能夠進行正確分類的能力,如公式(9)所示。
(9)
式中:TP即True Positive,代表正樣本被正確識別的數量值,其中分類器預測結果與實際樣本均為正樣本;FP即 Positive,代表誤報的負樣本數量值,其中分類器預測結果與實際樣本分別為正樣本、負樣本;TN即True Negative,代表負樣本被正確識別的數量值,其中分類器預測結果與實際樣本均為負樣本;FN即 Negative,代表漏報的正樣本數量值,其中分類器預測結果與實際樣本分別為負樣本、正樣本。
靈敏度(Sen)表示分類器準確檢測正樣本的能力,如公式(10)所示。
(10)
特異度(Spe)表示分類器準確檢測負樣本的能力,如公式(11)所示。
(11)
3.3 試驗結果
本文試驗包括7類不同形態的火焰視頻和3類非火焰視頻。從連續的視頻中獲取15幀,將其作為LSTM的輸入數據,用以判斷是否為火焰。其中火焰序列1400幀,非火焰序列960幀。將本試驗與文獻[6]算法進行比較來驗證模型的有效性,比較結果見表1。由表1可見,本文提出的CNN-LSTM融合模型在準確率上均優于文獻[6]提出的算法。
4 結語
本文提出了一種基于CNN-LSTM融合的視頻火焰識別算法.該算法采用CNN提取視頻幀的特征,采用LSTM獲取視頻的時序特征,并改進損失函數,增加對比學習的損失。試驗結果表明,本文提出的火焰識別方法優于對比方法。該方法能夠應用于集輸站庫的安全檢測,提升集輸站庫的安全水平。
參考文獻
[1]MARTIN,MUELLER,PETER,et al.Optical flow estimation
for flame detection in videos[J].IEEE transactions on image processing,
2013,22(7):2786-97.
[2]吳愛國,李明,陳瑩.大空間圖像型火災探測算法的研究[J].計算機測量與控制,2006(7):869-871.
[3]BYOUNG CHUL KO,CHEONG K H,NAM J Y.Fire
detection based on vision sensor and support vector machines[J].Fire safety journal,2009,44(3):322-329.
[4]ZHANG X H ,JIANG L Q,YANG D X,et al.Urine sediment
recognition method based on multi-view deep residual learning
in microscopic image[J].Journal of medical systems,2019,43(11):325.
[5]孫琛.基于視頻圖像的火災檢測算法研究與設計[D].濟南:山東大學,2018.
[6]孫灝能.基于機理與學習融合的火焰檢測算法研究[D].遼寧:東北大學,2020.