冒子昂,陸 櫟
(南京林業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院,江蘇 南京 210037)
森林是一個生態(tài)系統(tǒng)的總體,是陸地上最重要的碳庫、蓄水庫、能源庫、基因庫和營養(yǎng)庫。但是,如此強(qiáng)大的生態(tài)系統(tǒng)在面對森林火災(zāi)時卻顯得脆弱不堪。森林火災(zāi)是一種突發(fā)性強(qiáng)、破壞性大、處置救助較為困難的自然災(zāi)害[1],導(dǎo)致了一系列的生態(tài)環(huán)境問題,而且對人類的生命財產(chǎn)安以及生態(tài)環(huán)境健康造成了極大的威脅。森林火災(zāi)是一種世界范圍內(nèi)常見的自然災(zāi)害,無論發(fā)達(dá)國家還是發(fā)展中國家,凡有森林覆蓋的區(qū)域,都深受其危害和影響[2]。1998-2017年我國平均每年發(fā)生2 800余次森林火災(zāi),年均受害森林面積13 000公頃[3];隨著氣候變化,尤其是變暖趨勢增強(qiáng),人為干擾活動增加,全球森林火災(zāi)更具爆發(fā)性和危害性。人類也將面對更多大面積、高強(qiáng)度且影響大的森林火災(zāi)[4]。因此,各國都在探尋及時有效的預(yù)防森林火災(zāi)的方法。
目前圖像傳輸系統(tǒng)主要有無線視頻連續(xù)傳輸系統(tǒng)、正交頻分復(fù)用的認(rèn)知無線電傳輸系統(tǒng)等[5-7],這些現(xiàn)有的檢測平臺幾乎只是傳輸圖像,沒有針對火災(zāi)檢測顯示的平臺。因此,本文使用圖像檢測技術(shù),利用深度學(xué)習(xí)訓(xùn)練火災(zāi)模型,實(shí)現(xiàn)森林防火的智能化,提高整個防火系統(tǒng)的可靠性。
本系統(tǒng)以樹莓派為核心設(shè)計,由采集終端和通信終端兩部分組成。
本系統(tǒng)的采集終端主要使用了PCA9685芯片與樹莓派通信并產(chǎn)生PWM波驅(qū)動舵機(jī)轉(zhuǎn)動。PCA9685驅(qū)動芯片依靠I2C協(xié)議進(jìn)行通訊,最多能夠支持16路PWM輸出,精度能夠達(dá)到12位。電路設(shè)計如圖1。引腳27和26分別位I2C接口的數(shù)據(jù)線和時鐘信號線,負(fù)責(zé)與樹莓派通信。引腳6和7為兩路PWM輸出口,負(fù)責(zé)驅(qū)動舵機(jī)及旋轉(zhuǎn)。引腳1到引腳5這五個引腳用于控制該芯片的I2C通信地址,PCA9685的I2C地址由8位寄存器控制。
圖1 PCA9685電路圖
該芯片需要3.3 V電壓供電,樹莓派4B引出的引腳中含有5 V電源引腳,因此,使用穩(wěn)壓芯片RT9193將5 V電壓穩(wěn)壓至3.3 V為PCA9685供電,電路原理圖如圖2所示。
圖2 穩(wěn)壓模塊電路圖
本次設(shè)計使用的是由移遠(yuǎn)公司生產(chǎn)的EC20模塊。該模塊的下行速率最高達(dá)到150 Mbps,上行速率最高則是50 Mbps。EC20的特點(diǎn)是能夠多路輸入輸出,且同一個接收端能夠連接多個信號天線,同時進(jìn)行數(shù)據(jù)接收,從而降低誤碼率,提高整個系統(tǒng)的通信質(zhì)量。
此次選用的EC20使用的是Mini PCIe封裝,使用這種封裝的好處是省去了核心電路的設(shè)計,移植性更強(qiáng)。使用Mini PCIe封裝的模塊,首先要做的便是通過Mini PCIe插槽引出所用引腳,如圖3所示。
圖3 Mini PCIe封裝引腳圖
軟件方面的設(shè)計主要分為硬件模塊的驅(qū)動與信號傳輸以及基于YOLOv5的森林火災(zāi)圖像自動檢測系統(tǒng)的調(diào)試兩個部分。
本次設(shè)計中,EC20模塊將作為USB網(wǎng)卡為采集終端提供4G網(wǎng)絡(luò)服務(wù),需要USB驅(qū)動程序的支持。移遠(yuǎn)官方提供了EC20的Linux驅(qū)動移植手冊,本次設(shè)計選擇使用GobiNet驅(qū)動。樹莓派發(fā)送流程圖如圖4所示。
圖4 I2C總線主機(jī)發(fā)送流程圖
MIPI-CSI接口攝像頭需要在樹莓派關(guān)機(jī)后連接至CSI接口,否則可能會造成攝像頭短路損壞。之后開機(jī),打開終端,輸入命令raspi-config打開系統(tǒng)功能配置界面,選擇選項(xiàng)3后選擇P5,然后選擇YES便可以開啟CAMERA功能。
本次設(shè)計采用視頻推流的方式,將圖像以視頻流的形式推送至服務(wù)器,然后上位機(jī)從服務(wù)器處拉取視頻流并解碼,本次設(shè)計中選用RTMP流媒體協(xié)議進(jìn)行視頻推流。
對視頻流進(jìn)行編碼推送后,還需使用流媒體服務(wù)器對終端推流和客戶端拉流進(jìn)行管理,流媒體服務(wù)器在整個傳輸過程中類似中轉(zhuǎn)站的定位。本次設(shè)計使用Nginx作為圖像傳輸中的流媒體服務(wù)器,Nginx的編譯對計算性能要求較低。可直接在樹莓派上進(jìn)行。整個圖像傳輸?shù)南到y(tǒng)框圖如圖5所示。
圖5 圖像傳輸流程圖
YOLOv5除了在確保一定精度的前提上,極大程度的提升了檢測速度,在工程應(yīng)用方面也進(jìn)行了優(yōu)化。本研究引入一種更為復(fù)雜的雙向融合加權(quán)雙向特征金字塔網(wǎng)絡(luò)[8](BiFPN, Weighted Bi-directional Feature Pyramid Network)替代YOLOv5中的PANet。網(wǎng)絡(luò)結(jié)構(gòu)圖如圖6所示。實(shí)驗(yàn)結(jié)果表明該算法對森林火災(zāi)預(yù)警具有較好的研究效果。
圖6 改進(jìn)后YOLOv5結(jié)構(gòu)圖
本次設(shè)計中使用的是PyQT5這一款開源框架來設(shè)計簡單的原型測試界面。PyQT5是著名的GUI框架QT的python版,繼承了QT的各種各樣豐富的控件和跨平臺的功能。3個按鈕控件負(fù)責(zé)3個不同功能的實(shí)現(xiàn),在主程序中,各項(xiàng)環(huán)境初始化后,點(diǎn)擊相應(yīng)的控件便可進(jìn)入對應(yīng)的子程序。3個功能分別為打開圖片檢測、打開攝像頭檢測以及打開視頻檢測,滿足了設(shè)計需求。
本次設(shè)計的主要研究內(nèi)容是基于樹莓派的森林火災(zāi)圖像傳輸與檢測系統(tǒng),是從圖像采集、信號傳輸?shù)綀D像識別的一體化設(shè)計。分別對圖像采集電路與通信電路以及電源模塊電路進(jìn)行了設(shè)計,并開發(fā)了圖像采集與通信程序,實(shí)現(xiàn)了遠(yuǎn)程圖像傳輸功能。上位機(jī)開發(fā)了接收圖像界面,并對火災(zāi)圖像采用改進(jìn)的YOLOv5網(wǎng)絡(luò)進(jìn)行了訓(xùn)練,將檢測的結(jié)果顯示于上位機(jī)界面,實(shí)驗(yàn)結(jié)果顯示了該檢測傳輸系統(tǒng)能實(shí)時檢測到火焰圖片。該檢測系統(tǒng)能很好地解決森林火災(zāi)的預(yù)防與檢測問題、一體化的設(shè)計也能夠很好的節(jié)省人力物力,為森林火災(zāi)的防治提供了良好的方案。