魏偉航 馬乾力 高治良 趙錦成
摘 要:目前基于卷積神經(jīng)網(wǎng)絡的煙霧檢測主要通過若干個有序的卷積層的學習識別煙霧。為了提高煙霧檢測的精確度,提出了一種改進的卷積神經(jīng)網(wǎng)絡框架。該框架增加了批量歸一化層和輕量級的卷積結構,并提取網(wǎng)絡中不同卷積層的特征圖進行聯(lián)合訓練。改進卷積神經(jīng)網(wǎng)絡的網(wǎng)絡結構更小,訓練參數(shù)更少。在仿真實驗中,對訓練數(shù)據(jù)進行了圖像擴增,結果證明了改進的卷積神經(jīng)網(wǎng)絡能夠有效提高煙霧識別的準確率和識別速度。
關鍵詞: 煙霧檢測;卷積神經(jīng)網(wǎng)絡;圖像擴增
文章編號: 2095-2163(2019)03-0040-05?中圖分類號: TP391?文獻標志碼: A
0?引?言
煙霧檢測作為防治火災的一種重要且有效的方法,一直是國內外火情預警研究的重要方向。傳統(tǒng)的煙霧檢測方案主要采用溫度感應傳感器、濕度感應傳感器和煙感應式傳感器等[1],這些傳感器價廉物美,準確度高,但是感應范圍較小、且容易損壞,難以大面積鋪設,不適用于一些空間較大的高火災隱患場所。隨著圖像、視頻等數(shù)據(jù)大規(guī)模普及和深度學習的興起,基于圖像識別的煙霧檢測技術成為了更加方便,科學的火災探測手段。
卷積神經(jīng)網(wǎng)絡是一種深度神經(jīng)網(wǎng)絡模型,主要應用于圖像識別,僅就過去的不到10年期間,即在目標識別、物體定位等領域中取得了巨大的成就?,F(xiàn)有的基于圖像識別的煙霧檢測方法主要采用局部模式特征、灰度共生矩陣或者各類統(tǒng)計量(如標準差、均值、傾斜度等)特征對煙霧進行建模[2],而使用卷積神經(jīng)網(wǎng)絡進行煙霧檢測的算法卻不多。陳俊周等人[3]在卷積神經(jīng)網(wǎng)絡中綜合了視頻的靜態(tài)紋理信息和動態(tài)紋理信息,將原始圖像及其光流序列分別作為靜態(tài)紋理和動態(tài)紋理的輸入,有效地降低了誤檢率。李誠等人[4]使用了GoogLeNet[5]的卷積神經(jīng)網(wǎng)絡結構進行火焰和煙霧檢測。Yin 等人[6]?提出了基于深度歸一化化卷積神經(jīng)網(wǎng)絡的圖像煙霧檢測算法,該網(wǎng)絡在每個卷積層后增加了批量歸一化層[7],有效抑制了訓練中產生的梯度消失和過擬合等問題,加速了網(wǎng)絡的收斂速度,對文中提出的數(shù)據(jù)集的準確率接近98%。
當前煙霧識別卷積網(wǎng)絡模型層數(shù)較深,模型訓練參數(shù)較多,網(wǎng)絡模型冗余。因此,本文采用了深度可分離卷積結構[8-9],減少網(wǎng)絡參數(shù),并提取不同網(wǎng)絡層的特征進行融合訓練,抑制由于網(wǎng)絡泛化導致的有效煙霧特征彌散現(xiàn)象,再針對正負樣本不平衡的問題,對訓練數(shù)據(jù)進行了數(shù)據(jù)擴增,在減小網(wǎng)絡模型的同時,得到更高的分類精度和識別度。
1?改進的卷積神經(jīng)網(wǎng)絡
1.1?深度可分離卷積結構
卷積神經(jīng)網(wǎng)絡一般由卷積層、非線性激活函數(shù)層、池化層和全連接層組成,其中卷積層主要為網(wǎng)絡提供權重參數(shù),在迭代訓練的過程中,網(wǎng)絡在某種確定的損失函數(shù)和隨機梯度下降算法的指導下不斷更新卷積層提供的權重參數(shù),使權重更趨向于正確的分類界面。常規(guī)的卷積運算如圖1所示,在計算時使用卷積核的權重參數(shù)遍歷每個輸入通道得到特征圖,再疊加每個輸入通道對應的特征圖后獲得一個完整的特征圖。
這一過程涉及的參數(shù)和計算量非常大,因此,2017年谷歌提出了一種輕量級的卷積神經(jīng)網(wǎng)絡:MobileNet[9],可將常規(guī)卷積結構轉換為深度可分離卷積結構,這種新的卷積結構在準確率基本不變的情況下,計算速度提高了9倍,參數(shù)數(shù)量降為原來的七分之一。深度可分離卷積結構可以分為兩層卷積層,分別為深度卷積層和逐點卷積層。如圖2所示,深度卷積對每個輸入通道進行獨立的空間卷積,去除了疊加特征圖的步驟;逐點卷積運算與常規(guī)的卷積運算相同,只將卷積核的尺寸固定為1×1。深度可分離卷積將空間特征和通道特征的學習進行分離的做法,減少了權重參數(shù)數(shù)量,降低了網(wǎng)絡的計算量。
1.2?批量歸一化層
在卷積神經(jīng)網(wǎng)絡中,卷積運算后特征圖的數(shù)據(jù)分布會發(fā)生極大的變化,這種不可控的改變增加了網(wǎng)絡訓練學習的難度。批量歸一化有效地解決了這個問題并能夠抑制訓練過擬合現(xiàn)象,輸入的特征圖在卷積計算后進行批量歸一化,使其數(shù)據(jù)分布趨向于一個均值為0,方差為1的高斯分布,在這一過程中信息不丟失,并且批量歸一化的運用使訓練的難度大大減低,減少了訓練過程中調整學習率的操作。
區(qū)別于常規(guī)的歸一化操作,批量歸一化也加入網(wǎng)絡的訓練,數(shù)學公式如下所示:
1.3?改進的卷積神經(jīng)網(wǎng)絡結構
本文提出的卷積神經(jīng)網(wǎng)絡分為主體部分和旁支部分,網(wǎng)絡整體結構如圖3所示。
主體部分由6個深度可分離卷積層和一個全連接層組成,每個深度可分離卷積層后進行批量歸一化和非線性函數(shù)激活。批量歸一化對輸入數(shù)據(jù)進行正則化,加速網(wǎng)絡收斂和抑制過擬合,第一、二個卷積層后使用了雙曲正切激活函數(shù),防止網(wǎng)絡的底層卷積泛化時煙霧信息損失過多,在之后的4個卷積層采用ReLU激活函數(shù),第二、四卷積層后使用最大值池化,最后一個卷積層后通過全局均值池化[10]將每個特征圖融合為一個特征點,全局均值池化層實際等同對整個特征圖正則化,有利于防止過擬合,能大幅度減少全連接層的神經(jīng)元數(shù)量,但會降低收斂速度。
旁支部分中,前面的卷積層的輸出不僅為下一個卷積層提供輸入數(shù)據(jù),并且通過均值池化作為更深的卷積層輸入特征圖的一部分,均值池化對特征圖進行不失真的下采樣,保證不同尺寸的特征圖在拼接層進行特征圖合并。在改進的卷積神經(jīng)網(wǎng)絡模型中,采用了3個拼接層對不同卷積層輸出的特征圖進行合并。這一部分網(wǎng)絡的設計主要來源于深度殘差卷積神經(jīng)網(wǎng)絡[11],深度殘差卷積神經(jīng)網(wǎng)絡利用短連接來抑制梯度消失,以此增加網(wǎng)絡層數(shù),在多分類任務中具有顯著的效果。在2015年的ILSVRC挑戰(zhàn)中,引入短連接的網(wǎng)絡結構得到了較先進的性能,其性能類似于InceptionV3網(wǎng)絡[5]。本文給出了明確的實驗數(shù)據(jù),證明使用短連接的訓練顯著加速了網(wǎng)絡的訓練。對于煙霧檢測這一類二分類任務,采用了類似于短連接的方式能夠得到不同泛化程度的煙霧特征,這些組合起來的特征能夠防止煙霧信息丟失,有利于網(wǎng)絡的優(yōu)化和訓練。
2?數(shù)據(jù)擴增與實驗結果
2.1?獲取擴增數(shù)據(jù)集
進行實驗使用的初始數(shù)據(jù)來自于文獻[6]中提供的煙霧檢測數(shù)據(jù)集,這個圖像數(shù)據(jù)集中一共有24 217幅圖像,包括5 695幅煙霧圖像及18 522幅非煙霧圖像。本文采用了該數(shù)據(jù)集的圖像訓練了一個初始改進卷積神經(jīng)網(wǎng)絡模型,使用python網(wǎng)絡爬蟲從YouTube網(wǎng)站和優(yōu)酷網(wǎng)站上下載了500多個含有煙霧的相關視頻,利用初始模型結合光流幀移法從有煙視頻中獲取煙霧圖像,再通過人工檢查剔除錯誤檢測得到的煙霧圖像,共獲取16 234張煙霧圖像,并從imagenet數(shù)據(jù)集中隨機挑選了25 000張不同場景的非煙霧圖像,因此本文實驗所采用的數(shù)據(jù)集包含了21 929張煙霧圖像和43 522張非煙霧圖像,圖像示例如圖4所示。
2.2?實驗設置
本文中實驗所使用的計算機配置為Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20 GH和Nvidia GTX 1080 GPU,內存為32 GB。計算機的操作系統(tǒng)為Ubuntu 16.04.4 LTS,使用的深度學習框架為Tensorflow 1.7和Keras。
將2.1節(jié)所獲取的圖像隨機分為3個數(shù)據(jù)集,分別為訓練數(shù)據(jù)集,測試數(shù)據(jù)集和驗證數(shù)據(jù)集。具體劃分情況見表1。網(wǎng)絡的所有參數(shù)以均值為零,標準差為0.01的高斯分布生成的隨機數(shù)進行初始化,網(wǎng)絡優(yōu)化算法采用了AdaDelta梯度下降算法[12],對比起原始的梯度下降算法,該算法能夠動態(tài)地調整學習率,并且不用設置初始化學習率這一超參。每次訓練輸入的圖像數(shù)量為64,輸入圖像尺寸為64×64×3,批量歸一化時設置衰減度和epsilon為0.05和0.01。停止訓練的標準為通過對驗證數(shù)據(jù)集的檢驗判定網(wǎng)絡是否訓練完成,網(wǎng)絡的性能評判通過對測試數(shù)據(jù)集進行校驗比較,判別標準為準確率和誤檢率。其中,準確率為煙霧圖像和非煙霧圖像準確判斷的數(shù)量與測試數(shù)據(jù)集圖像總數(shù)量的比值,誤檢率為非煙霧圖像被錯誤判斷的數(shù)量與非煙霧圖像總數(shù)量的比值,準確率越高,誤檢率越低,網(wǎng)絡的性能越好。
2.3?實驗結果與分析
本文選擇了InceptionV3 [5]、MobileNet[9]、ResNet[11]和DNCNN[6]四種網(wǎng)絡模型進行對比試驗, Inception-v3,MobileNet和ResNet都采用了開源的超參設置,4種模型的預計訓練的參數(shù)量分別為13 835萬、2 563萬、425萬和2 434萬,而改進的卷積神經(jīng)網(wǎng)絡所需訓練的參數(shù)量僅有52萬。為了便于比較,對于不同的網(wǎng)絡結構,統(tǒng)一了輸入圖像的尺寸。初始和擴增數(shù)據(jù)集在改進的卷積神經(jīng)網(wǎng)絡上的檢測結果比較見表2。表2的實驗結果證明了擴增的數(shù)據(jù)集對比初始數(shù)據(jù)集具有顯著的提升,因此在表3的所有對比算法都使用了數(shù)據(jù)擴增后的數(shù)據(jù)集。
幾種卷積神經(jīng)網(wǎng)絡的實驗結果見表3。proposed1的網(wǎng)絡模型為圖3所述結構,proposed2在proposed1的基礎上去除了旁支部分。proposed1的準確率超過99%,誤檢率也僅有0.22%,檢測性能低于ResNet,與MobileNet的性能相當,現(xiàn)實生活中無煙霧的場景較為常見,因此要求網(wǎng)絡的誤檢率比較低,盡管在準確率上低于MobileNet,但具有更強的魯棒性。當旁支部分被移除時,網(wǎng)絡的準確率和誤檢率都有所下降,證明了旁支部分對網(wǎng)絡的性能提升有積極的作用。對比一幅圖像在GPU上測試的運行時間,改進的卷積神經(jīng)網(wǎng)絡的計算成本要遠低于其他對比網(wǎng)絡模型。
proposed1和proposed2兩個模型在訓練時的收斂情況如圖5所示。由圖5可知,proposed1收斂速度較快,在大約15個訓練周期后,訓練準確率就達到99%,而且后續(xù)的訓練也非常穩(wěn)定。proposed2需要訓練到30個周期后才逐步收斂。由表2和圖5可得,增加了旁支部分的網(wǎng)絡對煙霧識別的準確率更高,訓練時收斂更快。
3?結束語
本文通過數(shù)據(jù)擴增與設計卷積神經(jīng)網(wǎng)絡很好地提高了煙霧檢測的準確率,在基于原有數(shù)據(jù)的基礎上,通過網(wǎng)絡爬蟲、煙霧檢測和人工篩選的方式對數(shù)據(jù)庫進行了圖像擴增,增強了圖像質量;對卷積神經(jīng)網(wǎng)絡進行改進,深度可分離卷積層的使用大大減少了網(wǎng)絡的參數(shù)量,加快了單幀處理速度,改進卷積神經(jīng)網(wǎng)絡增加的旁支部分能夠加快網(wǎng)絡收斂。通過仿真驗證實驗,本文提出的網(wǎng)絡模型提高了對于煙霧圖像的檢測精度,同時具有較強的魯棒性,是一種可靠、且高精度的圖像煙霧檢測算法。
參考文獻
[1]YUAN Feiniu. Rotation and scale invariant local binary pattern based on high order directional derivatives for texture classification[J]. Digital Signal Processing, 2014, 26:142-152.
[2]?史勁亭, 袁非牛, 夏雪. 視頻煙霧檢測研究進展[J]. 中國圖象圖形學報, 2018,23(3):0303-0322.
[3]?陳俊周, 汪子杰, 陳洪翰, 等. 基于級聯(lián)卷積神經(jīng)網(wǎng)絡的視頻動態(tài)煙霧檢測[J]. 電子科技大學學報, 2016, 45(6):992-996.
[4]?李誠,唐李洋, 潘李偉. 城鎮(zhèn)森林交界域視頻檢測算法[J]. 計算機工程, 2018,44(1) :258-262.
[5]?SZEGEDY C, LIU Wei, JIA Yangqing, et al. Going deeper with convolutions[C]// 2015 IEEE CVPR. Boston:IEEE Computer Society, 2015:1-12.