陳道懷, 汪杭軍
(1.浙江農林大學 信息工程學院,浙江 杭州 311300; 2.浙江農林大學暨陽學院 工程技術學院,浙江 諸暨 311800)
我國森林蟲害種類繁多,成災發(fā)生面積逐年遞增,已成為制約我國林業(yè)可持續(xù)發(fā)展的重要因素之一;因此,加強森林蟲害監(jiān)測,及時發(fā)現(xiàn)蟲害隱患并及時采取措施,避免因蟲情大面積爆發(fā)而造成重大經濟損失,具有十分重要的現(xiàn)實意義。
要進行及時準確的森林蟲害監(jiān)測,害蟲的識別與計數(shù)是基礎。要實現(xiàn)對害蟲的準確判別,傳統(tǒng)方法主要依靠林業(yè)專家的經驗,進行人工識別與計數(shù),但這種方法的識別效率較低,識別準確率不穩(wěn)定,耗時耗力,且難以大面積推廣。隨著機器學習和圖像處理技術的發(fā)展,害蟲檢測有望依靠機器自動完成。早期,研究人員主要是通過機器學習方法獲取害蟲的圖像特征,完成害蟲的檢測和識別工作。例如,利用害蟲周長、不變矩特征、全局特征模型與局部特征模型相結合的特征提取方式、害蟲圖像HOG(梯度直方圖)特征、害蟲顏色特征等對害蟲進行有效識別。但以上研究均未涉及害蟲姿態(tài)對識別的影響,對多姿態(tài)害蟲的識別效果較差。為了克服害蟲姿態(tài)對識別效果的影響:李文勇等提出了一種基于與形態(tài)無關的特征相組合、多類支持向量機分類器的多姿態(tài)害蟲識別方法;張睿珂等提出了一種蛾類蟲體前翅間夾角計算方法,可以確定蟲體的三維姿態(tài)。在害蟲計數(shù)方面:田冉等將紅外傳感器和機器視覺識別技術相融合,可實現(xiàn)對目標害蟲的識別計數(shù);肖德琴等提出一種基于結構化隨機森林的害蟲圖像分割算法和利用不規(guī)則結構的特征提取算法,可實現(xiàn)對誘捕板上蔬菜害蟲的監(jiān)測計數(shù)。相較于人工手段,基于機器視覺的害蟲識別與計數(shù)技術在識別效率和識別準確率上有了很大的提升。然而,林業(yè)病蟲害的監(jiān)測環(huán)境往往十分復雜,病蟲害特征的提取難度增大,傳統(tǒng)機器學習方法在林業(yè)病蟲害監(jiān)測上的可靠性較難得到保證。
近年來,深度學習技術得到了快速發(fā)展。相較于傳統(tǒng)的機器學習方法,在圖像處理、特征提取、特征抽象和特征分類等諸多方面,深度學習在效率和準確性上都顯示出了更優(yōu)異的特性。目前,深度學習方法在人機森林蟲害遠程監(jiān)測、茶園害蟲定位與識別、蝗蟲實時監(jiān)測、作物害蟲檢測識別等領域都已得到成功應用。但是,這些研究也仍然存在一些不足,例如:李衡霞等提出的基于深度卷積神經網絡的油菜蟲害檢測方法,需首先生成初步候選區(qū)域,再利用Fast R-CNN算法實現(xiàn)對候選框的分類和定位,由于使用了兩階段的檢測方法,檢測速度較慢;李想提出一種改進的深度學習模型,可實現(xiàn)對紅脂大小蠹蟲情的全自動化監(jiān)測,但是,此系統(tǒng)針對特定場景而設計,只能對一種類型的害蟲進行檢測,無法實現(xiàn)對多個類別害蟲的檢測。
在深度學習算法中,YOLO系列算法是Redmon等提出的一種具有端到端網絡結構的全新、高效的多目標檢測框架,能夠在產生候選目標區(qū)域的同時完成分類和位置調整,檢測速度得到顯著提升。其中,YOLOv4是一種檢測速度更快的深度卷積神經網絡,已在林業(yè)領域得到不少應用。例如:王金鵬等提出了一種基于YOLOv4-LITE的火龍果檢測方法,可應用于自然環(huán)境之中;蔡舒平等提出改進型的YOLOv4模型,可更好地實現(xiàn)對果園環(huán)境下障礙物的檢測。
為了實現(xiàn)更高的檢測準確度和更快的檢測速度,本研究針對林業(yè)害蟲的特點,對YOLOv4算法進行改進:首先,通過K-means算法對害蟲數(shù)據(jù)集的標注框聚類,獲取與害蟲尺寸、比例相匹配的基準框,并基于DIoU-NMS算法實現(xiàn)對害蟲的計數(shù)功能;然后,針對樣本中害蟲尺寸的差異,改進PANet結構,增加更大層級的尺度特征圖,使模型擁有更小的感受野,增強其對小尺寸害蟲的檢測效果;最后,調整尺度特征圖組合,在保證模型準確度的前提下提升模型檢測速率,并精簡模型。試驗結果表明,本文提出的改進模型提升了對林業(yè)害蟲的綜合檢測效果。
本研究使用的圖像數(shù)據(jù)集由作者課題組研發(fā)的智能害蟲捕捉裝置拍攝圖像形成。該裝置主要由黑光燈、攝像頭、采樣盤、LED燈組成(圖1)。數(shù)據(jù)集中包含10個種類的害蟲,共計圖片1 050張,每張圖片包含不同種類的害蟲若干。為了更有效地檢測害蟲,將樣本中的害蟲尺寸分為小、中、大3類,并隨機添加本研究不涉及的未知類害蟲,以及害蟲掉落時重疊、殘肢斷翅等各種情況。從圖像數(shù)據(jù)集中隨機選擇70%樣本作為訓練集,20%作為驗證集,10%作為測試集。將具體涉及的害蟲種類及其樣本信息整理于表1,其中,樣本數(shù)量是指數(shù)據(jù)集中該類害蟲數(shù)量的總和。
表1 圖像數(shù)據(jù)集中的害蟲樣本信息
1,黑光燈;2,攝像頭;3,采樣盤;4,LED燈。
采用LabelImg軟件對所有圖片中的害蟲進行標注(圖2),以供訓練、測試時使用。具體標注步驟如下:(1)使用LabelImg軟件打開需要標注的樣本圖片;(2)在圖片上對每一個害蟲創(chuàng)建矩形框,使其大小正好包圍害蟲;(3)對框選的害蟲使用種類進行命名,生成對應的xml文件。
圖2 害蟲圖像標注示意
為實現(xiàn)對害蟲的自動采集、識別和計數(shù)工作,將本研究的總體方案(圖3)概述如下:首先,利用智能害蟲捕捉裝置對誘捕到的害蟲進行拍攝,獲得圖片,并對其進行標注,得到害蟲數(shù)據(jù)集;然后,采用基于YOLOv4的改進模型進行訓練,獲得具有較好檢測效果的害蟲檢測模型;接著,將模型部署到服務器,對從害蟲捕捉裝置上實時獲得并上傳的圖片進行識別和計數(shù);最后,通過蟲情分析系統(tǒng)對害蟲的發(fā)生趨勢進行預測。
圖3 蟲情監(jiān)測總體方案
在原YOLO目標檢測架構的基礎上,YOLOv4算法從數(shù)據(jù)處理、主干網絡、網絡訓練、激活函數(shù)、損失函數(shù)等方面進行了優(yōu)化,使得模型的檢測速度和精度都得到很大提升。首先,YOLOv4算法采用CSPDarknet53作為算法的主干網絡來提取目標特征,相較于Darknet53,CSPDarknet53使用的CSPnet結構,能夠在保持準確性的基礎上獲得更輕量化的表現(xiàn);其次,YOLOv4在CSPDarknet53中引入了空間金字塔池化模塊(SPP),可以顯著改善感受域尺寸,將最重要的上下位特征提取出來,且保持網絡處理速度不下降。此外,YOLOv4還使用了路徑聚合網絡(PANet)來提高信息流在網絡中的傳遞效率。PANet通過上采樣方式將高層特征的語義信息傳播到低層,然后與低層特征的高分辨率信息相融合,從而提高對小目標物體的檢測效果。同時,通過下采樣增加從最底層到最上層的信息傳輸路徑,將不同層的特征圖融合來做預測。經過特征融合后,系統(tǒng)最終輸出3種尺寸的特征層,分別為原輸入尺寸的1/8、1/16和1/32。
1.5.1 目標框K-means聚類
YOLOv4模型檢測的基礎是,在輸入圖片上生成一系列的anchor box。anchor box是生成預測框的前提,它的選用方式會直接影響模型的性能。YOLOv4模型使用的anchor boxes是在Coco數(shù)據(jù)集上統(tǒng)計出來的錨框,對于本研究的害蟲檢測任務來說,部分anchor過大,并不適用。因此,本研究先對害蟲數(shù)據(jù)集聚類,得到合適的anchor大小。K-means算法聚類效果較優(yōu),且收斂速度較快。為此,本研究特使用K-means算法對數(shù)據(jù)集標注框進行聚類,以獲取與害蟲尺寸、比例相匹配的基準框,并采用平均重疊度(Avg IOU)作為目標聚類分析的度量,對害蟲數(shù)據(jù)集進行聚類分析。Avg IOU的目標函數(shù)可表示為
(1)
式(1)中:表示人工標注的目標樣本,表示簇的中心框,(,)表示簇的中心框和人工標注框的交并比,表示第個簇的中心中樣本的個數(shù),表示樣本的總個數(shù),表示簇的個數(shù)。
當=1~9時,分別對害蟲數(shù)據(jù)集進行聚類分析,得到與Avg IOU的關系(圖4)??梢钥闯觯S著值的增加,曲線變化漸趨平穩(wěn)。將拐點,即曲線開始變得平穩(wěn)的位置(=3),視作最佳的anchor boxes數(shù)。此時,既可加快損失函數(shù)的收斂,又可消除候選框誤差。
圖4 K-means聚類分析的結果
1.5.2 害蟲計數(shù)方法
在害蟲監(jiān)測系統(tǒng)中,不僅要識別出害蟲的種類,還要統(tǒng)計不同種類害蟲的數(shù)量。本研究在目標識別的基礎上,引入最佳檢測框的類別判斷,從而實現(xiàn)對不同種類害蟲進行計數(shù)的目的。
在YOLOv4算法中,對于同一檢測對象會產生許多不同大小的預測框。本研究采用DIoU-NMS(Distance-IoU-NMS)算法來獲得最佳的檢測框,作為害蟲的目標邊界框。該算法首先將某一類別的預測框按置信度排序,將具有最高分值的框設定為基準框,然后分別與剩余的框作交并比(IoU)計算,刪除大于設定閾值的,保留小于閾值的,并依次循環(huán),從而消除冗余重復窗口,找到物體最佳位置。DIoU-NMS除了考慮預測框重疊區(qū)域的IoU外,還考慮了2個預測框中心點之間的距離,能夠有效解決檢測框損失函數(shù)收斂慢的問題。DIoU-NMS的計算公式如下:
(2)
式(2)中:為當前類別的置信度得分;表示當前類別中所有被比較的預測框;表示所有預測框中置信度最高的那一個預測框;表示預測的邊框和真實的邊框之間交集和并集的比值;為DIoU損失函數(shù)的懲罰項;表示NMS的閾值,一般取0.5。
當獲得最佳檢測框后,本研究對檢測框所屬的類別進行判斷,當檢測框的類別屬于數(shù)據(jù)集中的某一種時,便將該類害蟲加一。遍歷過所有的檢測框后,即可得到圖像中各類害蟲的數(shù)量和所有害蟲的總數(shù)。
1.5.3 網絡結構優(yōu)化
YOLOv4原模型分別采用32倍、16倍和8倍下采樣的特征圖來檢測圖像中的大、中、小3類目標。然而,這在本研究中檢測小個體的害蟲時表現(xiàn)并不出色。為了提升對小個體害蟲的檢測準確率,獲得更小的感受野,本研究在YOLOv4模型的基礎上,增加了4倍下采樣的層級特征圖,以提升對害蟲的檢測效果。
在PANet網絡中,首先通過上采樣方式將52×52特征圖的語義信息傳播到104×104層,并與底層特征融合,以獲取更多的細節(jié)信息,提高對小個體害蟲的檢測效果;然后通過下采樣加強特征,同時輸出新增的104×104層特征檢測圖。
改進后的YOLOv4模型如圖5所示。
MISH和LeakyRelu為激活函數(shù)。
在新增層級特征圖后,改進模型的復雜度相比于傳統(tǒng)YOLOv4模型明顯增加。在卷積神經網絡中,網絡越深,得到的特征圖的神經元感受野越大,也就是說,每個神經元蘊含更為全局、語義層次高的特征,但是局部特征與細節(jié)特征會出現(xiàn)丟失。
為了減少模型復雜度和對比新增層級特征圖對于小目標的檢測效果,對模型采用不同尺度的特征圖組合進行訓練。其中,13×13特征圖用來檢測大目標,26×26特征圖用來檢測中目標,52×52特征圖用來檢測小目標,新增104×104特征圖用來檢測更小目標。根據(jù)具體模型特征圖組合,將改進模型分為Improved YOLOv4-1、Improved YOLOv4-2、Improved YOLOv4-3、Improved YOLOv4-4。將上述模型的尺度特征圖結構整理于表2。
表2 各模型結構對比
本研究所使用的平臺為Windows 10操作系統(tǒng),CPU為AMD R7 3700X,GPU為NVIDIA GeForce GTX 1070,內存16 G,并使用CUDA10加速框架對YOLOv3、YOLOv4和本研究提出的改進YOLOv4模型進行訓練。初始學習率設置為0.001,最大迭代次數(shù)為20 000,選擇step模式更新學習率,在訓練迭代次數(shù)達到16 000和18 000時,分別將學習率降低至初始學習率的10%和1%。
采用以下指標對各個模型的性能表現(xiàn)進行對比和評估,涉及準確率、模型復雜程度、計算量等因素,具體包括:(1)MAP(均值平均精度),即所有類別平均精度的平均值;(2)FPS(每秒處理幀數(shù)),即單位時間(1s)可以處理的圖片數(shù)量,其值越高,說明模型的檢測速度越快;(3)FLOPs(浮點運算數(shù)),衡量神經網絡中前向傳播的運算次數(shù),可以理解為計算量,其值越小,說明模型復雜度越低;(4)MP(模型參數(shù)量),衡量神經網絡中所包含的參數(shù)的數(shù)量,其值越小,模型體積越小,越容易部署。
表3給出了各個模型不同指標的表現(xiàn)情況??梢钥闯觯杭尤肓?04×104特征圖的4種改進模型的精度均比YOLOv4原模型提高,其中,表現(xiàn)最好的Improved YOLOv4-4模型在精度上(MAP)較YOLOv4提升1.6百分點,比YOLOv3提升4.5百分點,且在計算速度(FPS)上比YOLOv4模型提升11.1%,在模型復雜度(FLOPs)上較YOLOv4模型減降低11.9%,在模型參數(shù)量(MP)上比YOLOv4模型減少了33.2%。由此可見,去除YOLOv4模型中原有的3個特征圖后,對于害蟲的識別效果不僅沒有負向影響,反而有效解決了卷積層加深所帶來的計算量增加、推理速度變緩、細節(jié)特征消失等問題。由于采用了104×104特征圖,Improved YOLOv4-4模型的參數(shù)量減少,復雜程度降低,在綜合性能上得到較大提升,為模型后續(xù)的部署、應用帶來了更多便利。
表3 各模型結果對比
Improved YOLOv4-4模型在訓練性能上同樣也有很好的表現(xiàn)(圖6),可較YOLOv4算法在更少的迭代次數(shù)下快速收斂,且整體的MAP得到了提升。
MAP,均值平均精度。
為了驗證新增的層級特征圖對于小個體害蟲的具體檢測效果,對YOLOv3、YOLOv4、Improved YOLOv4-4模型下每一類害蟲的識別準確度和整體識別準確度進行對比(表4),將給定的10類害蟲之外的未知害蟲統(tǒng)一編號為11。
表4 各模型識別準確度對比
整體上,尺寸小的害蟲識別準確度較低。這是因為較小個體的害蟲較易受到重疊、光照、殘肢等因素的影響而不易識別。對比不同模型,Improved YOLOv4-4模型對于尺寸為中和大的害蟲的識別準確度與另2種模型相差不大,但對于小尺寸害蟲的平均識別準確度(95.33%)比YOLOv4模型(93.05%)上升了2.28百分點。對于第11類害蟲的識別準確度,Improved YOLOv4-4模型比YOLOv4模型的識別準確度提升了10.0百分點。這主要是因為,該類樣本的數(shù)量并不是很多,而且存在尺寸較小的害蟲,這樣一來,檢測出的害蟲個數(shù)上較小的差別也會帶來較大的識別準確度差距。同時,上述結果也充分反映了新增的層級特征圖在小尺寸害蟲檢測中的優(yōu)勢。
為了驗證基于DIoU-NMS算法實現(xiàn)的害蟲計數(shù)方法及其在改進模型中的計數(shù)效果,對各模型的計數(shù)效果進行對比分析(表5)??紤]到簡單害蟲圖像對計數(shù)效果的影響不大,特選取害蟲背景較為復雜(如重疊、陰影較為嚴重)的圖片進行檢測計數(shù)對比??梢钥闯?,Improved YOLOv4-4模型在對復雜背景下的害蟲計數(shù)時效果更優(yōu),且突出表現(xiàn)在以下2種情況(圖7):(1)識別到某些重疊狀態(tài)下和在陰影處的害蟲,改善漏檢等情況;(2)對于小尺寸害蟲的識別更為準確,如YOLOv4將美苔蛾誤檢測為黃土苔蛾,而改進模型能夠正確識別。
表5 各模型的計數(shù)效果對比
圖7 識別結果對比
在森林病蟲害監(jiān)測中,如何對害蟲進行有效、準確的檢測一直是人們研究的主要目標?,F(xiàn)有研究大多采用深度學習方法進行檢測,但這些研究下的模型較復雜,難以快速部署,且所針對的害蟲種類、狀態(tài)比較單一,當存在重疊、殘翅、斷翅等情況時表現(xiàn)并不佳。為此,本研究在YOLOv4算法的基礎上進行優(yōu)化,在保證模型準確度的前提下,減小了模型的復雜度和計算量,提升了模型對復雜背景下害蟲和小個體害蟲的檢測效果。