李 寧,劉 青,熊 俊,董力文
(國網(wǎng)北京市電力公司電纜分公司,北京,100010)
森林、草原、野坡是大自然最好的“調(diào)劑師”,因其可促進自然界的碳、水循環(huán),具有維護生態(tài)系統(tǒng)平衡和改善生態(tài)環(huán)境的功能,越來越受到人們的重視。我國雖然土地遼闊,但是存儲的森林、草原、野坡資源占比卻很小,如人均森林面積不足世界平均水平的四分之一[1,2]?;馂?zāi)的破壞力極強,不但會燒毀大片的樹木,造成物種的滅亡,還會引起水土流失,威脅人民的生命財產(chǎn)安全[3]。因此關(guān)于火災(zāi)的巡檢技術(shù)受到了越來越多的學(xué)者和相關(guān)部門的關(guān)注。盡早發(fā)現(xiàn)火情,并精準(zhǔn)掌握火災(zāi)環(huán)境態(tài)勢,指揮中心便可以采取有效的撲救措施進行火災(zāi)控制與撲滅。
目前人工巡檢與觀測塔的方式是國內(nèi)最常見的火災(zāi)監(jiān)測手段,該方法存在周期長、效率低、工作量大的缺點。此外通過衛(wèi)星監(jiān)測的方式,雖然可以大范圍監(jiān)測火災(zāi),但其存在實時性差、分辨率低等缺點。隨著航空技術(shù)的發(fā)展,有人駕駛飛機巡檢監(jiān)測和無人機巡檢監(jiān)測成為較為有效的火災(zāi)監(jiān)測手段,具有效率高、成本低、實時性強的優(yōu)勢[4-6]。
本文通過無人機系統(tǒng)與基于視頻圖像的計算機視覺技術(shù)結(jié)合,設(shè)計了一套智能森林火災(zāi)巡檢系統(tǒng),實現(xiàn)了在無人參與的情況下,無人機可自動起飛并按預(yù)設(shè)軌跡飛行。當(dāng)檢測到火災(zāi)后,無人機可自動抵近偵察并沿火線邊緣飛行,進一步采集森林火災(zāi)現(xiàn)場更多的信息。針對常用的基于圖像的檢測算法難以同時滿足超大目標(biāo)和小目標(biāo)同步檢測的問題,本文提出了一種improved-YOLOv3的火災(zāi)檢測算法,實時處理無人機平臺采集的圖像,有效地提高了火災(zāi)檢測的實時性和準(zhǔn)確性。
本文針對當(dāng)前存在的問題,設(shè)計了一套基于無人機的火災(zāi)巡檢系統(tǒng)。通過無人機搭載圖像采集設(shè)備,將巡檢圖像實時傳回地面服務(wù)器,通過基于深度學(xué)習(xí)算法的智能識別,判斷是否有火災(zāi)發(fā)生。當(dāng)檢測到火災(zāi)發(fā)生時,無人機可根據(jù)機載端火線提取算法,自動沿火線邊緣飛行。本系統(tǒng)實現(xiàn)了森林火災(zāi)的智能識別、區(qū)域定位和態(tài)勢感知功能,可有效、實時、全天候自動監(jiān)測火災(zāi)并具有作業(yè)效率高、運營成本低等優(yōu)勢。本森林火災(zāi)巡檢系統(tǒng)分為:無人機子系統(tǒng)、圖像采集子系統(tǒng)、機載處理器子系統(tǒng)、地面服務(wù)器子系統(tǒng),系統(tǒng)組成如圖1所示。
圖1 森林火災(zāi)巡檢系統(tǒng)組成Fig. 1 Composition of forest fire inspection system
無人機子系統(tǒng)為飛行平臺的載體,通過其自身裝載的傳感器如GPS、IMU和氣壓計等,利用多傳感器融合技術(shù),解算出無人機的位置及姿態(tài)信息,為其自身控制及火災(zāi)位置提取提供多維度的信息源。無人機通過串級PID控制算法,進行姿態(tài)、速度、位置自動控制。根據(jù)本文載重、航時、抗風(fēng)等性能要求,采用六軸多旋翼無人機為飛行載體,載重量3 kg,航時為45 min。
圖像采集系統(tǒng)主要由云臺、圖傳、可見光相機三個設(shè)備構(gòu)成。云臺起到了消除無人機高頻抖動、使畫面穩(wěn)定的功能。在無人機飛行時會出現(xiàn)一定的角度傾斜,云臺也能起到抵消角度傾斜的作用。圖傳為圖像無線傳輸設(shè)備,將機載端采集的圖像傳輸?shù)降孛娣?wù)器。本文采用瑞沃UT1900-S型號的圖數(shù)一體化設(shè)備,通過其中數(shù)傳模塊可將地面服務(wù)器的命令指令發(fā)送至無人機端??梢姽庀鄼C采用索尼A7R,其主要性能參數(shù)如表1所示。
表1 索尼A7R主要參數(shù)表
地面服務(wù)器系統(tǒng)通過地面端圖傳模塊接收相機的圖像信號,通過深度學(xué)習(xí)算法對視頻信號進行森林火災(zāi)的智能檢測,當(dāng)檢測到發(fā)生火災(zāi)情況時,發(fā)出報警信號,并向無人機發(fā)送抵近偵查指令。
機載處理器主要完成抵近偵察功能的無人機控制指令計算。機載處理器同樣接收相機視頻信號,當(dāng)需要抵近偵察時,通過圖像火災(zāi)像素位置、無人機位置、云臺姿態(tài),進行火災(zāi)位置的初步計算。無人機將按照此位置進行火災(zāi)搜索,實現(xiàn)抵近偵察森林火災(zāi)情況功能。
針對規(guī)劃的待巡檢森林區(qū)域,無人機設(shè)備規(guī)劃好固定的巡檢航線,以其自身的自動航線飛行功能,無人機搭載云臺、相機及其他設(shè)備,即可開展巡檢工作。固定巡檢航線以蛇形航線為主,吊艙以正射模式工作。自動飛行過程中,相機可將圖像信號通過圖傳傳輸至地面服務(wù)器,進行本幀圖像內(nèi)森林是否發(fā)生火災(zāi)的智能判斷。
當(dāng)?shù)孛娣?wù)器發(fā)現(xiàn)有火災(zāi)發(fā)生后,發(fā)出報警信號,并向無人機發(fā)送抵近偵察指令。無人機接收到此指令后,啟動配備智能識別算法的機載處理器,執(zhí)行自動抵近偵察工作。相機的視頻信號一路接至機載處理器中,識別發(fā)生火災(zāi)的像素位置,如果火災(zāi)邊緣全在當(dāng)前畫幅中,則控制無人機自動飛行到火災(zāi)中心點上方,隨后根據(jù)火災(zāi)區(qū)域占畫幅比,控制無人機高度降低,至畫幅比滿足要求。其中自動飛行原理如下,根據(jù)火災(zāi)中心點的像素位置,將該像素位置與圖像中心點像素位置偏差輸入PID控制器,轉(zhuǎn)化為無人機地理坐標(biāo)系下的控制量,控制無人機移動,從而改變火災(zāi)中心點位置,形成閉環(huán)負反饋。其控制框圖如圖2所示。
圖2 控制策略框圖Fig. 2 Control strategy block diagram
如果檢測到火災(zāi)發(fā)生時,火災(zāi)邊緣不全在畫幅中,即著火面積比較大,此時需調(diào)整無人機航向,至火災(zāi)邊緣某點與圖像上邊緣中心點像素重合,再控制無人機向前飛行,至圖像中心點出現(xiàn)火災(zāi)邊緣點。通過機載處理器實時檢測火災(zāi)邊緣,實現(xiàn)沿大面積著火區(qū)域的邊緣飛行,實現(xiàn)大面積火場的態(tài)勢感知。
YOLOv3網(wǎng)絡(luò)可以分為兩部分,如圖3所示。一是特征提取網(wǎng)絡(luò),該部分提取輸入圖像的特征,其基礎(chǔ)網(wǎng)絡(luò)是darknet-53,使用了53個卷積層,作為YOLOv3特征提取的主要網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)使用一系列的3*3和1*1大小的卷積層,與殘差層res相結(jié)合,具有較好的特征提取能力。圖中resn中n代表數(shù)字,表示此res_block含有n個res_unit。res_unit為兩個DBL模塊串聯(lián)后與輸入相加組成的殘差結(jié)構(gòu)。二是目標(biāo)定位與預(yù)測網(wǎng)絡(luò),即yolo層部分,YOLOv3的特征交互層分為了三個尺度,在每個尺度內(nèi)通過卷積核的方式實現(xiàn)局部的特征交互[7-9]。三個yolo層的分析如下:
第一個yolo層:輸入為13*13的特征圖,一共有1024個通道,經(jīng)過一系列的卷積操作后,輸出75個通道的13*13的特征圖,用于分類和位置回歸。
第二個yolo層:輸入為512通道的13*13的特征圖,輸出256個通道13*13的特征圖,然后上采樣生成256通道的26*26大小的特征圖,同時與61層的26*26的中尺度特征圖進行融合,再經(jīng)過一系列的卷積操作,生成75通道的26*26大小的特征圖,用于分類和位置回歸。
第三個yolo層:將256個通道的26*26大小的特征圖進行卷積操作,生成128通道的26*26的特征圖,然后上采樣生成128通道的52*52大小的特征圖,同時與36層的52*52的特征圖進行融合,再進行一系列的卷積操作,得到75個通道的52*52大小的特征圖,用于分類和位置回歸。
在特征交互階段,以416*416大小的圖像為例,用于分類和位置回歸的特征圖尺寸分別為13、26、52,感受野偏小,影響大目標(biāo)的檢測能力。本文的研究對象初期火焰較小,占比小,屬于小目標(biāo)檢測范疇;隨著煙霧彌漫整個圖像畫面,屬于超大目標(biāo)檢測范疇。因此需要針對yolo層進行改進,使其能同時兼顧小目標(biāo)與超大目標(biāo)的檢測。
圖3 原YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 3 Original YOLOv3 network structure diagram
通過以上網(wǎng)絡(luò)結(jié)構(gòu)的解析及實際測試,YOLOv3對過大的目標(biāo)存在檢測能力不足的情況。如本項目中的煙霧,在原生態(tài)網(wǎng)絡(luò)中煙霧的漏檢率達到43%,因此需要從網(wǎng)絡(luò)結(jié)構(gòu)上進行改進,提高模型的檢測能力。
在特征交互階段,416*416大小的圖像用于分類和位置回歸的特征圖尺寸分別為13、26、52、104、208,增加了與第4層和第11層的大尺度特征融合,感受野范圍增大。另外原YOLOv3使用k-means生成9種anchor,改進后的網(wǎng)絡(luò)(因改進后網(wǎng)絡(luò)有5個yolo層,故下文中稱為:YOLOv3-5)使用15種anchor,每三種對應(yīng)一個yolo層,提高了目標(biāo)的檢測能力。改進的網(wǎng)絡(luò)片段如圖4所示,具體改進描述如下:
第一個yolo層:輸入為13*13的特征圖,一共有1024個通道,經(jīng)過一系列的卷積操作,輸出75個通道的13*13特征圖,用于分類和位置回歸。
第二個yolo層:輸入為79層的512通道的13*13的特征圖,輸出256個通道的13*13特征圖,然后上采樣生成256通道的26*26大小的特征圖,同時與61層的26*26的中尺度特征圖進行融合,再經(jīng)過一系列的卷積操作,生成75通道的26*26大小的特征圖,用于分類和位置回歸。
第三個yolo層:將91層的256個通道的26*26大小的特征圖進行卷積操作,生成128通道的26*26的特征圖,然后上采樣生成128通道的52*52大小的特征圖,同時與36層的52*52的特征圖進行融合,再進行一系列的卷積操作,得到75個通道的52*52大小的特征圖,用于分類和位置回歸。
第四個yolo層:將103層的128個通道的52*52大小的特征圖進行卷積操作,生成128通道的52*52的特征圖,然后上采樣生成128通道的104*104大小的特征圖,同時與11層的104*104的特征圖進行融合,再進行一系列的卷積操作,得到75個通道的104*104大小的特征圖,用于分類和位置回歸。
第五個yolo層:將115層的64個通道的104*104大小的特征圖進行卷積操作,生成128通道的104*104的特征圖,然后上采樣生成128通道的208*208大小的特征圖,同時與4層的208*208的大尺度特征圖進行融合,再進行一系列的卷積操作,得到75個通道的208*208大小的特征圖,用于分類和位置回歸。
圖4 improved-YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 4 Improved YOLOv3 network structure diagram
(1)數(shù)據(jù)集基本情況
本數(shù)據(jù)集來自UAV采集的3 800張火場圖像,主要包含以下場景:森林火場、草原火場、山火、道路車輛起火、郊區(qū)建筑物起火等?;馂?zāi)狀態(tài)囊括了大火、小火、零星火、薄煙、濃煙等。
(2)數(shù)據(jù)集標(biāo)注
由于火焰本身形狀不規(guī)則,邊緣細節(jié)不夠明顯,通過航拍得到的火焰圖像較難進行圖像分割標(biāo)注。因此,采用labelimage軟件標(biāo)注成voc格式的目標(biāo)識別數(shù)據(jù)集,記錄火焰的位置坐標(biāo)等信息。即:將數(shù)據(jù)集分為JPEGImages和Annotations兩部分,其中JPEGImages文件夾中存放圖像數(shù)據(jù),Annotations文件夾中存放每個圖像對應(yīng)的xml格式的label信息。標(biāo)注時將煙霧和火焰分開標(biāo)注,分為:fire和smoke兩類。
(3)數(shù)據(jù)集增廣
①翻轉(zhuǎn)增廣
由于本項目中采用俯視的方式進行圖像采集,可以通過圖像翻轉(zhuǎn)模擬得到無人機從不同的方向飛行采集的圖像,在此選擇圖像翻轉(zhuǎn)來得到無人機從不同方向飛來時的圖像,從而達到數(shù)據(jù)增廣的目的。
圖5 翻轉(zhuǎn)效果示例Fig. 5 Flip effect example
② 混合增廣
由于采集的圖像場景有限,為了豐富場景,采用混合背景的方法對圖像進行增廣,即隨機選擇一張圖像做背景,在有火焰的圖像上將火焰摳出,然后通過圖像融合技術(shù)將火焰與背景圖像進行融合,得到新場景的火災(zāi)圖像。
圖6 混合增廣示例Fig. 6 Hybrid augmentation example
(1)重新聚類anchor
改進后的網(wǎng)絡(luò)需要15種anchors ,比原生態(tài)網(wǎng)絡(luò)多了6種anchors,因此通過K-means方法在本文數(shù)據(jù)集上聚類出15種anchors,分別為(22,32)、(39,63)、(93,74)、(58,121)、(134,127)、(101,224)、(252,129)、(192,222)、(135,405)、(250,325)、(431,202)、(381,361)、(285,551)、(269,375)、(492,554)。
(2)學(xué)習(xí)率調(diào)整
在網(wǎng)絡(luò)訓(xùn)練過程中采用了不同階段適配不同的學(xué)習(xí)率機制,網(wǎng)絡(luò)一共訓(xùn)練了40 000次,分別在20 000、30 000、35 000次時進行學(xué)習(xí)率調(diào)整,共調(diào)整三次。初始學(xué)習(xí)率為10-3,前兩次每次調(diào)整為當(dāng)前學(xué)習(xí)率的十分之一,最后一次調(diào)整為當(dāng)前學(xué)習(xí)率的五分之一。
(3)前向推理階段,合并BN層到卷積層
為了提升模型前向推理的速度,將BN(Batch Normalization)層的參數(shù)合并到了卷積層中。BN層的加入,加速了網(wǎng)絡(luò)的收斂并且能夠有效地控制過擬合,在訓(xùn)練過程中起到了積極作用。但是其增加了運算量,占用了更多的內(nèi)存或顯存空間,因此將其與卷積層合并,達到提升前向推斷速度的效果。
為測試本文提出的improved-YOLOv3網(wǎng)絡(luò)的性能,采用對比測試的方式進行評估。對比的網(wǎng)絡(luò)有:原生態(tài)YOLOv3、SSD原生態(tài)網(wǎng)絡(luò)。分別對煙霧、火焰的識別準(zhǔn)確率和推理速度進行了測試。實驗過程中:數(shù)據(jù)集、迭代次數(shù)、數(shù)據(jù)預(yù)處理方式嚴格保持一致,輸入網(wǎng)絡(luò)的圖像大小統(tǒng)一為608*608,分別訓(xùn)練得到最優(yōu)模型。最后將相同的測試集分別輸入到不同的模型中進行推理測試,對推理結(jié)果進行統(tǒng)計比較,比較結(jié)果如表4所示。經(jīng)壓縮優(yōu)化處理后的模型大小為9.9 K。
由表4可以看出,本文所提出的improved-YOLOv3網(wǎng)絡(luò)模型的平均準(zhǔn)確率達到了96.5%,均高于原生態(tài)的YOLOv3和SSD網(wǎng)絡(luò)模型,漏檢率較于其他兩種算法也有明顯降低,達到了2.6%。在響應(yīng)時間上由于添加了網(wǎng)絡(luò)層的合并操作,時間消耗并沒有因為增加了yolo層而增加,反而略有下降,響應(yīng)時間為7.8 ms。
表2 測試結(jié)果統(tǒng)計表
為了驗證提出的improved-YOLOv3算法的實際性能,在模擬場地的模擬火場中開展無人機火情圖像采集,然后利用本文算法進行實時識別,圖7給出了部分檢測結(jié)果。
圖7 火災(zāi)現(xiàn)場檢測效果圖Fig. 7 Effect drawing of fire site detection
從現(xiàn)場檢測效果圖中可以看出,本文所提出的算法既能檢測出大面積的煙霧,也能同步對零星的小火焰進行識別,兼顧了超大目標(biāo)與小目標(biāo)的同步檢測,為森林火災(zāi)的檢測提供了有力保障。本文從可見光圖像的角度有效地提取了煙霧和火焰,實現(xiàn)了精準(zhǔn)的火災(zāi)檢測。今后的研究重點是如何結(jié)合紅外圖像滿足夜間及光線較暗的環(huán)境下的火災(zāi)檢測。
本文設(shè)計并開發(fā)了一種基于無人機系統(tǒng)的智能火災(zāi)檢測系統(tǒng)。系統(tǒng)通過無人機搭載圖像采集設(shè)備實時采集圖像,并將圖像實時傳輸至地面服務(wù)器,地面服務(wù)器通過智能檢測算法實現(xiàn)了火災(zāi)的實時檢測。通過對比測試和現(xiàn)場試驗,系統(tǒng)的檢測準(zhǔn)確性、漏檢率和檢測效率均達到了實際應(yīng)用的水平,從而證明了系統(tǒng)的可行性和實用價值。