張堅(jiān)鑫, 郭四穩(wěn), 張國蘭, 譚 琳
(廣州大學(xué) 計(jì)算機(jī)科學(xué)與網(wǎng)絡(luò)工程學(xué)院,廣東 廣州 510006)
火災(zāi)是全球范圍內(nèi)的災(zāi)難性破壞事件,會在短時間內(nèi)對人民的生命和財(cái)產(chǎn)安全造成重大的損害。隨著人工智能技術(shù)的不斷發(fā)展,深度卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)在圖像識別和檢測方面展示了最先進(jìn)的性能[1]。圖像分類識別任務(wù)是對圖像是否有該物體進(jìn)行分類識別,圖像檢測任務(wù)是對物體的對應(yīng)區(qū)域進(jìn)行類別的標(biāo)記。黃文鋒等[2]將深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于視頻監(jiān)控中火災(zāi)煙霧和火焰的識別和檢測。Frizzi等[3]提出了用于視頻火焰和煙霧識別的卷積神經(jīng)網(wǎng)絡(luò),結(jié)果表明,基于卷積神經(jīng)網(wǎng)絡(luò)的方法比一些常規(guī)的視頻火災(zāi)探測方法具有更好的性能。Sharma等[4]探討了將Vgg16[5]和Resnet50[6]用于火災(zāi)識別。林作永等[7]使用Inception[8]、ResNet[6]、MobileNet[9]作為特征提取器Backbone,使用Faster R-CNN[10]、SSD[11]、R-FCN[12]作為深度學(xué)習(xí)檢測框架進(jìn)行火災(zāi)煙霧檢測,結(jié)果發(fā)現(xiàn),使用Inception V2[13]特征提取網(wǎng)絡(luò)能增加檢測精度,F(xiàn)aster R-CNN檢測效果最好,SSD速度最快,但定位精度不夠,R-FCN獲得了速度與精度的平衡[14]。基于這些考慮,本文對雙階段目標(biāo)檢測網(wǎng)絡(luò)Faster R-CNN在火災(zāi)圖像的應(yīng)用進(jìn)行改進(jìn)和研究,以實(shí)現(xiàn)對火災(zāi)區(qū)域的精準(zhǔn)定位。
在至今為止的目標(biāo)檢測算法中,基于深度學(xué)習(xí)的單階段和雙階段目標(biāo)檢測算法都能夠?qū)崿F(xiàn)較高的檢測準(zhǔn)確率,但是兩種算法各有優(yōu)勢:雙階段的精度更準(zhǔn),單階段的速度更快。雙階段的Faster R-CNN系列方案第1步是先訓(xùn)練好特征提取網(wǎng)絡(luò);第2步是使用該網(wǎng)絡(luò)生成很多候選框來檢測目標(biāo)。單階段方案是將特征提取網(wǎng)絡(luò)和生成候選框在同一個網(wǎng)絡(luò)里完成。這里選用雙階段Faster R-CNN的目標(biāo)檢測方案進(jìn)行改進(jìn)。
在傳統(tǒng)的目標(biāo)檢測任務(wù)中一般使用特征提取和機(jī)器學(xué)習(xí)結(jié)合的算法,特征提取方法往往有3種:第1種是最基本的,一般是顏色、紋理等底層的特征;第2種是中層特征,一般是經(jīng)過特征挖掘?qū)W習(xí)之后得到的特征,包括PCA特征和LDA學(xué)習(xí)得到的特征;第3種是高層的特征,是將前面2種特征結(jié)合進(jìn)一步挖掘計(jì)算得到的特征。基于這個考慮,雙階段Faster R-CNN目標(biāo)檢測任務(wù)中的特征提取網(wǎng)絡(luò)能夠融合多種尺度的特征來提升網(wǎng)絡(luò)的效果。特征金字塔結(jié)構(gòu)FPN方法[15]是對不同層中的信息進(jìn)行融合,淺層網(wǎng)絡(luò)包含更多的細(xì)節(jié)信息,高層網(wǎng)絡(luò)則包含更多的語義信息。將卷積網(wǎng)絡(luò)中淺層和高層的特征圖進(jìn)行累加,使其不會丟失過多信息,從而提升檢測的效果。Inception系列的方法[16-17]就是通過增加網(wǎng)絡(luò)的寬度來提升卷積神經(jīng)網(wǎng)絡(luò)的性能。不同大小的卷積核會提取到不同的信息:較大的卷積核會提取到圖像中的全局性的特征圖信息;較小的卷積核會提取到圖像中局部的特征圖信息。視覺注意力機(jī)制主要是模仿人的大腦信號處理機(jī)制,獲取全局圖像中需要重點(diǎn)關(guān)注的目標(biāo)區(qū)域的細(xì)節(jié)信息。使用通道注意力機(jī)制和像素注意力機(jī)制可以將前景和背景之間的細(xì)節(jié)信息進(jìn)行區(qū)分,從而增強(qiáng)檢測的效果。
本文引入了一種改進(jìn)的Faster R-CNN檢測火災(zāi)區(qū)域的目標(biāo)檢測框架,如圖1所示。該方法主要是基于Resnet101網(wǎng)絡(luò)進(jìn)行特征提取,得到生成的每個候選框的類別分?jǐn)?shù),從而找出最佳結(jié)果。為充分利用火災(zāi)場景的火焰特征,使用了預(yù)訓(xùn)練效果較好的Resnet101作為特征提取網(wǎng)絡(luò),加入特征金字塔結(jié)構(gòu)FPN,對淺層和高層特征進(jìn)行提取,使用Inception Module結(jié)構(gòu)提取多種卷積特征,并加入像素注意力機(jī)制和信道注意力機(jī)制,通過這些操作來突出特征使得生成候選框操作更加精準(zhǔn),以提高火災(zāi)區(qū)域定位的性能。
圖1 多尺度特征融合網(wǎng)絡(luò)結(jié)構(gòu)Figure 1 Multi-scale feature fusion network structure
一般認(rèn)為淺層特征映射可以保留小對象的位置信息,而高層特征映射可以包含更高級別的語義提示。因此將語義信息充分的高層特征映射回分辨率較高、細(xì)節(jié)信息充分的底層特征,將兩者以合適的方式融合來提升檢測的效果。輸入層的特征圖尺寸為600×600,使用特征提取網(wǎng)絡(luò)Resnet101的網(wǎng)絡(luò)架構(gòu)[5]。在Resnet101網(wǎng)絡(luò)基礎(chǔ)上采用了特征金字塔結(jié)構(gòu)FPN,將Resnet101網(wǎng)絡(luò)的卷積層2輸出特征圖和卷積層3輸出特征圖進(jìn)行融合,如圖1所示。通過這樣的操作可以平衡語義信息和位置信息,同時忽略其他不太相關(guān)的特征。
將Resnet101中的卷積層2輸出特征圖輸入到Inception Module結(jié)構(gòu)中可以抽取更多的特征。Inception Module架構(gòu)如圖2所示。采用多個1×1卷積的作用是在相同尺寸的感受野中疊加更多的卷積,能提取到更豐富的特征,并且降低了計(jì)算復(fù)雜度。在上一層網(wǎng)絡(luò)之后首先使用1×1卷積再進(jìn)入較大的二維卷積的作用是當(dāng)某個卷積層輸入的特征數(shù)較多,對這個輸入進(jìn)行卷積運(yùn)算將產(chǎn)生巨大的計(jì)算量;如果對輸入先進(jìn)行降維,減少特征數(shù)后再做卷積計(jì)算就會顯著減少計(jì)算量。在這一層網(wǎng)絡(luò)中還將較大的二維卷積分解成較小的一維卷積,例如將3×3卷積分解成1×3卷積和3×1卷積,將5×5卷積分解1×5卷積和5×1卷積,將7×7卷積分解成1×7卷積和7×1卷積。這個操作一方面可以減少參數(shù)、減輕過擬合,另一方面則增加了非線性擴(kuò)展模型表達(dá)能力。非對稱的卷積結(jié)構(gòu)分解效果比對稱地分解為幾個相同的小卷積核效果更好,可以處理更豐富的空間特征,從而增加特征提取的多樣性。
圖2 Inception Module網(wǎng)絡(luò)結(jié)構(gòu)Figure 2 Inception Module network structure
將Resnet101的卷積層2和卷積層3融合得到的特征圖F3輸入一個多維注意力網(wǎng)絡(luò),如圖3所示。多維注意力網(wǎng)絡(luò)由像素注意力網(wǎng)絡(luò)和信道注意力網(wǎng)絡(luò)組成,用于抑制噪聲和突出前景。像素注意力網(wǎng)絡(luò)將更廣泛的上下文信息編碼為局部特征,從而增強(qiáng)其表示能力。在這個網(wǎng)絡(luò)結(jié)構(gòu)中的特征圖F3需要進(jìn)入1個新的Inception Module,這里采用5個3×3的卷積核進(jìn)行特征的抽取,輸出1個兩通道的顯著特征圖。顯著特征圖分別表示前景和背景的分?jǐn)?shù)。由于顯著特征圖是連續(xù)的,非目標(biāo)信息不會被完全消除,這有利于保留一定的上下文信息,提高魯棒性。為了引導(dǎo)該網(wǎng)絡(luò)學(xué)習(xí)到目標(biāo)信息,這里采用了1個有監(jiān)督學(xué)習(xí)的方式,使用1個二值化圖像作為真實(shí)標(biāo)簽,兩通道的顯著特征圖作為預(yù)測標(biāo)簽,進(jìn)而計(jì)算2個標(biāo)簽的交叉熵?fù)p失,并將其作為注意力損失添加到總損失的計(jì)算中。接著在顯著特征圖上執(zhí)行softmax操作,并選擇一個通道與F3相乘,獲得新的信息特征圖A3。值得注意的是,在經(jīng)過softmax函數(shù)操作之后的顯著特征圖的值在[0,1],說明其可以減少噪聲并相對增強(qiáng)對象信息。由于顯著特征圖是連續(xù)的,因此不會完全消除非對象信息,這對于保留某些細(xì)節(jié)信息并提高魯棒性是有利的。信道注意力網(wǎng)絡(luò)通過獲取不同通道映射之間的相互依賴性,從而有效增強(qiáng)特征圖對于特定語義的表征能力。在這個網(wǎng)絡(luò)結(jié)構(gòu)中主要采用SE Block[18]的結(jié)構(gòu),其重點(diǎn)是使用全局平均池化操作,將各個特征圖全局感受野的空間信息置入特征圖。全局平均池化操作可以通過減少模型中的參數(shù)總數(shù)來最小化過度擬合。與最大池化層類似,全局平均池化層用于減少三維張量的空間維度。然而全局平均池化層執(zhí)行更極端的維數(shù)減少操作,將尺寸為h×w×d的張量尺寸減小為1×1×d的尺寸。全局平均池化層通過簡單地獲取h和w的平均值,將每個h×w特征映射層減少為單個數(shù)字。每層卷積操作之后都接著一個樣例特化激活函數(shù),基于通道之間的依賴關(guān)系對每個通道進(jìn)行一種篩選機(jī)制操作,以此對各個通道進(jìn)行權(quán)值評比。
圖3 多維注意力網(wǎng)絡(luò)結(jié)構(gòu)Figure 3 Structure of multidimensional attention network
網(wǎng)絡(luò)模型在進(jìn)行訓(xùn)練時需要計(jì)算多個位置的損失:RPN階段的分類和回歸損失、Faster R-CNN階段的分類和回歸損失、多維注意力機(jī)制階段的注意力損失,加起來的總損失就是整個網(wǎng)絡(luò)的損失:
loss=lossrpn+lossfastrcnn+lossattention。
(1)
RPN階段的分類和回歸損失如式(2)所示,其中分類損失lossr_c是判斷方框中是否是火災(zāi),也就是區(qū)分前景、背景兩類物體的損失,如式(3)所示。lossr_l可以對方框位置進(jìn)行評估和微調(diào),也就是用于比較真實(shí)分類的預(yù)測參數(shù)和真實(shí)平移縮放參數(shù)的差別,如式(4)所示。lossr_l需要對損失進(jìn)行L1平滑正則化處理,如式(5)所示,參數(shù)σ=1。Faster R-CNN階段的分類損失計(jì)算和RPN階段一致,而回歸損失的L1平滑正則化參數(shù)σ=3。
lossrpn=lossr_c+lossr_l。
(2)
(3)
(4)
(5)
(6)
圖4 注意力圖像Figure 4 Attention image
本實(shí)驗(yàn)選用了開源的Tensorflow框架,該框架可以快速地進(jìn)行部署和實(shí)驗(yàn),還可以對數(shù)據(jù)流圖進(jìn)行有效數(shù)據(jù)可視化,編程語言選用Python3.6,硬件設(shè)備CPU為英特爾?酷睿TMi7-7700HQ,內(nèi)存大小為8 G,GPU型號為GeForce GTX 1060,顯存大小為6 G,系統(tǒng)環(huán)境為Ubuntu 16.04。
由于目前還沒有比較完善的火災(zāi)圖像檢測數(shù)據(jù)集,本文自主構(gòu)建了一個火災(zāi)圖像檢測的數(shù)據(jù)集,總共有210張圖片。將所有圖片使用標(biāo)注軟件labelImage進(jìn)行標(biāo)注,給圖像中火災(zāi)區(qū)域標(biāo)注1個方框,如圖5所示。將標(biāo)注信息保存到xml文件中,xml文件包括圖片文件的位置、名字、寬度width、高度height和維度depth,以及標(biāo)注方框?qū)?yīng)的4個坐標(biāo)xmin、ymin、xmax和ymax。將圖片和標(biāo)注文件制作成一一對應(yīng)的tfrecord格式的數(shù)據(jù)集,然后按7∶3的比例分成訓(xùn)練集和測試集,即訓(xùn)練集中有147張火災(zāi)圖片,測試集有63張火災(zāi)圖片,并將2個數(shù)據(jù)集均轉(zhuǎn)化為tfrecord格式的數(shù)據(jù)。
圖5 標(biāo)注實(shí)例圖Figure 5 Example drawing of annotation
3.2.1 實(shí)驗(yàn)過程
實(shí)驗(yàn)首先將訓(xùn)練集數(shù)據(jù)train.tfrecord數(shù)據(jù)進(jìn)行解析,得到圖片數(shù)據(jù)和標(biāo)簽,加載卷積網(wǎng)絡(luò)resnet101.ckpt作為特征提取網(wǎng)絡(luò),建立多尺度特征融合的目標(biāo)檢測網(wǎng)絡(luò),設(shè)置不同的參數(shù)來訓(xùn)練數(shù)據(jù),使得網(wǎng)絡(luò)得到最佳的訓(xùn)練效果。對訓(xùn)練集進(jìn)行8萬次迭代得到的損失曲線如圖6所示,從圖6可以看出,該模型在訓(xùn)練后達(dá)到收斂。
圖6 損失函數(shù)曲線Figure 6 Loss function curve
3.2.2 檢測精度評估
在目標(biāo)檢測中,一般使用多種評價指標(biāo)來進(jìn)行模型的性能評價。二級指標(biāo)準(zhǔn)確率P為在測試集的識別結(jié)果中預(yù)測正確的正例數(shù)目(TP)占所有預(yù)測正例數(shù)目(FP+TP)的比例,如式(7)所示。召回率R為在測試集的識別結(jié)果中預(yù)測正確的正例數(shù)目(TP)占所有真實(shí)正例數(shù)目(TP+FN)的比例,如式(8)所示。利用準(zhǔn)確率P和召回率R可以得到P-R曲線,P-R曲線反映了分類器對正例的識別準(zhǔn)確程度和對正例的覆蓋能力之間的權(quán)衡。AP是P-R曲線與X軸圍成的圖形面積,如式(9)所示。平均檢測準(zhǔn)確率MAP是對所有類別的AP求均值,如式(10)所示。三級指標(biāo)F1是準(zhǔn)確率和召回率的調(diào)和平均值,如式(11)所示。F1指標(biāo)綜合了P與R的產(chǎn)出結(jié)果。F1的取值范圍為0~1,1代表模型的輸出結(jié)果最好,0代表模型的輸出結(jié)果最差。
(7)
(8)
(9)
(10)
(11)
本文所提出的多尺度特征融合網(wǎng)絡(luò)模型的檢測精度指標(biāo)與其他的模型對比情況如表1所示。其中,所有模型都是以Faster R-CNN模型為基礎(chǔ)網(wǎng)絡(luò)模型,用于對比的模型特征提取網(wǎng)絡(luò)分別使用了Vgg16、Resnet101、Resnet101+FPN。從表1的對比結(jié)果可以發(fā)現(xiàn),使用Resnet101相對于使用Vgg16,MAP值提升了15.2%;使用Resnet101+FPN相對于僅使用Resnet101,MAP值提升了3.6%;使用本文的多尺度特征融合網(wǎng)絡(luò)模型相對于Resnet101特征提取網(wǎng)絡(luò)有了8.5%的提升,相對于Resnet101+FPN也有4.9%的提升。多尺度特征融合網(wǎng)絡(luò)模型的F1相對于Resnet101特征提取網(wǎng)絡(luò)有2.3%的提高,相對于Resnet101+FPN也有1.7%的提高。
表1 精度評價指標(biāo)Table 1 Accuracy evaluation index
各個模型對應(yīng)的P-R曲線如圖7所示。從圖7可以看出,多尺度特征融合火災(zāi)檢測算法的P-R曲線下方面積最大,即平均檢測準(zhǔn)確率MAP最高。
圖7 P-R曲線圖Figure 7 P-R curve
3.2.3 檢測速度評估
由于火災(zāi)檢測的實(shí)時性要求,對于檢測速度的評估也是性能評估的一個重要方面。對本文的Resnet101系列模型進(jìn)行檢測速度的評估,最終得到對比結(jié)果如表2所示。從表2可以看出,所有的模型均能檢測出圖像中較為明顯的火焰。其中加載模型Faster R-CNN以Resnet101作為特征提取層時,不加上任何改進(jìn)的檢測效率最高,檢測1張圖片的時間t為0.83 s;使用Resnet101為特征提取層加特征金字塔結(jié)構(gòu)FPN的檢測效率最低,檢測1張圖片的時間t為0.94 s;使用YOLOv3網(wǎng)絡(luò)[19]的速度最快,時間只需要0.05 s,但是MAP值相對較低為0.762;本文的多尺度特征融合網(wǎng)絡(luò)得到了速度與精度的平衡,處于中間位置,檢測一張圖片需0.86 s。
表2 不同方法在火災(zāi)檢測數(shù)據(jù)集中的性能對比Table 2 Performance comparison of different methods in fire detection dataset
3.2.4 室內(nèi)外火災(zāi)檢測
火災(zāi)發(fā)生分室內(nèi)和室外,使用本文多尺度特征融合火災(zāi)檢測模型,輸入圖8(a)的室內(nèi)火災(zāi)圖像可以得到圖8(b)的檢測結(jié)果,輸入圖8(c)的室外火災(zāi)圖像可以得到圖8(d)的檢測結(jié)果。通過對比可以看出,使用本文的多尺度特征融合火災(zāi)檢測算法能夠較好地檢測出室內(nèi)、室外火災(zāi)的目標(biāo)區(qū)域。
圖8 室內(nèi)外火災(zāi)檢測結(jié)果Figure 8 Fire image input and output of indoor and outdoor
本文首先對火災(zāi)檢測的現(xiàn)狀進(jìn)行了深入的分析,指出深度學(xué)習(xí)相對于手工提取特征的優(yōu)勢,并且參考了傳統(tǒng)的機(jī)器學(xué)習(xí)的算法思想,在卷積神經(jīng)網(wǎng)絡(luò)中加入了多種特征的融合提取。首先將Resnet101的淺層特征和高層特征進(jìn)行融合,接著使用Inception Module網(wǎng)絡(luò)提取了多種尺寸的特征,最終加入了多維注意力機(jī)制,這些操作使得特征提取網(wǎng)絡(luò)模型提取特征更加充分,更加接近人的視覺模型。該模型相對原始的Resnet101特征提取網(wǎng)絡(luò)的檢測精度提升了8.5%,相比Resnet101加特征金字塔結(jié)構(gòu)FPN也有4.9%的提升,最終得到平均檢測準(zhǔn)確率MAP為0.851。對Resnet101特征提取網(wǎng)絡(luò)進(jìn)行多種改進(jìn)操作后檢測1張火災(zāi)圖片的時間為0.86 s。經(jīng)過驗(yàn)證可知,本文的火災(zāi)檢測算法能夠檢測出室內(nèi)和室外火災(zāi)的目標(biāo)區(qū)域,在保證檢測速度與原始模型[10]接近的同時,精度相對于原始模型得到較大的提升。