高桂雨 李丁祎 趙娟娟 宋美 楊雅君 牛彥霖


摘要:森林火災監測是保障我國森林資源的重要手段,也是亟待解決的難題。該文基于TensorFlow框架,利用目標檢測SSD算法結合YOLO算法中的回歸思想和Faster-RCNN算法中的Anchor機制,實現森林火災的監測報警,可輔助有關部門及時發現山火,提醒人們迅速做出滅火反應,在一定程度上減少森林火災造成的損失。
關鍵詞:森林火災監測;目標檢測;SSD算法
中圖分類號:TP18 ? ? ?文獻標識碼:A
文章編號:1009-3044(2022)02-0013-02
1引言
森林作為國家最為重要的自然資源之一,其生物基因種類繁多,水、碳能源儲量豐富,對人類的生存繁衍、國民經濟發展及地球生態循環有著不可替代的效用。森林火災頻發于全球范圍的森林生態系統,是森林三大自然災害之最,被稱為世界性的林業災害。世界范圍內,森林火災每年發生量約為幾十萬次,破壞森林面積高達幾百萬公頃,占全球森林面積0.1%[1]。森林火災危害性極大,不僅蠶食動植物,損壞微生物資源,造成土壤沙化和水土流失,造成難以估量的人員及經濟損失,同時,燃燒過程中產生大量懸浮顆粒,形成霧霾天氣;釋放出大量溫室氣體,加劇全球溫室效應,影響氣候變化;產生的氮氧化物(NO、NO2、N2O)同樣對人體具有危害,其中NO可直接侵入肺泡,釋放一種蛋白分解酶,破壞肺泡,引起肺水腫[2]等疾病。森林火災是世界滅火的難題[3],一旦產生,其規模之大,燃燒速度極快,森林資源損失巨大。因此,監測森林火災是保障我國森林資源的重要手段,也是亟待解決的難題。
森林火災的監測技術近些年來發展迅速,相關設備也日趨先進,監測時效性更強,使得我國的森林火災防護水平大幅度提升。王威等[4]通過傳感器獲取濕度、溫度等信息,并結合雷達數據,建立了基于雷達的多源信息林火監測模型。朱雪等[5]利用 SVM 分類方法,火焰特征作為輸入數據,創建森林火災的識別系統,并通過圖像處理技術識別火災規模實現林火監控。丁毓峰,徐鑫[6]提出一種基于 POS-KELM 的森林火災圖像識別方法,利用粒子群算法進行參數尋優。Wang等[7]將傳統的圖像處理技術與卷積神經網絡相結合,引入自適應池化方法,避免了傳統特征提取過程中的盲目性。秦鈺林等[8]人基于NB-IoT窄帶通信技術、無線傳感網技術設計了一套監測系統,將傳感器測量的數據傳入微控制器,若數據超過設定閾值,將進入警報狀態。張海波等[9]提出了一種改進卷積神經網絡三通道擬合的林火識別算法。同時采用PCA 算法改進模型,提高模型迭代速率。曹毅超等[10]運用循環神經網絡算法進行森林火災識別,以林火視頻場景為研究對象,該方法不僅可以提取具有區分性的空間特征,還可以通過循環神經網絡提取時序特征。Liu等[11]提出了一種基于深度學習的多層次森林火災檢測方法。使用GAN (General Advanced Networks)生成了高質量的火災樣本,通過卷積神經網絡(CNN)和支持向量機(SVM)用來進行火災區域識別。韋海成等[12]提出了一種基于 K-Means 聚類下樣本熵值判別算法,采用計算歐氏距離的 K-Means 聚類算法,通過計算火災區域和非火災區域的熵值差異大小,確認聚類的圖像子集是否存在火災。
本文將基于TensorFlow框架,利用SSD學習算法結合YOLO算法中的回歸思想和Faster-RCNN算法中的Anchor機制,實現森林火災的監測,最大程度上減少林火造成的損失。該算法使用全圖各個位置的多尺度區域進行回歸,既能保持YOLO算法速度快的特性,也可保證窗口預測同 Faster-RCNN算法一樣精準。
2基于目標檢測SSD算法的森林火災監測模型研究
人工智能的研究領域里,研究的熱點已經轉變為不同模式下的目標和對象識別。目前,目標檢測的算法主要有兩種:一種是首先確定區域,然后目標分類,代表有R-CNN、SPP-net;另一種是采用網絡一步到位,達到檢測目標的作用,代表有YOLO、SSD等。由于SSD有準確性高、效率高的優點,所以本文采用SSD融合了YOLO的回歸思想和Faster R-CNN的候選框機制優化了模型來進行森林火災檢測,既保持了Faster R-CNN的精準性,也具有了YOLO速度快的特性。
2.1模型概述
SSD算法全稱為Single Shot MultiBox Detector,是屬于one-stage方法的一種目標檢測算法。SSD在原始VGG16的基礎上延伸了4個卷積層擴張視野,可以用于檢測不同尺度的物體。該算法利用了與Faster RNN相似的固定大小與寬高的PrioBox作為區域生成,但不同的是,SSD在6個不同尺度都設置預選框,由于各層特征圖具有不同的尺度與感受野,故使用淺層特征圖上較小的PrioBox檢測小物體,用深層特征圖上較大的PrioBox檢測大物體。在正、負樣本的選取與損失計算方面,SSD算法利用[3×3]的卷積在6個特征圖上進行特征提取,并分為分類與回歸兩個分支,通過預選框與真實框的匹配,利用IoU篩選出正樣本與負樣本,最終計算出分類損失與回歸損失。
2.2模型應用框架
利用TensorFlow庫中的Tensorflow object detection API來識別圖像或視頻中火災的神經網絡。為了提高模型的精確度,選擇了多個角度不同火勢的山火航拍圖。由于森林火災監測預警模型是基于各種不同角度不同清晰度的圖像數據訓練得到的,因此可以根據建立的森林火災監測預警模型識別森林火災。森林火災有不可預測以及難以預防的特性,所以根據模型輸出的結果推測火勢處于什么狀況下報警能使火災的損失最小化。整體應用框架構思如圖1所示:
2.3 數據的準備
本文利用數據集網站及其他網站搜集森林火災的圖像和視頻,選取下載了400余張火災圖片并將其存入“site-packages”文件夾中。為了提高模型的可靠性和精確度,選取的森林火災圖像火勢大小不同、火勢區域不同,山勢地形不同等。數據集獲取完畢后,利用Labelme軟件將數據集中的所有圖像進行人工標記,判斷并勾選出圖像中存在火焰的區域,即選擇需要學習識別的物體。標記完成后,得到新的文件“object_detection”,其用于存儲選定的圖像邊界框的XML文件。
2.4 數據的處理
將儲存好的圖像數據集按照3:1的比例隨機拆分成兩份。前者作為訓練集,用來調整參數和訓練模型;后者作為檢驗集,用來模型性能和準確率的檢驗。分別導入原圖像及對應的XML文件以創建新的數據集,利用Python代碼將XML文件轉換為Tensorflow可讀取的形式,即Tfrecord格式,提取XML文件中的特征值至Excel表格中。
2.5訓練過程
基于谷歌提供的object detection api圖像識別框架,采用SSD_MobileNet_v1算法對訓練集進行模型訓練。其核心思想是深度可分離卷積操作,在與標準卷積操作設置權值參數相同的情況下,可大大減少計算量,從而提高運算速度。
在開始訓練前,筆者進行了一系列參數設置。首先,由于數據集中的圖片大小規格不一,故選擇fixed_shape_resizer對輸入圖像進行控制,將height和width均設置為300,使輸入的森林火災圖像的大小規格統一為300[×]300。其次,由于待檢測目標只有一個,因此將分類數目設為1,類別名稱為制作數據集時對火焰的標記fire。而在box編解碼處,因為SSD算法借鑒了Faster-RNN的思想,故選擇faster_rcnn_box_coder參數,以default box為參照系,將預測框和人工標記的真實框轉換為相對于default box的數值表示,以及將預測框和真實框轉換為用絕對坐標系數值表示。另外,鑒于SSD算法采用了最大值策略,對于default box和真實框的匹配策略設置參數選擇argmax_matcher,并設置二者的閾值均為0.5,用以判別正、負樣本。此處,為防止出現中間態樣本,增加了negatives_lower_than_unmatched參數,并設置其值為true,即將中間態樣本記為負樣本;為防止模型出現漏檢的情況,又設置參數force_match_for_each_row的值為 true。
準備好上述條件后,對預測器做出一系列設置,使predicted box可輸出顯示兩類預測:(1)predicted box中目標的類別;(2)交并比IOU的值。
經過3000次訓練,模型的定位損失值和分類損失值均已穩定于一常數附近,最終選取了損失值最小的模型,并記錄了參數組合。整個模型的主要參數設置如表1:
2.6 模型檢驗
經檢驗,使用該模型對不同大小不同清晰度的森林航拍圖片中火焰的檢測平均準確率達93%,對于森林航拍視頻中火焰的均可檢測并標記出,且IOU值達90%以上。
3 結論
本文就基于目標檢測SSD算法的森林火災檢測模型,進行了系列研究探索。將該模型嵌入無人機進行森林巡檢可以提高護林巡檢效率,減少巡護人力物力的消耗,對初發期森林火災及時作出反應降低林火危害。
參考文獻:
[1] 傅欣蕾,韓久同,劉敏.基于CiteSpace的森林火災研究文獻可視化分析[J].安徽林業科技,2020,46(5):56-61.
[2] 向臨川,王秋華,龍騰騰,等.森林火災燃燒產物研究概述[J].森林防火,2020(3):28-33.
[3] 高艷霞.林火監測與預警在森林防滅火中的運用探究[J].南方農業,2020,14(27):86-87.
[4] 王威,何筱仙,張深壽.基于雷達的多源信息森林火災監測模型應用研究[J].氣象科技進展,2020,10(6):101-105.
[5] 朱雪,姜樹海,崔嵩鶴,等.基于機器視覺的森林火災識別系統[J].林業機械與木工設備,2020,48(12):12-20.
[6] 丁毓峰,徐鑫.基于POS-KELM的森林火災圖像識別方法[J].數字制造科學,2020,18(4):283-288.
[7] Wang Y B,Dang L F,Ren J Y.Forest fire image recognition based on convolutional neural network[J].Journal of Algorithms & Computational Technology,2019,13:174830261988768.
[8] 秦鈺林,周若麟,張珂欣,等.基于NB-IoT窄帶通信和多傳感器組網技術的森林火災監測預警系統[J].物聯網技術,2020,10(6):14-16,19.
[9] 張海波,趙運基,張新良.三通道擬合的改進卷積神經網絡林火識別算法[J].傳感器與微系統,2020,39(11):134-136,140.
[10] 曹毅超,吳澤鵬,周宇飛,等.基于循環神經網絡的森林火災識別研究[J].林業與環境科學,2020,36(5):34-40.
[11] Liu Z C,Zhang K,Wang C Y,et al.Research on the identification method for the forest fire based on deep learning[J].Optik,2020,223:165491.
[12] 韋海成,王生營,許亞杰,等.樣本熵融合聚類算法的森林火災圖像識別研究[J].電子測量與儀器學報,2020,34(1):171-177.
[13] Zhang J D,Xu J B,Zhu L Y,et al.An improved MobileNet-SSD algorithm for automatic defect detection on vehicle body paint[J].Multimedia Tools and Applications,2020,79(31/32):23367-23385.
[14] 陳燕紅.基于卷積神經網絡的無人機森林火災檢測研究[D].西安:西安理工大學,2019.
[15] Chen T H,Wu P H,Chiou Y C.An early fire-detection method based on image processing[C]//2004 International Conference on Image Processing,2004.ICIP '04.October 24-27,2004,Singapore.IEEE,2004:1707-1710.
[16] Foggia P,Saggese A,Vento M.Real-time fire detection for video-surveillance applications using a combination of experts based on color,shape,and motion[J].IEEE Transactions on Circuits and Systems for Video Technology,2015,25(9):1545-1556.
[17] 傅天駒,鄭嫦娥,田野,等.復雜背景下基于深度卷積神經網絡的森林火災識別[J].計算機與現代化,2016(3):52-57.
[18] 張飛.基于卷積神經網絡的林火識別[D].長沙:中南林業科技大學,2019.
【通聯編輯:唐一東】