李非非 楊 帆 余 飛 季 猛 舒智慧 徐 杰
(1 成都星億年智慧科技有限公司 成都 610095; 2 電子科技大學 成都 611731; 3 邛崍市規(guī)劃和自然資源局 成都 611500)
竹子作為典型的生態(tài)經(jīng)濟型植物,是我國重要的生態(tài)、產(chǎn)業(yè)和文化資源。加快竹產(chǎn)業(yè)健康持續(xù)發(fā)展,對推動生態(tài)文明建設(shè)、推進農(nóng)業(yè)供給側(cè)結(jié)構(gòu)性改革以及促進農(nóng)民就業(yè)增收具有重要意義。四川省獨特的自然條件,形成了以叢生竹為主,叢生竹、散生竹、混生竹兼有的竹資源富集區(qū),竹林面積達116余萬hm2,居全國首位,產(chǎn)業(yè)發(fā)展?jié)摿薮?。目前在竹類蟲害防治工作中,對害蟲種類的識別嚴重依賴于專業(yè)人員鑒定,但在我國基層森林管護體系中具備相關(guān)專業(yè)知識的人員稀缺,通常無法準確判斷蟲害發(fā)生種類并及時采取有效防治措施,進而將導致森林經(jīng)營效益受損[1]。隨著計算機技術(shù)的快速發(fā)展,利用電腦代替人工對特定物體進行精確判別已成為可能,由此衍生出了對害蟲圖像進行計算機識別分類的技術(shù)[2-3],可以有效解決當前森防實踐中存在的判斷偏差和防治延誤等問題。然而,在現(xiàn)有計算機識別系統(tǒng)的主流應用中,大多是以傳統(tǒng)的圖像識別技術(shù)為基礎(chǔ),識別模型以淺層次結(jié)構(gòu)為主,對圖像的特征提取依賴人工設(shè)計的提取器,導致識別準確率較低,難以滿足在復雜生態(tài)環(huán)境下對害蟲進行精準識別的森防工作實際應用要求。近年來,以人工智能深度學習技術(shù)為代表的圖像識別技術(shù)展現(xiàn)出了突出的優(yōu)勢,智能識別模型采用了更深層次的網(wǎng)絡(luò)結(jié)構(gòu),且模型靠自身提取圖像特征,避免了人為干預。目前,卷積神經(jīng)網(wǎng)絡(luò)(CNN)、VGG網(wǎng)絡(luò)、殘差網(wǎng)絡(luò)(ResNet)等深度學習模型已廣泛應用于許多領(lǐng)域的圖像識別[4-6],并已取得顯著的應用效果。
目前,深度學習技術(shù)在農(nóng)林業(yè)害蟲識別領(lǐng)域已取得了一些初步研究成果,如陳娟等[7]針對北方園林害蟲識別問題,提出了一種基于改進殘差網(wǎng)絡(luò)的害蟲圖像識別方法,通過在殘差塊中添加卷積層和增加通道數(shù)提取更多的害蟲圖像特征,優(yōu)化超參數(shù),提高了害蟲識別準確率。錢蓉等[8]構(gòu)建了基于VGG16卷積神經(jīng)網(wǎng)絡(luò)的水稻害蟲智能識別模型,該模型采用VGG16卷積神經(jīng)網(wǎng)絡(luò)為核心網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)水稻害蟲的個體特征和自然場景,對VGG16網(wǎng)絡(luò)的卷積層局部調(diào)整,優(yōu)化主要模型參數(shù),實現(xiàn)了水稻害蟲的智能識別。然而這些方法大多基于傳統(tǒng)的深度學習識別模型,對差異較大的害蟲類別識別效果較好,但容易忽略子類別間細微的差異,導致識別準確率不高。為解決上述問題,對以深度卷積網(wǎng)絡(luò)為基礎(chǔ)的細粒度圖像識別模型的研究逐漸成為重點[9-10],為更準確的識別害蟲提供了全新的技術(shù)手段。
在當前四川省竹產(chǎn)業(yè)大發(fā)展的有利背景下,將人工智能技術(shù)引入竹子的經(jīng)營管理,并逐步將以計算機、互聯(lián)網(wǎng)、人工智能等高新技術(shù)為代表的科技支撐手段應用于竹產(chǎn)業(yè)發(fā)展的各個方面,實行精細化管理以提升生產(chǎn)效益,是竹產(chǎn)業(yè)高質(zhì)量發(fā)展勢在必行的趨勢,具有極其重要的現(xiàn)實意義。鑒于此,本文論述了基于人工智能技術(shù)開發(fā)的竹類主要害蟲識別系統(tǒng)(以下簡稱“系統(tǒng)”)原理及構(gòu)架,并分析了其在四川省邛崍市相關(guān)竹產(chǎn)業(yè)基地實際森防場景中的應用情況。
本系統(tǒng)由應用服務(wù)器、數(shù)據(jù)存儲和用戶軟件3大部分構(gòu)成,系統(tǒng)結(jié)構(gòu)圖如圖1所示。應用服務(wù)器作為整個系統(tǒng)核心部分,包含識別服務(wù)器和云服務(wù)器,其中:識別服務(wù)器內(nèi)嵌人工智能算法以實現(xiàn)害蟲識別的核心功能;云服務(wù)器主要提供地理信息系統(tǒng)(GIS)、系統(tǒng)各種請求響應等相關(guān)遠程服務(wù)。數(shù)據(jù)存儲部分主要存儲竹類害蟲細粒度數(shù)據(jù)集以及系統(tǒng)運行數(shù)據(jù)。用戶軟件部分主要實現(xiàn)在移動設(shè)備客戶端的具體操作,例如害蟲拍照上傳、害蟲定位等。
用戶軟件作為直接面向用戶的操作平臺,系統(tǒng)的所有功能均是通過其予以直觀呈現(xiàn)。用戶軟件總體功能包含“蟲情”“地圖”“識蟲”“互動”和“用戶”5大功能模塊,其中“識蟲”為用戶軟件的核心功能模塊,其余功能模塊均是為了更好地服務(wù)于核心功能而設(shè)置的輔助功能模塊。用戶軟件功能框架如圖2所示。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 The diagram of system structure
圖2 用戶軟件功能框架圖Fig.2 The software function framework for users
對害蟲進行智能識別是本系統(tǒng)的核心功能,該功能由用戶軟件、害蟲識別服務(wù)器和云服務(wù)器共同配合完成,其主要工作流程如下(圖3):
1) 通過用戶軟件上傳目標害蟲圖片到云服務(wù)器,經(jīng)云服務(wù)器處理后將圖片發(fā)送至識別服務(wù)器;
圖3 害蟲智能識別流程圖Fig.3 The process of intelligent recognition for pests
2) 識別服務(wù)器對接收到的害蟲圖片再次進行預處理后通過人工智能識別模型對圖片進行細粒度識別;
3) 識別服務(wù)器將識別結(jié)果和準確率經(jīng)云服務(wù)器反饋至用戶軟件展示(圖4)。
圖4 用戶軟件識別結(jié)果界面Fig.4 The recognition result interface of user software
實現(xiàn)對害蟲的精準識別依賴于人工智能識別模型的構(gòu)建,人工智能識別模型的關(guān)鍵技術(shù)及相關(guān)實驗結(jié)果分析如下。
數(shù)據(jù)集是搭建人工智能識別模型的重要前置基礎(chǔ)條件。在實驗中,通過在生態(tài)環(huán)境中拍攝高質(zhì)量照片,構(gòu)建了一個包含竹類主要害蟲在內(nèi)的120種蟲類、圖片數(shù)量超過8 500張圖片的基礎(chǔ)圖片數(shù)據(jù)集。
神經(jīng)網(wǎng)絡(luò)需要大量已完成標記的圖片數(shù)據(jù)來訓練其學習能力,而本文實驗數(shù)據(jù)集圖片數(shù)量有限,因此采取了人工智能研究中常用的數(shù)據(jù)增強技術(shù),以有效擴充圖片數(shù)量。數(shù)據(jù)增強也叫數(shù)據(jù)擴增,是在不實質(zhì)性增加數(shù)據(jù)的情況下讓有限的數(shù)據(jù)產(chǎn)生等價于更多數(shù)據(jù)的價值[11-12]。對于本次采用的實驗數(shù)據(jù)集,通過翻轉(zhuǎn)、旋轉(zhuǎn)、隨機裁剪、調(diào)節(jié)亮度、對比度、飽和度等方法來倍增樣本數(shù)量,經(jīng)數(shù)據(jù)增強后的橙粉蝶圖片如圖5所示。
圖5 經(jīng)數(shù)據(jù)增強后的橙粉蝶圖片F(xiàn)ig.5 The butterfly pictures enhanced by data
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是深度學習中的重要模型。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要由卷積層、池化層、全連接層以及最后的輸出層構(gòu)成,通過卷積和池化等操作,提取圖像特征用于識別,最后輸出識別結(jié)果。
GoogLeNet(Google Inception Net)是卷積神經(jīng)網(wǎng)絡(luò)的一種結(jié)構(gòu),GoogLeNet的核心思想在于增加網(wǎng)絡(luò)深度和寬度以提高卷積神經(jīng)網(wǎng)絡(luò)性能,在增加神經(jīng)網(wǎng)絡(luò)寬度方面主要采用深度卷積網(wǎng)絡(luò)Inception[13-14],如圖6所示。Inception V1是Inception網(wǎng)絡(luò)的第1個版本,在隨后的幾年里,研究人員對Inception神經(jīng)網(wǎng)絡(luò)進行了數(shù)次改進以增強其性能,本文實驗便是基于最新的Inception V3神經(jīng)網(wǎng)絡(luò)搭建了害蟲識別模型。
圖6 Inception結(jié)構(gòu)圖Fig.6 The structure of Inception
在Inception結(jié)構(gòu)中,i×i Convolutions表示在卷積層使用i×i大的卷積核來提取蟲類圖像特征,3×3 Max Pooling表示圖片每3×3矩陣輸出一個最大值。
傳統(tǒng)版本的Inception神經(jīng)網(wǎng)絡(luò)使用3×3的卷積核會帶來巨大的計算量,Inception V3神經(jīng)網(wǎng)絡(luò)引入了“分解為小卷積”的思想,將1個較大的二維卷積拆成2個較小的一維卷積,比如將3×3卷積拆成1×3卷積和3×1卷積,且在每個卷積層后加入ReLU激活函數(shù)來增加模型的非線性,如圖7所示。Inception V3神經(jīng)網(wǎng)絡(luò)相比于圖像識別領(lǐng)域的其他神經(jīng)網(wǎng)絡(luò)模型,增加了模型的深度和寬度,在顯著減少參數(shù)和計算量的同時也減輕了過擬合[15]。
圖7 Inception V3卷積拆分結(jié)構(gòu)圖Fig.7 The split structure of Inception V3 convolutions
本文實驗所使用的計算機GPU為2塊RTX2080,操作系統(tǒng)為Ubuntu16.04.7 LTS,英偉達顯卡驅(qū)動版本為450.80.02,CUDA版本為11.0。實驗使用Python語言,深度學習框架為Pytorch。
實驗中,數(shù)據(jù)集被分為訓練集和測試集2個獨立的部分。其中訓練集用于訓練模型,測試集用于檢驗經(jīng)篩選的最優(yōu)模型的識別性能。實驗中訓練集使用Adam優(yōu)化器,基本學習率參數(shù)設(shè)置為1e-4,權(quán)重衰減系數(shù)為1e-5,采用以32張圖片為一組的小批量訓練,共進行30輪訓練,參數(shù)學習率訓練至第8輪下降0.3,訓練至第14輪再下降0.3,此后不再調(diào)整。
在已構(gòu)建的實驗數(shù)據(jù)集中隨機選取2 000張圖片進行數(shù)據(jù)增強后對Inception V3神經(jīng)網(wǎng)絡(luò)進行訓練。在訓練完成的基于Inception V3神經(jīng)網(wǎng)絡(luò)搭建的害蟲識別模型上使用533張分辨率大小為299×299的圖片進行測試,結(jié)果顯示識別效果良好,平均準確率達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
系統(tǒng)在開發(fā)完成后針對模型的識別準確率進行了測試,獲得了較好的結(jié)果。本次在森防場景中,對應用服務(wù)器、數(shù)據(jù)存儲和用戶軟件方面對系統(tǒng)進行整體測試,以期在自然生態(tài)條件下對系統(tǒng)的實際識別準確率、穩(wěn)定性、可操作性等關(guān)鍵方面進行驗證,為后期在森防領(lǐng)域推廣應用本系統(tǒng)積累經(jīng)驗。
根據(jù)《四川省竹產(chǎn)業(yè)發(fā)展規(guī)劃(2017—2022年)》,四川省將構(gòu)建“一群三帶+其他區(qū)”的竹產(chǎn)業(yè)發(fā)展格局,以邛崍市為核心的“龍門山竹產(chǎn)業(yè)帶”被規(guī)劃定位為四川省現(xiàn)代竹業(yè)發(fā)展格局中的重要組成部分。邛崍市竹林總面積3.26萬hm2,占全市土地總面積的23.6%,占全市林地總面積的45.7%。邛崍市竹產(chǎn)業(yè)基地已經(jīng)形成一二三產(chǎn)業(yè)協(xié)同發(fā)展的較為完善的產(chǎn)業(yè)鏈條,是成都市乃至四川省現(xiàn)代竹產(chǎn)業(yè)發(fā)展重要區(qū)域,具有極大的發(fā)展?jié)摿ΑR虼?,鑒于在竹類資源面積、竹類害蟲豐富度、森防及森林管護隊伍體系等方面的優(yōu)勢,選擇在四川省邛崍市相關(guān)竹產(chǎn)業(yè)基地開展工作,具備相應測試基礎(chǔ)條件且具有示范意義。
3.2.1 測試人員范圍
系統(tǒng)開發(fā)的主要目的是為竹產(chǎn)業(yè)基地森防工作提供有效的科技支撐,在后期森林經(jīng)營過程中引入精細化管理措施,提升竹產(chǎn)業(yè)基地整體效益。為保證測試過程有組織、有計劃的推進,測試結(jié)果能順利收集,測試在邛崍市林業(yè)系統(tǒng)內(nèi)進行,由當?shù)亓謽I(yè)主管部門的基層森防、森林管護及其他相關(guān)人員參與測試,參與人數(shù)共計48人。
3.2.2 測試時間段
在理想狀態(tài)下,測試時間段應涵蓋主要竹類害蟲的全生命周期,以便有機會識別已錄入數(shù)據(jù)集的害蟲的各時期形態(tài),根據(jù)四川省的實際情況,觀察竹類害蟲的周期從4月至10月為最佳。
測試于2020年4月開始,但由于疫情及洪災等不可抗力的影響,測試時間段被迫壓縮且未能夠高密度連續(xù)進行,實際測試工作主要集中在5、6、7、9、10月期間,其他月份則零星開展測試活動。在測試完成后根據(jù)實際測試效果評估,測試過程中已監(jiān)測到邛崍市有記錄的絕大部分竹類主要害蟲,基本達到了測試預期目的。
3.2.3 測試方法
所有參與測試的基層管護人員均在移動設(shè)備上安裝智能識別APP,按照常規(guī)森林管護計劃對各自負責區(qū)域內(nèi)的相關(guān)竹產(chǎn)業(yè)基地進行巡護,巡護線路不預設(shè),在巡護過程中對沿線隨機發(fā)現(xiàn)的蟲類(包括但不僅限于竹類害蟲)在自然生態(tài)條件下進行多次拍攝并利用智能識別APP進行即時識別。由此,可得到各種類害蟲在不同時段、不同背景、不同光線及不同角度的大量現(xiàn)場圖片,進而測試本系統(tǒng)在復雜且有干擾的森防場景中的實際識別效果。
本次測試有效拍攝蟲類種類共計63種(未納入數(shù)據(jù)集的蟲類無法識別),其中竹類害蟲共計18種[16],其余為在竹林內(nèi)發(fā)現(xiàn)但不對竹林造成顯著危害的其他蟲類。按照系統(tǒng)設(shè)置,拍攝一張圖片即完成實時識別一次,本次納入統(tǒng)計范圍的18種竹類害蟲共計拍攝圖片2 191張,識別2 191次。實際識別準確率以該類害蟲的識別正確次數(shù)除總共識別次數(shù)計算得出。
經(jīng)統(tǒng)計,實際識別準確率最高為100%,最低為84%,平均實際識別準確率為96.26%,其余45種其他蟲類的平均實際識別準確率也達到該水平??梢?,本識別系統(tǒng)在自然生態(tài)條件下的識別率效果較好,達到了預期目標。
表2 竹類主要害蟲實際識別準確率統(tǒng)計Tab.2 The actual recognition accuracy statistics of the main bamboo pests
表2(續(xù))
另外,在測試中系統(tǒng)網(wǎng)絡(luò)通信良好,響應速度達標,多人同時在線使用未發(fā)生掉線、卡頓、系統(tǒng)崩潰等情況,相關(guān)人員經(jīng)簡單培訓后均可熟練操作使用。
3.4.1 影響實際識別準確率的因素
1) 目標特征顯著性的影響。目標特征的顯著性是影響系統(tǒng)實際識別率的重要因素,在對本次納入統(tǒng)計的18種竹類主要害蟲的實際識別準確率情況進行統(tǒng)計后發(fā)現(xiàn),實際識別率較低均是由于特征相似或特征不明顯而導致,如十斑大瓢蟲和雙帶盤瓢蟲,大足象和長足大竹象這類害蟲具備較為相似的外形特征,山窗螢、竹梢凸唇斑蚜等則個體較小特征不明顯,對于個體較大、特征顯著、蟲體色彩鮮明的害蟲,其實際識別準確率均普遍較高。
2) 拍攝條件的影響。在自然生態(tài)環(huán)境下,如光線、天氣、背景等外部因素可導致所拍攝的目標害蟲圖片出現(xiàn)形態(tài)畸變、色彩失真等情況,以及相機分辨率,拍攝目標的完整度、清晰度等,這一系列因素均可對實際識別準確率造成較大影響。
3.4.2 解決方案
就本次測試所發(fā)現(xiàn)的問題,提高識別準確率的路徑應分為2個方向:一是加強人員培訓,使其在實際操作過程中盡量保證規(guī)范拍攝,最大限度地在所拍攝的標本圖片中突出目標特征,確保清晰度;二是加強數(shù)據(jù)集的收集,增加蟲類的標本圖片,擴展廣度,為神經(jīng)網(wǎng)絡(luò)訓練提供更加充分的大數(shù)據(jù)基礎(chǔ),修正完善算法,提高識別準確度。