劉國(guó)權(quán), 王 琦, 蔣智超, 劉樹(shù)博
(東華理工大學(xué) 機(jī)械與電子工程學(xué)院,江西 南昌 330013)
隨著科技的進(jìn)步和信息行業(yè)的發(fā)展,對(duì)森林環(huán)境的探測(cè)方式也變得越發(fā)多樣性和高效性。中國(guó)自主發(fā)展、獨(dú)立運(yùn)行的北斗衛(wèi)星導(dǎo)航系統(tǒng)已完成全球組網(wǎng)部署,其在森林火災(zāi)的探查和預(yù)測(cè)方面能夠起到重要的作用,但目前基于北斗衛(wèi)星的森林火災(zāi)探測(cè)方面的研究比較少。
當(dāng)前,隨著技術(shù)的發(fā)展,無(wú)人機(jī)在軍事、民用和商業(yè)等各領(lǐng)域都得到了廣泛的應(yīng)用(胡開(kāi)明等,2019;孔垂紹,2020;唐海劍,2020;許亞男等,2020)。在森林防火監(jiān)控領(lǐng)域,張慶杰等(2017)提出了一種初期的無(wú)人機(jī)平臺(tái)和基于支持向量機(jī)的林火圖像識(shí)別算法,但文中只是理論方面的設(shè)計(jì),沒(méi)有提到如何將算法和無(wú)人機(jī)平臺(tái)相結(jié)合。周子肖等(2020)設(shè)計(jì)了基于無(wú)人機(jī)的森林火災(zāi)監(jiān)測(cè)系統(tǒng),利用無(wú)人機(jī)搭載探測(cè)模塊實(shí)現(xiàn)對(duì)森林火災(zāi)的監(jiān)測(cè),但沒(méi)有采取相關(guān)算法對(duì)采集到的數(shù)據(jù)進(jìn)行濾波處理。
在火災(zāi)的監(jiān)測(cè)領(lǐng)域中,無(wú)人機(jī)通常作為觀測(cè)平臺(tái),通過(guò)其自身搭載的檢測(cè)算法,實(shí)地監(jiān)測(cè)環(huán)境情況。當(dāng)前監(jiān)測(cè)的主流方式有兩種:一種是利用攝影機(jī)和計(jì)算機(jī)視覺(jué)方法對(duì)火焰的圖片進(jìn)行分析(Wu et al.,2019;陳越,2019;張玉杰,2020),如利用SVM分類(lèi)方法搭建火焰識(shí)別系統(tǒng),從而實(shí)現(xiàn)對(duì)森林火災(zāi)的識(shí)別(朱雪等,2020);另一種是綜合了人工煙霧特征和深度學(xué)習(xí)特征,提出煙霧簡(jiǎn)潔特征提取的辦法,并搭建小型的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行煙霧監(jiān)測(cè)(Peng et al.,2019;趙麗宏等,2019)。這些研究通常都是借助于氣象衛(wèi)星等進(jìn)行區(qū)域圖像的拍攝,未見(jiàn)將無(wú)人機(jī)作為火災(zāi)監(jiān)測(cè)平臺(tái)的相關(guān)研究,且成本相對(duì)較高。另外,這些研究中獲取的是環(huán)境圖像,需進(jìn)一步從中分辨出火災(zāi)和煙霧的圖像,對(duì)于災(zāi)害發(fā)生的預(yù)見(jiàn)性較差。
森林火災(zāi)分為隱性和顯性。隱性火災(zāi)是森林凋落物在高溫及干燥的環(huán)境下陰燃,陰燃狀態(tài)不會(huì)產(chǎn)生明火以及濃煙。但是當(dāng)達(dá)到一定溫度時(shí),陰燃便會(huì)轉(zhuǎn)變?yōu)橥耆紵?,產(chǎn)生明火。如果能在凋落物處于陰燃狀態(tài)時(shí)檢測(cè)出其狀態(tài)并采取相應(yīng)措施,那么森林火災(zāi)的發(fā)生將會(huì)得到有效遏制(Varner et al., 2015)。
筆者針對(duì)森林火災(zāi)早期的陰燃監(jiān)測(cè),提出了一種基于無(wú)人機(jī)和北斗系統(tǒng)的火警監(jiān)測(cè)與預(yù)警平臺(tái)。無(wú)人機(jī)攝取區(qū)域內(nèi)的紅外圖像,提取紅外圖像的溫度特征、形狀特征和形狀變化特征,然后在結(jié)合提取到的這3個(gè)特征區(qū)分陰燃和一般干擾物。
該預(yù)警平臺(tái)分為硬件和軟件兩個(gè)部分。硬件以STM32為控制芯片,傳感器選用紅外非接觸式傳感器,并結(jié)合有GPS及北斗雙定位模塊和GPRS通信模塊。軟件部分采用C語(yǔ)言對(duì)控制芯片進(jìn)行編寫(xiě)程序,使用Keil5進(jìn)行STM32主控芯片的程序設(shè)計(jì),同時(shí)采用MATLAB進(jìn)行算法平臺(tái)的仿真驗(yàn)證。
圖1為系統(tǒng)組成示意圖。因?yàn)樵撈脚_(tái)監(jiān)測(cè)的是陰燃狀態(tài),陰燃狀態(tài)演變?yōu)槊骰鹦枰欢ǖ臅r(shí)間,根據(jù)環(huán)境溫濕度以及凋落物間隙的含氧量不同,轉(zhuǎn)化為明火的時(shí)間為幾天到幾個(gè)月不等,陰燃狀態(tài)最長(zhǎng)可持續(xù)1年。因此,當(dāng)森林某一區(qū)域內(nèi)相鄰架次無(wú)人機(jī)飛過(guò)的時(shí)間小于陰燃狀態(tài)轉(zhuǎn)化為明火的時(shí)間,即可實(shí)現(xiàn)森林火警的實(shí)時(shí)檢測(cè)。火警實(shí)時(shí)監(jiān)測(cè)系統(tǒng)通過(guò)控制無(wú)人機(jī)的飛行軌跡,并結(jié)合森林各區(qū)域內(nèi)歷年的火災(zāi)發(fā)生頻率及當(dāng)前環(huán)境的溫濕度,采用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)接下來(lái)時(shí)間里火災(zāi)的高發(fā)區(qū)域,確定無(wú)人機(jī)的飛行架次、巡航軌跡、巡航頻率和重點(diǎn)監(jiān)測(cè)區(qū)域,使無(wú)人機(jī)在特定范圍內(nèi)定時(shí)檢測(cè)環(huán)境溫度。然后,將獲取的溫度數(shù)據(jù)輸入BP神經(jīng)網(wǎng)絡(luò)中進(jìn)行本地訓(xùn)練,訓(xùn)練完成的無(wú)人機(jī)對(duì)是否為陰燃火災(zāi)進(jìn)行判斷,判斷為陰燃火災(zāi)則利用北斗及GPS雙定位模塊獲取經(jīng)緯度信息,通過(guò)GPRS通信模塊將經(jīng)緯度信息遠(yuǎn)程傳輸?shù)椒?wù)端,監(jiān)測(cè)平臺(tái)即可準(zhǔn)確定位陰燃發(fā)生地點(diǎn),達(dá)到監(jiān)測(cè)火警,預(yù)測(cè)火災(zāi)發(fā)生地點(diǎn)的目的。
神經(jīng)網(wǎng)絡(luò)的每一層神經(jīng)元都模擬了生物神經(jīng)元這一特性。每層神經(jīng)元由輸入值、加權(quán)值、閾值、傳遞函數(shù)和輸出值組成。權(quán)重用于控制每個(gè)輸入值在總輸入中的比例,即對(duì)輸出的影響程度。閾值設(shè)定興奮或抑制興奮的最小限度。傳遞函數(shù)將輸入信號(hào)加權(quán)相加,并通過(guò)一定的函數(shù)表達(dá)式輸出。通常,隱藏層中的傳遞函數(shù)采用S型,其傳遞函數(shù)為:
Oj=f(net)=1/(1+e(-net))
(1)
式中,net為隱含層神經(jīng)元的輸出向量,netj=∑mi=1ω1jixi-θ1j,Oj為隱含層中第j個(gè)神經(jīng)元的輸出,ω1ji為從輸入層分配到隱含層的權(quán)重,xi為輸入層的輸入,j為隱含層中第j個(gè)神經(jīng)元,i為輸入層中的第i個(gè)神經(jīng)元,θ1j為從輸入層到隱含層的閾值。
輸出層第k個(gè)神經(jīng)元的輸出為:
netk=zk=g(∑lj=1ω2kjOj-θ2k)
(2)
式中,ω2kj為從隱含層分配給輸出層的權(quán)重,Oj為隱含層的輸出,即輸出層的輸入,k為輸出層中的第k個(gè)神經(jīng)元,j為隱含層中第j個(gè)神經(jīng)元,θ2k為從隱含層到輸出層的閾值,g(·)為從隱含層到輸出層的傳遞函數(shù),即g(netk)=11+e-netk。
BP神經(jīng)網(wǎng)絡(luò)的權(quán)重以及閾值參數(shù)通過(guò)輸入量數(shù)組和對(duì)應(yīng)的輸出量數(shù)組進(jìn)行訓(xùn)練。通過(guò)學(xué)習(xí)輸入和輸出數(shù)據(jù),BP神經(jīng)網(wǎng)絡(luò)可以將預(yù)測(cè)值與理論輸出值進(jìn)行比較,并計(jì)算兩者的誤差。如果誤差不滿(mǎn)足設(shè)定要求,則通過(guò)輸出層逐層反向傳播到輸入層,層之間的權(quán)重矩陣和閾值矩陣不斷更新,直到預(yù)測(cè)輸出和理論輸出的誤差滿(mǎn)足設(shè)定要求。BP神經(jīng)網(wǎng)絡(luò)采用增量學(xué)習(xí)規(guī)則,即梯度下降法來(lái)尋找更新后的權(quán)重矩陣的增量。
預(yù)測(cè)輸出和理論輸出之間的誤差為:
E=12∑nk=1(yk-zk)2
(3)
誤差E對(duì)從輸入層到隱含層的權(quán)重的偏導(dǎo)數(shù)為:
?E?ω1ji=∑nk=1∑lj=1?E?zk?zk?Oj?Oj?ω1ji
=-∑nk=1(yk-zk)g(netk)ω2kjf(netj)xi
=-δ1jxi
(4)
式中,netj為隱含層中第j個(gè)神經(jīng)元的輸出,netk為輸出層第k個(gè)神經(jīng)元的輸出。
誤差E對(duì)從隱含層到輸出層的權(quán)重的偏導(dǎo)數(shù)為:
?E?ω2kj=?E?zk?zk?ω2kj=-(yk-zk)g(net)Oj=-δ2kOj
(5)
式中,net為隱含層神經(jīng)元的輸出向量,Oj為隱含層的輸出。
因此,權(quán)重調(diào)整公式為:
ω1ji(t+1)=ω1ji(t)+Δω1ji=ω1ji(t)-η1?E?ω1ji
=ω1ji(t)+η1δ1jxi
ω2kj(t+1)=ω2kj(t)+Δω2kj=ω2kj(t)-η2?E?ω2kj
=ω2kj(t)+η2δ2jOj
(6)
式中,η1為輸入層學(xué)習(xí)率,η2為隱含層學(xué)習(xí)率。權(quán)重誤差的反向傳遞過(guò)程中,Δω1ji是隱含層到輸入層的權(quán)重誤差傳遞梯度降,Δω2kj是輸出層到隱含層的權(quán)重誤差傳遞梯度降。
類(lèi)似地,閾值調(diào)整公式可以通過(guò)使用誤差對(duì)閾值的偏導(dǎo)數(shù)來(lái)獲得,如下所示:
θ1j(t+1)=θ1j(t)+Δθ1j=θ1j(t)-η1?E?θ1j
=θ1j(t)+η1δ1j
θ2k(t+1)=θ2k(t)+Δθ2k=θ2k(t)-η2?E?θ2k
=θ2k(t)+η2δ2j
(7)
式中,Δθ1j為隱含層到輸入層閾值的梯度降;Δθ2k為輸出層到隱含層閾值的梯度降;t為網(wǎng)絡(luò)經(jīng)過(guò)誤差反向傳遞的次數(shù)。
建立基于BP網(wǎng)絡(luò)模型的泄漏預(yù)警系統(tǒng)模型,預(yù)測(cè)氣體濃度的變化。向網(wǎng)絡(luò)中輸入陰燃的3個(gè)特征參數(shù)x1,x2和x3,則有:
y=g(∑1j=1ω2kjf(∑mi=1ω1jix1
x2
x3-θ1j)-θ1k)
(8)
式中,y為BP神經(jīng)網(wǎng)絡(luò)的輸出,x1為陰燃溫度(℃),x2為陰燃面積變化率,x3為陰燃形狀變化率。
首先將采集到的已知是否會(huì)發(fā)生陰燃的凋落物數(shù)據(jù)參數(shù)分為訓(xùn)練集和測(cè)試集,隨機(jī)取樣本的3/4作為訓(xùn)練集,剩下的1/4作為測(cè)試集。創(chuàng)建BP神經(jīng)網(wǎng)絡(luò),再將訓(xùn)練集輸入BP神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行訓(xùn)練。在訓(xùn)練過(guò)程中,若輸出層的輸出量與目標(biāo)向量相差較大,則誤差會(huì)經(jīng)過(guò)隱含層向輸入層傳播。BP神經(jīng)網(wǎng)絡(luò)能夠根據(jù)誤差不斷修正各個(gè)層的權(quán)值向量和閾值,當(dāng)誤差達(dá)到允許范圍之內(nèi)時(shí),訓(xùn)練停止,BP神經(jīng)網(wǎng)絡(luò)完成了學(xué)習(xí)。其次,向訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)中輸入測(cè)試集,通過(guò)比較輸出量和期望值的大小測(cè)試BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果。最后,向BP神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù)采集模塊測(cè)得的未知是否發(fā)生陰燃的凋落物特征參數(shù),通過(guò)分析BP神經(jīng)網(wǎng)絡(luò)的輸出值來(lái)判斷凋落物是否會(huì)發(fā)生陰燃。在得到總誤差后,用遺傳算法對(duì)測(cè)試所得的總誤差進(jìn)行優(yōu)化,并向神經(jīng)網(wǎng)絡(luò)反饋?zhàn)钚〉恼`差值,調(diào)節(jié)得到神經(jīng)網(wǎng)絡(luò)最佳的權(quán)值和閾值,以減少神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中的迭代次數(shù)。
BP神經(jīng)網(wǎng)絡(luò)算法流程見(jiàn)圖2,遺傳算法改進(jìn)神經(jīng)網(wǎng)絡(luò)誤差的算法見(jiàn)圖3。
BP神經(jīng)網(wǎng)絡(luò)的輸出層神經(jīng)元個(gè)數(shù)設(shè)置為1。當(dāng)輸出層的輸出值為0.2~0.5時(shí),判斷不會(huì)發(fā)生陰燃;輸出值為0.5~0.8時(shí),判斷可能發(fā)生陰燃;輸出值為0.8~1.3時(shí),判斷一定會(huì)發(fā)生陰燃。
3.1.1 選擇訓(xùn)練集和測(cè)試集
隨機(jī)選擇15組已知是否會(huì)發(fā)生陰燃的樣本(邢美凈,2017),采集其凋落物在不同燃燒狀態(tài)下的特征參數(shù)。之后從這15組樣本中隨機(jī)抽取11組樣本作為訓(xùn)練集,用于在MATLAB中訓(xùn)練神經(jīng)網(wǎng)絡(luò),得到訓(xùn)練好后的神經(jīng)網(wǎng)絡(luò)的權(quán)值參數(shù)和閾值參數(shù),以供在Keil中用C語(yǔ)言編寫(xiě)B(tài)P神經(jīng)網(wǎng)絡(luò)程序。剩下的4組樣本作為測(cè)試集,用于在MATLAB中對(duì)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)進(jìn)行性能分析。
3.1.2 訓(xùn)練結(jié)果
設(shè)置系統(tǒng)的目標(biāo)誤差為0.001,學(xué)習(xí)率為0.01,訓(xùn)練次數(shù)為1 000次,誤差曲線(xiàn)如圖4所示。
由圖4可知,利用newff函數(shù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)在誤差逆向傳播迭代3次后完成了收斂,誤差為0.002 874 4。
3.1.3 BP神經(jīng)網(wǎng)絡(luò)優(yōu)化測(cè)試分析
訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)完成了函數(shù)逼近、矢量分類(lèi)和模式識(shí)別。此時(shí),向BP神經(jīng)網(wǎng)絡(luò)中輸入測(cè)試集,用T_sim_bp( )函數(shù)對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行仿真分析(圖5)。通過(guò)比較陰燃真實(shí)值、BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值和遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值得出,BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值與真實(shí)值的最大相對(duì)誤差為10%,優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值與真實(shí)值的最大相對(duì)誤差為0.2%。采用遺傳算法優(yōu)化過(guò)的BP神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)具有更高的準(zhǔn)確性。
實(shí)驗(yàn)表明,在無(wú)人機(jī)監(jiān)測(cè)到目標(biāo)陰燃點(diǎn)后,GPRS通信模塊采用無(wú)線(xiàn)傳輸?shù)姆绞较蚪K端傳輸陰燃點(diǎn)地理位置信息,這些信息可通過(guò)網(wǎng)絡(luò)調(diào)試助手顯示。將得到的經(jīng)緯度輸入GPS地圖后即可獲得直觀的陰燃點(diǎn)地理位置信息。
提出了一套基于北斗導(dǎo)航系統(tǒng)與無(wú)人機(jī)的火警檢測(cè)平臺(tái)方案,搭建了其實(shí)物平臺(tái)且完成調(diào)試。該平臺(tái)將北斗導(dǎo)航系統(tǒng)和無(wú)人機(jī)相結(jié)合,采用遺傳算法優(yōu)化過(guò)的BP神經(jīng)網(wǎng)絡(luò)對(duì)可疑燃點(diǎn)是否發(fā)生陰燃進(jìn)行判斷,能夠?qū)ι只鹎榈目梢牲c(diǎn)進(jìn)行專(zhuān)門(mén)排查和反饋位置信息。通過(guò)仿真實(shí)驗(yàn),其算法可行,準(zhǔn)確率比較高,具有一定的市場(chǎng)應(yīng)用價(jià)值。