李非非 楊 帆 余 飛 季 猛 舒智慧 徐 杰
(1 成都星億年智慧科技有限公司 成都 610095; 2 電子科技大學 成都 611731; 3 邛崍市規劃和自然資源局 成都 611500)
竹子作為典型的生態經濟型植物,是我國重要的生態、產業和文化資源。加快竹產業健康持續發展,對推動生態文明建設、推進農業供給側結構性改革以及促進農民就業增收具有重要意義。四川省獨特的自然條件,形成了以叢生竹為主,叢生竹、散生竹、混生竹兼有的竹資源富集區,竹林面積達116余萬hm2,居全國首位,產業發展潛力巨大。目前在竹類蟲害防治工作中,對害蟲種類的識別嚴重依賴于專業人員鑒定,但在我國基層森林管護體系中具備相關專業知識的人員稀缺,通常無法準確判斷蟲害發生種類并及時采取有效防治措施,進而將導致森林經營效益受損[1]。隨著計算機技術的快速發展,利用電腦代替人工對特定物體進行精確判別已成為可能,由此衍生出了對害蟲圖像進行計算機識別分類的技術[2-3],可以有效解決當前森防實踐中存在的判斷偏差和防治延誤等問題。然而,在現有計算機識別系統的主流應用中,大多是以傳統的圖像識別技術為基礎,識別模型以淺層次結構為主,對圖像的特征提取依賴人工設計的提取器,導致識別準確率較低,難以滿足在復雜生態環境下對害蟲進行精準識別的森防工作實際應用要求。近年來,以人工智能深度學習技術為代表的圖像識別技術展現出了突出的優勢,智能識別模型采用了更深層次的網絡結構,且模型靠自身提取圖像特征,避免了人為干預。目前,卷積神經網絡(CNN)、VGG網絡、殘差網絡(ResNet)等深度學習模型已廣泛應用于許多領域的圖像識別[4-6],并已取得顯著的應用效果。
目前,深度學習技術在農林業害蟲識別領域已取得了一些初步研究成果,如陳娟等[7]針對北方園林害蟲識別問題,提出了一種基于改進殘差網絡的害蟲圖像識別方法,通過在殘差塊中添加卷積層和增加通道數提取更多的害蟲圖像特征,優化超參數,提高了害蟲識別準確率。錢蓉等[8]構建了基于VGG16卷積神經網絡的水稻害蟲智能識別模型,該模型采用VGG16卷積神經網絡為核心網絡結構,根據水稻害蟲的個體特征和自然場景,對VGG16網絡的卷積層局部調整,優化主要模型參數,實現了水稻害蟲的智能識別。然而這些方法大多基于傳統的深度學習識別模型,對差異較大的害蟲類別識別效果較好,但容易忽略子類別間細微的差異,導致識別準確率不高。為解決上述問題,對以深度卷積網絡為基礎的細粒度圖像識別模型的研究逐漸成為重點[9-10],為更準確的識別害蟲提供了全新的技術手段。
在當前四川省竹產業大發展的有利背景下,將人工智能技術引入竹子的經營管理,并逐步將以計算機、互聯網、人工智能等高新技術為代表的科技支撐手段應用于竹產業發展的各個方面,實行精細化管理以提升生產效益,是竹產業高質量發展勢在必行的趨勢,具有極其重要的現實意義。鑒于此,本文論述了基于人工智能技術開發的竹類主要害蟲識別系統(以下簡稱“系統”)原理及構架,并分析了其在四川省邛崍市相關竹產業基地實際森防場景中的應用情況。
本系統由應用服務器、數據存儲和用戶軟件3大部分構成,系統結構圖如圖1所示。應用服務器作為整個系統核心部分,包含識別服務器和云服務器,其中:識別服務器內嵌人工智能算法以實現害蟲識別的核心功能;云服務器主要提供地理信息系統(GIS)、系統各種請求響應等相關遠程服務。數據存儲部分主要存儲竹類害蟲細粒度數據集以及系統運行數據。用戶軟件部分主要實現在移動設備客戶端的具體操作,例如害蟲拍照上傳、害蟲定位等。
用戶軟件作為直接面向用戶的操作平臺,系統的所有功能均是通過其予以直觀呈現。用戶軟件總體功能包含“蟲情”“地圖”“識蟲”“互動”和“用戶”5大功能模塊,其中“識蟲”為用戶軟件的核心功能模塊,其余功能模塊均是為了更好地服務于核心功能而設置的輔助功能模塊。用戶軟件功能框架如圖2所示。

圖1 系統結構圖Fig.1 The diagram of system structure

圖2 用戶軟件功能框架圖Fig.2 The software function framework for users
對害蟲進行智能識別是本系統的核心功能,該功能由用戶軟件、害蟲識別服務器和云服務器共同配合完成,其主要工作流程如下(圖3):
1) 通過用戶軟件上傳目標害蟲圖片到云服務器,經云服務器處理后將圖片發送至識別服務器;

圖3 害蟲智能識別流程圖Fig.3 The process of intelligent recognition for pests
2) 識別服務器對接收到的害蟲圖片再次進行預處理后通過人工智能識別模型對圖片進行細粒度識別;
3) 識別服務器將識別結果和準確率經云服務器反饋至用戶軟件展示(圖4)。

圖4 用戶軟件識別結果界面Fig.4 The recognition result interface of user software
實現對害蟲的精準識別依賴于人工智能識別模型的構建,人工智能識別模型的關鍵技術及相關實驗結果分析如下。
數據集是搭建人工智能識別模型的重要前置基礎條件。在實驗中,通過在生態環境中拍攝高質量照片,構建了一個包含竹類主要害蟲在內的120種蟲類、圖片數量超過8 500張圖片的基礎圖片數據集。
神經網絡需要大量已完成標記的圖片數據來訓練其學習能力,而本文實驗數據集圖片數量有限,因此采取了人工智能研究中常用的數據增強技術,以有效擴充圖片數量。數據增強也叫數據擴增,是在不實質性增加數據的情況下讓有限的數據產生等價于更多數據的價值[11-12]。對于本次采用的實驗數據集,通過翻轉、旋轉、隨機裁剪、調節亮度、對比度、飽和度等方法來倍增樣本數量,經數據增強后的橙粉蝶圖片如圖5所示。

圖5 經數據增強后的橙粉蝶圖片Fig.5 The butterfly pictures enhanced by data
卷積神經網絡(CNN)是深度學習中的重要模型。卷積神經網絡結構主要由卷積層、池化層、全連接層以及最后的輸出層構成,通過卷積和池化等操作,提取圖像特征用于識別,最后輸出識別結果。
GoogLeNet(Google Inception Net)是卷積神經網絡的一種結構,GoogLeNet的核心思想在于增加網絡深度和寬度以提高卷積神經網絡性能,在增加神經網絡寬度方面主要采用深度卷積網絡Inception[13-14],如圖6所示。Inception V1是Inception網絡的第1個版本,在隨后的幾年里,研究人員對Inception神經網絡進行了數次改進以增強其性能,本文實驗便是基于最新的Inception V3神經網絡搭建了害蟲識別模型。

圖6 Inception結構圖Fig.6 The structure of Inception
在Inception結構中,i×i Convolutions表示在卷積層使用i×i大的卷積核來提取蟲類圖像特征,3×3 Max Pooling表示圖片每3×3矩陣輸出一個最大值。
傳統版本的Inception神經網絡使用3×3的卷積核會帶來巨大的計算量,Inception V3神經網絡引入了“分解為小卷積”的思想,將1個較大的二維卷積拆成2個較小的一維卷積,比如將3×3卷積拆成1×3卷積和3×1卷積,且在每個卷積層后加入ReLU激活函數來增加模型的非線性,如圖7所示。Inception V3神經網絡相比于圖像識別領域的其他神經網絡模型,增加了模型的深度和寬度,在顯著減少參數和計算量的同時也減輕了過擬合[15]。

圖7 Inception V3卷積拆分結構圖Fig.7 The split structure of Inception V3 convolutions
本文實驗所使用的計算機GPU為2塊RTX2080,操作系統為Ubuntu16.04.7 LTS,英偉達顯卡驅動版本為450.80.02,CUDA版本為11.0。實驗使用Python語言,深度學習框架為Pytorch。
實驗中,數據集被分為訓練集和測試集2個獨立的部分。其中訓練集用于訓練模型,測試集用于檢驗經篩選的最優模型的識別性能。實驗中訓練集使用Adam優化器,基本學習率參數設置為1e-4,權重衰減系數為1e-5,采用以32張圖片為一組的小批量訓練,共進行30輪訓練,參數學習率訓練至第8輪下降0.3,訓練至第14輪再下降0.3,此后不再調整。
在已構建的實驗數據集中隨機選取2 000張圖片進行數據增強后對Inception V3神經網絡進行訓練。在訓練完成的基于Inception V3神經網絡搭建的害蟲識別模型上使用533張分辨率大小為299×299的圖片進行測試,結果顯示識別效果良好,平均準確率達98.9%,除2種天牛識別準確率未達到90%、十斑大瓢蟲和蚜蟲準確率未達到100%外,其余種類識別準確率均達到100%(表1、圖8)。

表1 實驗識別準確率Tab.1 The recognition accuracy of experiments

圖8 實驗識別準確率條形圖Fig.8 The bar graph of the experimental recognition accuracy
系統在開發完成后針對模型的識別準確率進行了測試,獲得了較好的結果。本次在森防場景中,對應用服務器、數據存儲和用戶軟件方面對系統進行整體測試,以期在自然生態條件下對系統的實際識別準確率、穩定性、可操作性等關鍵方面進行驗證,為后期在森防領域推廣應用本系統積累經驗。
根據《四川省竹產業發展規劃(2017—2022年)》,四川省將構建“一群三帶+其他區”的竹產業發展格局,以邛崍市為核心的“龍門山竹產業帶”被規劃定位為四川省現代竹業發展格局中的重要組成部分。邛崍市竹林總面積3.26萬hm2,占全市土地總面積的23.6%,占全市林地總面積的45.7%。邛崍市竹產業基地已經形成一二三產業協同發展的較為完善的產業鏈條,是成都市乃至四川省現代竹產業發展重要區域,具有極大的發展潛力。因此,鑒于在竹類資源面積、竹類害蟲豐富度、森防及森林管護隊伍體系等方面的優勢,選擇在四川省邛崍市相關竹產業基地開展工作,具備相應測試基礎條件且具有示范意義。
3.2.1 測試人員范圍
系統開發的主要目的是為竹產業基地森防工作提供有效的科技支撐,在后期森林經營過程中引入精細化管理措施,提升竹產業基地整體效益。為保證測試過程有組織、有計劃的推進,測試結果能順利收集,測試在邛崍市林業系統內進行,由當地林業主管部門的基層森防、森林管護及其他相關人員參與測試,參與人數共計48人。
3.2.2 測試時間段
在理想狀態下,測試時間段應涵蓋主要竹類害蟲的全生命周期,以便有機會識別已錄入數據集的害蟲的各時期形態,根據四川省的實際情況,觀察竹類害蟲的周期從4月至10月為最佳。
測試于2020年4月開始,但由于疫情及洪災等不可抗力的影響,測試時間段被迫壓縮且未能夠高密度連續進行,實際測試工作主要集中在5、6、7、9、10月期間,其他月份則零星開展測試活動。在測試完成后根據實際測試效果評估,測試過程中已監測到邛崍市有記錄的絕大部分竹類主要害蟲,基本達到了測試預期目的。
3.2.3 測試方法
所有參與測試的基層管護人員均在移動設備上安裝智能識別APP,按照常規森林管護計劃對各自負責區域內的相關竹產業基地進行巡護,巡護線路不預設,在巡護過程中對沿線隨機發現的蟲類(包括但不僅限于竹類害蟲)在自然生態條件下進行多次拍攝并利用智能識別APP進行即時識別。由此,可得到各種類害蟲在不同時段、不同背景、不同光線及不同角度的大量現場圖片,進而測試本系統在復雜且有干擾的森防場景中的實際識別效果。
本次測試有效拍攝蟲類種類共計63種(未納入數據集的蟲類無法識別),其中竹類害蟲共計18種[16],其余為在竹林內發現但不對竹林造成顯著危害的其他蟲類。按照系統設置,拍攝一張圖片即完成實時識別一次,本次納入統計范圍的18種竹類害蟲共計拍攝圖片2 191張,識別2 191次。實際識別準確率以該類害蟲的識別正確次數除總共識別次數計算得出。

經統計,實際識別準確率最高為100%,最低為84%,平均實際識別準確率為96.26%,其余45種其他蟲類的平均實際識別準確率也達到該水平。可見,本識別系統在自然生態條件下的識別率效果較好,達到了預期目標。

表2 竹類主要害蟲實際識別準確率統計Tab.2 The actual recognition accuracy statistics of the main bamboo pests

表2(續)
另外,在測試中系統網絡通信良好,響應速度達標,多人同時在線使用未發生掉線、卡頓、系統崩潰等情況,相關人員經簡單培訓后均可熟練操作使用。
3.4.1 影響實際識別準確率的因素
1) 目標特征顯著性的影響。目標特征的顯著性是影響系統實際識別率的重要因素,在對本次納入統計的18種竹類主要害蟲的實際識別準確率情況進行統計后發現,實際識別率較低均是由于特征相似或特征不明顯而導致,如十斑大瓢蟲和雙帶盤瓢蟲,大足象和長足大竹象這類害蟲具備較為相似的外形特征,山窗螢、竹梢凸唇斑蚜等則個體較小特征不明顯,對于個體較大、特征顯著、蟲體色彩鮮明的害蟲,其實際識別準確率均普遍較高。
2) 拍攝條件的影響。在自然生態環境下,如光線、天氣、背景等外部因素可導致所拍攝的目標害蟲圖片出現形態畸變、色彩失真等情況,以及相機分辨率,拍攝目標的完整度、清晰度等,這一系列因素均可對實際識別準確率造成較大影響。
3.4.2 解決方案
就本次測試所發現的問題,提高識別準確率的路徑應分為2個方向:一是加強人員培訓,使其在實際操作過程中盡量保證規范拍攝,最大限度地在所拍攝的標本圖片中突出目標特征,確保清晰度;二是加強數據集的收集,增加蟲類的標本圖片,擴展廣度,為神經網絡訓練提供更加充分的大數據基礎,修正完善算法,提高識別準確度。