楊柳 張德 王亞慧
摘 ?要: 在圖像型火災檢測方法中,火災特征的選取有一定的隨機性和復雜性,僅僅依靠低層次的圖像特征難以完整地描述復雜背景下的火災圖像。將深度學習技術應用到火災檢測領域,提出基于卷積神經(jīng)網(wǎng)絡的火災檢測方法,搭建包含3層全連接層的網(wǎng)絡模型,使用Relu函數(shù)作為激活函數(shù);然后基于Tensorflow平臺實現(xiàn)該網(wǎng)絡結(jié)構(gòu)模型。在公開的火災數(shù)據(jù)庫上進行實驗,結(jié)果表明,所提方法的火災檢測效果優(yōu)于傳統(tǒng)的圖像型火災檢測算法,避免了由于選取特定火災特征進行檢測識別帶來的局限性。
關鍵詞: 火災檢測; 卷積神經(jīng)網(wǎng)絡; 圖像處理; 城市火災; 模式識別; 深度學習
中圖分類號: TN911.23?34 ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)10?0141?05
A new city fire detection method
YANG Liu, ZHANG De, WANG Yahui
(School of Electrical and Information Engineering, Beijing University of Civil Engineering and Architecture, Beijing 100044, China)
Abstract: In image?based fire detection methods, the fire feature selection has a certain randomness and complexity, and it is difficult to completely describe the fire images in complex background by only relying on low level image features. Therefore, a fire detection method based on the convolutional neural network is proposed by applying the deep learning technology to the fire detection field. A network model including three full connection layers is built, taking the Relu function as the activation function. The network structure model is implemented based on the Tensorflow platform. An experiment was carried out on the public fire database. The experimental results show that the proposed method has a better fire detection effect in comparison with traditional image?based fire detection algorithms, which can avoid the limitations brought by detection recognition using selection of specific fire characteristics.
Keywords: fire detection; convolutional neural network; image processing; city fire; pattern recognition; deep learning
0 ?引 ?言
盡管圖像型火災檢測技術相比于傳統(tǒng)的傳感器監(jiān)測技術有很多的優(yōu)勢,然而這種檢測方法需要確定火焰分割方法和特征提取方法,算法的檢測效果不僅取決于圖像分割和特征提取階段的處理結(jié)果,還依賴于如何找到有效的火災特征[1]。好的特征選取往往需要專業(yè)的知識和經(jīng)驗積累,特別是在復雜背景下的城市火災檢測過程中,排除背景干擾,獲取有效的分割和特征提取結(jié)果非常困難[2]。另外,火災的形態(tài)會隨著階段的不同而產(chǎn)生相應的特征,同一種特征在不同的火災階段會得到不同的特征參數(shù)。這些都增加了火災特征表達的復雜性,降低了火災檢測準確率,還在一定程度上降低了算法的穩(wěn)定性。
近年來基于卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)的深度學習算法已經(jīng)在計算機視覺、信息提取和機器翻譯等多個領域取得了豐碩的研究成果[3]。為克服傳統(tǒng)圖像型火災檢測算法的不足,本文引入深度學習算法,搭建了全連接CNN模型,以此進行視頻圖像中的火災檢測。通過該方法可以找到更深層次的火災特征,同時實現(xiàn)了圖像特征的自動提取,避免了由人為主觀因素選取圖像特征而產(chǎn)生的局限性,可以提取出更為抽象的深層特征,傳統(tǒng)圖像分類算法與深度學習運行流程如圖1所示。

圖1 ?傳統(tǒng)圖像分類算法與深度學習運行流程
1 ?卷積神經(jīng)網(wǎng)絡
深度學習本質(zhì)上是一種神經(jīng)網(wǎng)絡模型,模擬了大腦的認知過程,通過逐層分析和抽象理解獲取特征信息,適用于對自然數(shù)據(jù)進行處理,具備較強的泛化能力[4]。其依靠自身的網(wǎng)絡即可從淺層信息中挖掘出較為抽象的深層特征數(shù)據(jù)。
卷積神經(jīng)網(wǎng)絡是一種被廣泛應用于圖像領域的深度學習算法,最為顯著的特征是局部感受野和權(quán)值共享。卷積神經(jīng)網(wǎng)絡的運行原理如圖2所示,由卷積層、池化層以及全連接層組成。局部感受野相當于視覺提取圖像局部信息,對應卷積神經(jīng)網(wǎng)絡,通過卷積運算完成圖像的局部感受野。網(wǎng)絡中卷積層單個神經(jīng)元的輸入與前一層的局部感受野相連。

圖2 ?卷積神經(jīng)網(wǎng)絡運行原理
卷積神經(jīng)網(wǎng)絡中神經(jīng)元眾多、結(jié)構(gòu)復雜,利用權(quán)值共享技術,在誤差值反向傳遞過程中調(diào)整的神經(jīng)元個數(shù)與每一層卷積層的卷積核個數(shù)相同,這種網(wǎng)絡結(jié)構(gòu)優(yōu)化極大地減少了網(wǎng)絡的運算量。因此,權(quán)值共享和局部感知野能夠極大程度地降低系統(tǒng)的運算量,提高了運行效率,使得以并行處理的形式實現(xiàn)卷積神經(jīng)網(wǎng)絡成為可能[5]。
2 ?火災檢測卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)搭建
本文通過搭建卷積神經(jīng)網(wǎng)絡模型,實現(xiàn)應用于火災檢測的算法。該卷積神經(jīng)網(wǎng)絡由輸入層、4層卷積層、4層池化層以及3層全連接層組成,網(wǎng)絡設置如表1所示,以下將對各個部分展開描述。
2.1 ?輸入層
針對圖像樣本的大小不統(tǒng)一的情況,把火災圖像數(shù)據(jù)輸入卷積神經(jīng)網(wǎng)絡之前,預先把圖像的大小歸一化為100×100。為了保證卷積神經(jīng)網(wǎng)絡能夠獲取更多的圖像信息,用于實驗的火災圖像不進行灰度化處理,所有的原始彩色火災圖像均保留R,G,B三色通道,分別把R,G,B通道的灰度值圖像輸入卷積神經(jīng)網(wǎng)絡。因此,一張彩色圖像經(jīng)輸入層處理后,產(chǎn)生3張灰度值圖像,再輸入第1層卷積層。
2.2 ?卷積層
卷積運算對應的網(wǎng)絡結(jié)構(gòu)是卷積層,卷積層的主要目的是對輸入的圖像進行特征提取,它能夠從輸入數(shù)據(jù)中提取出一些較為抽象的特征,這些抽象特征以特征圖的形式輸出,在輸入網(wǎng)絡的池化層進行下一步的處理[6]。卷積層與輸入層直接連接,利用卷積核對輸入層輸出的圖像進行卷積運算,并輸出對應特征圖像。卷積核的數(shù)值先是由網(wǎng)絡初始化設定,經(jīng)后續(xù)的訓練,其數(shù)值趨向于局部最優(yōu)解,整個卷積神經(jīng)網(wǎng)絡漸漸收斂。特征圖像的尺寸與原始圖像的尺寸滿足以下關系:
[Nlx=Nl-1x-KlxSlx+1] ? ? ? ? ? (1)
[Nly=Nl-1y-KlySly+1] ? ? ? ? ? (2)
式中:N表示圖像的實際尺寸;l表示網(wǎng)絡層數(shù);K為卷積核的大小;S為步長;腳標中的x,y代表計算方向。每一次卷積和池化處理都會降低圖像尺寸。
通常,卷積層在做卷積運算時,會加入一個獨立項,這個獨立項是隨機生成的初始化數(shù)字,將這個包含卷積結(jié)果和獨立項的數(shù)據(jù)輸入激活函數(shù),所得的結(jié)果才是對應特征圖像的元素。這樣可以提升網(wǎng)絡結(jié)構(gòu)的非線性。
這里選用Relu(Rectified Linear Unit)函數(shù)作為卷積層和全連接層的激活函數(shù)。Relu函數(shù)全稱為線性整流函數(shù),又稱作修正線性單元。Relu函數(shù)呈現(xiàn)分段的特點,這使得它在誤差反向傳遞的過程中能夠加快傳遞速度,提高神經(jīng)元權(quán)重的誤差下降速度,加快網(wǎng)絡訓練速度。
基于Relu函數(shù)的卷積層處理的計算表達式為:
[xlj=max0,i∈Mxl-1iωln+bn] ? ? (3)
式中:[x]為卷積層元素;[l]為當前網(wǎng)絡層數(shù);[ω]為卷積核元素;[b]為隨機的獨立項;[n]為卷積核元素的位置信息;[M]為輸入圖像的選擇;[i]與[j]是相互對應的一組圖像選擇。
本文建立的用于復雜背景下火災檢測的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)共有4層卷積層,即C1,C2,C3和C4。為了滿足整個網(wǎng)絡對復雜背景下的圖像數(shù)據(jù)的適應性,每個卷積層均設置了大量的卷積核,尤其是在C3層和C4層。
2.3 ?池化層
設置池化層的目的是使經(jīng)卷積層處理提取的深層特征具備平移不變性,避免網(wǎng)絡出現(xiàn)過擬合的現(xiàn)象;其次是降低特征圖像的大小,提高網(wǎng)絡運行速度。
池化過程是將輸入特征圖像按特定的運算方法,在最大限度保留輸入數(shù)據(jù)的基礎上,降低特征圖像的大小,等同于數(shù)據(jù)的降維處理。池化層的工作原理是將輸入特征圖像均勻分割為多個同等規(guī)模的區(qū)域塊,在每個區(qū)域塊內(nèi)做規(guī)定運算。區(qū)域塊的規(guī)模設置過大會導致特征圖像過度縮減,進而導致圖像信息丟失[7]。通常,池化層選用2×2大小的區(qū)域塊和3×3大小的區(qū)域塊進行等比例縮減。
本文建立的卷積神經(jīng)網(wǎng)絡中,池化層通過計算區(qū)域塊均值的方法來降低特征圖像維度,即將上一層卷積層輸出的特征圖像數(shù)據(jù)分割成2×2大小的區(qū)域塊,每個2×2大小的區(qū)域塊用均值代替,如圖3所示。

圖3 ?池化處理過程
2.4 ?全連接層
全連接層與池化層相連接,將池化層輸出的二維數(shù)據(jù)處理成一維數(shù)據(jù),再通過3層神經(jīng)網(wǎng)絡完成數(shù)據(jù)的分類。相較卷積層和池化層,全連接層的參數(shù)是最多的。
全連接層的操作分為前向計算和反向傳播兩個過程,全連接層的前向計算過程可以看作是利用神經(jīng)元對特征數(shù)據(jù)加權(quán)求和的過程,而反向傳播過程是通過計算實際輸出與理想輸出值的誤差,反向作用于神經(jīng)元,調(diào)整網(wǎng)絡的權(quán)重矩陣。
在本文所述的網(wǎng)絡結(jié)構(gòu)中:全連接層的第一層設置1 024個神經(jīng)元,激活函數(shù)為Relu函數(shù);第二層設置512個神經(jīng)元,激活函數(shù)為Relu函數(shù);第三層設置2個神經(jīng)元,無激活函數(shù)。通過這三層全連接層完成特征數(shù)據(jù)的二分類,即輸出檢測結(jié)果。
3 ?實驗結(jié)果分析
3.1 ?算法實現(xiàn)工具
卷積神經(jīng)網(wǎng)絡的搭建可以通過相關的軟件平臺來實現(xiàn),本文選用Tensorflow+Python的開發(fā)環(huán)境。Tensorflow是一款開源的人工智能學習系統(tǒng),該系統(tǒng)多用于深度學習神經(jīng)網(wǎng)絡的搭建,具備良好的靈活性和可延展性[8]。它提供許多網(wǎng)絡接口,使用者可以通過對應的網(wǎng)絡接口獲取子程序文檔,根據(jù)需要調(diào)用相應的子程序,以此完成網(wǎng)絡框架的搭建。
3.2 ?實驗數(shù)據(jù)庫
本文使用的火災圖像數(shù)據(jù)來自韓國啟明大學計算機視覺與模式識別實驗室的公開數(shù)據(jù)庫。該數(shù)據(jù)庫中的視頻圖像呈現(xiàn)出更多的色度突變,這些色度突變的區(qū)域一部分是火焰所導致,另一部分則是復雜的場景所導致[9]。該數(shù)據(jù)庫包含火焰的視頻圖像有10段,干擾物視頻有4段,視頻場景涵蓋了室內(nèi)、街道和廠房等,各段視頻在場景空間和光照強度上均存在較大的差異,如圖4所示。

圖4 ?火災視頻圖像與干擾物視頻圖像
3.3 ?網(wǎng)絡參數(shù)的分析
3.3.1 ?迭代次數(shù)對網(wǎng)絡的影響
通過迭代調(diào)整網(wǎng)絡結(jié)構(gòu)中神經(jīng)元的權(quán)值,有利于尋找最優(yōu)的網(wǎng)絡結(jié)構(gòu)。如果迭代次數(shù)較少,網(wǎng)絡的學習不夠充分,網(wǎng)絡的訓練損失和驗證損失過高,與真實數(shù)據(jù)的擬合度就偏低。隨著迭代次數(shù)的增加,網(wǎng)絡的各層神經(jīng)元權(quán)值會逐漸優(yōu)化,與真實數(shù)據(jù)的擬合度會漸漸升高,直至網(wǎng)絡收斂。表2給出火災檢測卷積神經(jīng)網(wǎng)絡的檢測正確率與網(wǎng)絡迭代次數(shù)的關系。
3.3.2 ?學習率對網(wǎng)絡的影響
學習率影響著神經(jīng)網(wǎng)絡的收斂速度,如果學習率設置過大,容易跨過極值,造成神經(jīng)元權(quán)值的不穩(wěn)定,整個神經(jīng)網(wǎng)絡無法收斂;如果學習率設置過小,就會導致網(wǎng)絡的收斂速度過慢,系統(tǒng)的訓練時間增加[10]。本文將網(wǎng)絡的學習率調(diào)整為1和0.1,并觀察對應的系統(tǒng)訓練損失(Train Loss),如圖5和圖6所示。

圖5 ?學習率為1時網(wǎng)絡的訓練損失曲線

圖6 ?學習率為0.1時網(wǎng)絡的訓練損失曲線
當學習率取1時,網(wǎng)絡的訓練損失在前幾次迭代中下降很快,之后便在0.2附近震蕩,訓練損失波動,神經(jīng)網(wǎng)絡無法收斂。
當學習率取0.1時,網(wǎng)絡的訓練損失先快速下降至0.4,迭代5次后呈緩慢下降趨勢,迭代至30次時,訓練損失達0.031 942,并仍處于緩慢下降,此時可近似認為網(wǎng)絡處于收斂狀態(tài)。
3.3.3 ?卷積核對網(wǎng)絡的影響
為了研究網(wǎng)絡結(jié)構(gòu)對于其性能的影響,本文對卷積核尺寸進行了調(diào)整。除了表1的網(wǎng)絡結(jié)構(gòu)外,本文還選擇了其他3種不同尺寸的卷積核的網(wǎng)絡結(jié)構(gòu),并通過這4種模型的網(wǎng)絡結(jié)構(gòu)進行實驗,對比其檢測正確率,如表3所示。其中,模型1的網(wǎng)絡結(jié)構(gòu)擁有最高的檢測率。因此,本文選用基于模型1網(wǎng)絡結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡。
3.4 ?網(wǎng)絡運行效果
本文選取表3中模型1的網(wǎng)絡結(jié)構(gòu),即C1,C2,C3,C4卷積層的卷積核大小分別為5×5,5×5,5×5,3×3,S1,S2,S3,S4池化層的區(qū)域塊均為2×2,網(wǎng)絡的學習率為0.2,迭代次數(shù)為25次。該卷積神經(jīng)網(wǎng)絡用于火災檢測的運行效果如圖7所示。

圖7 ?用于火災檢測的卷積神經(jīng)網(wǎng)絡運行效果
最后,本文把基于卷積神經(jīng)網(wǎng)絡的火災檢測算法與其他圖像型火焰檢測算法[9]進行了對比,在第3.2節(jié)所述的火災視頻數(shù)據(jù)庫上進行了實驗,實驗結(jié)果如表4所示。對比結(jié)果表明,基于卷積神經(jīng)網(wǎng)絡的火災檢測算法的識別效果要高于其他兩種算法,但是該算法卻存在運行時間過長,實時性較差的缺點。




4 ?結(jié) ?論
本文將深度學習理論應用到城市火災檢測領域,基于卷積神經(jīng)網(wǎng)絡的全連接模型框架,搭建了適用于復雜背景下火災檢測的卷積神經(jīng)網(wǎng)絡模型。該方法能夠?qū)ふ腋顚哟蔚幕馂奶卣鳎瑢崿F(xiàn)了圖像特征的自動提取,避免了由主觀選取圖像特征而產(chǎn)生的局限性。實驗結(jié)果表明,對比傳統(tǒng)的圖像型火災檢測算法,基于卷積神經(jīng)網(wǎng)絡的火災檢測算法能夠?qū)碗s背景下的火災圖像進行有效的檢測,具有較高的準確性。
參考文獻
[1] 鄭胤,陳權(quán)崎,章毓晉.深度學習及其在目標和行為識別中的新進展[J].中國圖象圖形學報,2014,19(2):175?184.
ZHENG Yin, CHEN Quanqi, ZHANG Yujin. Deep learning and its new progress in object and behavior recognition [J]. Journal of image and graphics, 2014, 19(2): 175?184.
[2] 胡勤,陳琛,劉敏.一種基于動態(tài)紋理的煙霧和火焰檢測方法[J].消防科學與技術,2014,33(6):667?669.
HU Qin, CHEN Chen, LIU Min. A smoke and fire detection method based on dynamic texture [J]. Fire science and technology, 2014, 33(6): 667?669.
[3] 傅天駒,鄭嫦娥,田野,等.復雜背景下基于深度卷積神經(jīng)網(wǎng)絡的森林火災識別[J].計算機與現(xiàn)代化,2016(3):52?57.
FU Tianju, ZHENG Change, TIAN Ye, et al. Forest fire recognition based on deep convolutional neural network under complex background [J]. Computer and modernization, 2016(3): 52?57.
[4] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]// Proceedings of the 25th International Conference on Neural Information Processing Systems. New York: Curran Associates, 2012: 1097?1105.
[5] KIM Y. Convolutional neural networks for sentence classification [EB/OL]. [2014?09?03]. https://arxiv.org/pdf/1408.5882.pdf.
[6] KARPATHY A, TODERICI G, SHETTY S, et al. Large?scale video classification with convolutional neural networks [C]// Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014: 1725?1732.
[7] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large?scale image recognition [C/OL]. [2015?04?10]. https://arxiv.org/pdf/1409.1556.pdf.
[8] 章敏敏,徐和平,王曉潔,等.TensorFlow機器學習框架及應用[J].微型機與應用,2017,36(10):58?60.
ZHANG Minmin, XU Heping, WANG Xiaojie, et al. Application of Google TensorFlow machine learning framework [J]. Microcomputer & its applications, 2017, 36(10): 58?60.
[9] KO B C, JUNG J H, NAM J Y. Fire detection and 3D surface reconstruction based on stereoscopic pictures and probabilistic fuzzy logic [J]. Fire safety journal, 2014, 68: 61?70.
[10] RAZAVIAN A S, AZIZPOUR H, SULLIVAN J, et al. CNN features off?the?shelf: an astounding baseline for recognition [C]// Proceedings of IEEE Conference on Computer Vision and Pattern Recognition Workshops. Washington: IEEE Computer Society, 2014: 512?519.
[11] 盧英,王慧琴,柴茜,等.基于多尺度LBP與GBP特征的火焰識別[J].計算機科學,2015,42(10):316?320.
LU Ying, WANG Huiqin, CHAI Qian, et al. Fire image detection based on LBP and GBP features with multi?scales [J]. Computer science, 2015, 42(10): 316?320.