鞏家昌, 李齊杰
(中國(guó)刑事警察學(xué)院聲像資料檢驗(yàn)技術(shù)系, 沈陽(yáng) 110854)
煙霧是火災(zāi)早期呈現(xiàn)的主要特征,因此煙霧的有效探測(cè)成為火災(zāi)預(yù)警的主要技術(shù)途徑。對(duì)于傳統(tǒng)的煙霧探測(cè)器,只有當(dāng)火災(zāi)煙霧接近探測(cè)器并且煙霧濃度達(dá)到報(bào)警閾值后才能觸發(fā)報(bào)警,這種報(bào)警方式勢(shì)必對(duì)實(shí)際火災(zāi)響應(yīng)不夠及時(shí),尤其在高大空間場(chǎng)所的應(yīng)用過(guò)程中,需要火勢(shì)很大時(shí)才能觸發(fā)感煙探測(cè)器發(fā)出火災(zāi)報(bào)警信號(hào)。隨著安防視頻監(jiān)控系統(tǒng)的普及和計(jì)算機(jī)模式識(shí)別技術(shù)的快速發(fā)展,基于視頻圖像的煙霧識(shí)別方法已經(jīng)發(fā)展為早期火災(zāi)探測(cè)預(yù)警的有效技術(shù)手段[1]。
煙霧圖像識(shí)別一般包括煙霧特征提取和分類(lèi)器最終識(shí)別兩個(gè)階段。因?yàn)闊熿F特征的準(zhǔn)確提取很大程度上影響最終的識(shí)別性能,近年來(lái),學(xué)者們主要集中于煙霧特征提取問(wèn)題的研究。紋理特征在煙霧圖像識(shí)別任務(wù)中首先被廣泛關(guān)注。為了獲取煙霧紋理特征的空間分布,Yuan等[2]提出了局部二值化模式(local pattern pattern, LBP)的子方向直方圖改進(jìn)煙霧識(shí)別性能。張潔等[3]提出了基于紋理特征和輪廓光流矢量的煙霧識(shí)別方法來(lái)提高火災(zāi)探測(cè)的準(zhǔn)確性和快速性。Yuan等[4]通過(guò)在每個(gè)圖像像素進(jìn)行高階方向?qū)?shù)編碼,提出了具有保持局部投影的高階局部二值化模式。Singh等[5]提出了多通道解碼的二值化模式去改善煙霧圖像識(shí)別性能。除了煙霧圖像紋理特征之外,小波變換也成為了描述煙霧圖像的重要方法。Gubbi等[6]從三級(jí)小波變換圖像中的每個(gè)子帶提取小波特征用于煙霧識(shí)別。這些特征包括算術(shù)均值、幾何均值、標(biāo)準(zhǔn)差、偏度和峰度。Ferrari等[7]使用小波變換去構(gòu)建一個(gè)隱馬爾科夫樹(shù)模型去改善煙霧識(shí)別準(zhǔn)確率。然而,煙霧顏色、紋理和形狀常常因?yàn)楣庹諚l件和周?chē)h(huán)境而呈現(xiàn)不穩(wěn)定的變化,上述的煙霧特征提取方法通常面臨計(jì)算復(fù)雜和魯棒性不足的問(wèn)題。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)在圖像識(shí)別[8-13]任務(wù)中已經(jīng)取得了顯著的效果。它能夠從輸入圖像中自動(dòng)學(xué)習(xí)區(qū)分能力強(qiáng)和魯棒性強(qiáng)的圖像特征。淺層卷積層提取像邊緣和紋理的簡(jiǎn)單特征,而深層卷積層提取更加抽象具體的圖像特征。有學(xué)者已利用CNN提升了煙霧圖像的識(shí)別性能。Yin等[14]在原有的CNN卷積層結(jié)構(gòu)中增加批規(guī)范化運(yùn)算來(lái)增加煙霧識(shí)別性能。Yuan等[15]采用并行的卷積結(jié)構(gòu)來(lái)提取煙霧圖像的多尺度特征,進(jìn)而提升煙霧識(shí)別性能。楊劍等[16]對(duì)殘差網(wǎng)絡(luò)進(jìn)行結(jié)構(gòu)改進(jìn),實(shí)現(xiàn)精確的煙霧區(qū)域檢測(cè)。Gu等[17]設(shè)計(jì)了對(duì)偶深度卷積神經(jīng)網(wǎng)絡(luò),增強(qiáng)了煙霧識(shí)別的魯棒性。
針對(duì)煙霧圖像識(shí)別任務(wù),進(jìn)一步考慮煙霧圖像的全局信息、多尺度信息流通和計(jì)算效率,提出了稠密和非局部卷積神經(jīng)網(wǎng)絡(luò)(dense and non-local CNN, DNLCNN)。首先,利用稠密連接和非局部運(yùn)算構(gòu)建基本卷積塊,稠密連接可以促進(jìn)卷積層間的信息流通和特征重利用,而非局部運(yùn)算可以方便與卷積層進(jìn)行結(jié)合,增強(qiáng)卷積過(guò)程中的全局信息。然后,堆疊若干基本卷積塊和采取多尺度策略,搭建用于煙霧識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
首先構(gòu)造基于稠密連接和非局部運(yùn)算的基本卷積塊,然后將基本卷積塊進(jìn)行堆疊搭建用于煙霧識(shí)別的DNLCNN網(wǎng)絡(luò)。
稠密卷積神經(jīng)網(wǎng)絡(luò)(DenseNet)[12]中卷積層間的稠密連接結(jié)構(gòu)增強(qiáng)了卷積層特征圖之間的特征重利用,保證了網(wǎng)絡(luò)中最大程度地信息流通。
DenseNet中的稠密基本塊包含l個(gè)卷積層,第l個(gè)卷積層連接所有以前的卷積層特征圖c0,c1,…,cl-1,
cl=Hl([c0,c1,…,cl-1])
(1)
式(1)中:[c0,c1,…,cl-1]為來(lái)自第0,1,…,l-1層卷積層特征圖的拼接融合;Hl(·)為連續(xù)的計(jì)算單元序列,包括批規(guī)范化(batch normalization, BN)、限制線性單元激活函數(shù)(rectified linear unit, ReLU)和卷積核為1×1的卷積運(yùn)算,再接入另外3個(gè)連續(xù)運(yùn)算:BN、ReLU和卷積核為3×3的卷積運(yùn)算,輸出數(shù)目為k的特征圖,這里k稱(chēng)為擴(kuò)張率。
為了清晰和便捷地表達(dá),后續(xù)提到的卷積層指的是上述連續(xù)計(jì)算單元序列組合。在一個(gè)稠密基本塊中,如果每個(gè)卷積層經(jīng)Hl(·)后輸出k個(gè)特征圖,則第i個(gè)卷積層的輸入特征圖數(shù)目為k0+k(l-1),其中k0為當(dāng)前稠密基本塊輸入層的特征圖數(shù)目。擴(kuò)張率k控制每個(gè)卷積層對(duì)整個(gè)稠密基本塊的信息貢獻(xiàn)程度。包含3個(gè)卷積層的稠密基本塊結(jié)構(gòu)如圖1所示。

圖1 包含3個(gè)卷積層的稠密基本塊Fig.1 Dense basic block comprising 3 convolutional layers
卷積運(yùn)算通常只考慮圖像像素位置的鄰域局部信息,而對(duì)于煙霧圖像識(shí)別任務(wù),煙霧圖像的整體全局信息十分重要。為了在卷積運(yùn)算過(guò)程中引入全局信息,借鑒非局部均值和非局部神經(jīng)網(wǎng)絡(luò)[18]設(shè)計(jì),在稠密基本塊中引入非局部運(yùn)算來(lái)獲取全局信息。深度卷積神經(jīng)網(wǎng)絡(luò)中的非局部運(yùn)算被定義為
(2)
式(2)中:i為圖像當(dāng)前像素位置的指標(biāo);j為所有可能參與計(jì)算像素位置的指標(biāo);x為輸入信號(hào);y為輸出信號(hào);函數(shù)f計(jì)算位置i和所有位置j之間的關(guān)系;函數(shù)g計(jì)算輸入信號(hào)在位置j處的特征表示;輸出響應(yīng)被函數(shù)C(x)規(guī)范化。
利用Gaussian函數(shù)估計(jì)像素之間的關(guān)系可表示為
f(xi,xj)=exiTxj
(3)

非局部運(yùn)算是一個(gè)靈活的卷積運(yùn)算構(gòu)件,非常便捷與已知的卷積運(yùn)算相結(jié)合,因此非局部運(yùn)算被增加到上述的稠密基本塊,與所有的卷積核為3×3的卷積層相結(jié)合,最終構(gòu)成了稠密和非局部基本卷積塊。
用于煙霧識(shí)別的DNLCNN由上述若干的稠密和非局部基本卷積塊堆疊而成,詳細(xì)的網(wǎng)絡(luò)構(gòu)成描述如下。
1.3.1 擴(kuò)張率增加
原來(lái)的DenseNet網(wǎng)絡(luò)結(jié)構(gòu)包含很多稠密塊,每個(gè)稠密塊包含一些卷積層[12],每層產(chǎn)生k個(gè)新的特征圖。考慮到深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)通常更依賴(lài)于深層的具體抽象特征,隨著網(wǎng)絡(luò)深度的增加而增加擴(kuò)張率k,如在第m個(gè)稠密和非局部基本卷積塊中,擴(kuò)張率設(shè)置為k=mkinit,其中kinit為第一個(gè)稠密和非局部基本卷積塊中設(shè)置的擴(kuò)張率。這樣增加了來(lái)自更深卷積層特征的計(jì)算比重,使得DNLCNN能夠更多考慮具體抽象的高水平特征。
1.3.2 壓縮
為了進(jìn)一步對(duì)模型進(jìn)行參數(shù)壓縮,在相鄰稠密和非局部基本卷積塊之間設(shè)計(jì)了壓縮層,實(shí)現(xiàn)了卷積特征圖分辨率和特征圖通道數(shù)目的同時(shí)壓縮。壓縮層將特征圖分辨率壓縮為原來(lái)的1/4,將特征圖通道數(shù)目壓縮為原來(lái)的1/2。壓縮層使得整個(gè)DNLCNN結(jié)構(gòu)更加緊湊,保證最終的特征圖通道數(shù)目在合理的范圍之內(nèi)。
1.3.3 多尺度特征連接
卷積神經(jīng)網(wǎng)絡(luò)在淺層學(xué)習(xí)紋理等低層次特征,而在深層學(xué)習(xí)抽象具體的高層次特征,為了增加圖像識(shí)別性能,采取多尺度特征連接策略構(gòu)造網(wǎng)絡(luò)。最終的特征表示由每個(gè)稠密和非局部基本卷積塊特征圖拼接融合而成,再輸入到分類(lèi)損失函數(shù)。這樣,DNLCNN網(wǎng)絡(luò)的最終特征表示重新利用了來(lái)自不同卷積層的特征信息。
利用隨機(jī)梯度下降方法(stochastic gradient descent, SGD)訓(xùn)練DNLCNN。批處理樣本數(shù)為32,初始學(xué)習(xí)率為0.01,訓(xùn)練過(guò)程中當(dāng)測(cè)試準(zhǔn)確率飽和時(shí)將學(xué)習(xí)率除以10,整個(gè)訓(xùn)練過(guò)程,學(xué)習(xí)率改變3次。當(dāng)遍歷300次樣本之后,訓(xùn)練過(guò)程終止。
提出的DNLCNN模型使用Pytorch深度學(xué)習(xí)框架進(jìn)行訓(xùn)練和測(cè)試估計(jì),實(shí)驗(yàn)使用的計(jì)算機(jī)配備Inter(R) Core(TM) i7-3700 3.60 Hz的CPU和NVIDIA GTX1080Ti的GPU。
實(shí)驗(yàn)評(píng)估所用的煙霧數(shù)據(jù)庫(kù)[14]被分為4個(gè)子集。如表1所示,整個(gè)煙霧圖像數(shù)據(jù)庫(kù)包含24 217張圖像,其中5 695張煙霧圖像和18 522張非煙霧圖像。由于在實(shí)際的生活中很難收集大量的煙霧圖像,因此煙霧圖像識(shí)別任務(wù)中通常面臨數(shù)據(jù)不充分和數(shù)據(jù)分布不平衡問(wèn)題。

表1 煙霧圖像數(shù)據(jù)庫(kù)Table 1 Smoke image dataset
煙霧圖像數(shù)據(jù)庫(kù)包含黑煙和白煙兩種顏色,每種顏色中又包含稠密煙霧、稀薄煙霧和模糊煙霧形態(tài)。數(shù)據(jù)庫(kù)中存在一些與煙霧圖像顏色、形狀和紋理相似的非煙霧圖像,容易導(dǎo)致誤報(bào)。實(shí)驗(yàn)中數(shù)據(jù)規(guī)模相對(duì)較大的子集Set3和Set4被用作訓(xùn)練集和驗(yàn)證集,而其他的兩個(gè)子集Set1和Set2被用作測(cè)試集進(jìn)行性能估計(jì)。
檢測(cè)率(detection rate, DR),準(zhǔn)確率(accuracy rate, AR)和誤報(bào)率(false alarm rate, FAR)通常被用來(lái)定量地估計(jì)煙霧識(shí)別算法,3個(gè)估計(jì)指標(biāo)計(jì)算公式分別為
(4)
(5)
(6)
式中:Qp和Qn分別為煙霧圖像和非煙霧圖像的數(shù)目;Pp為煙霧圖像被正確識(shí)別的數(shù)目;Np為非煙霧圖像被錯(cuò)誤識(shí)別為煙霧類(lèi)別的數(shù)目;DR表示所有測(cè)試的煙霧圖像被正確識(shí)別的概率;AR表示所有圖像數(shù)據(jù)被正確識(shí)別的概率;FAR表示非煙霧圖像被誤識(shí)別為煙霧類(lèi)別的概率。
煙霧識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)要取得較高的AR和DR值,但同時(shí)要達(dá)到較低的FAR值。
將所提出的DNLCNN與一些經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行煙霧識(shí)別性能比較,如AlexNet[7]、visual geometry group (VGG)[8]和Inception-v3[9]。此外,將DNLCNN與另外兩個(gè)基于深度神經(jīng)網(wǎng)絡(luò)的煙霧識(shí)別方法DNCNN[13]和DMCNN[14]進(jìn)行比較。為了采用已經(jīng)開(kāi)源的卷積網(wǎng)絡(luò)結(jié)構(gòu)代碼和論文已經(jīng)報(bào)道的實(shí)驗(yàn)結(jié)果進(jìn)行公正比較,將DNLCNN的輸入圖像分辨率分別調(diào)整到224×224和48×48。在所有實(shí)驗(yàn)中,DNLCNN-r-l-kinit表示包含r個(gè)稠密和非局部基本卷積塊的DNLCNN網(wǎng)絡(luò)結(jié)構(gòu),每個(gè)稠密和非局部基本卷積塊包含l個(gè)卷積層,初始擴(kuò)張率為kinit。
已經(jīng)開(kāi)源的AlexNet、VGG-16和Inception-V3網(wǎng)絡(luò)結(jié)構(gòu)的輸入圖像分辨率大約為224×224,為了進(jìn)行公平比較,將煙霧圖像分辨率統(tǒng)一調(diào)整為224×224,采用DNLCNN-5-3-8的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行實(shí)驗(yàn)評(píng)估。在測(cè)試集Set1和Set2上的實(shí)驗(yàn)結(jié)果分別如圖2所示。

圖2 測(cè)試集上的實(shí)驗(yàn)結(jié)果Fig.2 Experimental results on testing dataset
從實(shí)驗(yàn)結(jié)果(圖2)可以看出,DNLCNN-5-3-8在測(cè)試集Set1上達(dá)到最高的DR值(98.01%)和AR值(98.70%),在Set2上達(dá)到了最高的DR值(96.54%)和AR值(98.07%)。AlexNet在測(cè)試集Set1和Set2上的FAR指標(biāo)略低于DNLCNN-5-3-8,但DR和AR指標(biāo)與所提出的DNLCNN-5-3-8存在較大差距。并且,所提出的DNLCNN-5-3-8僅使用0.94M的學(xué)習(xí)參數(shù)就可以達(dá)到優(yōu)異的性能,而AlexNet、VGG-16和Inception-v3的參數(shù)量分別為54 M、128 M和33.93 M。
進(jìn)一步將DNLCNN與另外兩個(gè)基于深度神經(jīng)網(wǎng)絡(luò)的煙霧識(shí)別方法DNCNN[14]和DMCNN[15]進(jìn)行比較。DNCNN在原有的卷積層結(jié)構(gòu)中增加批規(guī)范化運(yùn)算來(lái)增加煙霧識(shí)別性能,DMCNN采用并行的卷積結(jié)構(gòu)來(lái)提取多尺度特征。采取DNLCNN- 4-2-8,DNLCNN- 4-3-8 和 DNLCNN- 4- 4-8網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行實(shí)驗(yàn)估計(jì),需要的學(xué)習(xí)參數(shù)量分別為0.33M、0.52M和0.72M。將煙霧圖像分辨率調(diào)整為48×48,作為實(shí)驗(yàn)中深度卷積神經(jīng)網(wǎng)絡(luò)的輸入。在測(cè)試集Set1和Set2上的實(shí)驗(yàn)估計(jì)結(jié)果如表2所示。

表2 測(cè)試集上的實(shí)驗(yàn)結(jié)果Table 2 Experimental results on testing dataset
DNLCNN-4-3-8網(wǎng)絡(luò)結(jié)構(gòu)僅使用0.52M的參數(shù)量就可以在測(cè)試集Set1上達(dá)到最高的DR值96.20%和AR值98.34%,在測(cè)試集Set2上達(dá)到最高的DR值97.24%和AR值98.47%。同時(shí),DNLCNN-4-3-8在測(cè)試集Set1上達(dá)到最低的FAR值0.24%。從表2和表3也可以發(fā)現(xiàn),對(duì)于DNLCNN網(wǎng)絡(luò),隨著網(wǎng)絡(luò)深度增加,煙霧識(shí)別性能指標(biāo)達(dá)到飽和。
實(shí)驗(yàn)結(jié)果(表2)證明了提出的DNLCNN結(jié)構(gòu)在煙霧識(shí)別問(wèn)題上是更加準(zhǔn)確和更加計(jì)算有效的,更有可能被應(yīng)用到實(shí)際的煙霧識(shí)別任務(wù)中。
在煙霧識(shí)別問(wèn)題中,煙霧顏色、紋理和形狀常常因?yàn)楣庹諚l件和周?chē)h(huán)境而呈現(xiàn)不穩(wěn)定的變化,傳統(tǒng)的煙霧特征提取方法通常面臨計(jì)算復(fù)雜和魯棒性不足的問(wèn)題,為了解決上述問(wèn)題,提出了稠密和非局部卷積神經(jīng)網(wǎng)絡(luò)用于煙霧識(shí)別,通過(guò)對(duì)提出的DNLCC進(jìn)行分析和實(shí)驗(yàn),得出以下結(jié)論。
(1)DNLCNN中的稠密連接設(shè)計(jì)增強(qiáng)了深度卷積網(wǎng)絡(luò)結(jié)構(gòu)中的信息流通和特征重利用。
(2)DNLCNN中非局部運(yùn)算操作促進(jìn)了深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中全局特征和局部特征的有效融合,進(jìn)而改善煙霧識(shí)別的魯棒性。
(3)通過(guò)實(shí)驗(yàn)證明了,所提出的DNLCNN既具有更高的計(jì)算效率又具有更令人滿意的識(shí)別性能,只使用不到1M參數(shù)量的條件下取得更好的識(shí)別性能,在FAR指標(biāo)相差不大的同時(shí)取得更高的DR值和AR值,因此具有更高的實(shí)用價(jià)值。