張朝陽,葉偉榮
(浙江省公眾信息產(chǎn)業(yè)有限公司,浙江 杭州 310000)
森林火災(zāi)是世界性林業(yè)重要災(zāi)害之一,具有次數(shù)多、范圍廣、強(qiáng)度大、突發(fā)性強(qiáng)、破壞性大、極難控制等特點(diǎn)。近10年(2012—2021年),全國共發(fā)生森林火災(zāi)2.63萬起,受害森林面積13.31萬公頃[1],致使生態(tài)環(huán)境損失重大,也對人類生命財產(chǎn)安全造成極大威脅。利用人工智能、物聯(lián)網(wǎng)等先進(jìn)技術(shù)進(jìn)行林火監(jiān)測預(yù)警是森林消防和應(yīng)急管理的重要技術(shù)手段。
近年來,林火監(jiān)測圖像識別的模式逐步從衛(wèi)星圖像檢測,到紅外圖像檢測、地面塔臺可見光圖像檢測,再發(fā)展到高空高清視頻監(jiān)控圖像識別。圖像識別算法從傳統(tǒng)的特征提取、分類、建立特征提取器,到目前流行的卷積神經(jīng)網(wǎng)絡(luò)(CNN),圖像識別效果得到極大提升。葉秋冬[2]等通過對視頻煙霧圖像提取和基于視頻序列的動態(tài)特征檢測,來增強(qiáng)對煙霧的識別率;陳俊周[3]等提出一種級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)模型,在靜態(tài)單幀圖像特征檢測的基礎(chǔ)上,進(jìn)一步分析其時空域上的動態(tài)紋理信息以期克服復(fù)雜的環(huán)境干擾;李巨虎[4]等提出的以分塊的LBP直方圖特征結(jié)合LPQ直方圖特征的火焰識別算法,與深度學(xué)習(xí)算法對比,預(yù)測耗時較短;丁毓峰[5]提出一種基于POS-KELM的森林火災(zāi)圖像識別方法,提取火焰及煙霧的形狀特征、紋理特征及動態(tài)特征,并整合成特征向量,輸入核極限學(xué)習(xí)機(jī)進(jìn)行尋優(yōu)仿真計算;袁梅[6]等提出一種基于CNN的煙霧檢測方法,自動提取煙霧候選區(qū)域的特征,進(jìn)行煙霧識別,根據(jù)分類結(jié)果得到報警信號;Filonenko A[7]等提出一種基于煙霧區(qū)域形狀特征和顏色信息的煙霧視頻圖像檢測方法,并以此區(qū)分流體煙霧區(qū)域和剛性運(yùn)動物體;S Saponara[8]提出了一種基于YOLOv2卷積神經(jīng)網(wǎng)絡(luò)(CNN)的實(shí)時火災(zāi)和煙霧探測系統(tǒng),通過嵌入式設(shè)備,利用該模型訓(xùn)練不同場景的室內(nèi)和室外火災(zāi)和煙霧圖像集,實(shí)現(xiàn)高精度的火災(zāi)/煙霧識別。何凱明[9]首次提出利用Resnet殘差學(xué)習(xí)解決深度CNN模型難訓(xùn)練的問題,是圖像識別領(lǐng)域算法優(yōu)化的重大突破。
本文構(gòu)建了基于殘差神經(jīng)網(wǎng)絡(luò)的煙火圖像識別模型,通過在林火監(jiān)測場景的應(yīng)用研究顯示,該模型可較好地解決網(wǎng)絡(luò)訓(xùn)練中性能退化問題,優(yōu)化了煙火識別率,提高了預(yù)警準(zhǔn)確率。
基于前端智能化雙光譜視頻監(jiān)控設(shè)備,利用視頻圖像分析技術(shù),對高清遠(yuǎn)距視頻流數(shù)據(jù)進(jìn)行接入和分析,根據(jù)圖像進(jìn)行后臺算法計算,識別煙、火發(fā)生的可能性,一旦發(fā)現(xiàn)疑似火情,立即觸發(fā)報警,支持以短信、微信等多種方式將通知送達(dá)至管理人員手機(jī),以便及時采取消防滅火處置流程。
神經(jīng)網(wǎng)絡(luò)層數(shù)越多,網(wǎng)絡(luò)就能進(jìn)行更加復(fù)雜的特征提取,理論上可以取得更好的結(jié)果。但實(shí)驗(yàn)卻發(fā)現(xiàn)當(dāng)網(wǎng)絡(luò)深度增加時,準(zhǔn)確度出現(xiàn)飽和,甚至是下降。梯度消失和梯度爆炸的解決方法:對輸入數(shù)據(jù)和中間層的數(shù)據(jù)進(jìn)行歸一化操作,這種方法可以保證網(wǎng)絡(luò)在反向傳播中采用隨機(jī)梯度下降(SGD)方法,從而讓網(wǎng)絡(luò)達(dá)到收斂。但是,這個方法僅對幾十層的網(wǎng)絡(luò)有用,當(dāng)網(wǎng)絡(luò)再往深處走的時候,這種方法就無用武之地了。
為了讓更深的網(wǎng)絡(luò)也能訓(xùn)練出好的效果,何凱明[8]提出了一個新的網(wǎng)絡(luò)結(jié)構(gòu)——ResNet(殘差神經(jīng)網(wǎng)絡(luò))。這個網(wǎng)絡(luò)結(jié)構(gòu)的想法主要源于VLAD(殘差的想法來源)和Highway Network(跳躍連接的想法來源)。F(x)+x構(gòu)成的block稱之為殘差塊,多個相似的殘差塊串聯(lián)構(gòu)成ResNet。
一般情況下,殘差路徑可以分成兩種:一種有bottleneck結(jié)構(gòu),利用1×1卷積層先降維再升維,主要出于降低計算復(fù)雜度的現(xiàn)實(shí)考慮,稱之為“bottleneck block”;另一種沒有bottleneck結(jié)構(gòu),由2個3×3卷積層構(gòu)成“basic block”。在殘差網(wǎng)絡(luò)算法中,有兩種類型的shortcut路徑。第一種是恒等映射,當(dāng)輸入和輸出具有相同的維度時,可以將輸入直接添加到輸出上,實(shí)現(xiàn)跳過卷積層的效果。第二種是卷積映射,用于處理輸入和輸出維度不匹配的情況,通過額外的卷積層來調(diào)整維度以適應(yīng)輸出。這兩種shortcut路徑幫助信息更快地傳播,并減輕了梯度消失和梯度爆炸問題,同時還能減輕計算負(fù)擔(dān)。
Residual Block之間通過shortcut路徑進(jìn)行銜接,F(xiàn)(x)代表一個Residual Block的輸出特征圖,x是該Block的輸入特征圖,F(xiàn)(x)+x經(jīng)過ReLU后直接作為下一個block的輸入x。采用ResNet模型的基本原理是更新F(x)部分的權(quán)重值,解決模型退化問題,使模型更好地學(xué)到新的特征。可以用式(1)來描述一個Residual Block的輸出:
激活函數(shù)在神經(jīng)網(wǎng)絡(luò)中主要解決線性不可分問題,通過對每一層線性變換后疊加一個非線性激活函數(shù),從而獲得更強(qiáng)大的學(xué)習(xí)和擬合能力。ReLU計算簡單,只需要一個閾值就可以計算得到激活值,ReLU的非飽和性可以有效解決梯度消失的問題,以提供相對寬的激活邊界,ReLU的單側(cè)抑制提供了網(wǎng)絡(luò)的稀疏表達(dá)能力。但是ReLU仍然有其局限性,根據(jù)ReLU式(4)可看出,由于其函數(shù)在負(fù)半軸上直接置0,由此導(dǎo)致負(fù)梯度經(jīng)過ReLU單元時不被激活,導(dǎo)致該神經(jīng)元死亡。此外,ReLU函數(shù)在正半軸導(dǎo)數(shù)恒為1,導(dǎo)致梯度在過小的時候,經(jīng)過該函數(shù)時,容易導(dǎo)致梯度消失。
SELU激活函數(shù)就是解決上述問題而產(chǎn)生的,如式(5)所示,SELU激活函數(shù)的正半軸導(dǎo)數(shù)是大于1的,這樣可以使方差過小的時候讓它讓增大,同時防止梯度消失;而在負(fù)半軸不再簡單置0,從而解決神經(jīng)元死亡問題,又因?yàn)槠淦露容^為平緩,可盡量保證ReLU中的單側(cè)抑制優(yōu)勢。
Bottleneck Layer又稱之為“瓶頸層”,使用的是1×1的卷積神經(jīng)網(wǎng)絡(luò),通過靈活設(shè)計網(wǎng)絡(luò),減少參數(shù)量,從而減少計算量,使得深度殘差網(wǎng)絡(luò)的訓(xùn)練速度加快,且在降維之后可以更加有效、直觀地進(jìn)行數(shù)據(jù)的訓(xùn)練和特征提取。
林火智慧監(jiān)控平臺的系統(tǒng)架構(gòu)由前端高清攝像機(jī)、視頻流數(shù)據(jù)傳輸網(wǎng)絡(luò)、監(jiān)測預(yù)警系統(tǒng)、智能識別中心及存儲服務(wù)器幾個部分組成,其中智能識別中心使用基于殘差網(wǎng)絡(luò)的CNN圖像識別算法。平臺組成部分如下。
(1)前端感知設(shè)備:通過部署在高處的高清紅外球型瞭望攝像機(jī),利用30~50 m的高空視角進(jìn)行全天侯不間斷監(jiān)控。攝像機(jī)用于采集視野范圍的監(jiān)控圖像,同時可按預(yù)設(shè)點(diǎn)位或角度定時抓拍圖像,上傳至監(jiān)測平臺后端服務(wù)器。
(2)數(shù)據(jù)傳輸網(wǎng)絡(luò):不同帶寬的傳輸網(wǎng)絡(luò)會影響視頻傳輸?shù)馁|(zhì)量,比如清晰度、碼率、視頻存儲空間等。針對面積較大的野外區(qū)域,一般建議選擇4G/5G流量卡,靠近生活區(qū)的場景可選擇運(yùn)營商專線網(wǎng)絡(luò),以帶寬租用形式形成專用監(jiān)控網(wǎng)絡(luò),以保證視頻傳輸質(zhì)量和速率。
(3)監(jiān)測預(yù)警系統(tǒng):用戶可接收所轄區(qū)域上報的圖像及告警信息,實(shí)現(xiàn)視頻查看、攝像頭操控與管理、告警提醒,同時可對接上級應(yīng)急監(jiān)控平臺,實(shí)現(xiàn)視頻流數(shù)據(jù)調(diào)用查看、告警信息共享、應(yīng)急處突業(yè)務(wù)流轉(zhuǎn)、業(yè)務(wù)數(shù)據(jù)統(tǒng)計功能。
(4)智能識別中心:利用集成了Resnet CNN算法的智能分析引擎對視頻圖像進(jìn)行高效分析,若識別為有煙火的圖片,會發(fā)出告警并以桌面彈窗、短信或郵件發(fā)送通知至責(zé)任人,人工再次判別確認(rèn)后,觸發(fā)應(yīng)急處置流程。
(1)編程語言選擇。本次使用Py thon3.7,使用torch==1.9.1+cpu、torchvision==0.10.1+cpu、numpy、pillow、Scipy、flask、werkzeug、gunicorn等庫進(jìn)行模型訓(xùn)練及識別系統(tǒng)的程序開發(fā)。
(2)數(shù)據(jù)集預(yù)處理方法。為了訓(xùn)練機(jī)器學(xué)習(xí)模型,本次收集Fire-Flame-Dataset等數(shù)據(jù)集,數(shù)據(jù)集包括火、煙和正常(沒有火或煙的圖像)的圖片數(shù)據(jù)和標(biāo)注文件,其中Fire-Flame-Dataset數(shù)據(jù)集包含大約3 000張圖像和3個類,其中包括火、煙霧、中性等三個類別,每個類別有1 000張圖像,900張用于訓(xùn)練,100張用于測試。部分圖片標(biāo)注類別示例如表1所示。

表1 機(jī)器學(xué)習(xí)對圖片集進(jìn)行類別標(biāo)注的結(jié)果示例
(3)模型訓(xùn)練。常用的深度ResNet網(wǎng)絡(luò)包括18、34、50、101、152等不同深度。為了更好地構(gòu)建森林防火識別模型,本文中結(jié)合使用ResNet101網(wǎng)絡(luò)進(jìn)行模型建設(shè),首先,對ResNet-101進(jìn)行網(wǎng)絡(luò)微調(diào),去掉原ResNet101后面的全局平均池化和全連接層;其次,在模型后加入兩個全連接層,節(jié)點(diǎn)數(shù)分別為1024和3,對自定義數(shù)據(jù)集進(jìn)行分類,在模型中采用Adam優(yōu)化算法、CategoricalCrossentropy交叉熵?fù)p失函數(shù)以及accuracy模型精確度指標(biāo)。模型采用交替訓(xùn)練的方式,網(wǎng)絡(luò)參數(shù)更新方法均為隨機(jī)梯度下降法(SGD),學(xué)習(xí)率均為0.001。具體的訓(xùn)練過程如下:①構(gòu)建分布式機(jī)器學(xué)習(xí)系統(tǒng);②利用隨機(jī)梯度方法訓(xùn)練;③使用了30個副本,每個副本在一個NVIDIA GeForce GTX 1060上運(yùn)行;④批處理大小為64、200個epoch;⑤使用0.001的學(xué)習(xí)率;⑥使用隨時間計算的運(yùn)行參數(shù)的平均值來執(zhí)行模型評估;⑦將模型保存為pth格式,供后臺調(diào)用。
使用公開的森林火災(zāi)現(xiàn)場圖片進(jìn)行模型驗(yàn)證應(yīng)用,測試模型訓(xùn)練成果如下:表2中圖片1為森林實(shí)地著火或煙霧圖片,計算結(jié)果得分為100;圖片2為森林火災(zāi)煙霧現(xiàn)場圖片,計算結(jié)果得分為99.99,分類較為準(zhǔn)確,計算結(jié)果顯示模型分析結(jié)果準(zhǔn)確,計算得分較高。結(jié)果表明模型具有一定精度,可用于實(shí)際系統(tǒng)應(yīng)用中。

表2 殘差神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型智能分析結(jié)果
(1)煙火在線識別功能。在系統(tǒng)后臺進(jìn)行視頻切片,提取圖像幀,調(diào)取煙火識別模型接口對圖像逐幀進(jìn)行識別判斷,接口返回圖片標(biāo)注煙或火的狀態(tài)信息,以計算得分的形式表現(xiàn)煙火圖片置信度,并接入預(yù)警接口進(jìn)行實(shí)時火警信息預(yù)判預(yù)警。
(2)火災(zāi)預(yù)警功能。在檢測到火災(zāi)信號后,系統(tǒng)將以短信、語音電話的形式發(fā)送報警信息通知管理單位,將火情位置、發(fā)展形式等信息進(jìn)行上報,以便及時采取有效措施,撲滅初期火災(zāi),最大限度地減少因火災(zāi)造成的生命和財產(chǎn)的損失。
(3)火災(zāi)態(tài)勢預(yù)判功能。系統(tǒng)自動跟蹤和顯示火點(diǎn)的位置,通過動態(tài)跟蹤和鎖定的熱點(diǎn)及火點(diǎn)定位參數(shù),并結(jié)合森林火場的風(fēng)速、風(fēng)向、溫度和樹木類型等要素,結(jié)合地形構(gòu)建基于元胞自動機(jī)的火災(zāi)態(tài)勢預(yù)判模型,同時結(jié)合煙火識別模型進(jìn)行實(shí)時修正,量化預(yù)判火蔓延概率,快速實(shí)現(xiàn)區(qū)域火蔓延過程的動態(tài)模擬,為消防撲救措施提供了有益的理論依據(jù)。
(4)救火路徑規(guī)劃功能。結(jié)合煙火識別成果和火災(zāi)態(tài)勢預(yù)判成果,系統(tǒng)結(jié)合三維地形、最短路徑優(yōu)化算法和現(xiàn)有道路情況進(jìn)行森林救火的行進(jìn)路線規(guī)劃,并通知消防隊員,同時根據(jù)消防隊員在火場中位置進(jìn)行實(shí)時路徑優(yōu)化,在達(dá)到救火減災(zāi)目的的同時保障人員人身安全,指揮員做出輔助消防應(yīng)急決策提供支持。
本文探討的視頻圖像識別方法,是一種優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法,對于煙霧圖像檢測敏感性強(qiáng),在火情早期的煙火識別率高。隨著我國5G網(wǎng)絡(luò)的廣泛覆蓋、GPU算力能力飛速提升,基于神經(jīng)網(wǎng)絡(luò)的林火監(jiān)測預(yù)警將為我國森林防火工作提供更智能、更精準(zhǔn)的決策支持,同時可在室內(nèi)室外區(qū)域火災(zāi)監(jiān)測、秸稈焚燒監(jiān)控、危化園區(qū)火災(zāi)防控等場景中得到廣泛應(yīng)用推廣,賦能林火減災(zāi)、智慧環(huán)保、安全生產(chǎn)等領(lǐng)域。