張欣欣
摘 要:野外煙霧具有稀疏性,在整幅圖像中所占面積小,擴散緩慢。傳統煙霧檢測算法由人工提取的特征不一定是最合適的煙霧特征,從而導致煙霧檢測存在錯檢或誤檢。為此,設計了基于卷積神經網絡的野外煙霧檢測算法。通過改進的VGG16網絡以及搭建的卷積神經網絡conv-10進行煙霧檢測。VGG16過濾器尺寸大小為3×3,步長為1。conv-10通過對LeNet增加相應的層數進行煙霧檢測。實驗證明,conv-10網絡具有較高的準確率,達到94.7%,時間僅需要1 656s。改進的VGG16網絡準確率也較高,但是比conv-10網絡速度慢,時間需要10 450s。
關鍵詞:煙霧檢測;卷積神經網絡;深度學習;conv-10;VGG16
DOI:10. 11907/rjdk. 191976 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP301文獻標識碼:A 文章編號:1672-7800(2020)002-0118-04
英標:Wildfire Smoke Detection Based on Convolutional Neural Network
英作:ZHANG Xin-xin
英單:(College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590,China)
Abstract:Traditional smoke detection algorithm detects smoke according to the features extracted manually. Because the features extracted manually are not necessarily the most suitable features for smoke, there would be false detection or false detection in smoke detection. Field smoke is sparse, occupies a small area in the whole image and diffuses slowly. In this paper, a field smoke detection algorithm based on convolution neural network is designed. Smoke detection was carried out by improved VGG16 network and conv-10 convolution neural network. The size of VGG16 filters is 3*3 and the step size is 1. Conv-10 detects smoke by adding layers to LeNet. Experiments show that the conv-10 network has a high accuracy rate of 94.7% and only needs 1 656 seconds. The network accuracy of the improved VGG16 is relatively high, but compared with the conv-10 network, the speed is slower and the time is 10 450s.
Key Words:smoke detection; convolutional neural network; deep learning; conv-10;VGG16
0 引言
火災監測主要采用煙霧傳感器進行。傳感器具有價格低、易安裝的優點,但由于煙霧傳感器和空氣大面積接觸造成氧化,靈敏度不高。
眾多學者對煙霧檢測方法進行了研究。如Yu等[1]提出基于煙霧顏色和運動特征的煙霧檢測方法;Celik等[2]提出采用不同的顏色模型進行煙霧和火災檢測;Klim等[3]基于煙霧的Harr特征檢測煙霧;Chen等[4]根據煙霧的靜態和動態決策規則描述一幅圖像中是否含有煙霧;Ma等[5]提出了一種新的聯合Kalman濾波和高斯混合顏色模型的煙霧檢測方法;Avgerinaki[6]利用HOG和HOF分類器實現視頻火災煙霧檢測。上述很多算法都是基于煙霧顏色、運動等單一特征或多種特征進行研究,這些特征是人們根據經驗手工提取的。由于野外煙霧具有稀疏性,擴散較慢、環境復雜,在這種情況下采用傳統方法進行煙霧檢測往往會發生錯檢和漏檢情況,準確率較低。
深度學習在許多方面都表現出優異性能。傅天駒等[7]提出了基于深度卷積神經網絡的森林火災識別方法,用參數替換提升準確率;陳俊周等[8]提出一種基于靜態特征與動態特征相結合的視頻煙霧檢測框架。
針對傳統煙霧檢測算法的不足,通過改進VGG16結構和搭建conv-10對野外煙霧進行檢測。實驗表明,VGG16和conv-10在野外煙霧識別上都具有較好的檢測效果。
1 相關工作
基于圖像和視頻的煙霧檢測方法研究較多。如李紅娣等[9]采用邊緣特征和金字塔紋理方法進行煙霧檢測;王欣剛等[10]采用運動檢測和小波分析方法對煙霧進行檢測;UgurTireyin等[11]提出基于小波的煙霧檢測算法;Wang等[12]利用物體的運動性和視頻中幀與幀的區別區分煙霧和非煙霧;Yuan等[13]提出一種基于運動累積量和主運動方向的煙霧檢測算法;Calderara 等[14]提出一種能夠同時兼顧檢測速度和魯棒性的煙霧檢測算法;Kapilovic等[15]提出一種光流方法提取煙霧圖像。上述算法在進行煙霧檢測時通常存在漏檢和誤檢情況,準確率不高。
2016年,由英國倫敦Google DeepMind開發的人工智能圍棋程序AlphaGo[16]中使用了卷積神經網絡。Frizzi等[17]使用卷積神經網絡進行火焰檢測和煙霧檢測;Yin等[18]提出一種基于圖像煙霧檢測的深度規范化卷積神經網絡;汪子杰[19]提出一種新穎的預測性能良好的視頻煙霧檢測算法;Y.Li[20]提出一種基于運動特性和卷積神經網絡的煙霧檢測算法。
本文針對野外煙霧具有稀疏、擴散緩慢、面積小、環境復雜等特點,設計了基于VGG16和conv-10面向野外煙霧的兩種煙霧檢測架構,與其它算法相比,conv-10具有較高的準確率,訓練時間較短。
2 基于卷積神經網絡的煙霧檢測
針對野外煙霧特點,本文基于VGG16并搭建卷積神經網絡conv-10,設計了兩種面向野外煙霧檢測的網絡結構。
2.1 VGG16網絡
VGG16網絡的輸入圖像大小為224×224像素,它包含13個卷積層、5個池化層和3個全連接層。池化一般有最大池化和平均池化兩種形式,一般采用最大池化。圖1為VGG16網絡結構。
針對野外煙霧具有稀疏、擴散緩慢等特點,本文對VGG16網絡進行改進。選用VGG16的原因是它能將所有卷積層的過濾尺寸大小都設置為3×3,步長都設置為1。通過這樣的設置可以讓VGG16網絡對輸入的煙霧圖像中的每個像素進行處理,提取特征,從而檢測到整幅圖像中所占比例較小的煙霧。另外VGG16的層數相對較少,但是精度和VGG19相近。
基于VGG16的煙霧檢測結構如圖2所示。野外煙霧需要檢測出煙霧和非煙霧兩類圖像,使用在Imagenet訓練好的VGG16網絡全連接,保留參數進行遷移,最后將圖像分為smoke和nonsmoke兩個不同類別。在VGG-16模型上調整數據集,把FC-6、FC-7神經元個數調整為1 024,FC-8類別個數從1 000調整為2。
算法1:VGG16訓練和測試算法
輸入:database A,預訓練的模型vgg16 pretrained
輸出:準確率acccuracy
{a,b,c}=prepare_data(A)
對數據集進行8:2的比例分為訓練集e和測試集f
Return e和f
加載預先訓練好的模型進行訓練煙霧檢測的結構
Output:訓練時間t和準確率accuracy
END
2.2 conv-10網絡
針對野外煙霧稀疏性特點,本文對傳統的LeNet-5卷積神經網絡進行改進,搭建適合煙霧的卷積神經網絡結構conv-10。
conv-10的卷積神經網絡結構如表1所示。卷積神經網絡有10層,每一層都包含可以訓練參數。輸入層輸入圖像大小為48×48像素。
C1:采用32個特征圖的卷積層,卷積核大小為3×3,經過卷積之后得到每個特征圖大小為(48-3+2+1)×(48-3+2+1)=48×48。
式(1)表示特征圖的大小。其中l表示當前層的索引號,K表示濾波器大小,P表示填充像素,S表示步長大小。卷積運算之后進行激活函數的非線性變換。激活函數使用Relu函數,其表達式如式(2)所示。
神經網絡計算公式如下:
式(3)中,M表示濾波器大小,W表示連接權向量,b表示偏置。
S1:采用大小為2的采樣因子,由32個24×24大小的特征圖組成。本文采用的池化方法為最大池化。最大池化如式(4)所示。
式(4)中x表示特征圖的一個區域,代表該區域神經元輸出。
C2:采用3×3大小的卷積核,由64個24×24大小的特征圖組成。
S2:采用大小為2的采樣因子,由64個12×12大小的特征圖組成。
C3:采用3×3大小的卷積核,由96個12×12大小的特征圖組成。
S3:采用是3×3大小的卷積核,由96個6×6大小的特征圖組成。
C4:采用3×3大小的卷積核,由128個6×6大小的特征圖組成。
S4:采用3×3大小的卷積核,由128個3×3大小的特征圖組成。
F1表示全連接層。它與S4層連接,由1024個神經元組成。采用Dropout方法,Dropout方法能夠加速運算和防止過擬合。
F2:表示輸出層。神經元個數設置為2,因為本文只進行二分類任務,所以只需要區分煙霧和非煙霧。
3 實驗設計與結果分析
3.1 實驗數據集
本文采用的數據集來自http://staff.ustc.edu.cn/~yfn/vsd.html(數據集分布情況如表2所示)以及筆者自己采集。實驗數據集分為訓練集和測試集,分為含有煙霧和非煙霧兩個類別,表3給出具體實驗數據。
本文對數據集進行擴充,擴充方式主要是旋轉和翻轉兩種。按8∶2劃分數據集,訓練集一共20 000張,其中測試集為5 000張。測試集里煙霧和非煙霧圖片張數各為? ? ?10 000張。訓練集里煙霧和非煙霧圖片張數各為2 500張。煙霧數據集和非煙霧數據集實例如圖3、圖4所示。
3.2 實驗設置
采用VGG16網絡和conv-10網絡進行煙霧檢測,并和SVM、DNN & CNN結果進行對比,將測試集和訓練集的準確率以及運行時間作為評價指標。
改進VGG16網絡是將已經在Imagenet訓練好的VGG16網絡全連接以上部分保留參數進行遷移,之后使用煙霧數據集進行輸入。輸入圖像大小為224×224像素,將在Imagenet上預訓練好的網絡中的卷積部分輸出,通過預訓練訓練出一個卷積神經網絡,并將最后一層全連接層數的個數改為2,分為煙霧和非煙霧兩類。cov-10神經網絡就是將準備好的數據集輸入到搭建的卷積神經網絡上,輸入圖像大小為48×48像素。預處理操作后,經過3 000次迭代訓練出需要的煙霧檢測模型。
3.3 實驗結果與分析
從表4可以看出,SVM在時間上具有較大優勢,測試時間和訓練時間都比較短,但是訓練精度和測試精度都比較低,主要原因是傳統的特征提取方法需要依賴人們的先驗知識;DNN、CNN的訓練精度和測試精度相對較高,主要原因是這兩種網絡能夠自動提取到所需要的煙霧特征,結果比SVM的精度要高
本文提出的兩種網絡,在測試集和訓練集上準確率較高。因為訓練集和測試集都是針對筆者所擁有的數據集進行訓練和測試,所以檢測出來的效果較好。但是兩個網絡的準確率與所訓練的數據集有較大關系,今后可以通過進一步改進網絡結構,增加注意力機制,提高煙霧圖像數量和迭代次數等,進一步提高檢測準確率。
4 結語
針對野外煙霧環境復雜和干擾性較強,以及野外煙霧具有稀疏性,在整幅圖像中所占比例較小的特點,選取相應的野外煙霧數據庫,訓練出煙霧檢測模型。本文通過改進VGG16網絡和搭建卷積神經網絡cov-10進行煙霧檢測。實驗結果表明,本文提出的兩種卷積神經網絡與其它卷積神經網絡相比具有較高的準確率, conv-10訓練時間更短,表明卷積神經網絡在煙霧檢測中具有較大優勢。但目前準確率還不是很高,今后將通過進一步改進網絡結構、增加注意力機制等方式提高野外煙霧檢測準確率。
參考文獻:
[1] YU C,FANG J,WANG J,et al. Video fire smoke detection using motion and color features[J]. Fire Technology,2010,46(3):651-663.
[2] CELIK T,DEMIREL H. Fire detection in video sequences using a generic color model[J]. Fire Safety Journal,2009,44(2):147-158.
[3] KIM H,RYU D,PARK J. Smoke detection using GMM and Adaboost[J]. International Journal of Computer & Communication Engineering,2014,3(2):123-126.
[4] CHEN T H,YIN Y H,HUANG S F,et al. The smoke detection for early fire-alarmig system base on video processing[C]. International Conference on Intelligent information Hiding on Multimedia Signal Processing,2006:427-430.
[5] MA L,WU K,ZHU L. Fire Smoke detection in video images using Kalman filter and Gaussian mixture color model[C]. International Conference on Artificial Intelligence and Computational Intelligence,IEEE Computer Society,2010:484-489.
[6] AVGERINAKIS K,BRIASSOULI A,KOMPATSIARIS I. Smoke detection using temporal Hoghof descriptors and energy colour statistics from video[C]. International Workshop on Multi-Sensor Systems and Networks for Fire Detection and Management,2012.
[7] 傅天駒,鄭嫦娥,田野,等. 復雜背景下基于深度卷積神經網絡的森林火災識別[J]. 計算機與現代化,2016(3):52-57.
[8] 陳俊周,汪子杰,陳洪瀚,等. 基于級聯卷積神經網絡的視頻動態煙霧檢測[J],電子科技大學學報,2016,46(6):992-996. .
[9] 李紅娣,袁非牛. 采用金字塔紋理和邊緣特征的圖像煙霧檢測[J]. 中國圖象圖形學報,2015,20(6):772-780.
[10] 王欣剛,魏崢,劉東昌,等. 基于煙霧動態特征分析的實時火災檢測[J]. 計算機技術與發展,2008,18(11):9-12.
[11] TOREYIN B U,DEDEOGLU Y,CETIN A E. Wavelet based realtime smoke detection in video[C]. European Signal Processing Conference,Antalya,Turkey Elsevier Press,2005:255-258.
[12] 王濤,劉淵,謝振平. 一種基于飄動性分析的視頻煙霧檢測新方法[J]. 電子與信息報,2011,35(5):1024-1029.
[13] 袁非牛,張永明,劉士興,等. 基于累積量和主運動方向的視頻煙霧檢測方法[J]. 中國圖像圖形學報,2008,13(4):808-813.
[14] FUJIWARA N,TERADA K. Extraction of a smoke region using fractal cording[C]. International Smposium on Communication and Information Technologies,2004:26-29.
[15] KAPILOVIE I,VAGVOLGYI B,SZIRANYI T. Application of panoramic annular lens for motion analysis tasks:surveillence and smoke dection[C]. International Conference on Pattern Recognition,2000:714-717.
[16] TAO C Y, ZHANG J, WANG P. Smoke detection based on deep convolutional neural network[C]. International Conference on Industrial Informatics-Computing Technollogy,Intelligent Technology,Industrial Infortrial Information,2016:150-153.
[17] FRIZZI S,KAABI R,BOUCHOUICHA M,et al. Convoltionalneural network for video fire and smoke detection[C]. IECON 2016-42nd Annual Conference of the IEEE Electronics Society,2016:877-882.
[18] YIN Z J,WAN B Y,YUAN F N,et al. A deep normalization and convolutional neural network for image smoke detection[J]. IEEE Access,2017(5):18429-18438.
[19] 汪子杰. 基于深度神經網絡的視頻煙霧檢測[D]. 成都:西南交通大學,2016.
[20] LUO Y,ZHAO P,LIU D. Fire smoke detection algorithm based on motion characteristic and convolutional neural network[J]. Multimedia Tools,2017, 77(6):15075-15092.
(責任編輯:杜能鋼)