高楊
(西藏自治區(qū)科技信息研究所,西藏 拉薩 850008)
隨著全國(guó)范圍內(nèi)的城鎮(zhèn)鄉(xiāng)村不斷融合,人員聚集度越來(lái)越高,火災(zāi)防控壓力急劇增加。據(jù)統(tǒng)計(jì),2020年全國(guó)共接報(bào)火災(zāi)25.2萬(wàn)起,含重大火災(zāi)1起,較大火災(zāi)65 起,1183 人死亡,775 人受傷,造成40.09 億元財(cái)產(chǎn)損失[8],其中很多是沒(méi)有配備有效的火災(zāi)探測(cè)器/探測(cè)系統(tǒng)導(dǎo)致的。
實(shí)現(xiàn)更早、更有效地發(fā)現(xiàn)火災(zāi),在樓道、房間等室內(nèi)布局監(jiān)測(cè)點(diǎn)的同時(shí),室外的大場(chǎng)景火災(zāi)監(jiān)測(cè)也極為重要。針對(duì)傳統(tǒng)點(diǎn)式傳感器融合的火災(zāi)探測(cè)技術(shù)無(wú)法處理大場(chǎng)景的檢測(cè)需求,越來(lái)越多的科研人員將發(fā)展突破口瞄準(zhǔn)了人工智能技術(shù)。宋衛(wèi)國(guó)等[1]運(yùn)用BP神經(jīng)網(wǎng)絡(luò)開(kāi)展火災(zāi)探測(cè),對(duì)比常規(guī)火災(zāi)探測(cè)系統(tǒng),改算法檢測(cè)精度有所提高。Qiu G Q 等[2]運(yùn)用改進(jìn)幀差法捕捉火焰運(yùn)動(dòng)的特征,依據(jù)Lab 顏色空間捕捉火焰顏色的特征,判斷圖像中是否存在火情,算法能提高檢測(cè)率,但普適性較低。Dunnings A J 等[3]應(yīng)用In‐ception 網(wǎng)絡(luò),研究了實(shí)時(shí)范圍內(nèi)視頻(或靜止)圖像中火像素區(qū)域的自動(dòng)檢測(cè),降低網(wǎng)絡(luò)架構(gòu)的復(fù)雜度,相對(duì)性能得到提升。李杰等[4-7]將火災(zāi)探測(cè)與卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行深層次結(jié)合,提升檢測(cè)性能。本文主要在前人研究基礎(chǔ)上,進(jìn)一步提升深度神經(jīng)網(wǎng)絡(luò)在火災(zāi)探測(cè)上應(yīng)用的檢測(cè)速度。
為解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)連接計(jì)算量大、泛化能力弱、缺乏特征描述的問(wèn)題,擁有局部感知的前饋神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)應(yīng)運(yùn)而生。經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)有AlexNet、VGGNet、GoogLeNet 等。CNN 一般包含卷積層、池化層和全連接層。卷積層以卷積計(jì)算的方式見(jiàn)式(1),選取一定尺寸的核函數(shù)w 作為感受野,滑動(dòng)提取感受野尺寸的特征值S;最終以權(quán)值共享和多核運(yùn)算來(lái)減少參數(shù)數(shù)量、提升特征提取質(zhì)量。
池化層一般在卷積層之后,總結(jié)并選取特征結(jié)果,池化公式見(jiàn)式(2)。卷積層產(chǎn)生的多個(gè)特征圖FK,經(jīng)過(guò)特定的pooling 操作GP后,形成融合特征ZK。常用的池化操作有average pooling、max pooling,池化操作可減少參數(shù),防止過(guò)擬合。全連接層主要是連接各個(gè)神經(jīng)元,進(jìn)行最終分類。
GoogLeNet 衍生出Inception 結(jié)構(gòu),Inception V1 設(shè)計(jì)22 層網(wǎng)絡(luò),利用1x1、3x3、5x5 尺度的卷積核,廣泛地提取目標(biāo)圖像的特征,并通過(guò)1x1 的卷積核降低特征圖厚度,增加網(wǎng)絡(luò)的寬度,提升網(wǎng)絡(luò)應(yīng)用的普遍性。圖1所示。
圖1 Inceptionv1網(wǎng)絡(luò)結(jié)構(gòu)圖
Inception V2 在V1 基礎(chǔ)上,先是將5×5 的卷積核拆成兩個(gè)串行的3×3卷積核,再把n×n的卷積核,拆分為串行的1×n、n×1卷積核,從而降低運(yùn)算量。
Inceptionv3 擴(kuò)大網(wǎng)絡(luò)至46 層,共包括11 個(gè)In‐ception 模塊,添加RMSProp 優(yōu)化算法加快訓(xùn)練速度。加入BN 算法,以處理神經(jīng)元的方式來(lái)處理特征圖,對(duì)整層數(shù)據(jù)進(jìn)行歸一化處理,消除梯度彌散問(wèn)題,提高了計(jì)算速度。
以Simple Linear Iterative Clustering(SLIC)算法先對(duì)圖像執(zhí)行迭代聚類以減少空間上的網(wǎng)絡(luò)參數(shù),分割圖像成相同大小的超像素,再輸入改進(jìn)的Inceptionv3網(wǎng)絡(luò),進(jìn)行火災(zāi)探測(cè),最后輸出是否發(fā)生火災(zāi)及火源位置。
SLIC是以圖像的色彩、紋理、明暗度等為標(biāo)準(zhǔn),將鄰域內(nèi)的像素聚類劃分,得到具有相似特征的超像素。經(jīng)過(guò)SLIC的預(yù)處理操作,使得本應(yīng)計(jì)算所有像素點(diǎn)數(shù)量縮小到超像素的個(gè)數(shù),從源頭上減少了輸入?yún)?shù)。具體實(shí)現(xiàn)步驟有以下三步:①初始化聚類中心,設(shè)置超像素的大小;②在每個(gè)聚類中心的領(lǐng)域內(nèi),推舉出最小梯度像素點(diǎn)作種子點(diǎn);③對(duì)聚類中心領(lǐng)域內(nèi)的像素點(diǎn)進(jìn)行打標(biāo),明確所屬的聚類中心;④分別算出像素點(diǎn)與種子點(diǎn)的位置距離DC、色彩距離Ds,歸一化為距離D,D 表示聚類像素點(diǎn)的相似度,計(jì)算見(jiàn)式(3~5);⑤通過(guò)對(duì)步驟②③④進(jìn)行一定次數(shù)的迭代,來(lái)尋找出最為合理的聚類劃分,圖2為超像素分割圖效果。
圖2 Inception V1網(wǎng)絡(luò)結(jié)構(gòu)圖
在傳統(tǒng)Inception V3 的基礎(chǔ)上,將11 個(gè)Inception模塊縮減為3個(gè),從而達(dá)到簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),精簡(jiǎn)參數(shù)數(shù)量,達(dá)到計(jì)算速度提升的效果,圖3所示。第一層為卷積operation,設(shè)置卷積核數(shù)量為32,尺寸為1×1,滑動(dòng)步長(zhǎng)為2,通道數(shù)量為3,valid 補(bǔ)洞策略,relu 激活函數(shù),輸出得到111×111×32 尺寸的圖。第二、三層繼續(xù)進(jìn)行卷積operation。第四層為池化operation,設(shè)置池化方式為max pooling、窗口尺寸為3、滑動(dòng)步長(zhǎng)為2,得到49×49×64尺寸的特征圖。經(jīng)一系列卷積、池化operation 后,由softmax 進(jìn)行歸一化處理,得到一個(gè)概率值。
圖3 Inception V3-onfire網(wǎng)絡(luò)架構(gòu)圖
實(shí)際實(shí)驗(yàn)中,根據(jù)輸出結(jié)果對(duì)網(wǎng)絡(luò)進(jìn)行了調(diào)整,調(diào)整后的3 種Inception 模型結(jié)構(gòu)如圖4~6。Inception A 與傳統(tǒng)Inception V1 結(jié)構(gòu)類似,采用1x1,3x3,5x5 三種卷積核進(jìn)行特征提取。Inception B 與Inception V2設(shè)計(jì)理念類似,將n×n 的卷積核尺寸分解為1×n 和n×1。Inception C則對(duì)網(wǎng)絡(luò)再次進(jìn)行細(xì)化。
圖4 Inception A結(jié)構(gòu)圖
圖5 Inception B結(jié)構(gòu)圖
圖6 Inception C結(jié)構(gòu)圖
實(shí)驗(yàn)使用的硬件平臺(tái)為10 核inter(R) Xeon(R)CPU E5-2630 v4 @2.20GHz 和8G 顯存的NVIDIA RTX2080 SUPER GPU,軟件開(kāi)發(fā)環(huán)境為Python3.7,搭建模型使用的框架為tensorflow1.15、opencv4.5,所使用的操作系統(tǒng)為ubuntu16.04。
由于目前公開(kāi)的火災(zāi)視頻、圖像數(shù)據(jù)集較小,本文采用Selenium 自動(dòng)化測(cè)試工具和icrawler 框架進(jìn)行爬蟲(chóng),共完成了近14000條火災(zāi)數(shù)據(jù)集的采集,并利用labelImg 工具,人工標(biāo)注圖像,如圖7 所示。其中10000條提供訓(xùn)練,4000條提供測(cè)試。
圖7 labelImg工具標(biāo)注圖
在讀入數(shù)據(jù)后,先將數(shù)據(jù)調(diào)整為224×224×3 大小,再應(yīng)用SLIC 進(jìn)行圖像分割,最后將getlabel方法打標(biāo)好的數(shù)據(jù)傳給CNN。CNN 選取categorical_cros‐sentropy 交叉熵?fù)p失函數(shù)、rmsprop 優(yōu)化器以及softmax激活函數(shù),設(shè)置30 個(gè)epochs,學(xué)習(xí)率learning rate 設(shè)定為0.001。實(shí)際火災(zāi)檢測(cè)效果如圖8所示。其中,紅色標(biāo)記為火源區(qū)域,綠色標(biāo)記為無(wú)火區(qū)域,直觀視覺(jué)認(rèn)為算法能夠精準(zhǔn)判斷是否發(fā)生火災(zāi)并鎖定火源位置。
圖8 火災(zāi)檢測(cè)效果圖
為充分評(píng)估本文算法Inception V3-onfire的效果,將實(shí)驗(yàn)結(jié)果與Qiu G Q 等[2]研究成果Inception V1、Inception V1-onfire 對(duì)比情況見(jiàn)表1。從表中可看出,Inceptionv3-onfire 雖然在準(zhǔn)確率上有所下降,但網(wǎng)絡(luò)參數(shù)數(shù)量有所減少,檢測(cè)速度有較大提升,總體檢測(cè)性能良好。
表1 網(wǎng)絡(luò)結(jié)構(gòu)效果對(duì)比表
本文運(yùn)用網(wǎng)絡(luò)爬抓等技術(shù)手段,構(gòu)造了一定體量的火災(zāi)視頻、圖片數(shù)據(jù)集。以SLIC算法為預(yù)處理環(huán)節(jié)的核心算法,將圖像分割為具有一定相似度的超像素。在InceptionV3的基礎(chǔ)上,進(jìn)一步簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),縮小參數(shù)數(shù)量,形成了改進(jìn)算法??傮w而言,本算法應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)算法,實(shí)現(xiàn)了具有良好檢測(cè)效果的火災(zāi)探測(cè)的算法設(shè)計(jì),但因未應(yīng)用更先進(jìn)的深度學(xué)習(xí)算法,以及缺少更大體量的實(shí)驗(yàn)數(shù)據(jù)集等原因,深度學(xué)習(xí)算法在火災(zāi)探測(cè)方向的應(yīng)用還具有很大提升空間。